在 KOMA \extratitle 命令中更改字体大小

在 KOMA \extratitle 命令中更改字体大小

相关问题:在 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}

相关内容