![如何使用 XeTeX 下的 titlesec 和 titling 更改章节标题的字体?](https://linux22.com/image/287056/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20XeTeX%20%E4%B8%8B%E7%9A%84%20titlesec%20%E5%92%8C%20titling%20%E6%9B%B4%E6%94%B9%E7%AB%A0%E8%8A%82%E6%A0%87%E9%A2%98%E7%9A%84%E5%AD%97%E4%BD%93%EF%BC%9F.png)
我正在XeTeX
编辑一个文档,尝试使用其中的某些标题titlesec
设置titling
不同的字体。
我正在使用建议的方法作为回复类似问题但到目前为止,我的成功还只是部分的。
和标题根据需要更改字体,但section
标题忽略设置。subsection
chapter
这是我的代码片段
%%% to allow custom headings
\usepackage{titlesec}
% to change titles font family
\usepackage{titling}
%%% declare fonts and set some formats
% fontspec to use non-latex with xetex
\usepackage{xunicode}
\usepackage{fontspec}
\usepackage{xltxtra}
% font declaration and title settings
\newfontfamily\headingfont[]{Armata}
\titleformat{\chapter}{\LARGE\headingfont}
\titleformat*{\section}{\LARGE\headingfont}
\titleformat*{\subsection}{\Large\headingfont}
\renewcommand{\maketitlehooka}{\headingfont}
我尝试了章节设置,同时模仿了上面链接中提供的解决方案。我了解到,删除 是*
必须的,因为 不适easy mode
用于章节标题。我还没有找到原因。但事实是,删除星号也可以消除错误……但对于字体设置似乎不起作用。
有任何想法吗?
谢谢 :)
编辑:我发现了一个非常愚蠢的错误,导致我找到了(部分)解决方案,但出现了一个新错误。我刚刚设置\documentclass{book}
,现在渲染器尝试放置所需的字体,但titlesec
抛出了一个错误:
Titles must not be nested
LaTeX 代码如下:
\begin{document}
\chapter{First Chapter}
The title above does not show any font.
\section{First Section}
Works as desired.
\subsection{Subsection}
Hiya! This also shows up as expected.
\subsubsection{Subsubsection}
We have not declared a titleformat for this heading, and so it is shown with the default font.
\section{Second section}
Repeating the success
\end{document}
该chapter
标题是触发 titlesec 错误的标题。
答案1
线路
\titleformat{\chapter}{\LARGE\headingfont}
是罪魁祸首。语法错误。正确的是
\titleformat{\chapter}[display]
{\huge\headingfont}{\chaptertitlename\ \thechapter}{20pt}{\Huge}
因此,MWE(我使用 Arial 而不是 Armata,因为我没有安装该字体):
\documentclass{book}
%%% to allow custom headings
\usepackage{titlesec}
% to change titles font family
\usepackage{titling}
%%% declare fonts and set some formats
% fontspec to use non-latex with xetex
\usepackage{xunicode}
\usepackage{fontspec}
\usepackage{xltxtra}
% font declaration and title settings
\newfontfamily\headingfont[]{Arial}
\titleformat{\chapter}[display]
{\huge\headingfont}{\chaptertitlename\ \thechapter}{20pt}{\Huge}
\titleformat*{\section}{\LARGE\headingfont}
\titleformat*{\subsection}{\Large\headingfont}
\renewcommand{\maketitlehooka}{\headingfont}
\begin{document}
\chapter{First Chapter}
The title above does not show any font.
\section{First Section}
Works as desired.
\subsection{Subsection}
Hiya! This also shows up as expected.
\subsubsection{Subsubsection}
We have not declared a titleformat for this heading, and so it is shown with the default font.
\section{Second section}
Repeating the success
\end{document}
输出结果如下