我怎样才能制作出如下所示的轮廓字符:
似乎使用一些特殊命令可以将这些轮廓添加到角色中。
答案1
这里我引入了\varlet[stem]{letter}
,stem
其中 如果不把词干当做原字母,则使用 。例如,在D
和的情况下E
,词干是大写的I
。
移位长度由 定义\shiftgap
。感谢 barbara 建议以 em(水平字体测量单位)而不是 ex(垂直字体测量单位)来测量。
请注意,a 后面的正确字距调整\varlet
会被保留,就像 的情况一样Var
。
\documentclass{article}
\newlength\shiftgap
\setlength\shiftgap{.11em}
\newcommand\varlet[2][\relax]{%
\ifx\relax#1%
\setbox0=\hbox{#2}\makebox[\wd0][l]{#2}\hspace{\dimexpr-\wd0+\shiftgap}#2%
\else%
\setbox0=\hbox{#2}\makebox[\wd0][l]{#1}\hspace{\dimexpr-\wd0+\shiftgap}#2%
\fi%
}
\begin{document}
\itshape
\varlet[I]{D}
\varlet[I]{E}
\varlet{f}
\varlet{I}
\varlet{V}ar
\end{document}
以下是 中的结果palatino
,其 a\shiftgap
为 0.115em:
根据人们想要付出的努力程度,可以进一步定制结果(这里使用倾斜):
\documentclass{article}
\newlength\shiftgap
\setlength\shiftgap{.11em}
\newcommand\varlet[2][\relax]{%
\ifx\relax#1%
\setbox0=\hbox{#2}\makebox[\wd0][l]{#2}\hspace{\dimexpr-\wd0+\shiftgap}#2%
\else%
\setbox0=\hbox{#2}\makebox[\wd0][l]{#1}\hspace{\dimexpr-\wd0+\shiftgap}#2%
\fi%
}
\usepackage{graphicx}
\newsavebox\foobox
\newcommand{\slantbox}[2][.5]{\mbox{%
\sbox{\foobox}{#2}%
\hskip\wd\foobox
\pdfsave
\pdfsetmatrix{1 0 #1 1}%
\llap{\usebox{\foobox}}%
\pdfrestore
}}
\begin{document}
\itshape
\varlet{V}ar \textup{versus}\par
\varlet[\kern.2em\raisebox{-.19pt}{\scalebox{1.03}{\slantbox[-.36]{I}}}]{V}ar
\end{document}