我正在尝试简化/改进 Makefile 以编译我的论文。Makefile 可以很好地编译整个东西。我有这样的事情:
show: thesis.pdf
open thesis.pdf
thesis.pdf: *.tex
pdflatex --shell-escape thesis
这使我可以键入make
并检测到任何更改(如果有),并在显示之前重新编译。
现在我想将它扩展为有条件地只编译个别章节。例如,这使我可以make xpmt
通过一种迂回的方式编写仅获得一章的内容:
xpmt: ch-xpmt.pdf
open ch-xpmt.pdf
ch-xpmt.pdf: xpmt.tex
pdflatex --shell-escape --jobname=ch-xpmt \
"\includeonly{xpmt}\input{thesis}"
但我不想为每个单独的章节写下相同的内容。如何以足够通用的方式编写上述规则以避免重复?
(更多的是学习如何编写 Makefiles 而不是解决任何实际问题的练习;显然在这种情况下,复制和粘贴上述代码足够多次实际上是微不足道的!)