我在处理这段代码时遇到了两个问题:
\documentclass[11pt]{book}
\usepackage{fontspec}
\makeatletter
\renewcommand*{\@makechapterhead}[1]{
\vspace*{50\p@}
{%
\parindent \z@ \raggedright
\setmainfont{Book Antiqua}
\ifnum \c@secnumdepth >\m@ne
\if@mainmatter
\large \bfseries \@chapapp \space \thechapter \par
\nobreak \vskip 20\p@
\setmainfont{Adine Kirnberg Regular}
\fi
\fi
\interlinepenalty \@M \Huge \bfseries #1\par
\nobreak \vskip 40\p@
}}
\makeatother
\begin{document}
\chapter*{Introduction}
Some text in intro.
\chapter{This is the first chapter}
Some text in chapter 1.
\chapter{This is the second chapter}
Some text in chapter 2.
\end{document}
我需要另一种方法将尺寸设置为 38p,因为\Huge
对于字体 Adine Kirnberg Regular 来说它不够大(可在此处找到http://www.1001fonts.com/adine-kirnberg-font.html),并且\chapter*{Introduction}
字体与其他字体不同。我放弃使用,titling
因为我还更改了章节的编号方式。
答案1
\@makechapterhead
是 book.cls 中的编号标题,您会发现\@makeschapterhead
带有星号(未编号)的章节,您可以重新定义它们以匹配。
\fontsize{38}{42}\selectfont
例如,您可以在 42pt 基线上使用 38pt 的任意大小的字体。
答案2
我正在发布任何案例的代码
\documentclass[11pt]{book}
\usepackage{fontspec}
\makeatletter % changing font and size for \chapter*{}
\renewcommand*{\@makeschapterhead}[1]{
\vspace*{50\p@}
{%
\parindent \z@ \raggedright
\setmainfont{Adine Kirnberg Regular}
\interlinepenalty \@M \fontsize{38}{42}\selectfont \bfseries #1\par
\nobreak \vskip 40\p@
}}
\makeatother
\makeatletter % changing font and size for \chapter{}
\renewcommand*{\@makechapterhead}[1]{
\vspace*{50\p@}
{%
\parindent \z@ \raggedright
\setmainfont{Book Antiqua}
\ifnum \c@secnumdepth >\m@ne
\if@mainmatter
\large \bfseries \@chapapp \space \thechapter \par
\nobreak \vskip 20\p@
\setmainfont{Adine Kirnberg Regular}
\fi
\fi
\interlinepenalty \@M \fontsize{38}{42}\selectfont \bfseries #1\par
\nobreak \vskip 40\p@
}}
\makeatother
\begin{document}
\chapter*{Introduction}
Some text in intro.
\chapter{This is the first chapter}
Some text in chapter 1.
\chapter{This is the second chapter}
Some text in chapter 2.
\end{document}
我不知道如何在本地为 Open Type 设置字体,所以我继续使用\setmainfont{}