我一直在 Windows 上使用 TeXSudio + Texlive 编写文档。我可以在 Windows 上顺利构建所有内容,但当我转到 Linux 时,编译会在某个时候挂起。
编译挂起之前的最后一行是:
[6] [7 <./Figures/SM.png>] [8 <./Figures/memory.png>] [9 <./Figures/asyncOps.png>]
此时,它将停止执行任何操作,直到被中断。我使用的命令是:
latexmk main -pdf
TeXstudio 使用以下命令:
pdflatex.exe -synctex=1 -interaction=nonstopmode --shell-escape "main".tex
我尝试过(减去 synctex),但结果是一样的。
TeXstudio 是否在后台执行了其他操作,我需要在 CLI 中执行这些操作?这发生在一台配备现代 i7 和 16 GB 内存的机器上,因此我认为这不是资源问题。
答案1
问题似乎是我的某个图像名称带有下划线。在 Windows TexStudio 中,将图形包含到 latex 中的文件中,因此包含 '\_'。
这些字符似乎在 Linux 的某个时候被以不同的方式解析,因为当我重命名图像并摆脱 latex 中的 \_ 时,它可以很好地编译。
我发现这一点是因为当我在编译挂起后按下 Control-C 时,吐出的错误来自一个内部 C 函数,该函数显示了有问题的图像包含字符串作为参数卡住。