在保罗·泰勒的diagrams
包裹,是否可以设置图表中特定元素的颜色?如果可以,如何设置?
我尝试过使用\color{a_color}
。它改变了图表部分的颜色,但我从未成功为图表的特定元素着色。
例如,在下图中,
\begin{diagram}
\bullet & & \bullet \\
\dLink & \rdLink & \\
\bullet & & \bullet
\end{diagram}
我想着色仅有的红色对角线\rdlink
。我试过
\begin{diagram}
\bullet & & \bullet \\
\dLink & \color{red} \rdLink \color{black} & \\
\bullet & & \bullet
\end{diagram}
但这使得图表没有颜色。我也试过
\begin{diagram}
\bullet & & \bullet \\
\dLink & \color{red} \rdLink & \\
\bullet & & \bullet
\end{diagram}
得出
除了使以下所有图表也变成红色之外。\color{red}
和的其他组合\color{black}
也会产生类似但有些不稳定的结果。
看起来使用\color{a_color}
设置了整条线的颜色,以及后续线的颜色(在进一步的图表中也是如此)。
知道如何为单行中的单个元素(比如链接)着色吗?
答案1
我建议你换到强大的tikz-cd
专门为交换图而构建的基于 TikZ 的包。您可以轻松控制交换图的每个元素的属性:
\documentclass{article}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}
\bullet\ar[d,dash]\ar[dr,red,dash] & \bullet \\
\bullet & \bullet
\end{tikzcd}
\end{document}
结果:
答案2
包文件diagrams.sty
,发现于网页,没有定义\*Link
命令,因此我改用\*Line
(\dLine
和\rdLine
)。
分析该包是一项非常耗时的任务,因为作者混淆了内部宏。
但似乎包的方法luacolor
在这里有效。它不插入特殊内容,而是通过 LuaTeX 的属性设置颜色。因此包需要 LuaLaTeX:
\documentclass{article}
\usepackage{diagrams}
\usepackage{luacolor}
\begin{document}
\begin{diagram}
\bullet & & \bullet \\
\dLine & \color{red}\rdLine & \\
\bullet & & \bullet
\end{diagram}
\end{document}
答案3
对于那些不想使用tikz-cd
,psmatrix
来自pst-node
包运行良好。
一个例子 :
\documentclass{article}
\usepackage{pst-node}
\usepackage{wasysym}
\begin{document}
$$
\begin{psmatrix}[nodesep = 10pt, colsep=3cm, rowsep=3cm]
% % % %
\CIRCLE & \CIRCLE\\
\CIRCLE & \CIRCLE
% % % %
\psset{linecolor = red}
\ncline{-}{1,1}{2,2}
\psset{linecolor = black}
\ncline{-}{1,1}{2,1}
\end{psmatrix}
$$
\end{document}
结果 :