我怎样才能制作新命令这会增加字母之间的间距。我不想使用已经存在的命令,如\textsc
,\Large
或\footnotesize
;如果可能的话,我更喜欢带有参数的命令...
\documentclass[a4paper]{memoir}
\usepackage[italian]{babel}
\usepackage[T1]{fontenc}
\usepackage[babel=true,tracking=true]{microtype}
\SetTracking{ encoding = *}{ 400 }
\begin{document}
\textls{this is a test}
\end{document}
是否可以microtype
使用新命令重新创建此设置?LetterSpace=40 WordSpace=2
看看我的答案,告诉我命令是否正确。谢谢。使用此配置,我在所有文本和命令中都有默认的字母间距,因此不会对文档的任何部分产生影响,对吗?
\documentclass[a4paper]{memoir}
\usepackage[tracking=true]{microtype}
\newcommand{\textlsLarge}[1]{{\Large\textls[400]{#1}}}
\begin{document}
\textlsLarge{this is a test} % new spacing command that use the space specified in newcommand (400)
{\Large this is a test} % no influence on the large command
\end{document}
答案1
引用手册第 7 节microtype
:
默认情况下,每个字符的间距为 100/1000em=0.1 em;可以使用命令在可选参数中更改此量,或使用包选项全局更改此量
\textls
,\SetTracking
按此letterspace
顺序降低重要性。
基于\textls
,您可以定义自定义命令,使字距比默认设置小,以及命令类似\textlsLarge
。请注意,段落内的字体大小切换可能会导致行距不正确。
\documentclass[a4paper]{memoir}
\usepackage[tracking=true]{microtype}
\SetTracking[no ligatures = f]{encoding = *,shape = sc}{120}
\newcommand*{\textsomels}[1]{\textls[40]{#1}}
\newcommand{\textlsfootnotesize}[1]{{\footnotesize\textls[800]{#1}}}% Note additional group!
\newcommand{\textlsLarge}[1]{{\Large\textls[-100]{#1}}}% Note additional group!
\begin{document}
\textsc{this is a test}% uses letterspacing as specified in \SetTracking above (120)
\textls{this is a test}% uses default letterspacing of 100
\textsomels{this is a test}
\textlsfootnotesize{this is a test}
\textlsLarge{this is a test}
\end{document}