scrbook 中子章节的字幕

scrbook 中子章节的字幕

有没有办法在 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}

目录和章节标题

相关内容