有没有办法可以系统地减少字母下降部分的高度?
我在这里获得了有关规范带有降部行后的间距的帮助: 防止带有降部的字母(g、q、y……)影响行距 但下降线也会弄乱很多其他东西。例如,我需要它们不影响表达式周围框的高度。
\documentclass{article}
\usepackage{color}
\newcommand{\mybox}[1]{\fcolorbox{black}{blue}{\parbox{0.8\textwidth}{#1}}}
\begin{document}
\begin{minipage}[t]{2cm}
\hrule
\mybox{blah blah blah blah}
\end{minipage}%
\begin{minipage}[t]{2cm}
\hrule
\mybox{blah blah blah glah}
\end{minipage}
\end{document}
根据最后一行是否有下降部分,这会给出不同的框高度,而我不需要它。
我想找到一种方法来系统地 \smash 所有下降部,因为它可以防止在我需要垂直对齐一致的项目中再次出现此类问题。
编辑:好吧,对于这个带有框的特定示例,我可以在参数后添加 \vphantom{g}\vspace{-1pt}(假设下降部的大小大约为 1pt)。我仍然想知道是否有更通用的方法来消除下降部占用的空间。
答案1
此解决方案使用\raisebox
。 的默认基线\parbox
是中心。 要忽略最后一行的下降部分,您需要使用\parbox[b]
。
\documentclass{article}
\usepackage{color}
\newcommand{\mybox}[1]{\fcolorbox{black}{blue}{\raisebox{0pt}[\height][0pt]{\parbox[b]{0.8\textwidth}{#1}}}}
\begin{document}
\begin{minipage}[t]{2cm}
\hrule
\mybox{blah blah blah blah}
\end{minipage}
\begin{minipage}[t]{2cm}
\hrule
\mybox{blah blah blah glah}
\end{minipage}
\end{document}
答案2
在应用之前,我截断了暂时设置的\fcolorbox
底部对齐的深度。\parbox
\box0
\documentclass{article}
\usepackage{color}
\newcommand{\mybox}[1]{%
\fcolorbox{black}{blue}{%
\setbox0=\hbox{\parbox[b]{0.8\textwidth}{#1}}\dp0=0pt\relax\box0}%
}
\begin{document}
\begin{minipage}[t]{2cm}
\hrule
\mybox{blah blah blah blah}
\end{minipage}%
\begin{minipage}[t]{2cm}
\hrule
\mybox{blah blah blah glah}
\end{minipage}
\end{document}