该smartdiagram
包似乎有一个默认约定,即圆形图中的箭头采用目的地块。有没有办法选择颜色来源块作为箭头的颜色。例如,在此示例中
\documentclass{article}
\usepackage{tikz}
\usepackage{smartdiagram}
\begin{document}
\smartdiagramset{set color list={red!50,orange!50,green!50}}
\smartdiagram[circular diagram:clockwise]{Red,Orange,Green}
\end{document}
我希望从“红色”到“橙色”的箭头是红色而不是橙色。换句话说,我希望所有箭头颜色顺时针前进一步。
是否有单一密钥或其他简单选项可以执行此操作?如果没有,我可以通过此论坛提出建议吗?
答案1
代码
\documentclass[tikz,convert=false]{standalone}
\usepackage{smartdiagram}
\makeatletter
\smartdiagramset{
flip arrow colors/.style={
/tikz/diagram arrow type/.prefix code={%
\edef\col{\@nameuse{color@\xi}}%
}
}
}
\makeatother
\begin{document}
\smartdiagramset{set color list={red!50,orange!50,green!50}}
\smartdiagram[circular diagram:clockwise]{Red,Orange,Green}
\smartdiagramset{flip arrow colors}
\smartdiagram[circular diagram:clockwise]{Red,Orange,Green}
\end{document}
输出
答案2
并不是像要求的那样是“简单钥匙”,但也不是魔法,因为不是那么复杂。有两件事要做。
的重新定义
arrow style
。改变节点的顺序。
结果可能看起来像这样。
\documentclass[11pt]{article}
\usepackage[T1]{fontenc}
\usepackage{smartdiagram}
\smartdiagramset{arrow style=->}
\begin{document}
\smartdiagramset{set color list={orange!50,red!50,green!50}}
\smartdiagram[circular diagram:clockwise]{Orange,Red,Green}
\end{document}
问题是现在clockwise
有点烦人。这是由于arrow style=<-
对箭头方向的初始定义非常规造成的。