Closed eraserqqq closed 5 months ago
本科毕业论文 main分支
你先用 biblatex,别用 bibtex
确实能够复现问题,我整理了一个 MWE,请 @zepinglee 李泽平老师看看这个问题的原因在哪儿
其中 c.tex
是主文件,abstract.tex
是外部摘要文件(通过 \file_input:n
导入进主文件)
运行 xelatex + bibtex + xelatex * 2
后 PDF 如下图
其实第一次运行 xelatex
的时候就有警告 LaTeX Warning: Citation `[' on page 1 undefined on input line 1.
也许是因为摘要不是在\begin{document}中进行引入的?
确实能够复现问题,我整理了一个 MWE,请 @zepinglee 李泽平老师看看这个问题的原因在哪儿
MWE 文件
其中
c.tex
是主文件,abstract.tex
是外部摘要文件(通过\file_input:n
导入进主文件)复现步骤及结果
运行
xelatex + bibtex + xelatex * 2
后 PDF 如下图 其实第一次运行xelatex
的时候就有警告LaTeX Warning: Citation `[' on page 1 undefined on input line 1.
刚看了一下,我找到问题了,出在 cls 文件里的 \AtBeginDocument
,改成 \ctex_after_end_preamble:n
即可:
% \AtBeginDocument { \__whu_make_abstract: }
\ctex_after_end_preamble:n { \__whu_make_abstract: }
应该是 \AtBeginDocument
的钩子执行阶段还没有开始 bibtex
的设置之类的原因造成的,所以往后一点即可。
不用 ctex
的钩子,用 begindocument/end
也可以:
\AddToHook { begindocument / end } { \__whu_make_abstract: }
lthooks-doc.pdf
里也说了,\AtBeginDocument
钩子的内容不应该用来输出 typing 的东西:
行,那就先换成 begindocument / end
感谢各位,完美解决了问题
摘要貌似不在正文内容中,\cite会报错,有没有大佬知道怎么解决