更改附录的章节编号

更改附录的章节编号

对于我的附录,我试图对章节编号进行 3 处更改:

  1. 更改为字母编号
  2. 附录的子部分不应出现在目录中
  3. 我必须重置附录的编号,因为我也在主要部分中使用章节。

结果应该是这样的:

Appendix
A.1 Code 1
A.2 Code 2

对于目录,它看起来应该是这样的:

5. Results ............. 50
Appendix ............... 51

我目前正在使用以下代码:

\documentclass[ DIV15,
liststotoc,
]{scrartcl}

\begin{document}

{
    \renewcommand{\thesection}{\thesection\Alph{section}}
    \renewcommand{\thesubsection}{\thesection.\Alph{subsection}}
}

\setcounter{section}{0}
\section*{Appendix}
\setcounter{section}{1}

\addtocontents{toc}{\protect\setcounter{tocdepth}{-1}}
\subsection{Code 1}
\subsection{Code 2}
\addtocontents{toc}{\protect\setcounter{tocdepth}{1}}

\end{document}

TexStudio 编译时没有错误,但我的附录的页码仍然是数字。我怎样才能将页码改为字母?我尝试过 \def 而不是 \renewcommand,但没有帮助。

提前感谢,Phyrii

答案1

这行代码\renewcommand{\thesection}{\thesection\Alph{section}}创建了一个递归循环。我认为你可能想要

\renewcommand{\thesection}{\Alph{section}}

其次,由于您使用 来抑制 MWE 中的章节编号\section*,并且考虑到您实际所说的内容,我认为您可能想要:

\renewcommand{\thesubsection}{\Alph{section}.\arabic{subsection}}

当然,你的文档中可能确实有真正的章节,在这种情况下你应该使用

\renewcommand{\thesubsection}{\thesection.\arabic{subsection}}]

您也可以\chapter在这里使用而\section不是\subsection(或者您可以忽略这些评论:)?

最后,我不确定这两个\addtocontents{toc}...命令的目的是什么。如果你注释掉这两行,那么对 MWE 进行一点改动就能得到我认为你想要的结果:

在此处输入图片描述

完整代码如下:

\documentclass[ DIV15,
liststotoc,
]{scrartcl}

\begin{document}
\tableofcontents

\appendix
\renewcommand{\thesection}{\Alph{section}}
\renewcommand{\thesubsection}{\Alph{section}.\arabic{subsection}}

\section*{Appendix}

%\addtocontents{toc}{\protect\setcounter{tocdepth}{-1}}
\subsection{Code 1}
\subsection{Code 2}
%\addtocontents{toc}{\protect\setcounter{tocdepth}{1}}

\end{document}

答案2

对于 KOMA-Script 类,我将使用:

\addsec{Appendix}%
\refstepcounter{section}%
\addtocontents{toc}{\protect\value{tocdepth}=\parttocdepth}%

例子:

\documentclass[
  DIV=15,% <- syntax changed!
  listof=totoc,% <- syntax changed!
]{scrartcl}

\usepackage{xpatch}
\xapptocmd{\appendix}{%
  \addsec{Appendix}%
  \refstepcounter{section}%
  \addtocontents{toc}{\protect\value{tocdepth}=\parttocdepth}%
}{}{}

\usepackage{blindtext}% only for dummy text

\begin{document}
\tableofcontents

\Blinddocument

\appendix
\subsection{Code 1}
\subsection{Code 2}

\end{document}

结果:

在此处输入图片描述

在此处输入图片描述

相关内容