我在 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}}