![定义颜色命令](https://linux22.com/image/439482/%E5%AE%9A%E4%B9%89%E9%A2%9C%E8%89%B2%E5%91%BD%E4%BB%A4.png)
我如何将其绑定到另一个命令?
\definecolor{thisismycolor}{rgb}{0.012,0.11,0.5}
通常情况下:
\draw[color=thisismycolor]
但是,我想要的是这个:
\draw[color=mycolor]
所以我想连接thisismycolor
并mycolor
例如:
\newcommand{\mycolor}{\thisismycolor}
但不工作
总之:当\thisismycolor
改变时也让其\mycolor
改变。
答案1
而不是简单的\colorlet{newcolor}{existingcolor}
,这将允许根据现有颜色定义新颜色(见色调,使用另一个颜色定义颜色),看来楼主想要一个长颜色名的简写。具体来说,他希望当长颜色名改变时,简写也会随之改变。
如果是这种情况,则\colorlet{newcolor}{existingcolor}
是不够的,因为 的颜色在随后更新newcolor
时不会自行修改。事实上,是一次性赋值,但不是“链接”。执行 后, 的规范更改将按设计对 的规范没有影响。existingcolor
\colorlet
\colorlet
existingcolor
newcolor
在这种情况下,使用简写宏来引用长名称,方式如下\newcommand\mycolor{thisismycolor}
。这样,\mycolor
每当需要颜色时,您就可以引用,它将采用当前的的值thisismycolor
。这里理解的关键是定义的颜色是thisismycolor
。该术语\mycolor
本身不是颜色,而只是一个被颜色名称替换的宏。
\documentclass{article}
\usepackage{xcolor}
\colorlet{thisismycolor}{red!80!cyan}
\newcommand\mycolor{thisismycolor}
\begin{document}
\textcolor{\mycolor}{A Test}
\colorlet{thisismycolor}{green!50!cyan}
\textcolor{\mycolor}{A Test}
\end{document}