管理LaTeX源代码文档,最开始的时候,我是在终端中手动输入编译命令,每次都需要输入好几次命令才能得到最终的文档。之后,为了简化操作,自习了Makefile,使用make来编译、预览LaTeX文档,效率大大提高,但每次都要适当修改Makefile,仍有一定的繁琐。今天,偶然发现一个编译、预览LaTeX文档的利器——latexmk,强烈推荐给使用LaTeX制作文档的朋友们。此处对于使用make和latexmk编译预览LaTeX文档分别做一个简要的介绍。
一、使用make
自写Makefile,使用make管理LaTeX源代码文档。示例如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | #Makefile for LaTeX PDFC = xelatex BIBC = bibtex READER = evince TARGET = article.pdf OUTGROWTH = *.out *.log *.aux *.toc *.lof *.lot *.lol *.bbl *.blg SOURCE = article.tex BSOURCE = article $(TARGET): $(SOURCE) $(PDFC) $(SOURCE) $(BIBC) $(BSOURCE) $(PDFC) $(SOURCE) $(PDFC) $(SOURCE) read: $(READER) $(TARGET) clean: -rm $(OUTGROWTH) cleanall: -rm $(OUTGROWTH) $(TARGET) .PHONY:read clean cleanall |
之后,每次更新tex源码后,需要按照自己的目的在终端中输入以下命令:
1 2 3 4 5 6 7 8 | #彻底清理目录 make cleanall #编译源码 make #清理目录,保留最终文档 make clean #预览文档 make read |
二、使用latexmk
首先创建或修改配置文档。可以在家目录中创建一个配置文档:
1 | vim ~/.latexmkrc |
按照需要修改配置文档内容,如修改pdf阅读器为evince:
1 | $pdf_previewer = "start evince %O %S"; |
之后,只需要在工作目录新开一个终端,输入:
1 2 3 4 | #监视源码、自动编译、实时预览 latexmk -pdf -pvc -xelatex article #清理目录,只保留最终的pdf文档 latexmk -c |
PS:不知道“start evince %O %S”中“%O %S”的含义为何,有知道的朋友麻烦告知一下,先行谢过!
参考资料
LaTeX 文档的实时编译,以及Dropbox同步
latexmk -h
man latexmk