包含 Python 代码的 Latex \newcommand

包含 Python 代码的 Latex \newcommand

我对 Latex 还很陌生。我正在使用Python包在循环中插入图形。我无法理解的是如何转换此代码

\documentclass{article}
\usepackage{python}

\begin{document}

\begin{figure}
\centering
\begin{python}
import os
print r"\fbox{bla bla}"
\end{python}
\end{figure}

\end{document} 

变成类似

\documentclass{article}
\usepackage{python}

\newcommand\insPython[1]{
{
\begin{figure}
\centering
\begin{python}
import os
print r"#1"
\end{python}
\end{figure}
}

\begin{document}

\insPython{bla bla}

\end{document} 

第二个版本不起作用。有没有办法将 Python 代码包装到 Latex 命令中?

答案1

一种方法是使用pythontex包:

\documentclass{article}
\usepackage{pythontex}

\newcommand\insPython[1]{
\begin{figure}
\centering
\pyc{import os;
print (r"#1")}
\end{figure}
}

\begin{document}
\insPython{bla bla}

\end{document} 

您需要运行pdflatexthen pythontex(或pythontex.exe)然后pdflatex再次运行。

不知何故我需要使用 Python 3 语法,但可能是因为我的系统上同时安装了 Python 2 和 Python 3。

相关内容