![大写字母扩展字母间距字距调整](https://linux22.com/image/239420/%E5%A4%A7%E5%86%99%E5%AD%97%E6%AF%8D%E6%89%A9%E5%B1%95%E5%AD%97%E6%AF%8D%E9%97%B4%E8%B7%9D%E5%AD%97%E8%B7%9D%E8%B0%83%E6%95%B4.png)
我正在使用以下代码
\usepackage{microtype,textcase}
\textls*[110]{\textbf{\MakeUppercase{Specialties}}}
我想实现均匀的字母间距。不幸的是,“ALT”的字距调整不太好。有什么方法可以改善这种情况(均匀间距)吗?
编辑:改善 L 和 T 之间字母间距的一件事是
\usepackage{microtype,textcase}
\textls*[110]{\textbf{\MakeUppercase{Specia{l}{t}ies}}}
但 A 和 L 仍然相距太远。另外,我将此代码用作命令,并将“Specialties”部分作为参数。如果有一个解决方案可以使字母间距均匀,而不必使用这样的技巧,那就太好了。
答案1
尽管“不好”可能非常主观,但我建议用 来包含任何错误的字距调整字母{.}
。这应该会减少或消除字距调整的自动影响。
另一种字母间距替代方案是soul
包裹。以下最小示例说明了差异/相似之处:
\documentclass{article}
\usepackage{microtype}
\usepackage{soul}
\sodef\myspace{}{.2em}{1em plus1em}{2em plus.1em minus.1em}% User-defined letter spacing
\begin{document}
\textls*[110]{\textbf{\MakeUppercase{Special{t}ies}}}
\so{\textbf{\MakeUppercase{Specialties}}}
\myspace{\textbf{\MakeUppercase{Special{t}ies}}}
\end{document}
答案2
\spaceout[added space]{string}
这里我介绍了指示文本间隔的例程。可选参数可以指定参数的每个字母之间添加的额外空格(这里我将其默认为 0.5pt)。空格在参数中得到正确解析,使用与我在如何加粗自定义书法文字。
在我的 MWE 中,我展示了如何\spaceout
使用来压缩或扩展文本间距。
\documentclass{article}
\usepackage{tabto}
\def\theLetterSpace{0.5pt}
\newcommand\spaceout[2][\theLetterSpace]{%
\def\LocalLetterSpace{#1}\expandafter\spaceouthelpA#2 \relax\relax}
\def\spaceouthelpA#1 #2\relax{%
\spaceouthelpB#1\relax\relax%
\ifx\relax#2\else\ \kern\LocalLetterSpace\spaceouthelpA#2\relax\fi
}
\def\spaceouthelpB#1#2\relax{%
#1%
\ifx\relax#2\else
\kern\LocalLetterSpace\spaceouthelpB#2\relax%
\fi
}
\parskip 1ex
\usepackage{microtype,textcase}
\begin{document}
\textls*[110]{\textbf{\MakeUppercase{Specialties}}} OP\#1
\textls*[110]{\textbf{\MakeUppercase{Specia{l}{t}ies}}} OP\#2
\textls*[110]{\textbf{\MakeUppercase{Speci\spaceout[-.6pt]{alt}ies}}} \verb|\spaceout|
\vspace{3ex}
test test test test test test no spacing
test \spaceout{test test test test} test 0.5pt added spacing
test \spaceout[1.5pt]{test test test test} test 1.5pt added spacing
test \spaceout[5pt]{test test test test} test 5pt added spacing
\end{document}
下面,我们看到了粗体无大写字母的一个例子:
使用以下代码:
\documentclass{article}
\usepackage{tabto}
\def\theLetterSpace{0.5pt}
\newcommand\spaceout[2][\theLetterSpace]{%
\def\LocalLetterSpace{#1}\expandafter\spaceouthelpA#2 \relax\relax}
\def\spaceouthelpA#1 #2\relax{%
\spaceouthelpB#1\relax\relax%
\ifx\relax#2\else\ \kern\LocalLetterSpace\spaceouthelpA#2\relax\fi
}
\def\spaceouthelpB#1#2\relax{%
#1%
\ifx\relax#2\else
\kern\LocalLetterSpace\spaceouthelpB#2\relax%
\fi
}
\parskip 1ex
\begin{document}
\sffamily\bfseries
THIS IS MY HEADING \tabto{2.5in}no added spacing
\spaceout{THIS IS MY HEADING} \tabto{2.5in}0.5pt added spacing
\spaceout[1.5pt]{THIS IS MY HEADING} \tabto{2.5in}1.5pt added spacing
\spaceout[3pt]{THIS IS MY HEADING} \tabto{2.5in}3pt added spacing
\end{document}