Py{} 在代码中添加一个 none

Py{} 在代码中添加一个 none

我有以下使用 pythontex 的 MWE:

%& -shell-escape
\documentclass{article}
\usepackage{pythontex}
\newcommand{\printPython}[1]{
\py{print(r'Hello, #1')}%
\newline
}
\begin{document}

Say hello Python:

%\begin{python}%
%print r"Hello \LaTeX!"
%\end{python}%
\printPython{4}
\begin{pycode}

print(r"\centering")
print(r"\textit{A message from Python!}")
\end{pycode}

\end{document}

编译时,结果是

Say hello Python:
Hello, 4 None
A message from Python!

它是None从哪里来的?我该如何将其删除?

答案1

\py插入给定内容的字符串表示。在本例中,它被赋予了函数print(),该函数返回None。因此,你得到了打印的内容,返回值。基本上,\py是一种快捷方式,因此print()无需使用。您可以直接使用\py{r'Hello, #1'}%

\pyc是环境的内联等效项pycode。它只执行代码。因此,如果您希望它在文档中插入任何内容,则需要使用print()

相关内容