hack のためのネタ帳, etc,,,

×
LaTeX 中に書き込んだ Python を始めとする各種プログラミング言語のコードを実行し結果を埋め込めるというパッケージ

公式ページ等

参考になるページ等

使い方

LaTeX のソースの中で

src.tex

\documentclass{article}
\usepackage{pythontex}
\begin{document}
\begin{pycode}
...
\end{pycode}
\py{...}
\end{document}
とかしておくと、
pdflatex   src
pythontex3 src
pdflatex   src
みたいにする事で pycode 環境や \py に与えたコードの実行結果を取り込むことが出来る。

ただし、 のように python で生成した図を参照する figure 環境を出力して埋め込むみたいな使い方をすると、
当然の話だが、もう一段 pdflatex が必要になる。

マクロは展開後の内容が python に渡されるようなので、
奥村先生のよる例示
\documentclass{article}
\usepackage{pythontex}
\newcommand{\pow}[2]{\py{#1**#2}}
\begin{document}
$2^{10}=\pow{2}{10}$.
\end{document}
のように LaTeX 側で与えたパラメータに対する様々な処理を python を始めとした外部処理系にオフロードすることが出来る。

Memo

2020-12-31: Ubuntu 20.04.1 LTS

texlive-extra-utils パッケージに収録されている模様。
うちの環境だと、既に入ってて特にこれと言った設定は不要だった。

ただし pythontex は python2 を呼ぶので、python3 で使うには適当にパスの通ったところに
ln -s /usr/share/texlive/texmf-dist/scripts/pythontex/pythontex3.py pythontex3
とかしておく必要があった。

2020-12-31: Cygwin

少なくとも以下のパッケージの導入が必要
  • texlive-collection-binextra
  • texlive-collection-latexextra
  • python38-pgments

pythontex.sty 自体は texlive-collection-binextra パッケージに収録されている。
texlive-collection-latexextra パッケージに収録されている fvextra.sty も必要なのだが、これは依存関係に入ってないので別途導入が必要。

また、pythontex は python2 を呼ぶので、python3 で使うには適当にパスの通ったところに
ln -s /usr/share/texmf-dist/scripts/pythontex/pythontex.py pythontex3
とかしておく必要がある。
更に、python3-pygments は python36-pgments を引いてくるのに
/usr/bin/python3 -> python3.8.exe
なので、python38-pgments パッケージも別途導入が必要だった。

関連

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Wiki内検索

フリーエリア

管理人/副管理人のみ編集できます