相关问题:在 KOMA \extratitle 命令中更改字体
KOMA scrbook 类。我想更改由 \extratitle 命令创建的半标题页上的字体大小。
我只希望字体大小更改应用于半标题页,而不应用于文档的其余部分。我以为我可以通过创建新环境来实现这一点,但这似乎行不通。
以下是 MWE:
%!TEX TS-program = xelatex
%!TEX encoding = UTF-8 Unicode
\documentclass{scrbook}
\usepackage{xltxtra,xunicode}
\defaultfontfeatures{Mapping=tex-text}
\setromanfont[Mapping=tex-text]{Hoefler Text}
\setsansfont[Scale=MatchLowercase,Mapping=tex-text]{Gill Sans}
\setmonofont[Scale=MatchLowercase]{Andale Mono}
%\usepackage{moresize} Can't get anything larger than HUGE
%\usepackage{relsize} scaling at 5x had no effect
\begin{document}
\newenvironment{zebratitle}{\changefontsizes{36pt}{\Huge}}
\newfontfamily\myfunt[Ligatures=TeX]{Papyrus}
\begin{zebratitle}
\extratitle{\vspace*{5\baselineskip}
\begin{center}\textbf{\Huge \myfunt Great Title}\end{center}}
\end{zebratitle}
\title{Great Title}
\author{The Author}
\date{}
\maketitle
\end{document}
答案1
您的代码有两个问题:
- 该
\changefontsizes
命令仅接受一个参数。您的组将\Huge
不执行任何操作。 - 该
\extratitle
命令不受其周围组的影响,并且仅打印其参数内的内容。因此您必须将其zebratitle
放入\extratitle
。
更新:感谢 Schweinebacke,我重新修改了代码并更正了以下内容:
- 您的环境定义
zebratitle
缺少结尾部分。 - 这个定义以及
\newfontfamily
应该移至序言中。 - 您的
center
环境现已包含在内zebratitle
。 - 而且您的手动垂直跳跃将被自动定心所取代。
- 最后,但并非最不重要的一点是,现在有了
\bfseries
而不是\textbf
并且我删除了导致奇怪的组\baselineskip
。
这有效:
\documentclass{scrbook}
\usepackage{xltxtra,xunicode}
\defaultfontfeatures{Mapping=tex-text}
\newenvironment{zebratitle}{\begin{center}\changefontsizes{36pt}}{\end{center}}
\newfontfamily\myfunt[Ligatures=TeX]{Papyrus}
\begin{document}
\extratitle{
\begin{zebratitle}
\vspace*{\fill}
\Huge\bfseries\myfunt Great Title
\vfill
\end{zebratitle}
}
\title{Great Title}
\author{The Author}
\date{}
\maketitle
\end{document}