我希望能够使用以下附加(新)命令:\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}
\sparagraph
section
和朋友使用| 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
等从相应的部分命令继承所有设置,然后覆盖style
和alternative
设置以使它们与的设置相匹配paragraph
。