尝试以下 MWE 时,
\usetikzlibrary {babel,graphs,quotes}
\tikz \graph {
a ->["x"] b ->["y"'] c ->["z" red] d;
};
在\RequirePackage[swedish, english]{babel}
我的课堂上,每次使用引号时都会出现这样的错误:
! Use of \tikz@quote@@parser doesn't match its definition.
<argument> "
{x}"={\pgfkeysnovalue }
l.10 }
;
如果我swedish
从中删除该选项babel
,则不会出现问题。
为什么\usetikzlibrary{babel}
在这种情况下没有帮助?
在查看了有关的其他问题后babel
,tikz
我发现以下修改有效
\shorthandoff{"}
\usetikzlibrary {graphs,quotes}
\shorthandon{"}
\tikz \graph {
a ->["x"] b ->["y"'] c ->["z" red] d;
};
但
\usetikzlibrary {graphs,quotes}
\shorthandoff{"}
\tikz \graph {
a ->["x"] b ->["y"'] c ->["z" red] d;
};
\shorthandon{"}
才不是。
我的 TikZ 版本是 3.1.5b。
注意:不使用引号库来获取边标签的另一种方法是使用选项[edge label=x]
,但这比较麻烦。