当我在图形环境中使用带有 quotes 包的 tikz 向边添加标签时(正如我在这里发现的:使用 tikz-graph 在边缘上添加标签) 当我指定一种具有多语言能力的其他语言时,我就会遇到问题。
我看到其他人报告了与 babel 包相关的类似问题:tikz 和 arabi 包的问题和将 TikZ 图形添加到文档。在这两种情况下,解决办法都是切换到英语,但在这种情况下这没有帮助。
我的 MWE 是:
\documentclass{article}
\usepackage{polyglossia}
\setmainlanguage{english}
\setotherlanguage{german}
\usepackage{tikz}
\usetikzlibrary{quotes}
\usetikzlibrary{graphs}
\begin{document}
\begin{english}
\begin{tikzpicture}
\graph {
"A" -- "B" [> "some label"]
};
\end{tikzpicture}
\end{english}
\end{document}
输出为:
! Package pgfkeys Error: I do not know the key '/tikz/"{some label}"' and I am
going to ignore it. Perhaps you misspelled it.
See the pgfkeys package documentation for explanation.
Type H <return> for immediate help.
...
l.14 }
;
?
XeLaTeX 版本为:XeTeX 3.14159265-2.6-0.99999(TeX Live 2019/dev/Debian)
pgf 版本为:3.1.1
答案1
根据我发现的添加\usetikzlibrary{babel}
修复了这个问题。我使用更新的 TeXLive 2019 安装和 pgf v3.1.5,并检查了lualatex
和xelatex
。
\documentclass{article}
\usepackage{polyglossia}
\setmainlanguage{english}
\setotherlanguage{german}
\usepackage{tikz}
\usetikzlibrary{quotes}
\usetikzlibrary{graphs}
\usetikzlibrary{babel}
\begin{document}
\begin{english}
\begin{tikzpicture}
\graph {
"A" -- "B" [> "some label"]
};
\end{tikzpicture}
\end{english}
\end{document}