我正在尝试将 Pythontex 与 Sublime Text 编辑器一起使用。
我已经从以下位置安装了 Pythontex 包:https://ctan.org/pkg/pythontex?lang=en
然后我通过以下方式设置 Sublime:首选项 > 包设置 > LatexTools > 设置 - 用户
并且我在第 379 行选择了构建器的脚本选项。
然后在第 411 行:
"windows" : {
"script_commands":
"pdflatex -shell-escape %.tex|pythontex -shell-escape %.tex|pdflatex -shell-escape %.tex|"
},
我的理解是,这应该先编译 pdfLatex,然后编译 pythonTex,然后再编译 pdfLatex。
我在这里写了以下 Latex 示例。
\documentclass{article}
\usepackage{blindtext}
\usepackage{pythontex}
\title{Sections and Chapters}
\author{Overleaf}
\date{\today}
\begin{document}
\maketitle
\section{Introduction}
This is the first section.
\begin{pycode}
a=2+3
\end{pycode}
\section{Second Section}
This is the second section
My value is $\py{a}$
\end{document}
我已将其保存在我的目录 C:\Users\craws\debug 中,如果我转到 cmd 终端并运行以下命令:
C:\Users\craws\debug> pdflatex debug.tex
C:\Users\craws\debug> pythontex debug.tex
C:\Users\craws\debug> pdflatex debug.tex
这样可以正确编译 latex 文档。但是,如果我尝试在 Sublime 中使用 Ctrl + B,则构建不会更新 python 代码,因此我的输出变为:
This is the second section My value is 4
因此,使用 Ctrl+B,我可以更新 Latex,但不能更新 Python 组件。任何帮助都将不胜感激
答案1
我发现以下构建脚本可以解决问题:
"windows" : {
"script_commands": [
"pdflatex -synctex=1 -interaction=nonstopmode -shell-escape ",
"pythontex",
"pdflatex -synctex=1 -interaction=nonstopmode -shell-escape "
]
},