TikZ-library 引用和 babel 包之间存在冲突,为什么 \usetikzlibrary{babel} 没有帮助?

TikZ-library 引用和 babel 包之间存在冲突,为什么 \usetikzlibrary{babel} 没有帮助?

尝试以下 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}在这种情况下没有帮助?


在查看了有关的其他问题后babeltikz我发现以下修改有效

\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],但这比较麻烦。

相关内容