更改零件的字体

更改零件的字体

如何将零件环境使用的字体更改为 Opentype 字体?

(在下面的 MWE 中,我使用了 TrueType 字体,但方法应该相同)。

看来章节和节标题的标准 titlesec 方法不起作用。

引擎是LuaLaTeX。

M(n-)WE:

\documentclass[11pt, a4paper]{book}
\usepackage[raggedright]{titlesec}
\usepackage{fontspec}

\newfontfamily\partfont{Verdana.ttf}
\titleformat*{\part}{\partfont}

\newfontfamily\chapterfont{Verdana.ttf}
\titleformat*{\chapter}{\chapterfont}

\begin{document}
    \part{Hello world.}
    \chapter{Hello again, world.}
\end{document}

答案1

\part无法使用“简单”模式更改命令。编译代码时会收到此错误:

! Package titlesec Error: Not allowed in `easy' settings.

See the titlesec package documentation for explanation.
Type  H <return>  for immediate help.
 ...                                              

l.7 \titleformat*{\part}{\partfont}

? h % < I typed h<return> here
The sectiong command you are trying to redefine
is not handled by the starred variant (eg, \part)
? 

您必须使用\titleformat宏的一般形式(IE不带*) 并复制\part书籍类中的命令。使用这个\titleformat

\titleformat{\part}
  {\filcenter\huge\bfseries} % Format of the section header
  {\partname\nobreakspace\thepart} % Format of the “Part X” text
  {0pt} % Horizontal space (none, we want vertical)
  {\\\vspace{20pt}\Huge} % Commands before the title part (vertical space of 20 pt and increase in font size

\chapter命令允许您使用\titleformat*,以便您的代码可以正常工作。

现在你只需要添加自定义字体。我使用了 TeX Gyre Termes,因为我没有Verdana.ttf

\documentclass[11pt, a4paper]{book}
\usepackage[raggedright]{titlesec}
\usepackage{fontspec}

\newfontfamily\partfont{Tex Gyre Termes}
\titleformat{\part}
  {\filcenter\huge\bfseries\partfont}
  {\partname\nobreakspace\thepart}
  {0pt}
  {\\\vspace{20pt}\Huge}

\titleformat{\chapter}[display]
{\normalfont\huge\bfseries}{\chaptertitlename\ \thechapter}{20pt}{\Huge}

\newfontfamily\chapterfont{Tex Gyre Termes}
\titleformat*{\chapter}{\normalfont\huge\bfseries\chapterfont}

\begin{document}
    \part{Hello world.}
    \chapter{Hello again, world.}
\end{document}

部分标题:

在此处输入图片描述

章节标题:

在此处输入图片描述

相关内容