\documentclass[11pt]{book}
\usepackage[svgnames]{xcolor}
\makeatletter
\let\stdl@section\l@section
\renewcommand*{\l@section}[2]{%
\stdl@section{\textcolor{blue}{#1}}{\textcolor{blue}{#2}}}
\let\stdl@subsection\l@subsection
\renewcommand*{\l@subsection}[2]{%
\stdl@subsection{\textcolor{DarkGreen}{#1}}{\textcolor{DarkGreen}{#2}}}
\makeatother
\setcounter{tocdepth}{2}
\begin{document}
\tableofcontents
\chapter*{chapter1}
\addcontentsline{toc}{chapter}{Chapter1}
\section{Section One}
\subsection{Subsection One}
\subsection{Subsection Two}
\section{Section Two}
\subsection{Subsection One}
\subsection{Subsection Two}
\end{document}
zero
现在,部分编号前面有一个前缀。我该如何去掉零。为了参考,我还附上了一张图片。
答案1
这将删除目录和文档正文中的零和句点:
\makeatletter
\renewcommand{\thesection}{%
\ifnum\c@chapter<1 \@arabic\c@section
\else \thechapter.\@arabic\c@section
\fi
}
\makeatother
这假设章节计数器已被正确定义,就像在书籍和报告类中一样。
答案2
将此添加到您的序言中:
\renewcommand{\thesection}{\arabic{section}}
上面这一行将章节号从节号中删除。如果不做任何更改,则如下所示
\renewcommand{\thesection}{\arabic{chapter}.\arabic{section}}
改变后的输出:
和