我正在使用memoir
类、和microtype
包 titlesec
。我的章节名称以小写字母显示,我希望字母之间的间距稍微增加一点。以下是最小工作示例:
\documentclass[smalldemyvopaper,11pt,twoside,onecolumn,openright,extrafontsizes]{memoir}
\usepackage[tracking=true]{microtype} % for micro-typographical adjustments
\usepackage{titlesec} % for manipulation of chapter titles
\SetTracking{encoding=*,shape=sc}{120}
\newcommand*{\textsomels}[1]{\textls[25]{#1}}
% chapter title manipulation
% padding with zero
\renewcommand*\thechapter{\ifnum\value{chapter}<10 0\fi\arabic{chapter}}
% chapter title display
\titleformat
{\chapter}
[display]
{\normalfont\scshape\huge}
{\HUGE\thechapter\centering}
{0pt}
{\vspace{18pt}\centering}[\vspace{42pt}]
% BEGIN THE DOCUMENT
\begin{document}
\mainmatter
\chapter{\textsomels{Chapter One}}
\lipsum[1-10]
\end{document}
使用 我能得到正确的输出,但是当我将(负责章节标题的行)\chapter{\textsomels{Chapter One}}
改为 时,格式就乱了。{\normalfont\scshape\huge}
{\textsomels\normalfont\scshape\huge}
我不想\chapter{\textsomels{Chapter Name}}
每次都写。
我哪里犯了错误?我是 TeX 新手。
答案1
正如OP在评论中指出的那样,\lsstyle
虽然它可以作为的参数titlesec
,但不允许明确设置字母间距值。
这里,我引入了\lsstylehelp{}
来代替\lsstyle
,其中参数是为后续 设置的字母间距值\lsstyle
。定义很简单\newcommand\lsstylehelp[1]{\edef\MT@letterspace@{#1}\lsstyle}
这是 MWE。
\documentclass[smalldemyvopaper,11pt,twoside,onecolumn,openright,extrafontsizes]{memoir}
\usepackage[tracking=true]{microtype} % for micro-typographical adjustments
\usepackage{titlesec,lipsum} % for manipulation of chapter titles
\SetTracking{encoding=*,shape=sc}{120}
\newcommand*{\textsomels}[1]{\textls[305]{#1}}
% chapter title manipulation
% padding with zero
\renewcommand*\thechapter{\ifnum\value{chapter}<10 0\fi\arabic{chapter}}
% chapter title display
\titleformat
{\chapter}
[display]
{\normalfont\scshape\huge\lsstylehelp{300}}
{\HUGE\thechapter\centering}
{0pt}
{\vspace{18pt}\centering}[\vspace{42pt}]
\makeatletter
\newcommand\lsstylehelp[1]{\edef\MT@letterspace@{#1}\lsstyle}
\makeatother
% BEGIN THE DOCUMENT
\begin{document}
\mainmatter
\chapter{Chapter One}
\lipsum[1]
\chapter{\textsomels{Chapter One}}
\lipsum[1]
\end{document}