用于在微型打字机中设置字母间距的新命令

用于在微型打字机中设置字母间距的新命令

我怎样才能制作新命令这会增加字母之间的间距。我不想使用已经存在的命令,如\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}

在此处输入图片描述

相关内容