目录中同一级别的不同缩进

目录中同一级别的不同缩进

我正在为大学写一篇论文,我需要按照风格指南来写。除了目录之外,一切都很好。

我得到的结果如下: 在此处输入图片描述

“附录”一词不应与章节名称重叠,但非附录子章节也不能比现在更靠右。这就是为什么我不能使用

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

在此处输入图片描述

相关内容