如何更正文档类中错位的附录toc
?elsarticle
附录的标题打印在描述上附录在
\documentclass[preprint]{elsarticle}
\begin{document}
\tableofcontents
\section{Document Preamble}
Proofs and so
\appendix
\section{a } Too irrelevant for the main document ...
\section{b } but used there as well.
\end{document}
第二个问题是,如果另外加载\usepackage[english]{babel}
附录标签A和乙显示也错误:
答案1
有两个错误elsarticle
。
第一个是它没有考虑到\numberline{Appendix A}
会导致盒子过满,因为它无法放入分配的 1.5em 空间。
第二个与有关babel
。该类确实有\def\appendixname{Appendix }
,但在babel
加载时\appendixname
不会有尾随空格。
修复
经过有和无的测试babel
。
\documentclass{elsarticle}
%\usepackage[english]{babel}
\usepackage{etoolbox,calc}
\makeatletter
\def\appendixname{Appendix}% don't add the space here
\appto\appendix{%
\addtocontents{toc}{\patch@l@section}% patch \l@section
\appto\appendixname{ }% here add a trailing space
}
\protected\def\patch@l@section{%
\patchcmd{\l@section}{1.5em}{\widthof{\appendixname\space}+2.5em}{}{}%
}
\makeatother
\begin{document}
\tableofcontents
\section{Document Preamble}
Proofs and so
\appendix
\section{a} Too irrelevant for the main document ...
\section{b} but used there as well.
\end{document}