说明,本文所述内容基于Mac OS X+TeXLive 2016。在Windows和Linux平台下可以实现同样的功能,但需要修改部分命令,请自行搜索。
latexmk 是LaTeX自动编译工具。 与make等通用工具相比,latexmk更灵活、更有针对性。使用latexmk,可以实现LaTeX文档自动编译,指定输出目录等功能。 latexmk的参数可以在命令行指定,也可以在配置文件中指定。个人推荐使用配置文件,这样可以避免命令过长,也方便与其他工具集成。配置文件可以放置在4个位置:
- 系统目录,如 /usr/local/lib/latexmk/LatexMk ,视系统设置而定。
- 个人根目录, $HOME/.latexmkrc 。
- 当前LaTeX主文件所在目录, .latexmkrc 或 latexmkrc 均可。
- 任何其他位置,执行 latexmk 时由 -r 参数指定。
$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.texlatexmk 会根据情况,自动执行多次编译。编译完成后不退出,处于等待状态,监视源文件。一旦有更新,会实时编译,并刷新PDF阅读器(要求阅读器支持,如skim)。编译生成的文件都会输出到$out_dir指定的目录。但是,将最终的PDF文件复制到当前目录(代码第2行最后的命令)。 使用
latexmk -c可以清空临时文件。临时文件对应的扩展名由 $clean_ext 指定。 VIM用户可以配合 vimtex 一起使用。
参考链接:
- my .latexmkrc that I use with MacTex
- ST2-plugin-latexmk-save-build-clean/.latexmkrc
- 【教程】跨平台使用vim-pandoc和vimtex编辑和输出pdf和docx的教程
- copy pdf and .synctex.gz to working directory with latexmk, works on windows, not on os x - TeX - LaTeX Stack Exchange
发表评论 取消回复