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,完美,手工!
人就像是被蒙着眼推磨的驴子,生活就像一条鞭子;当鞭子抽到你背上时,你就只能一直往前走,虽然连你也不知道要走到什么时候为止,便一直这么坚持着。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· 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工具