我正在使用 LuaLaTeX 撰写论文,并且我一直在学习排版,这要感谢 Robert Bringhurst 的《排版风格要素》。问题是我无法复制标题部分中使用的字母间距,那么你知道我该如何实现吗?(我尝试使用 microtype 包,但完全没有成功)。
我的 cls 深受 Evind Uggedal 论文的启发(同时他受到 Robert Bringhurst 的书的启发),但他使用的是 pdflatex 而不是 LuaLaTeX。
以下是 Eivind Uggedal 的 cls:https://bitbucket.org/uggedal/thesis/src/5017b3e8bdb8/src/uiothesis.cls
这是我的: https://bitbucket.org/aldoborrero/alma-pfc/src/b89264c1b2fd/src/UAHMemoir.cls
这里有一张截图:
谢谢!!
更新:
正如@rdhs在下面的评论中指出的那样,您可以使用他写的两个选项。就我而言,我更喜欢第一个,因为我不必导入另一个包,所以如果您要使用它,请确保将您的microtype包更新到最新的beta版本(如果您需要更多信息,请访问此网站http://latex-alive.tumblr.com/post/1303450459)。
tlmgr --repository http://tlcontrib.metatex.org/2011 update microtype
以下是最终结果:
更新2:
正如@NVaughan 在下面的评论中所说,如果您使用的是 TexLive 2012,您应该输入:
tlmgr --repository http://tlcontrib.metatex.org/2012 update microtype
答案1
目前,在 LuaLaTeX 中获取字母间距的最佳方法是使用软件包microtype
。您需要 Microtype 2.5 betaTL贡献( http://tlcontrib.metatex.org/2011
),为了使其与小写字母配合良好,您需要使用以下Renderer=Basic
技巧:
\documentclass{memoir}
\usepackage{fontspec}
\setmainfont{Minion Pro}
\usepackage{microtype}
\def\seclcls#1{\textls*[80]{\MakeLowercase{#1}}}
\setsecheadstyle{\scshape\addfontfeatures{Renderer=Basic}\raggedright\seclcls}
\begin{document}
\section{¿Qué necesidades tiene alma?}
\end{document}
你也可以使用soulutf8
。使用来自的代码这个答案:
\documentclass{memoir}
\usepackage{fontspec}
\setmainfont{Minion Pro}
\usepackage{soulutf8}
\usepackage{xparse}
\setsecheadstyle{\scshape\raggedright\MakeLowercase}
\sodef\secso{}{.08em}{.5em}{.5em}
\DeclareDocumentCommand\Section{oom}{
\IfNoValueTF{#1}
{\section{\secso{#3}}}
{\IfNoValueTF{\secso{#2}}{\section[#1]{\secso{#3}}}{\section[#1][#2]{\secso{#3}}}}
}
\begin{document}
\Section{¿Qué necesidades tiene alma?}
\end{document}