自定义部分与目录冲突

自定义部分与目录冲突

我适应了这个答案创建我需要的自定义部分。我的目的是让它看起来像这张图片中的第二个标题:

期望输出

因此,必须使用编号(\Alph),并且编号必须独立于章节/子章节。计数器应在每个子章节重新开始。

下面是我尝试实现我需要的标题的 MWE:

\documentclass{article}
\usepackage{titlesec}
    %%% seccion para estatica comparativa
    \titleclass{\scenario}{straight}[\subsection]
    \newcounter{scenario}[subsection]
    \titleformat{\scenario}
      {\scshape}{}{0em}{(\thescenario)~}
    \titlespacing*{\scenario}{0pt}{3.25ex plus 1ex minus .2ex}{1.5ex plus .2ex}
    \renewcommand*{\thescenario}{\Alph{scenario}}
    \newcommand{\scenarioautorefname}{scenario}

\begin{document}
\setcounter{tocdepth}{1}
\tableofcontents

\section{First section}

\subsection{First subsection}
\scenario{My first scenario}
\scenario{My second scenario}

\subsection{Second subsection}
\scenario{My third scenario}
Counter restarts.
\end{document}

我确信我一定是犯了什么错误,因为尽管它产生了预期的结果,但现在 TOC 编译不正确,显示了scenarios即使我将 TOC 深度定义为 1。

我在自定义标题的定义上犯了什么错误?我尝试查看此网站或titlesec文档,但无法解决。

答案1

添加新级别时似乎会变得一团糟。我认为最简单的解决方案是使用\subsubsection命令scenario作为alias\subsubsection。她是这样操作的:

\documentclass{article}
\usepackage{titlesec}
\usepackage{hyperref} 
%%% seccion para estatica comparativa
\titleformat{\subsubsection}
{\scshape}{(\thesubsubsection)}{0.5em}{}
\titlespacing*{\subsubsection }{0pt}{3.25ex plus 1ex minus .2ex}{1.5ex plus .2ex}
\renewcommand*{\thesubsubsection}{\Alph{subsubsection}}
\def\subsubsectionautorefname{scenario}
\let\scenario\subsubsection
\begin{document}
\setcounter{tocdepth}{2}
\tableofcontents

\section{First section}

\subsection{First subsection}
\scenario{My first scenario}
\label{scen1}
\scenario{My second scenario}

\subsection{Second subsection}
\scenario{My third scenario}
Counter restarts. As we can see in \autoref{scen1},…
\end{document} 

在此处输入图片描述

答案2

我发现最好的方法就是定义一个新命令(scenario),该命令使用具有我想要的格式的未编号子部分并附加到一个新的计数器,如下所示:

\newcounter{scenariocount}[subsection]
\newcommand{\scenario}[1]
{
\stepcounter{scenariocount}
\subsubsection*{\textmd{\textsc{(\Alph{scenariocount}) #1 }}}  
}

不需要额外的包并且不会与目录或其他子部分发生冲突。

相关内容