如何制作使用分段计数器的附加段落命令?

如何制作使用分段计数器的附加段落命令?

我希望能够使用以下附加(新)命令:\sparagraph、、\ssparagraph\sssparagraph所有这些命令都将使用\paragraph格式,但将使用不同的计数器。将\sparagraph使用部分标签和计数器。将\ssparagraph使用子部分标签和计数器。将\sssparagraph使用子子部分标签和计数器。

如果章为 1,节为 1。节的标签将为 1.1。如果我在节后面加上\sparagraph,我希望段落以 1.2 开头。格式化为\paragraph,但使用节编号,包括增加该计数器。

答案1

这是一个可能的解决方案,使用标准的分段定义\@startsection

在此处输入图片描述

\documentclass{book}
\makeatletter
\newcommand\sparagraph{\@startsection{section}{1}{\z@}%
                                    {3.25ex \@plus1ex \@minus.2ex}%
                                    {-1em}%
                                    {\normalfont\normalsize\bfseries}}
\newcommand\ssparagraph{\@startsection{subsection}{2}{\z@}%
                                    {3.25ex \@plus1ex \@minus.2ex}%
                                    {-1em}%
                                    {\normalfont\normalsize\bfseries}}
\newcommand\sssparagraph{\@startsection{subsubsection}{3}{\z@}%
                                    {3.25ex \@plus1ex \@minus.2ex}%
                                    {-1em}%
                                    {\normalfont\normalsize\bfseries}}
\setcounter{secnumdepth}{3}% Allow numbering up to \subsubsection or \sssparagraph
\makeatother
\begin{document}
\chapter{A chapter}
\section{A section}

\sparagraph{An sparagraph}
\ssparagraph{An ssparagraph}
\ssparagraph{Another ssparagraph}
\sssparagraph{An sssparagraph}

\sparagraph{Another sparagraph}
\ssparagraph{A ssparagraph}
\sssparagraph{An sssparagraph}
\sssparagraph{An sssparagraph}
\end{document}

\sparagraphsection和朋友使用| subsection|计数器进行设置subsubsection,并且也设置在该级别(分别为 1、2 或 3)。

答案2

ConTeXt 提供了一个\definehead命令来定义新的章节标题。

\definehead
  [paragraph] % ConTeXt doesn't define \paragraph.
  [subsubsubsection] % It uses \subsubsubsection instead.

\definehead
  [sparagraph]
  [section]

\definehead
  [ssparagraph]
  [subsection]

\definehead
  [sssparagraph]
  [subsubsection]

\setuphead
  [sparagraph,ssparagraph,sssparagraph,paragraph]
  [alternative=text,
   style=bold]

ConTeXt 中的所有\define<something>命令都遵循相同的语法:

\define<....>
      [<name>]
      [<parent>]
      [<options>]

我定义\sparagraph等从相应的部分命令继承所有设置,然后覆盖stylealternative设置以使它们与的设置相匹配paragraph

相关内容