有没有办法在 scrbook 类中的小节标题下方插入副标题?
我找到了这个问题/解决方案-,基本上正是我想要实现的,但我无法让它与 scrbook 类一起工作。
此外,我发现此解决方案但是我需要副标题的格式与小节标题略有不同,也就是说不是粗体也不是无衬线。
我需要将字幕视为“标题”的一个原因是因为我需要以下小节的第一行不缩进。
最后,我希望小节和副标题不要编号(我目前使用带星号的版本作为小节),并且我不希望副标题出现在目录中。我想象的是这样的:
梅威瑟:
\documentclass[
11pt,
ngerman,
a4paper,
open=any,
headings=big,
captions=tableheading,
parskip=false,
captions=nooneline,
toc=listofnumbered,
toc=bibliography,
numbers=noenddot,
bibliography=leveldown]{scrbook}
\usepackage[inner=2.5cm, outer=2.5cm,tmargin=3cm, bmargin=4cm]{geometry}
\setcounter{tocdepth}{3}
\usepackage{scrlayer-scrpage}
\usepackage[ngerman]{babel}
\usepackage{lipsum}
\begin{document}
\tableofcontents
\part{Part I}
\chapter{Chapter 1}
\section{Section 1}
\subsection*{Subsection}
Subtitle\\
First line of subsection with no indent.
\end{document}
答案1
您可以声明一个新的部分命令\subsecsubtitle
\RedeclareSectionCommand[
afterskip=.5ex
]{subsection}
\DeclareNewSectionCommand[
style=section,
level=\subsectionnumdepth,
afterskip=1.5ex plus .2ex,
beforeskip=-.5ex,
indent=0pt,
font=\mdseries\small,
tocstyle=gobble% no TOC entry
]{subsecsubtitle}
然后你可以使用
\subsection*{Subsection}
\subsecsubtitle*{Subtitle}
得到一个未编号的小节,后面跟着一个未编号的副标题。这还可以避免副标题和后面的文本之间出现分页符。
请注意,如果紧挨着另一个部分命令,beforeskip
则副标题将被忽略。\subsecsubtitle
例子:
\documentclass[
%11pt,% default
ngerman,
%a4paper,% default
open=any,
%headings=big,% default
captions=tableheading,
%parskip=false,% default
captions=nooneline,
toc=listofnumbered,
toc=bibliography,
numbers=noenddot,
bibliography=leveldown]{scrbook}
\usepackage[inner=2.5cm, outer=2.5cm,tmargin=3cm, bmargin=4cm]{geometry}
\usepackage{scrlayer-scrpage}
\usepackage{babel}
\usepackage{lipsum}% only for dummy text
\setcounter{tocdepth}{\subsubsectiontocdepth}
\RedeclareSectionCommand[
afterskip=.5ex
]{subsection}
\DeclareNewSectionCommand[
style=section,
level=\subsectionnumdepth,
afterskip=1.5ex plus .2ex,
beforeskip=-1pt,
indent=0pt,
font=\mdseries\small,
tocstyle=gobble
]{subsecsubtitle}
\begin{document}
\tableofcontents
\part{Part I}
\chapter{Chapter 1}
\section{Section 1}
\subsection*{Subsection}
\subsecsubtitle*{Subtitle}
First line of subsection with no indent.
\end{document}
答案2
编辑:我添加了一个设置来调整标题和副标题之间的垂直间距,但正如 OP 所指出的那样,这个设置缺失了。
字幕
我认为最好的方法是这个答案\subsecsubtitle
并为此目的定义一个自定义命令。
该命令包括所需的字体规格和方向\noindent
。请注意,这只是嘲笑分段命令:它具有标题的所有视觉特征,但它不向您的 TOC 发送任何内容或运行标题。
\newkomafont{subsecsubtitle}{\small\mdseries\sffamily}
% subtitle font: smaller than \subsection; not bold; sans-serif
\newcommand{\subsecsubvskip}{\vspace{1ex}}
% adjust the vertical space between subtitle and text
\newcommand{\subsecsubtitle}[1]{%
\vspace{-1ex}% % adjust the vertical space between title and subtitle
\begingroup\usekomafont{disposition}\usekomafont{subsecsubtitle}#1\par\endgroup%
\subsecsubvskip\noindent\ignorespaces}
然后您可以立即使用此命令\subsection
:
\subsection{Subsection}
\subsecsubtitle{Subtitle}
First line of subsection with no indent.
编号和星号命令
您希望\subsection
保持未编号,这就是为什么您使用已加星标版本。但我也从你的问题中得知,虽然副标题不应该去 TOC,本节应该这样做。但是,您加星号的命令\subsection*
不会向目录发送任何内容。
如果我理解正确,那么这就是单程去做吧:
\subsection*{Subsection title} % unnumbered section
\addxcontentsline{toc}{subsection}{Subsection title} % manually create TOC entry
这会将指定标题发送到 TOC。但是,您必须这样做手动对于每个小节。
更好的方法是通过创建执行该操作的新命令来概括该操作(参数#1
是所需的标题):
\newcommand*{\subsectnonum}[1]{%
\subsection*{#1}
\addxcontentsline{toc}{subsection}{#1}}
...
\begin{document}
...
\subsectnonum{Subsection}
(另外一个选择nonumber
调用节时使用开关: \subsection[nonumber=true]{Subsection}
。这需要headings=optiontoheadandtoc
在序言中激活包选项。您可以在文档。
例子
\documentclass{scrbook}
\setcounter{tocdepth}{3}
\newkomafont{subsecsubtitle}{\small\mdseries\sffamily}
\newcommand{\subsecsubvskip}{\vspace{1ex}}
\newcommand{\subsecsubtitle}[1]{%
\vspace{-1ex}%
\begingroup\usekomafont{disposition}\usekomafont{subsecsubtitle}#1\par\endgroup%
\subsecsubvskip\noindent\ignorespaces}
\newcommand*{\subsectnonum}[1]{%
\subsection*{#1}
\addxcontentsline{toc}{subsection}{#1}}
\begin{document}
\tableofcontents
\section{Section 1}
\subsection*{Normal subsection (no TOC!)} % normal subsection, no number, no TOC
\subsecsubtitle{Subtitle}
First line of subsection with no indent.
\section{Section 1}
\subsectnonum{Custom subsection} % custom subsection w/o number
\subsecsubtitle{Subtitle}
First line of subsection with no indent.
\end{document}