Polyglossia setotherlanguage 与 tikz 库引号冲突

Polyglossia setotherlanguage 与 tikz 库引号冲突

当我在图形环境中使用带有 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,并检查了lualatexxelatex

\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}

在此处输入图片描述

相关内容