编号插入小节

编号插入小节

我试图防止在(子)节声明之后发生自动换行,但仅限于某些子节。

我知道我可以使用:

\titleformat{\subsection}[runin]

但这将适用于所有小节,而不仅仅是我想要的小节。

这样做的动机是我想要定义将出现在目录中的部分,所以我不能使用像 \textbf{...} 这样的东西。

这可能吗?任何帮助都将不胜感激。

答案1

欢迎来到 TeX.SE!由于我一开始忽略了“未编号标准”,我将提供两种实现。最简单的一种是针对编号的插入小节,让我们先从它开始。

编号插入小节

\documentclass{article}
\usepackage{lipsum}

\makeatletter

\newcommand*{\runinsubsection}{%
  \@startsection{subsection}%
  {2}% level
  {\z@}% indentation of heading from the left margin
  {-3.25ex\@plus -1ex \@minus -.2ex}% absolute value = beforeskip
  {-1.5em \@plus -.1em}% when negative, opposite = skip to leave right of a
                       % run-in heading.
  {\normalfont\large\bfseries}% style
}

\makeatother

\begin{document}
\tableofcontents

\section{A section}
\lipsum[1]

\subsection{A subsection}
\lipsum[2]

\runinsubsection{A run-in subsection}
\lipsum[3]

\runinsubsection{Other run-in subsection}
\lipsum[4]

\subsection{Other subsection}
\lipsum[2]

\end{document}

两页(组装截图)

未编号的插入小节

这些稍微有点棘手,因为未编号的章节、子章节等通常不会到达目录。因此,我们对未编号的子章节使用正常代码,只是我们临时对其进行修补,将插入的子章节标题添加到目录中。

\documentclass{article}
\usepackage{etoolbox}
\usepackage{lipsum}

\makeatletter

\let\@ssect@ORIG\@ssect
\let\@runin@ssect\@ssect

\apptocmd{\@runin@ssect}{%
  \addcontentsline{toc}{subsection}{%
    % Comment out the following line to remove “phantom number” indentation in
    % the TOC
    \protect\numberline{}% no number in TOC
    #5% the title
  }%
  \let\@ssect\@ssect@ORIG       % restore the normal \@ssect
}{}{\FAILED}

\newcommand*{\runinsubsection}{%
  \let\@ssect\@runin@ssect
  \@startsection{subsection}%
  {2}% level
  {\z@}% indentation of heading from the left margin
  {-3.25ex\@plus -1ex \@minus -.2ex}% absolute value = beforeskip
  {-1.5em \@plus -.1em}% when negative, opposite = skip to leave right of a
                       % run-in heading.
  {\normalfont\large\bfseries}% style
  *% we want an unnumbered subsection
}

\makeatother

\begin{document}
\tableofcontents

\section{A section}
\lipsum[1]

\subsection{A subsection}
\lipsum[2]

\runinsubsection{A run-in subsection}
\lipsum[3]

\runinsubsection{Other run-in subsection}
\lipsum[4]

\subsection{Other subsection}
\lipsum[2]

\end{document}

两页(组装截图)

相关内容