我正在使用 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}