说明,本文所述内容基于Mac OS X+TeXLive 2016。在Windows和Linux平台下可以实现同样的功能,但需要修改部分命令,请自行搜索。


latexmk 是LaTeX自动编译工具。 与make等通用工具相比,latexmk更灵活、更有针对性。使用latexmk,可以实现LaTeX文档自动编译,指定输出目录等功能。 latexmk的参数可以在命令行指定,也可以在配置文件中指定。个人推荐使用配置文件,这样可以避免命令过长,也方便与其他工具集成。配置文件可以放置在4个位置:
  1. 系统目录,如 /usr/local/lib/latexmk/LatexMk ,视系统设置而定。
  2. 个人根目录, $HOME/.latexmkrc
  3. 当前LaTeX主文件所在目录, .latexmkrclatexmkrc 均可。
  4. 任何其他位置,执行 latexmk 时由 -r 参数指定。
执行 latexmk 时,会依次在上述位置查询配置文件。建议使用第3种,即在当前LaTeX主文件所在目录放置一个 latexmkrc 文件。 latexmkrc 文件示例:
$pdf_mode = 1;
$pdflatex = "xelatex -file-line-error --shell-escape -src-specials -synctex=1 -interaction=nonstopmode %O %S;cp %D %R.pdf";
$recorder = 1;
#$pdf_previewer = "SumatraPDF -reuse-instance -inverse-search -a %O %S";
$pdf_previewer = "open -a %S";
#连续编译模式
$preview_continuous_mode = 1;
$pdf_update_method = 0;
$clean_ext = "synctex.gz acn acr alg aux bbl bcf blg brf fdb_latexmk glg glo gls idx ilg ind ist lof log lot out run.xml toc dvi";
$bibtex_use = 2;
$out_dir = "temp";
#指定生成PDF文件的文件名,可以与LaTeX主文件名不一致
#$jobname = "Book";
使用上述设置,编译:
latexmk main.tex
latexmk 会根据情况,自动执行多次编译。编译完成后不退出,处于等待状态,监视源文件。一旦有更新,会实时编译,并刷新PDF阅读器(要求阅读器支持,如skim)。编译生成的文件都会输出到$out_dir指定的目录。但是,将最终的PDF文件复制到当前目录(代码第2行最后的命令)。 使用
latexmk -c
可以清空临时文件。临时文件对应的扩展名由 $clean_ext 指定。 VIM用户可以配合 vimtex 一起使用。
参考链接: 选自:http://www.ai7.org/blog/posts/latexmk.html

点赞(59)

评论列表 共有 0 条评论

暂无评论
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部