编写一个 make 文件来编译所有独立的 tikz 文件

编写一个 make 文件来编译所有独立的 tikz 文件

我编写了几个独立的 tex 文件,用于使用 tikz 绘制图形,我使用模式 tikz_*.tex 命名它们,现在我想使用 make 文件一次性编译它们。首先,我尝试了以下操作

tikz_%.pdf:  tikz_%.tex                                                                                                                                                                          
             pdflatex tikz_$*.tex   

其次,我如何制定规则来生成 Makefile 中的所有 pdf 文件?我知道我可以制定另一条规则并列出我想要编译的所有 pdf,但是这样的文件太多了。

答案1

使用 GNU make 进行的操作如下:

tikz_%.pdf:  tikz_%.tex
    pdflatex $<  # Note: This must be indented with a TAB, not 4 Spaces!

PDFs = $(addsuffix .pdf, $(basename $(wildcard tikz_*.tex)))
all: $(PDFs)

确保在 makefile 的顶部添加隐式规则,然后就可以开始了。

这些功能包括GNU make 手册中有记录

重要警告:将此与隐式规则一起使用取决于 tex 文件是否只需要运行一次。如果不需要,请使用latexmk -pdf或类似工具代替pdflatex

相关内容