根据 `texdoc pythontex` 第40页配置 `latexmkrc` 文件,在当前文件夹下建立 `latexmkrc` 文件,并且填入如下内容 ``` add_cus_dep('pytxcode', 'tex', 0, 'pytxcode2tex'); sub pytxcode2tex { return system("pythontex \"$_[0]\""); } ``` 代码如下 ``` \documentclass[12pt,letterpaper]{article} \usepackage[makestderr]{pythontex} \newenvironment{pyconcodeblock}% {\VerbatimEnvironment \begin{VerbatimOut}{test.py}}% {\end{VerbatimOut}% \pyconc{exec(compile(open('test.py', 'rb').read(), 'test.py', 'exec'))}% \inputpygments{python}{test.py}} \begin{document} 7478egf \begin{pycode} print(r'\begin{center}') print(r'\textit{A message from Python!}') print(r'\end{center}') \end{pycode} \begin{pyverbatim} return '\\SI{' + str(var) + '}{' + unit + '}' \end{pyverbatim} \begin{pyconcodeblock} import os import sys sys.path.append(os.getcwd()) def foo(x): return 2*x \end{pyconcodeblock} \begin{pyconsole} x = 10 foo(x) \end{pyconsole} \end{document} ``` 运行 `latexmk -pdf main.tex` 发现并未获得最终结果。在执行 `latexmk -c` 或 ` del main.aux` 后再执行 `latexmk -pdf main.tex` 得到最终结果。这里为什么没有一次性得到结果?

1 回答1

2
1. pythontex 文档里写的 `.latexmkrc` 不够好。 这是已知问题,见 https://github.com/gpoore/pythontex/issues/132 1. 使用 latexmk 官方维护的这个配置文件 http://mirrors.ctan.org/support/latexmk/example_rcfiles/pythontex-latexmkrc ,可一次编译完成。 这个配置文件是 latexmk 文档的一部分,通过 `texdoc -l latexmk` 可以找到。
  • 非常感谢! – Camuse 2020-03-09 23:51 回复

你的回答

请登录后回答

你的回答将会帮助更多人,请务必认真回答问题。