Makefile调用LaTeX生成PDF时修改输出路径与重命名文件问题
Makefile 修改方案
完整修改后代码
# 自定义配置项,可根据实际需求调整 OUTPUT_DIR := ./output # PDF编译输出目录 FINAL_PDF := ./交付版_文档.pdf # 重命名后的最终文件路径 # FILE := xxx 保留你原有定义FILE变量的代码即可 # Generating the file $(OUTPUT_DIR)/$(FILE).pdf: $(IMAGES) $(PACKAGES) $(COMMON_TEX_SOURCES) $(FILE_TEX_SOURCES) $(FILE_IMAGES) @mkdir -p $(OUTPUT_DIR) latexmk -lualatex -outdir=$(OUTPUT_DIR) $(FILE) ############################################################################## # rule to generate file file: $(OUTPUT_DIR)/$(FILE).pdf @mkdir -p $(dir $(FINAL_PDF)) cp $< $(FINAL_PDF)
改动说明
- 调整PDF输出路径
调用latexmk时新增-outdir参数指定输出目录,编译前通过mkdir -p自动创建输出目录,避免目录不存在导致的编译报错,规则目标同步修改为输出目录下的PDF文件,确保增量编译逻辑正常。 - 实现PDF复制重命名
在file规则中新增复制逻辑,使用Makefile内置自动变量$<指代编译生成的原PDF文件,直接复制到你指定的FINAL_PDF路径即可完成重命名,若重命名后的文件需要存放到其他目录,mkdir -p $(dir $(FINAL_PDF))会自动创建对应父目录。
注意:Makefile中所有规则下的命令行必须以Tab字符开头,不能用空格替代,否则会触发语法错误。
内容的提问来源于stack exchange,提问作者Nour
相关产品推荐
相关产品推荐

