我有一套 Sabon 字体,我想用在我的论文中。
\usepackage{fontspec}
\setmainfont[
BoldFont={sabon-bold.ttf},
ItalicFont={sabon-it.ttf},
BoldItalicFont={sabon-boldit.ttf}
]{sabon-regular.ttf}
一切似乎都很好,但我注意到我的章节标题不是我想要的大写:
\RequirePackage{titlesec}
\newcommand{\PreContentTitleFormat}{\titleformat{\chapter}[display]{\scshape\Large}
{\Large\filleft\textls{\MakeUppercase{\chaptertitlename}} \Huge\thechapter}
{1ex}
{}
[\vspace{1ex}\titlerule]}
\newcommand{\ContentTitleFormat}{\titleformat{\chapter}[display]{\scshape\huge}
{\Large\filleft\MakeUppercase{\chaptertitlename} \Huge\thechapter}
{1ex}
{\titlerule\vspace{1ex}\filright}
[\vspace{1ex}\titlerule]}
\newcommand{\PostContentTitleFormat}{\PreContentTitleFormat}
\PreContentTitleFormat
当我删除字体时,章节标题会变成大写。这个问题可能是什么原因造成的?
平均能量损失
\documentclass[a4paper]{report}
\usepackage{fontspec}
\setmainfont[
BoldFont={sabon-bold.TTF},
ItalicFont={sabon-it.TTF},
BoldItalicFont={sabon-boldit.TTF}
]{sabon-regular.TTF}
\RequirePackage{titlesec}
\newcommand{\PreContentTitleFormat}{\titleformat{\chapter}[display]{\scshape\Large}
{\Large\filleft\textls{\MakeUppercase{\chaptertitlename}} \Huge\thechapter}
{1ex}
{}
[\vspace{1ex}\titlerule]}
\newcommand{\ContentTitleFormat}{\titleformat{\chapter}[display]{\scshape\huge}
{\Large\filleft\MakeUppercase{\chaptertitlename} \Huge\thechapter}
{1ex}
{\titlerule\vspace{1ex}\filright}
[\vspace{1ex}\titlerule]}
\newcommand{\PostContentTitleFormat}{\PreContentTitleFormat}
\PreContentTitleFormat
\begin{document}
\ContentTitleFormat
\chapter{Introduction}
Hello
\end{document}
我想实现这样的目标:
答案1
当您删除对字体的调用时,章节标题不再是大写,而是小写。
问题是你的 Sabon 字体没有小写字母,并且警告
LaTeX Font Warning: Font shape `EU2/sabon-regular.TTF(0)/m/sc' undefined
(Font) using `EU2/sabon-regular.TTF(0)/m/n' instead
已发出。
如果你希望你的标题是大写的,你需要\MakeUppercase
在最后一个强制参数中添加一个尾随参数,就像\titleformat
这样
\newcommand{\ContentTitleFormat}{%
\titleformat{\chapter}[display]
{\huge}% removed \scshape
{\Large\filleft\MakeUppercase{\chaptertitlename} \Huge\thechapter}
{1ex}
{\titlerule\vspace{1ex}\filright\MakeUppercase}
[\vspace{1ex}\titlerule]%
}
通过这种改变我得到了
字体的更好规范是
\setmainfont[
Ligatures=TeX,% can be omitted with the latest version of fontspec
Extension=.TTF,
UprightFont=*-regular,
BoldFont=*-bold,
ItalicFont=*-it,
BoldItalicFont=*-boldit,
]{sabon}
我建议进行进一步的修改:章节号与“CHAPTER”一词冲突,因为数字的粗细要大得多。建议在全大写字母内留出一些字母间距。
\documentclass[a4paper]{report}
\usepackage{fontspec}
\setmainfont[
Ligatures=TeX,% can be omitted with the latest version of fontspec
Extension=.TTF,
UprightFont=*-regular,
BoldFont=*-bold,
ItalicFont=*-it,
BoldItalicFont=*-boldit,
]{sabon}
\usepackage{titlesec}
\newcommand{\PreContentTitleFormat}{%
\titleformat{\chapter}[display]
{\addfontfeature{LetterSpace=4}\Large}
{}% nothing is necessary
{1ex}
{\MakeUppercase}
[\vspace{1ex}\titlerule]%
}
\newcommand{\ContentTitleFormat}{%
\titleformat{\chapter}[display]
{\addfontfeatures{LetterSpace=4}\huge}
{\LARGE\filleft\MakeUppercase{\chaptertitlename} \thechapter}
{1ex}
{\titlerule\vspace{1ex}\filright\MakeUppercase}
[\vspace{.5ex}\titlerule]%
}
\newcommand{\PostContentTitleFormat}{\PreContentTitleFormat}
\PreContentTitleFormat
\begin{document}
\ContentTitleFormat
\chapter{Introduction}
Hello
\end{document}