我有以下文件夹结构
1st-grade-math-class/
common/
mystyle.sty
mysubstyle.sty
fonts/
font1.ttf
font2.ttf
font3.ttf
week01/
handout.tex
image1.pdf
image2.pdf
week02/
handout.tex
image1.pdf
image2.pdf
...
week13/
handout.tex
output/
[empty]
我想创建一个 Makefile - 以最好的方式 - 执行以下操作:
确保我在 TEXINPUTS 中正确包含公共目录
将handout.tex编译为 PDF(使用 pdflatex 或 xelatex)并将其作为week01-handout-student.pdf 放在输出目录中
在文件开头(设置标志)前面加上一行 LaTeX将handout.tex编译为 PDF,并将其作为week01-handout-teacher.pdf 放在输出目录中
清理所有内容(日志、辅助等文件)
除了在每个子目录中手动复制一个基本的 Makefile/bash 脚本,然后使用 for 循环一个一个地调用它们之外,我不确定我是否知道如何以任何其他方式执行此操作。
我将不胜感激有关如何构建此过程的帮助,最好是在根目录中使用单个 Makefile。谢谢。
更新:我故意不想提供任何关于我如何编译 LaTeX 的细节,以防有人有比我目前使用的更好的建议。现在我正在使用 Latexmk(它已经是一个类似于 make 的 LaTeX 包装器):
- latexmk -pdf file.tex生成file.pdf
- 添加代码行,我做一个简单的回显“代码行”> temp.tex和cat handout.tex >> temp.tex,然后是相同的latexmk命令
- 目录中的latexmk -c file.tex清除所有用于编译file.tex 的临时文件
- TEXINPUTS 是 TeX 路径变量,让 TeX 找到(在其路径中)样式文件:我执行 TEXINPUTS=full-path-to/common 然后在编译任何东西之前导出 TEXINPUTS。
如果有人有更好的建议,我愿意接受。