对于我的附录,我试图对章节编号进行 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}
结果: