我只是想玩玩排版,然后就制作了一个简单的徽标。但是,它存在 MWE 中所示的几个问题。我这样做主要是为了好玩和理解。
\documentclass{article}
\newcommand{\BEBsigit}{%
\setlength{\unitlength}{1em}
{\linethickness{0.062ex}
\line(1,0){1.2}}
\vspace{-1.2452ex}
\textit{B\hspace{-0.30em}E\hspace{-0.26em}B}%
\vspace{-2.833ex}
{\linethickness{0.062ex}
\line(1,0){1.2}}
}
\begin{document}
{\Huge
\BEBsigit
Can we put \begin{minipage}\BEBsigit\end{minipage} in a sentence? No.
}
{\small
The line does not seem to line up and scale properly:
\BEBsigit
}
\end{document}
第一行包含合理的图像,但是......
1)如果我们放大它,它看起来不错:
然后缩放似乎有点偏离:线条粗细似乎下降了:
2) 该命令不可移植。当尝试将其包含在句子中时,会发生非常糟糕的事情。当尝试以较小的尺寸绘制它时(第一幅图像的底线),线条也会有点偏离对齐。
3) 在确定比例和空间数字时,我们进行了大量的尝试和错误,虽然这本身并不是什么大问题,但却是额外的工作。因此,如果能以某种方式避免这种情况,可能会有所帮助。
4) 如果我使用小页面,即\begin{minipage}\BEBsigit\end{minipage}
,为什么似乎会有一个额外的(尽管画得很糟糕)徽标和一些其他有趣的东西?
有哪些合理的方法可以避免此类问题?
答案1
你的定义中有很多空格(尾随空格)。但是,先将 BEB 写入框中以获得正确的宽度和高度:
\documentclass{article}
\newsavebox\BEBbox
\newlength\BEBwidth
\newlength\BEBheight
\makeatletter
\newcommand\BEBsigit{%
\savebox\BEBbox{\textit{B\kern-0.30em E\kern-0.26em B}}%
\leavevmode
\unitlength=1pt
\linethickness{0.07ex}%
\setlength\BEBwidth{0.65\wd\BEBbox}%
\setlength\BEBheight{\ht\BEBbox}\addtolength\BEBheight{-0.3\linethickness}%
\put(0,\strip@pt\BEBheight){\line(1,0){\strip@pt\BEBwidth}}%
\put(0,0.5){\line(1,0){\strip@pt\BEBwidth}}%
\put(0,0){\usebox\BEBbox}}
\makeatother
\begin{document}
\Huge\BEBsigit
\normalsize\BEBsigit
\small\BEBsigit
\end{document}
线条设置是否正确取决于 PDF 查看器的放大倍数。打印输出应该没问题。