我想使用 fontspec 和 titlesec 设置章节标题的行距。不幸的是,第一行的行距比其他行的行距大,我不知道如何修复它。我读到了关于这个问题的文章,有人建议在章节标题后结束段落。但我无法使用 titlesec 做到这一点。下面是一个最小示例:
\documentclass{book}
\usepackage{blindtext}
\usepackage{titlesec}
\usepackage{fontspec}
\newfontfamily\headerfont{Georgia}
\titleformat{\chapter}{\raggedright\fontsize{40}{30}\headerfont}{}{0pt}{\uppercase}
\begin{document}
\chapter{A long chapter title with multiple lines}
\blindtext
\end{document}
答案1
您要求基线跳跃 30pt,字体大小为 40pt,这就是线条被挤压的原因。请使用更大的基线跳跃:
\documentclass{book}
\usepackage{blindtext}
\usepackage{titlesec}
\usepackage{fontspec}
\newfontfamily\headerfont{Georgia}
\titleformat{\chapter}
{\raggedright\fontsize{40}{50}\headerfont}
{}
{0pt}
{\MakeUppercase}
\begin{document}
\chapter{A long chapter title with multiple lines}
\blindtext
\end{document}
避免\uppercase
和喜欢\MakeUppercase
。
如果您希望减少行距(我看不出有任何合理的理由):
\documentclass{book}
\usepackage{blindtext}
\usepackage{titlesec}
\usepackage{fontspec}
\newfontfamily\headerfont{Georgia}
\titleformat{\chapter}
{\linespread{0}\raggedright\fontsize{40}{0}\headerfont}
{}
{0pt}
{\MakeUppercase}
\begin{document}
\chapter{A long chapter title with multiple lines}
\blindtext
\end{document}
输出在这里(我将编辑标记为可怕的景象)。