如何使用命令生成轮廓字符

如何使用命令生成轮廓字符

我怎样才能制作出如下所示的轮廓字符:

在此处输入图片描述 在此处输入图片描述

在此处输入图片描述 在此处输入图片描述

在此处输入图片描述

似乎使用一些特殊命令可以将这些轮廓添加到角色中。

答案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}

在此处输入图片描述

相关内容