正如这里所建议的latexmk那样,只要源更改,就可以方便地连续编译文档.但是,当您处理文档时,通常会出现错误,然后latex在继续之前会发生恐慌并等待用户输入.这可能会非常烦人,特别是最近我latex直接从一个以太网板文件中编译的东西,这会在你输入时不断保存.
如果它无法编译,是否有设置latex或latexmk使其只是中止错误消息?或者,如果有必要,我如何设置某种Expect脚本来自动解除LaTeX的投诉?
(我原以为pdflatex可以选择-halt-on-error诀窍,但显然不是.)
奖金问题:在Mac OSX上浏览是一个不错的pdf查看器,当pdf更改时会自动恢复(与预览不同),除非每当出现乳胶错误时它会再次确认您需要自动清除.Texniscope没有这个问题,但由于其他原因我不得不抛弃Texniscope .有没有办法让Skim始终自动刷新,还是有其他观众可以做到这一点?
latexmk基于这个问题的答案的迷你教程:获取latexmk此: http://www.phys.psu.edu/~collins/software/latexmk-jcc/
将以下内容添加到您的~/.latexmkrc文件中:
$pdflatex = 'pdflatex -interaction=nonstopmode';
Run Code Online (Sandbox Code Playgroud)
(对于OS X with Skim)
$pdf_previewer = "open -a /Applications/Skim.app";
Run Code Online (Sandbox Code Playgroud)编辑源文件时,foo.tex在终端中运行以下命令:
latexmk -pvc -pdf foo.tex
Run Code Online (Sandbox Code Playgroud)使用Skim或其他实时pdf查看器查看foo.pdf.对于Skim,只需查看Skim首选项中的"同步"选项卡,并为编辑器进行设置.
瞧!点击保存foo.tex现在将导致foo.pdf刷新而不触及任何东西.
我正在使用AUCTeX,我想绑定一个密钥,例如C-0,执行以下操作:
latexmk在没有提示我的情况下运行活动文件.latexmk遇到任何问题,则显示错误.我的问题不是如何绑定一个密钥(Tyler在下面的评论中发布了一个链接),但是如何提出一个完成1-3项的功能.
我打电话给Latexmk
(add-hook 'LaTeX-mode-hook (lambda ()
(push
'("Latexmk" "latexmk %s" TeX-run-TeX nil t
:help "Run Latexmk on file")
TeX-command-list)))
Run Code Online (Sandbox Code Playgroud)
这是我的.latexmkrc
$pdf_mode = 1;
$recorder = 1;
$latex = 'latex -recorder -halt-on-error -interaction=nonstopmode -shell-escape';
$pdflatex = 'pdflatex -recorder -halt-on-error -interaction=nonstopmode -shell-escape';
Run Code Online (Sandbox Code Playgroud)
我正在使用Emacs 23.3和AUCTeX 11.86.