“elsarticle” toc 和 babel 冲突?

“elsarticle” toc 和 babel 冲突?

如何更正文档类中错位的附录tocelsarticle附录的标题打印在描述上附录

在此处输入图片描述

\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}

输出

在此处输入图片描述

相关内容