![定义一个新命令,自动在 TikZ 中绘制某些辫子](https://linux22.com/image/366031/%E5%AE%9A%E4%B9%89%E4%B8%80%E4%B8%AA%E6%96%B0%E5%91%BD%E4%BB%A4%EF%BC%8C%E8%87%AA%E5%8A%A8%E5%9C%A8%20TikZ%20%E4%B8%AD%E7%BB%98%E5%88%B6%E6%9F%90%E4%BA%9B%E8%BE%AB%E5%AD%90.png)
我想定义一个新命令,braids
它允许我在 tikz 中自动绘制一些类似辫子的路径。
所述路径的示例例如在论文“辫状张量范畴中的代数和霍普夫代数“ 作者:Shahn Majid:
- 引理2.1、引理2.3和定理3.9的证明。
- 方程(8):这里有三条链。人们很容易看出“第一条链与第二条链交叉”和“第二条链与第三条链交叉”之间的区别。然后跨越第三条链’和‘第一条链跨越第二条链和三'。
我感兴趣的是定义一个命令braids
,该命令以 4 个节点数组 A、B、C、D 和两个数组 E、F(指定绘图样式)作为参数。伪代码braids
应按如下方式工作:
\newcommand{braids}[6]{
if( size(A) = size(B) = size(E) AND size(C) = size(D) = size(F) ){
while size(A)>0{
pointX = removeLastEntryOf(A);
pointY = removeLastEntryOf(B);
styleXY = removeLastEntryOf(E);
draw[styleXY] pointX -- pointY;
}
while size(C)>0{
pointX = removeLastEntryOf(C);
pointY = removeLastEntryOf(D);
styleXY = removeLastEntryOf(F);
drawWhitePathForOverCrossing(pointX, point Y);
draw[styleXY] pointX -- pointY;
}
}
}
现在我的问题有两个:如何在 LaTeX 中使用数组/列表?我该如何定义命令drawWhitePathForOverCrossing
?