登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
资讯
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
科技
›
$\LaTeX{}$之快速编译和删除中间文件
$\LaTeX{}$之快速编译和删除中间文件
[ 复制链接 ]
施婉秀
2025-10-1 13:38:05
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
本文介绍了在 \(\LaTeX{}\) 中如何使用批处理文件和Makefile来实现快速编译和删除中间文件,保持工作目录的清爽整洁。
批处理文件
在Windows下可以使用批处理文件来处理,也可以使用Makefile(但需配置make环境)。这里为了操作简单性,在Windows下只介绍如何使用批处理文件来实现快速删除中间文件和快速编译。
快速删除中间文件(辅助文件)
步骤如下:
新建文本文件命名为clean.bat;
复制下面的代码放到文本文件中;
@echo off
echo Cleaning auxiliary files...
del /s /q "*.aux" "*.log" "*.out" "*.bbl" "*.blg" "*.toc" "*.lof" "*.lot" "*.synctex.gz"
echo Cleaning completed!
pause
复制代码
将文件放入主文件(.tex)所在文件夹中,双击运行即可删除中间文件以及子文件夹中的中间文件。
快速编译并删除中间文件
步骤如下:
新建文本文件命名为compile.bat;
复制下面的代码放到文本文件中;
@echo off
:: ==============================================
:: LaTeX Compile Automation Script (XeLaTeX + BibTeX)
:: Usage: Drag and drop the .tex file onto this script or manually specify the file name
:: ==============================================
:: set variable
set TEX_COMPILER=xelatex
set BIB_COMPILER=bibtex
set MAX_ATTEMPTS=3
set LOG_EXTENSIONS=*.aux *.log *.out *.bbl *.blg *.toc *.lof *.lot *.synctex.gz
:: Check whether the file is obtained by dragging
if "%~1"=="" (
echo Error: Please drag the .tex file onto this script or manually specify the file name
pause
exit /b 1
)
:: Extract the file name (without extension)
set "TEX_FILE=%~1"
set "BASE_NAME=%~n1"
:: Compile function definition
:compile
echo.
echo =============== Start Compiling... ===============
echo Compiling document: %TEX_FILE%
:: First XeLaTeX Compilation
echo.
echo [1/4] First %TEX_COMPILER% compiling...
%TEX_COMPILER% -interaction=nonstopmode -synctex=1 "%BASE_NAME%.tex"
if %ERRORLEVEL% neq 0 (
echo Error: First %TEX_COMPILER% Compilation failed
goto error_handling
)
:: BibTeX Compilation
echo.
echo [2/4] %BIB_COMPILER% compiling reference...
%BIB_COMPILER% "%BASE_NAME%.aux"
if %ERRORLEVEL% neq 0 (
echo Warning: %BIB_COMPILER% There may be issues with the compilation (check the .blg file)
)
:: Second XeLaTeX Compilation
echo.
echo [3/4] Second %TEX_COMPILER% compiling...
%TEX_COMPILER% -interaction=nonstopmode -synctex=1 "%BASE_NAME%.tex"
if %ERRORLEVEL% neq 0 (
echo Error: Second %TEX_COMPILER% Compilation failed
goto error_handling
)
:: Third XeLaTeX Compilation (Ensure correct cross-referencing)
echo.
echo [4/4] Third %TEX_COMPILER% compiling...
%TEX_COMPILER% -interaction=nonstopmode -synctex=1 "%BASE_NAME%.tex"
if %ERRORLEVEL% neq 0 (
echo Error: Third %TEX_COMPILER% Compilation failed
goto error_handling
)
:: Cleaning auxiliary files (Optional)
echo.
echo Cleaning auxiliary files...
del /s /q %LOG_EXTENSIONS% 2>nul
:: Completed Successfully
echo.
echo =============== Compilation Completed Successfully ===============
echo Final output file: %BASE_NAME%.pdf
start "" "%BASE_NAME%.pdf" :: Automatically open the generated PDF
goto end
:: Error Handling
:error_handling
set /a ATTEMPTS+=1
if %ATTEMPTS% lss %MAX_ATTEMPTS% (
echo.
echo Attempting to fix the issue (attempt %ATTEMPTS%/3)...
goto compile
)
echo.
echo =============== Compilation Failed ===============
echo After %MAX_ATTEMPTS% attempts, it has not been successful. Please check the logs:
type "%BASE_NAME%.log" | more
goto end
:end
pause
复制代码
将文件放入主文件(.tex)所在文件夹中,拖动主文件到该脚本上,或者命令行运行:compile.bat main.tex。
注意事项:
TEX_COMPILER可更换为pdflatex或lualatex编译命令,且删除辅助文件的命令可选择删除掉,避免每次都需要重新生成中间文件浪费时间。
Makefile
常规编译方法
[code]# 定义编译器LATEX = xelatex# 定义需要清理的辅助文件扩展名AUX_FILES = *.aux *.log *.out *.toc *.lof *.lot *.bbl *.blg *.synctex.gz *.fls *.fdb_latexmk *.run.xml *.nav *.snm *.vrb *.bcf *.idx *.ilg *.ind *.xdv# 获取当前目录下所有 .tex 文件(排除带空格的文件名)TEX_FILES = $(wildcard *.tex)PDF_FILES = $(TEX_FILES:.tex=.pdf)# 默认目标:编译所有 .tex 文件all: $(PDF_FILES) @echo "编译完成!"# 模式规则:从 .tex 生成 .pdf%.pdf: %.tex $(LATEX) -interaction=nonstopmode -halt-on-error $< #@# 如果有参考文献,运行 biber 或 bibtex #@if [ -f $(basename $
LaTeX
快速
编译
删除
中间
相关帖子
如何快速对接印度股票市场 (NSE/BSE) 数据接口
快速配置Containerd镜像加速(附最新可用加速地址)
MAF快速入门(4)多Agent工作流编排
从0开始完成ActiveMQ-cpp在windows_x86平台的编译(从编译openssl开始)
Keepalived详解:原理、编译安装与高可用集群配置
Linux Mint下使用vscode编译C++代码
LaTeX学习笔记:学术文档排版
关于linux编译c语言文件的一些错误问题
MAF快速入门(7)工作流的状态共享
操作教程丨通过1Panel快速安装Zabbix,搭建企业级监控系统
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
安全
如何快速对接印度股票市场 (NSE/BSE) 数据接口
1
937
吕清莹
2025-12-01
业界
快速配置Containerd镜像加速(附最新可用加速地址)
3
961
阎怀慕
2025-12-02
业界
MAF快速入门(4)多Agent工作流编排
2
176
赖珊
2025-12-02
业界
从0开始完成ActiveMQ-cpp在windows_x86平台的编译(从编译openssl开始)
0
352
鲫疹
2025-12-04
业界
Keepalived详解:原理、编译安装与高可用集群配置
0
73
决任愧
2025-12-09
安全
Linux Mint下使用vscode编译C++代码
1
752
聊账
2025-12-10
业界
LaTeX学习笔记:学术文档排版
0
258
叟澡帅
2025-12-14
安全
关于linux编译c语言文件的一些错误问题
1
970
诈知
2025-12-15
业界
MAF快速入门(7)工作流的状态共享
0
79
兼罔
2025-12-18
业界
操作教程丨通过1Panel快速安装Zabbix,搭建企业级监控系统
1
469
距佰溘
2025-12-18
回复
(1)
荡俊屯
2025-11-27 07:11:37
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
热心回复!
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
业界
安全
代码
签约作者
程序园优秀签约作者
发帖
施婉秀
2025-11-27 07:11:37
关注
0
粉丝关注
29
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
3934307807
991124
anyue1937
9994892
kk14977
6845357
4
xiangqian
638210
5
韶又彤
9997
6
宋子
9982
7
闰咄阅
9993
8
刎唇
9993
9
俞瑛瑶
9998
10
蓬森莉
9950
查看更多
今日好文热榜
995
阿里Z-Image图像生成模型容器部署
306
痞子衡嵌入式:16MB以上NOR Flash地址模式
661
最新AI换脸软件,全面升级可直播,Mirage下
447
热点 Key 与大 Key 治理——识别、拆分、预
645
Media Extended
322
vlookup的终结者splookup,9个案例讲透查询
850
ROS2之Launch介绍
886
精选 8 个 .NET 开发实用的类库,效率提升
82
精选 8 个 .NET 开发实用的类库,效率提升
573
精选 8 个 .NET 开发实用的类库,效率提升
143
精选 8 个 .NET 开发实用的类库,效率提升
114
精选 8 个 .NET 开发实用的类库,效率提升
609
alist如何将默认布局设置为图片布局
1011
Kali2025.4+Cherry Studio一键配置HexStrik
419
PHP 之高级面向对象编程 深入理解设计模式
416
PHP 之高级面向对象编程 深入理解设计模式
572
升级curl版本,及升级后引起的动态库链接不
297
2025年GEO优化服务商全景对比:五大核心维
779
AI Agent详解
983
Buildah 简明教程:让镜像构建更轻量,告别