我正在尝试将几篇期刊论文压缩在一起(使用combine
文档类)以填充我的论文三明治。这些论文使用了该siunitx
包,但导致错误。
类似的帖子在这里:使用 listings 包中的“合并”文档类我根据该示例改编了以下最小工作示例:
\documentclass{combine}
\usepackage[load=named]{siunitx}
\begin{document}
\begin{papers}
\coltoctitle{Title}
\coltocauthor{Author}
\label{lbl}
\import{test}
\end{papers}
\end{document}
在 test.tex 中
\documentclass{article}
\begin{document}
Hello World
\end{document}
我收到以下错误:
错误:LaTeX 错误:“kernel/command-already-defined” --- TeX 说 --- ! ! 控制序列 \c_siunitx_textsf_tl 已定义。
有人可以帮忙吗?
答案1
正如您所说,这是由文档开头的代码引起的。至少对于最小示例,只需绕过子文档中的此代码即可:
\documentclass{article}
\makeatletter
\@ifclassloaded{combine}
{\let\@begindocumenthook\@empty}
{}
\makeatother
\begin{document}
Hello World
\end{document}
(\@begindocumenthook
是\AtBeginDocumentCode
存储的地方。)