系统:Windows 11 专业版 24H2
发行版本:TeX Live 2024
编译环境:VS Code
问题:使用模板【非官方】天津大学的 LaTeX 试卷模板编写试卷时,由于siunitx
和physics
宏包冲突报错,故删去相关部分并停止使用physics
宏包,但修改后仍无法编译文件,且重新下载原模板并打开也无法编译。报错信息如下图,具体表现为无法编译文件,无法生成*.log
、*.toc
、*.aux
等文件。
补充:电脑上的其他*.tex
文件均能正常编译
请尽可能补充更多的信息,一步步告诉别人你做了什么,以便别人复现你的问题...
例如:
由于siunitx
和physics
宏包冲突报错,故删去相关部分并停止使用physics
宏包
具体删除了哪个文件的哪个部分,原先所谓「siunitx
和physics
宏包冲突报错」的报错信息是什么?
使用模板【非官方】天津大学的 LaTeX 试卷模板编写试卷
你贴的链接需要20积分下载,这意味着每个想回答问题的人都得花20积分,这对潜在的回答者不友好...
报错信息如下图,具体表现为无法编译文件,无法生成*.log
、*.toc
、*.aux
等文件。
你图示的报错信息是从清除辅助文件开始的,并不完整,如有可能,应该补充完整。
但修改后仍无法编译文件,且重新下载原模板并打开也无法编译。
在重新编译的时候你是否删除了全部中间辅助文件再开始(?)
另外,不知为什么,我从链接处下载的文件中的设置文件名为:TJ-exam-8kai-settings.tex
而在TJ-exam-8kai.tex
中的第二行却只有\input{settings}
\documentclass[AutoFakeBold,twocolumn,zihao=-4,UTF8,answers]{ctexart} %
% \input{settings}
\input{TJ-exam-8kai-settings}% 我做的替换
这点你完全没提到,情况是相同的吗?
由于latexmk
会自动执行多个编译命令,只是方便了运行,但是不方便debug. 所以最好依次执行xelatex
等一系列命令查看报错信息.
在windows11+TL2025上使用xelatex TJ-exam-8kai.tex
编译上面的代码是可以得到.log
的(不知道为什么.log
上传不了...):
注意其中最后几行:
% Line 1497 TJ-exam-8kai.log
[2]
! Emergency stop.
<inserted text> }\endwrite
l.109 \end{document}
Unbalanced write command
且此时是可以顺利得到PDF文件的:
至此,问题的关键是找到为何会出现Unbalanced write command
...
进一步简化问题:
\documentclass[AutoFakeBold,twocolumn,zihao=-4,UTF8]{ctexart}%
% \input{settings}
% \input{TJ-exam-8kai-settings}
\begin{document}
\section{\textbf{填空题}(aaa)}
\end{document}
无! Emergency stop.<inserted text> }\endwrite
报错
但是
\documentclass[AutoFakeBold,twocolumn,zihao=-4,UTF8]{ctexart}%
% \input{settings}
\input{TJ-exam-8kai-settings}
\begin{document}
\section{\textbf{填空题}(aaa)}
\end{document}
则会出现上述报错,至此TJ-exam-8kai-settings.tex
中必定有问题.
稍微做一些简化,你可以把代码删减到:
\documentclass{ctexart}%
\ctexset{section={number = \bfseries\chinese{section}}}
\usepackage{zref-lastpage}
\begin{document}
\section{\textbf{填空题}hello}
你好!
\end{document}
同样会得到:
[1]
! Emergency stop.
<inserted text> }\endwrite
l.10 \end{document}
的问题...
事实上这里没必要用\bfseries
,可以把TJ-exam-8kai-settings.tex
中的
\ctexset{section={
name = {,、\hspace*{-5mm}},
number = \bfseries\chinese{section},
format = {\zihao{-4}},
beforeskip = 9pt,
afterskip = 4pt
}}
修改为
\ctexset{section={
name = {,、\hspace*{-5mm}},
number = \chinese{section},
format = {\zihao{-4}},
beforeskip = 9pt,
afterskip = 4pt
}}
既可以避免上述的问题。
BTW, 还要注意到这个模板似乎是13-14年写的,tasks
包还报了如下的一个警告:
Package tasks Warning: You've tried setting command `\NewTasks ' on line 56.
(tasks) However, command `\NewTasks ' is deprecated. Please use
(tasks) command `\NewTasksEnvironment ' instead. Refer to the
(tasks) manual for details.
自己做修改,留做习题....