我最近从另一个线程尝试了 tikz 轮:https://tex.stackexchange.com/a/423907/140011- 一切都运行正常,直到我将多语制切换为德语。
这失败了
额外},或者被遗忘的\endgroup。
\documentclass{article}
\usepackage{polyglossia}
\setdefaultlanguage{german}
\usepackage{graphicx}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\pgfmathparse{(5? "west" : "east" )} % Apprently these quotes are the culprit.
\end{tikzpicture}
\end{document}
这有效
\documentclass{article}
\usepackage{polyglossia}
\setdefaultlanguage{german}
\usepackage{graphicx}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\pgfmathparse{(5? 5 : 4 )} % This does not make sense but works
\end{tikzpicture}
\end{document}
我们可以很容易地看到周围的引号east
似乎是有问题的。
我怎样才能绕过这个问题?
答案1
编辑:Phelype Oleinik 在评论中抢先了我一步。
该polyglossia
包正在将"
字符设置为活动状态以启用babel
-style 简写,这会在 pgf 中破坏它。您需要加载babel
TikZ 库以实现兼容性:
\documentclass{article}
\usepackage{polyglossia}
\setdefaultlanguage{german}
\usepackage{graphicx}
\usepackage{tikz}
\usetikzlibrary{babel}
\begin{document}
\begin{tikzpicture}
\pgfmathparse{(5? "west" : "east" )} % Apprently these quotes are the culprit.
\end{tikzpicture}
\end{document}
您还可以另外提供\usepackage{polyglossia}
或\setdefaultlanguage{german}
选项[babelshorthands=false]
,尽管这不足以让您的 MWE 进行编译。
您还可以使用它\tikz[handle active characters in code]
来启用节点文本中的活动字符,而不会破坏 pgf 解析。