抑制目录中的章节编号

抑制目录中的章节编号

我正在创建一个文件,其中各节标题的数字周围应该有一个方框。此外,有些节不应该显示此数字,即使该方框仍然应该在那里。为了解决这个问题,我使用 titlesec 创建了两个环境,其中一个环境中的数字颜色与方框填充颜色不同,而另一个环境中的颜色匹配。

我遇到的问题是目录中显示了两个章节编号。我查阅了 titlesec 文档,其中提到了使用 \ifthesection 条件来隐藏目录中的数字,但我不知道该怎么做。

我附上了一个示例,其中包含一些虚拟部分和环境。我不想显示练习 A(第 0.2 节)的编号。有人能帮我解决这个问题吗?

谢谢你,

拉曼

当前输出的截图

\documentclass[10.5pt,hidelinks]{book}
\usepackage[T1]{fontenc}
\usepackage{uarial}
\usepackage[ paper=a4paper,  layoutheight = 8.2in, layoutwidth  = 6in, layoutvoffset= 35mm, layouthoffset = 29mm, margin=0pt, includeheadfoot, showcrop=true]{geometry}
\usepackage{multicol}
\usepackage{titlesec}
\usepackage{lipsum}
\usepackage[english]{babel}
\usepackage{blindtext}
\usepackage{helvet}
\usepackage{tikz}
\newcommand\sectionbar{%
\tikz[baseline,trim left=2.1cm,trim right=2.0cm] {
    %               \fill [black] (2.0cm,-0.3ex) rectangle (\textwidth+3.1cm,-0.1ex);
    \node [
    fill=lightgray,
    anchor= base east,
    rectangle,
    minimum height=3.5ex, minimum width=3.5ex] at (3cm,0) {
        %                   \color{white} \textbf{\arabic{\section}}
        \color{white}   \textbf{\thesection}
    };
    \fill [black] (\textwidth-13.15cm,-0.9ex) rectangle (\textwidth+2.1cm,-1.1ex);      
}%
}
 \titleformat{\section}{\large\bfseries}{\sectionbar}{1.5cm}{}

\newcommand\exercisebar{%
\tikz[baseline,trim left=2.1cm,trim right=2.0cm] {
    %               \fill [black] (2.0cm,-0.3ex) rectangle (\textwidth+3.1cm,-0.1ex);
    \node [
    fill=lightgray,
    anchor= base east,
    rectangle,
    minimum height=3.5ex, minimum width=3.5ex] at (3cm,0) {
        %                   \color{white} \textbf{\arabic{\section}}
        \color{lightgray}   \textbf{\thesection}
    };
    \fill [black] (\textwidth-13.15cm,-0.9ex) rectangle (\textwidth+2.1cm,-1.1ex);      
}%
}

\newenvironment{exercises}
  {\titleformat{\section}{\large\bfseries}{\exercisebar}{1.5cm}{}
%   \setcounter{secnumdepth}{0}%
%   \renewcommand\sectionmark[1]{}
    }
{%\setcounter{secnumdepth}{2}
   }
  \begin{document}
  \tableofcontents

  \section {LEARNING OBJECTIVES}
 \blindtext \\
  \lipsum[1]

 \begin{exercises}
 \section{Exercises A}
 \blindtext
 \lipsum[2-3]
 \end{exercises}


 \section{Exercises B}
 \blindtext
 \lipsum[4-5]


  \end{document}

答案1

我相信我找到了最糟糕的解决方案:

\newenvironment{exercises}{%
    \titleformat{\section}{\large\bfseries}{\exercisebar}{1.5cm}{}
    \addtocontents{toc}{%
         \string\let\string\oldnumberline\string\numberline%
         \string\renewcommand\string\numberline\string[1]\string\oldnumberline{\strut}}%
    }%  
 }{%
    \setcounter{secnumdepth}{2}
    \addtocontents{toc}{%
         \string\let\string\numberline\string\oldnumberline%
    }
}

相关内容