make在latex中的妙用

  最近在学习latex,每次编译完源码后,都想看下效果,有人觉得可以装软件,装插件,简单的学习,觉得实在没必要折腾。看下了就只有两条命令:

  latex hello.tex

  dvipdfm hello.dvi

  make最擅长做这种机械化的事情了,只要吧Makefile文件写好,一切都很容易,说做就做:

  1、Makefile(version1)

复制代码
 1 hello.pdf:hello.dvi
 2     dvipdfm $^ -o $@
 3 hello.dvi:hello.tex
 4     latex $^
 5 clean:
 6     rm hello.log
 7     rm hello.dvi
 8     rm hello.pdf
 9     rm hello.aux
10     mv hello.tex src/
复制代码

  直接make就可以生成了pdf文档,make clean可以将中间文件删除,并将源码归类到src目录。优点就是非常容易理解,缺点就是灵活性远远不够,每次换个文件都需要在文件里更改文件。

  2、Makefile(version2)

复制代码
 1 FILENAME=hello
 2 ${FILENAME}.pdf:${FILENAME}.dvi
 3     dvipdfm $^ -o $@
 4 ${FILENAME}.dvi:${FILENAME}.tex
 5     latex $^
 6 clean:
 7     rm ${FILENAME}.log
 8     rm ${FILENAME}.dvi
 9     rm ${FILENAME}.pdf
10     rm ${FILENAME}.aux
11     mv ${FILENAME}.tex src/
12     echo 'clean fnished!'
复制代码

  这个make前只要更改一个参数即可,缺点就是make clean时,有输出:

rm hello.log
rm hello.dvi
rm hello.pdf
rm hello.aux
mv hello.tex src/
echo 'clean fnished!'
clean fnished!

  3、Makefile(version3)

复制代码
 1 #FILENAME=hello
 2 ${FILENAME}.pdf:${FILENAME}.dvi
 3     dvipdfm $^ -o $@
 4 ${FILENAME}.dvi:${FILENAME}.tex
 5     latex $^
 6 clean:
 7     @rm ${FILENAME}.log
 8     @rm ${FILENAME}.dvi
 9     @rm ${FILENAME}.pdf
10     @rm ${FILENAME}.aux
11     @mv ${FILENAME}.tex src/
12     @echo clean fnished!
复制代码

  这个版本就好多了,只需要在make是加上参数即可,无需修改文件,就可以,并且,clean时只显示必要的信息。

  make FILENAME=hello           //完成编译

  make FILENAME=hello  clean        //完成清理

OK,完美,手工!

posted @   叕叒双又  阅读(679)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示