独立徽标的正确边界框

独立徽标的正确边界框

写作

\documentclass{standalone}
\usepackage{varwidth}

\begin{document}
\begin{varwidth}{\linewidth}
  {\em line 1}

  {\em line 2}
\end{varwidth}
\end{document}

产生了错误的斜体边界框(请注意,“2”被剪掉了):

在此处输入图片描述

如何生成正确的标准图像?简单地将 \linewidth 修改为固定尺寸是行不通的。

(正如所讨论的这里,必须插入varwidth,以免standalone将两行合并到一行。)

答案1

字符字形超出其官方字体边界框的问题无法在 TeX 内部解决,因为 TeX 只知道官方字符边界框,而不知道它们的视觉外观。

例子:

\documentclass[varwidth]{standalone}

\begin{document}
  \raggedleft
  \itshape
  line f

  line $\not$
\end{document}

剪裁结果

部分f不可见且\not已完全消失(极端示例,因为\not宽度为零,它与以下关系运算符重叠)。

作为解决方法,可以添加更大的边距:

\documentclass[margin=10pt,varwidth]{standalone}

并且结果被裁剪,例如通过pdfcrop

结果

答案2

比较以下语法双字母字体样式命令 (\bf,\it,...) 会在 LaTeX 中复活吗?

\documentclass{standalone}
\usepackage{varwidth}

\begin{document}
\begin{varwidth}{\linewidth}
  \emph{line 1}

  \emph{line 2}
\end{varwidth}
\end{document}

在此处输入图片描述

答案3

\/最终这对您来说是一个好的解决方案吗?

将您的 MWE 更改为

\documentclass{standalone}
\usepackage{varwidth}

\begin{document}
\begin{varwidth}{\linewidth}
  {\em line 1\/}

  {\em line 2\/}
\end{varwidth}
\end{document}  

否则,使用\textit而不是\emso 来自动添加斜体校正

\documentclass{standalone}
\usepackage{varwidth}

\begin{document}
\begin{varwidth}{\linewidth}
  \textit{line 1}

  \textit{line 2}
\end{varwidth}
\end{document} 

相关内容