这是第一行,包含章节标题

这是第一行,包含章节标题

我正在使用 Koma-Script (scrbook类)。我想要包含两行的章节:

这是第一行,包含章节标题

这是第二行,包含章节的副标题

他们每个人都有不同的风格。

我怎样才能做到这一点?

澄清:

我想要的行为就像 Christian 所建议的那样(见下面的评论):

\addchap{Chapter title \\ \somesize Chapter subtitle}

我不知道是否有一种简单的方法来创建在 Koma-Script 中执行该操作的命令(例如 \chapterwsub)。

答案1

此解决方案(试验性)为\chapter命令添加了一个额外的可选参数,该参数将保存字幕并将其显示在下一行,使用略小的字体大小。如果不存在,则没有字幕,一切照常运行。

在我看来,将副标题放入页眉并不是一个好主意,因为它会使页面歪曲,并且可读性会因此受到影响。

\documentclass{scrbook}
\usepackage{scrpage2}%
\usepackage{xcolor}
\usepackage{xparse}


\usepackage{blindtext}%


\makeatletter
\let\LaTeXStandardChapter\chapter%

\NewDocumentCommand{\chaptersubtitlefont}{+m}{%
{\large \bfseries #1}%
}%

\RenewDocumentCommand{\chapter}{s+o+m+o}{%
  \IfBooleanTF{#1}{%
    \LaTeXStandardChapter*{#3}%
  }{%
    \IfNoValueTF{#4}{%
    \IfNoValueTF{#2}{%
        \LaTeXStandardChapter{#3}%
      }{%
        \LaTeXStandardChapter[#2]{#3}%
      }%
    }{%
      \IfNoValueTF{#2}{ %     
        \LaTeXStandardChapter{#3\\ \chaptersubtitlefont{#4}}%
      }{%
        \LaTeXStandardChapter[#2]{#3\\ \chaptersubtitlefont{#4}}%
      }%
    }%
  }%
}%


\makeatother





\begin{document}
\pagestyle{scrheadings}

\tableofcontents

\chapter{First}
\blindtext

\chapter{Another one}

\chapter*{Hello}

\chapter{My Chapter}[\textcolor{red}{With subtitle}]

\blindtext[10]


\chapter[Short chapter title]{My very long chapter title}[with short subtitle]

\blindtext[10]

\end{document}

答案2

最基本的版本可能如下。但为了确保万无一失,还需要更多信息。

在此处输入图片描述

\documentclass[oneside]{scrbook}
\newkomafont{chapsubtitle}{\normalsize\bfseries}
\newcommand{\chapsubvskip}{\vspace{\baselineskip}}
\newcommand{\chapsubtitle}[1]{%
\begingroup%
\usekomafont{disposition}\usekomafont{chapsubtitle}#1\par\endgroup%
\chapsubvskip\noindent\ignorespaces}
\usepackage{blindtext}
%\addtokomafont{chapsubtitle}{\Large}
\begin{document}
\chapter{The duck that went crazy}
\blindtext
\chapter{The duck that went crazy}
\chapsubtitle{man, that was quit a riot}
\blindtext
\chapter{The duck that went crazy}
\blindtext
\end{document}

相关内容