在我正在翻译的一本书中,有一种特殊的标题,其字体大小介于 和 之间\section
。\subsection
这种标题从不编号,用于将较长的部分划分为不同的部分并为每个部分提供描述。
一开始我把无编号定义\section*
为这个样子。但是后来我注意到有一个中间章节,里面的所有内容都是无编号的,所以我必须把它保留\section*
给无编号的普通章节。
目前我没有比定义一个新命令更好的想法,可能名为\sectionsub
,如下所示:
\RequirePackage { relsize }
\NewDocumentCommand \sectionsub { m }
{
\medskip
\group_begin:
\noindent
\relscale { 1.08 }
\scshape
#1
\group_end:
\par \smallskip
}
\titlespacing
但是,在我看来,这看起来相当不优雅和不可靠。例如,我无法使用from设置其周围的间距titlesec
,在我看来,这比使用\medskip
and更好\smallskip
。此外, here 的使用\par
使其行为取决于\parskip
。
您有处理此类标题的经验吗?如果我必须为其定义新命令,我该如何以通常的方式可靠地定义它\section
,并且希望能够与类似的工具兼容titlesec
?
我正在使用book
作为基类。
答案1
使用\titleclass
(包titlesec
),可以\sectionsub
在之间\chapter
插入新的级别\section
。
\titleclass{⟨name⟩}{⟨class⟩}[⟨super-level-cmd⟩]
“类别”straight
适用于文本中间的标题。
这里定义的标题格式\sectionsub
没有数字。
\documentclass[11pt,a4paper]{book}
\usepackage{kantlipsum}% dummy text
\usepackage{titlesec}
\titleclass{\sectionsub}{straight}[\chapter] % added <<<<<<<<<<
\newcounter{sectionsub}% not used, just in case it is needed
\titleformat{\sectionsub}{\normalfont\normalsize\bfseries}{}{0em}{}
\titlespacing*{\sectionsub}{0pt}{2.25ex plus 1ex minus .2ex}{1.5ex plus .2ex}
\setcounter{secnumdepth}{3} % test numbered subsections
\begin{document}
\chapter{ONE}
1. \kant[1]
\sectionsub{Sec--Sub One}
2. \kant[2]
\section{Sec TWO}
3. \kant[3]
\sectionsub{Sec--Sub Two}
4. \kant[4]
\subsection {Sub Sec One}
5. \kant[5]
\end{document}