情况 1:\fbox
无法紧密包围字符
\fbox
为什么PSTricks不能\psframebox
准确地包围其内容?在我看来,每个边缘都应该准确接触其内容的外部。更改字体可以解决这个问题吗?
\documentclass{article}
\usepackage[english]{babel}
\usepackage{pstricks}
\fboxsep=0pt
\fboxrule=0.001pt
\begin{document}
\color{red}\fbox{\color{black}3}
\end{document}
这个有趣的功能可能是问题的根源pdfcrop 意外修剪网格标签。
案例 2:\fbox
无法包含 PSTricks 网格标签
\fbox
这是无法\psframebox
准确概括其内容的另一个例子。
\documentclass{article}
\usepackage[english]{babel}
\usepackage{pstricks}
\fboxsep=0pt
\fboxrule=0.001pt
\begin{document}
\color{red}
\fbox{\color{black}%
\pspicture[showgrid](3,3)
\endpspicture
}
\vspace{1cm}
\psframebox[framesep=0pt,linewidth=0.001pt,linecolor=red]{%
\pspicture[showgrid](3,3)
\endpspicture
}
\end{document}
框架是否应该包围网格标签?在我的思维模型中,它们应该包围。
问题
在我的思维模型中,当不允许其内容的任何部分超出其框架\fbox
时,应将其内容紧密地包围起来。如果允许其内容的任何部分超出其框架,那么它到底是为了什么?\fboxsep=0pt
\fbox
\fbox
为什么不\fbox
定义根据最左、最右、最下、最上部分来封闭其内容?我认为这样更有用,对吧?
答案1
角色的边界框与其内容无关:
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{mathpazo}
\begin{document}
\fontsize{3cm}{3.1cm}\selectfont\frame{\itshape ff}
\end{document}
答案2
TeX 不知道如何使用墨水绘制字符。它只知道字符的边界框,但通常字形并不完全包含在为其保留的边界框中。顶部或底部呈圆形的字母(数字 3 就是一个突出的例子)通常绘制在边界框的上方或下方,以便彼此在视觉上对齐。通常,“f”,尤其是斜体形状,会从其边界框中突出。它是不可能的以便 TeX 知道这是否发生。
但是,可以使用 XeTeX 访问字符的“真实”边界框,如下图所示XeTeX 参考指南,第 8 页。使用 TeX Live 可以通过 访问该文档texdoc xetex
。