如何改变 \rule{...}{...} 命令的阴影颜色?

如何改变 \rule{...}{...} 命令的阴影颜色?

要更改命令的阴影颜色\rule{...}{...},一种解决方案是

\textcolor‎{‎blue‎}{\rule{2cm}{2cm}}‎

但我想知道如何直接全局更改此命令的颜色?

答案1

你可以做

\makeatletter
\let\old@rule\@rule
\def\@rule[#1]#2#3{\textcolor{blue}{\old@rule[#1]{#2}{#3}}}
\makeatother

但最好是定义一个新\colorrule命令并使用它,因为您可能会发现\rule它在意想不到的地方使用,所以如果您重新定义它,您可能会改变比您想要改变的更多。


如果您有时需要覆盖此功能,最好使用如下颜色,rulecolor而不是blue在需要时(重新)定义:

在此处输入图片描述

\documentclass{article}

\usepackage[dvipsnames]{color}

\makeatletter
\let\old@rule\@rule
\def\@rule[#1]#2#3{\textcolor{rulecolor}{\old@rule[#1]{#2}{#3}}}
\makeatother

\definecolor{rulecolor}{named}{Blue}

\usepackage{color}

\begin{document}

\rule{1cm}{1cm}

\bigskip

\rule{.1cm}{1cm}

\bigskip

{\definecolor{rulecolor}{named}{Red}\rule{1cm}{1cm}}

\bigskip

\rule{1cm}{1cm}


\end{document}

答案2

最简单的替代方案是:

    \textcolor{blue}{\rule{2cm}{2cm}}

如果您想定义自己的命令,您可以将其放在前言或后面,以便随时改变颜色。

    \newcommand{\myRule}[3][black]{\textcolor{#1}{\rule{#2}{#3}}}

并使用例如:

    \myRule{1cm}{1cm}

    \myRule[red]{1cm}{1cm}

    \myRule[blue]{1cm}{1cm}

如果您想修复整个文档的颜色,请尝试:

\newcommand{\myRule}[3]{%
    \textcolor{red}{\rule{#2}{#3}} %change red to blue, green black whatever.
}

相关内容