我当前的项目布局如下:
Mainfile.tex
包括\begin{document}
- 序言(
\documentclass
、软件包、新命令等)和 - 章节,分成单独的子文件。
我使用以下内容.latexmkrc
进行编译latexmk -pvc -pdf Mainfile.tex
:
$pdflatex = "xelatex -src-specials -synctex=1 -interaction=nonstopmode %O %S";
$pdf_previewer = "evince %O %S";
$pdf_update_method = 0;
$sleep_time = 1;
push @cus_dep_list, "nlo nls 0 nlo2nls";
sub nlo2nls {
system("makeindex $_[0].nlo -s nomencl.ist -o $_[0].nls -t $_[0].nlg");
}
该文档完美编译,没有错误,但latexmk
无论我更改主文件或其中一个包含的子文件,都不会重新编译它。
有任何想法吗?
编辑:约翰·柯林斯是对的。没有使用“开始”是罪魁祸首。
答案1
设置的线$pdf_previewer
需要
$pdf_previewer = "启动 evince %O %S";
'evince' 前面有 'start'。否则,latexmk
运行时evince
,它会等待evince
终止,而不是运行evince
分离
(我可能应该改变latexmk
的行为,以便它在连续预览模式下自动分离预览器。)