我尝试用 4 条规则构造一个符号,一条水平的和三条垂直的。
\showoutput
为我提供了所有规则的正确尺寸(见下文)。但是,水平的在 PostScript 和 PDF 中不知何故不规则地向左或向右轻微移动。给定四个维度\@omwd
(所需宽度)、\@omht
(所需高度)、\@omhtn
(水平线上方部分的所需高度)、\@omhtp
(水平线下方部分的所需高度),其中\@omht
= \@omhtp
+ \@omhtn
;我正在使用此代码:
\documentclass{article}
\title{Testing}
\author{Michael Nüsken}
\begin{document}
\showoutput\fboxsep=0pt
\makeatletter
\newdimen\@omwd
\newdimen\@omht
\newdimen\@omhtn
\newdimen\@omhtp
\newdimen\@roundlinewidth
\@omwd=3.72299pt
\@omht=7.05666pt
\@omhtn=5.57127pt
\@omhtp=1.48538pt
\@roundlinewidth=0.438pt
%
\def\Y{%
\vbox to\@omht{\hsize=\@omwd%
\hbox to\@omwd{%
\hfil
\vrule\@width\@roundlinewidth\@height\@omhtn\@depth\z@
\hfil
}%
\kern-.5\@roundlinewidth% overlap vertical and horizontal lines
\hrule\@width\@omwd\@height\@roundlinewidth\@depth0\@roundlinewidth
\kern-.5\@roundlinewidth% overlap vertical and horizontal lines
\hbox to\@omwd{%
\vrule\@width\@roundlinewidth\@height\@omhtp\@depth\z@
\hfil
\vrule\@width\@roundlinewidth\@height\@omhtp\@depth\z@
}%
}%
}
\makeatother
Y\Y
\begin{itemize}
\item Y\Y
\end{itemize}
\end{document}
我还观察到,甚至\fbox
在它的角落里也没有正确匹配的规则。
例如我获得:
....\vbox(7.05666+0.0)x3.72299
.....\hbox(5.57127+0.0)x3.72299, glue set 1.6425fil
......\glue 0.0 plus 1.0fil
......\rule(5.57127+0.0)x0.438
......\glue 0.0 plus 1.0fil
.....\kern -0.219
.....\rule(0.438+0.0)x3.72299
.....\kern -0.219
.....\hbox(1.48538+0.0)x3.72299, glue set 2.84698fil
......\rule(1.48538+0.0)x0.438
......\glue 0.0 plus 1.0fil
......\rule(1.48538+0.0)x0.438
但\rule(0.438+0.0)x3.72299
似乎稍微向左或向右移动了。然而,这种情况并不发生在页面上的所有位置!???
这是 TeX 的一个 bug 吗?如何修复或绕过它?请不要告诉我这是一个舍入问题...
答案1
我没有得到“不稳定”的行为。但是,有一种更好的方法来绘制符号,使其具有与 Y 相同的高度;我在当前字体中将宽度设置为 .5em,并将两部分之间的比例设置为 1:3
\documentclass{article}
\usepackage{amsmath}
\usepackage{pict2e,picture}
\newcommand\drawY{%
\begingroup
\dimen0=.5em
\dimen2=\fontcharht\font`Y
\dimen4=.25\dimen2
\begin{picture}(\dimen0,\dimen2)
\roundcap
\put(0,0){\line(0,1){\dimen4}}
\put(\dimen0,0){\line(0,1){\dimen4}}
\put(0,\dimen4){\line(1,0){\dimen0}}
\put(.5\dimen0,\dimen4){\line(0,1){\dimexpr\dimen2-\dimen4}}
\end{picture}%
\endgroup
}
\newcommand{\Y}{\text{\drawY}}
\begin{document}
{\fboxsep=0pt \fbox{\Y}}
$Y\Y_{Y\Y}$
\end{document}