不使用 \section*{} 即可从 tocloft 中删除章节编号

不使用 \section*{} 即可从 tocloft 中删除章节编号

我正在尝试从 tocloft 中删除部分编号,但仅限于某些条目。示例如下: 例如我想要什么

我现在删除它的方法如下:

\section*{Discussion} \label{discussion}
\addcontentsline{toc}{section}{\nameref{discussion}}

但是使用这种方法,链接不会包含在 pdf 导航菜单中,在我看来这是一个混乱的解决方案。

我尝试了以下操作,但它仅适用于书籍部分(我使用文章):

\makeatletter
\renewcommand{\cftsecpresnum}{\begin{lrbox}{\@tempboxa}}
\renewcommand{\cftsecaftersnum}{\end{lrbox}}
\makeatother

我可以使用以下命令抑制论文本身的章节编号:''' \renewcommand{\prefix@section}{ }'''

总而言之,我想从下面的例子中删除 8、9 和 10:

删除此内容

使用正常方式时:

\section{Discussion} \label{discussion}

我希望有人能帮忙,因为我搞不懂。这似乎是一件很简单的事情。如果我需要提供更多信息,我很乐意这样做。提前谢谢您!

工作代码:

\documentclass[10pt]{article}

\usepackage{nameref}

%% # TOC CONFIG #
\usepackage[titles]{tocloft}
\renewcommand{\cftsecleader}{\cftdotfill{\cftdotsep}}
\renewcommand*\contentsname{Table of contents}
\setcounter{tocdepth}{3}


\begin{document}
    \setcounter{secnumdepth}{5}  
    \setcounter{tocdepth}{5}    
    \tableofcontents
    \newpage

    \let\oldthesection=\thesection
    \renewcommand{\thesection}{}

    % Without before
    \renewcommand{\thesection}{}
    \section{section one no nr before} \label{1nonr}


    % Normal sections
    \let\thesection=\oldthesection
    \setcounter{section}{0}
    \section{section one}

    \section{section two}
    \subsection{subsection one}

    \section{section three}
    \subsection{subsection one}
    \subsection{subsection two}

    % Without after
    \renewcommand{\thesection}{}
    \renewcommand{\thesubsection}{}
    \section{section one no nr} \label{1nonr}

    \section{section two no nr} \label{2nonr}
    \subsection{subsection one} \label{2snonr}
\end{document}

图片: 图片展示其现在的工作原理

相关内容