我正在尝试显示彩色的\hrule
。
这次讨论意味着将 包装\hrule
在 中\textcolor
,但是这会在 上方添加一个丑陋的额外垂直空间\hrule
。
其他问题特克斯, 例如这, 或者这,处理着色\rule
而不是\hrule
,但\rule
即使没有也已经产生了额外的垂直空间\textcolor
。
MWE 对原图\hrule
进行了两次着色尝试,但均未成功:
\documentclass{article}
\setlength{\parindent}{0cm}
\usepackage{xcolor}
\begin{document}
abc%
\vskip 1mm%
\hrule
abc%
\vskip 1mm%
\textcolor{red}{\hrule}
abc%
\vskip 1mm%
\rule{\textwidth}{.1mm}
\end{document}
得出的结果为:
我知道我可能可以使用插入负片的方法\vskip
来消除偏移,但我正在寻找一种不涉及这种解决方法的\baselineskip
干净的着色方法。\hrule
答案1
尝试{\color{red}\hrule}
——您需要{...}
周围等等\color
,以防止颜色泄漏到文档的其他部分。
\documentclass{article}
\setlength{\parindent}{0cm}
\usepackage{xcolor}
\begin{document}
abc%
\vskip 1mm%
\hrule
abc%
\vskip 1mm%
{\color{red}\hrule}
%\textcolor{red}{\hrule}
abc%
\vskip 1mm%
\rule{\textwidth}{.1mm}
\end{document}
编辑以下是一些改进
\documentclass{article}
\setlength{\parindent}{0cm}
\usepackage{pgffor}
\usepackage{xparse}
\usepackage[x11names]{xcolor}
\NewDocumentCommand{\colorrule}{O{.4pt}m}{%
{\color{#2}\hrule height#1}%
}
\begin{document}
abc%
\vskip 1mm%
\hrule
% Now a blue rule
\colorrule{blue}
abc%
\vskip 1mm%
\foreach \x in {Red4,Red3,Red2,Red1,orange,yellow,LightBlue1,LightBlue2,LightBlue3,LightBlue4,blue,green,brown} {%
\colorrule[2pt]{\x}
}
abc%
\vskip 1mm%
\rule{\textwidth}{.1mm}
\end{document}