如何在目录中仅显示小节标题而不显示编号,同时仍缩进?

如何在目录中仅显示小节标题而不显示编号,同时仍缩进?

我正在尝试将未编号的小节添加到我的目录中,同时保持其正确缩进,并且不删除文本中的标题编号。以下是我有但不想要的示例和代码:

基本代码

\documentclass[11pt]{article}
\usepackage{tocloft}

\begin{document}

\setcounter{tocdepth}{3}
\setcounter{secnumdepth}{3}
\cftpagenumbersoff{part} % suppress page number in toc for parts
\tableofcontents
\setcounter{tocdepth}{3}
\setcounter{secnumdepth}{3}
\renewcommand{\thesubsection}
    {\arabic{subsection}}
\renewcommand{\thesubsubsection}
    {\Alph{subsubsection}}
\newpage

\part*{Part}
\addcontentsline{toc}{part}{Part}
\section{Section1}
\section{Section2}
\subsection{Subsection1}
\subsubsection{SubsubsectionA}
\subsubsection{SubsubsectionB}
\section{Section3}

\end{document}

当我使用 删除子小节编号时\setcounter{secnumdepth}{2},它也会删除缩进,使其与小节齐平。以下是结果。

深度为 2

我还想避免使用上述解决方案,因为它会删除文本中的标题编号,而我想保留这些编号。以下是我想要实现的理想解决方案:正确缩进的目录包含没有节号的子节,但仍包含文本中的节号。

理想的解决方案 理想解决方案 1

如果这不可能或者太难,那么只需更改小节编号和标题之间的缩进空间就可以了,如下所示:

不太理想的解决方案 1 不太理想的解决方案 1

或者

不太理想的解决方案 2 不太理想的解决方案

答案1

这里建议使用包(不要同时使用!)tocbasictocloft

\documentclass[11pt]{article}

\usepackage{tocbasic}
\DeclareTOCStyleEntry[
  pagenumberformat=\gobble,
  numwidth=0pt
]{tocline}{part}
\DeclareTOCStyleEntry[
  entrynumberformat=\gobble,
  numwidth=2em
]{tocline}{subsubsection}
\newcommand\gobble[1]{}

\setcounter{tocdepth}{3}
\setcounter{secnumdepth}{3}

\renewcommand{\thesubsection}{\arabic{subsection}}
\renewcommand{\thesubsubsection}{\Alph{subsubsection}}

\begin{document}
\tableofcontents
\clearpage
\part*{Part}\addcontentsline{toc}{part}{Part}
\section{Section1}
\section{Section2}
\subsection{Subsection1}
\subsubsection{SubsubsectionA}
\subsubsection{SubsubsectionB}
\section{Section3}
\end{document}

在此处输入图片描述


关于以下评论:

如果要减少目录中子节编号与其标题之间的间距,可以使用

\DeclareTOCStyleEntry[
  numwidth=1.5em
]{tocline}{subsection}

那么我numwidth也将改变小节。

在此处输入图片描述

代码:

\documentclass[11pt]{article}

\usepackage{tocbasic}
\DeclareTOCStyleEntry[
  pagenumberformat=\gobble,
  numwidth=0pt
]{tocline}{part}
\DeclareTOCStyleEntry[
  numwidth=1.5em
]{tocline}{subsection}
\DeclareTOCStyleEntry[
  entrynumberformat=\gobble,
  numwidth=1.5em
]{tocline}{subsubsection}
\newcommand\gobble[1]{}

\setcounter{tocdepth}{3}
\setcounter{secnumdepth}{3}

\renewcommand{\thesubsection}{\arabic{subsection}}
\renewcommand{\thesubsubsection}{\Alph{subsubsection}}

\begin{document}
\tableofcontents
\clearpage
\part*{Part}\addcontentsline{toc}{part}{Part}
\section{Section1}
\section{Section2}
\subsection{Subsection1}
\subsubsection{SubsubsectionA}
\subsubsection{SubsubsectionB}
\section{Section3}
\end{document}

答案2

tocloft 手册写得相当好,也是 LaTeX2e 目录参数的一个很好的参考。这里我们使用 tocloft 本身提供的参数。我建议你读一下手册。

\documentclass[11pt]{article}
\usepackage{tocloft}
\setcounter{tocdepth}{3}
\setcounter{secnumdepth}{2}
\cftpagenumbersoff{part} % suppress page number in toc for parts

\setlength{\cftsubsubsecindent}
    {\dimexpr\cftsubsubsecindent+\cftsubsubsecnumwidth\relax}

\renewcommand{\thesubsection}{\arabic{subsection}}
\renewcommand{\thesubsubsection}{\Alph{subsubsection}}

\begin{document}

\tableofcontents

\newpage

\part*{Part}
\addcontentsline{toc}{part}{Part}
\section{Section1}
\section{Section2}
\subsection{Subsection1}
\subsubsection{SubsubsectionA}
\subsubsection{SubsubsectionB}
\section{Section3}

\end{document}

在此处输入图片描述

相关内容