此代码用于绘制这两条水平线。
{ \color{red}\hrule width \hsize \kern 1mm }{\color{green}\hrule width \hsize height 1pt}
我只需要为规则之间的空间添加颜色。有什么建议吗?
答案1
\hrule
相当不寻常,因为它是一个垂直模式宏。(实际上,它是一个 TeX“原始”指令,而不是基于一个或多个原始指令构建的宏。)因此,您的代码,即,
{\color{red}\hrule width \hsize \kern 1mm }{\color{green}\hrule width \hsize height 1pt}
相当于
{\color{red}\hrule}\kern1mm{\color{green}\hrule height 1pt}
由于\kern1mm
夹在两个垂直模式指令之间,因此它也以垂直模式执行,即导致 1mm 的垂直空白插入两个规则之间(上一个是红色,下一个是绿色)。另外:请注意,这width \hsize
是多余的,因为绘制的规则的默认宽度\hrule
是 \hsize
——封闭的“垂直框”的宽度。
要用浅灰色规则替换红色和绿色规则之间的垂直空白,只需编写
{\color{red}\hrule}% % default height of \hrule is '0.4pt'
{\color{lightgray}\hrule height 1mm }% replacement for "\kern1mm"
{\color{green}\hrule height 1pt}
\documentclass{article}
\usepackage{xcolor}
\setlength\textwidth{3cm} % just for this example
\begin{document}
% original expression
{\color{red}\hrule width \hsize \kern 1mm}{\color{green}\hrule width \hsize height 1pt}
\medskip
% modified, equivalent expression:
{\color{red}\hrule}%
\kern1mm%
{\color{green}\hrule height 1pt}
\medskip
% replace "\kern1mm" with "{\color{lightgray}\hrule height 1mm}"
{\color{red}\hrule}%
{\color{lightgray}\hrule height 1mm}%
{\color{green}\hrule height 1pt}
\end{document}