我正在为大学写一篇论文,我需要按照风格指南来写。除了目录之外,一切都很好。
我得到的结果如下:
“附录”一词不应与章节名称重叠,但非附录子章节也不能比现在更靠右。这就是为什么我不能使用
\renewcommand\l@subsection{\@dottedtocline{2}{1.5em}{3em}}
以下是我的 *.cls 文件中的代码,可能会对当前格式产生一些影响。
\renewcommand{\section}{%
\@startsection {section}{1}{\z@}
{-3.5ex \@plus -1ex \@minus -.2ex}
{2.3ex \@plus.2ex}
{\normalfont\Large\bfseries}
}
\renewcommand{\l@section}[2]{%
\ifnum \c@tocdepth >\z@
\addpenalty\@secpenalty
\setlength\@tempdima{1.5em}
\begingroup
\vspace{1.5mm}
\parindent \z@ \rightskip \@pnumwidth
\parfillskip -\@pnumwidth
\leavevmode {
\advance\leftskip\@tempdima
\hskip -\leftskip
\MakeUppercase{#1}}\nobreak\ %
\leaders\hbox{$\m@th\mkern \@dotsep mu\hbox{.}\mkern \@dotsep mu$}
\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
\endgroup
\fi
}
\renewcommand{\appendix}{%
\renewcommand{\thesubsection}{\arabic{subsection} appendix.}
}
图像中的 ToC 是使用以下语句生成的:
\section{Section 1}
\section{Section 2}
\subsection{Subsection 2.1}
\section{Appendices}
\appendix
\subsection{Awesome appendix}
\subsection{Not so awesome appendix}
我将非常感激您所给予的任何帮助。
答案1
您可以使用titletoc
包来更改附录之前的小节条目的格式;这是一个例子:
\documentclass{article}
\usepackage{titletoc}
\makeatletter
\renewcommand{\l@section}[2]{%
\ifnum \c@tocdepth >\z@
\addpenalty\@secpenalty
\setlength\@tempdima{1.5em}
\begingroup
\vspace{1.5mm}
\parindent \z@ \rightskip \@pnumwidth
\parfillskip -\@pnumwidth
\leavevmode {
\advance\leftskip\@tempdima
\hskip -\leftskip
\MakeUppercase{#1}}\nobreak\ %
\leaders\hbox{$\m@th\mkern \@dotsep mu\hbox{.}\mkern \@dotsep mu$}
\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par
\endgroup
\fi
}
\renewcommand{\appendix}{%
\renewcommand{\thesubsection}{\arabic{subsection} appendix.}
}
\makeatother
\begin{document}
\tableofcontents
\section{Section 1}
\section{Section 2}
\subsection{Subsection 2.1}
\section{Appendices}
\appendix
\titlecontents{subsection}
[7.5em]{}
{\contentslabel{6em}}
{\hspace*{-6em}}
{\titlerule*[0.6pc]{.}\contentspage}
\subsection{Awesome appendix}
\subsection{Not so awesome appendix}
\end{document}
在您的实际文档中,您需要做的就是加载包并
\titlecontents{subsection}
[7.5em]{}
{\contentslabel{6em}}
{\hspace*{-6em}}
{\titlerule*[0.6pc]{.}\contentspage}
就在附录对应的小节之前。
答案2
使用修改后的定义\l@subsection
:
\documentclass{article}
\begin{document}
\tableofcontents
\section{Section 1}
\section{Section 2}
\subsection{Subsection 2.1}
\section{Appendices}
\addtocontents{toc}{\string\renewcommand\string\l@subsection{\string\@dottedtocline{2}{1.5em}{6em}}}
\appendix
\renewcommand\thesubsection{appendix~\arabic{subsection}}
\subsection{Awesome appendix}
\subsection{Not so awesome appendix}
\end{document}