我最近开始尝试使用这个pyluatex
包(它允许您在 .tex 文档中包含 Python 3 代码,并在 .tex 编译过程中运行它)。
https://www.ctan.org/pkg/pyluatex
我有一个非常满意的设置,只是我还没有让 synctex(正向-反向搜索)工作。我的文档编译正确,我确实得到了正确的 .pdf 输出;唯一的问题是我还得到了一个 synctex(繁忙)文件(因此当然在源中按住 Ctrl 键单击或输出不会执行任何操作)。
这是一个 synctex 不起作用的最小示例:
\documentclass{article}
\usepackage[executable=python.exe]{pyluatex}
\begin{document}
Hello
\end{document}
如果我的问题与以下方面有关,我不会感到惊讶:这个。但是请注意,如果我不使用 pyluatex,synctex 可以正常工作。例如,以下文档编译并生成 .pdf 和 synctex.gz 文件,synctex 似乎工作正常:
\documentclass{article}
%\usepackage[executable=python.exe]{pyluatex}
\begin{document}
Hello
\end{document}
如果相关的话,我正在使用 Windows 10,带有 TeXworks(0.6.6)和 MiKTeX(21.12.10),并且我正在使用以下排版选项(可从 TeXworks 中的编辑、首选项、排版菜单中找到):
程序:
latexmk
参数:
-lualatex
--synctex=1
--shell-escape
$fullname
(Latexmk好像是4.76版本。)
我想问题是:为什么 synctex 对我不起作用?换句话说,我做错了什么(也许是我使用的排版选项有问题)?或者我安装错了什么,或者需要更新什么。如果我应该提供更多信息,请告诉我。
答案1
原来,这个问题是 PyLuaTeX 在 Windows 下的一个 bug。由于 PyLuaTeX 以前的版本没有及时关闭 Python 解释器,导致 SyncTeX 输出文件被锁定,无法正常完成(即压缩和重命名)。
新版本0.4.1已经修复 https://github.com/tndrle/PyLuaTeX/commit/86725935425f2d4e879efba4227744df807c675e