如果您在代码中注释掉 \large,它就会起作用。目录级别无关紧要。有什么想法吗?
\documentclass{article}
%\usepackage{ccfonts}
\usepackage{cmbright}
\begin{document}
\addcontentsline{toc}{section}{{%
\large
foo\hfill}}%
\end{document}
答案1
ToC 实际上是写入文件 ( .toc
) 的,写入此文件的宏通常会被展开,这导致了此处的问题。您应该从展开中\protect
选择字体:\large
\documentclass{article}
\usepackage{cmbright}
\begin{document}
\addcontentsline{toc}{section}{{%
\protect\large
foo}}%
\addcontentsline{toc}{section}{{%
%\protect\large
bar}}%
\tableofcontents
\end{document}
上述文件.toc
如下所示:
\contentsline {section}{{\large foo}}{1}
\contentsline {section}{{bar}}{1}
如果你不\protect
这样做,那么它看起来像:
\contentsline {section}{{\edef \def 12.5{12.5}{\def 12.5{####2}}\edef \def 12.5{12.5}\relax \fontsize {12}{12.5}\selectfont foo}}{1}
\contentsline {section}{{bar}}{1}
并且很明显参数用法####2
没有上下文\contentsline
,导致错误。
.toc
如果(和)包含错误信息,则可能必须删除它.aux
,然后才能在后续运行中成功编译。