\llbracket
为什么我在以下例子中不能使用?
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{arrows,shapes,graphs,graphs.standard,quotes}
\usepackage{stmaryrd}
\begin{document}
\begin{tikzpicture}
\def\a{{
"\llparenthesis"
,"\llbracket" % With this line, it fails!
,"\llparenthesis"
}}
\draw (0,1) node{$\llparenthesis$};
\draw (1,1) node{$\llbracket$};
\foreach \x in {0,1}
{\draw (\x, 0) node {$\pgfmathparse{\a[\x]}\pgfmathresult$};} % (*)
\end{tikzpicture}
\end{document}
- 在正常绞车
\llparenthesis
中使用\llbracket
\llparenthesis
在使用它时使用有效\pgfmathparse
,从数组索引,而llbracket
在同一位置则不行(行 (*))- 两个命令均来自
stmaryrd
包(不包括包不允许1.)。
激活注释行会产生以下错误:
! PGF Math 软件包错误:未知运算符
4' or
44'(在 '{ "\llparenthesis " ,"\delimiter "444A471 " ,"\llparenthesis " }[0]' 中)。请参阅 PGF Math 软件包文档以了解解释。
答案1
因为其中一个是字符,\mathcar"444C
所以"<char>"
可以立即使用。另一个实际上是一个宏扩展\delimiter "444A471
,需要防止其扩展,以免数学解析器出错。
所以你需要
\def\a{{%
"\llparenthesis"%
,"\noexpand\llbracket"%
,"\llparenthesis"%
}}