如何在文本周围添加固定高度的阴影(内联)?

如何在文本周围添加固定高度的阴影(内联)?

我在 alltt 环境中有一段代码,我想突出显示自动生成的元素(两种颜色代表不同的方法):

\newcommand{\gen}[1]{\colorbox{DGray}{#1}}
\newcommand{\tpl}[1]{\colorbox{Gray}{#1}}

\begin{alltt}
\gen{class }\tpl{Something}...
\end{alltt}

我的问题是“Something”周围的框架比“class”周围的框架高,并且由于字母“g”而较低,因此两个框架不对齐。有没有办法制作具有固定高度和位置的阴影框架?基本上,我想使用 OpenOffice/MS Office 方式进行阴影处理。

答案1

您可以使用\strut

\newcommand{\gen}[1]{\colorbox{DGray}{\strut #1}}
\newcommand{\tpl}[1]{\colorbox{Gray}{\strut #1}}

\vphantom带有一些适当的字母:

\newcommand{\gen}[1]{\colorbox{DGray}{\vphantom{Ag}#1}}
\newcommand{\tpl}[1]{\colorbox{Gray}{\vphantom{Ag}#1}}

或者,为了进行更精细的控制,使用\rule所需的高度和深度以及零宽度:

\newcommand{\gen}[1]{\colorbox{DGray}{\rule[-6pt]{0pt}{16pt}#1}}
\newcommand{\tpl}[1]{\colorbox{Gray}{\rule[-6pt]{0pt}{16pt}#1}}

相关内容