字母间距回忆录 chapnamefont

字母间距回忆录 chapnamefont

companion我在课程中使用memoirXeTeX 的 chapterstyle。为了自定义章节标题,我做了memoir.cls一些调整:

\makechapterstyle{companion}{%
    \chapterstyle{default}
    \RequirePackage{fontspec}
    \renewcommand*{\chapnamefont}{\normalfont\sffamily\bfseries\Large\MakeTextUppercase}
    \renewcommand*{\printchaptername}{\raggedleft\chapnamefont \@chapapp}
    \renewcommand*{\chapnumfont}{\normalfont\fontsize{30}{30}\sffamily}
    \renewcommand*{\chaptitlefont}{\normalfont\fontsize{30}{0}\sffamily}
    \setlength{\chapindent}{\marginparsep}
    \addtolength{\chapindent}{\marginparwidth}
    \renewcommand*{\printchaptertitle}[1]{%
    \begin{adjustwidth}{}{-\chapindent}
        \raggedleft \chaptitlefont ##1\par\nobreak
    \end{adjustwidth}}}

我得到的结果如下: 在此处输入图片描述

我的问题是如何调整“章节”一词中的字母间距,使其看起来更“拉长”,如下例所示:

在此处输入图片描述

我尝试添加\defaultfontfeatures{LetterSpace=50}规则\chapnamefont,但似乎没有任何改变。我也尝试过按照说明\lsstyle从包中添加microtype这里,但显然这不适用于 XeTeX。

答案1

你必须做一些不同的事情

  1. 拨打fontspec外线电话\makechapterstyle

  2. 明确定义字体

  3. 使用\addfontfeatures

这是代码;当然 200 这个值是夸张的,我用它来强调结果。

\documentclass{memoir}

\usepackage{fontspec}
\setmainfont{Latin Modern Roman}
\setsansfont{Latin Modern Sans}

\makeatletter
\makechapterstyle{companion}{%
    \chapterstyle{default}
    \renewcommand*{\chapnamefont}{%
      \normalfont\sffamily\bfseries
      \addfontfeatures{LetterSpace=200}% exaggerated
      \Large\MakeTextUppercase
    }
    \renewcommand*{\printchaptername}{\raggedleft\chapnamefont \@chapapp}
    \renewcommand*{\chapnumfont}{\normalfont\fontsize{30}{30}\sffamily}
    \renewcommand*{\chaptitlefont}{\normalfont\fontsize{30}{0}\sffamily}
    \setlength{\chapindent}{\marginparsep}
    \addtolength{\chapindent}{\marginparwidth}
    \renewcommand*{\printchaptertitle}[1]{%
    \begin{adjustwidth}{}{-\chapindent}
        \raggedleft \chaptitlefont ##1\par\nobreak
    \end{adjustwidth}}}
\makeatother

\chapterstyle{companion}

\begin{document}

\mainmatter

\chapter{This is a long chapter title}

\end{document}

在此处输入图片描述

相关内容