\
我正在尝试在 digraph 包中的一个节点名称中使用反斜杠字符:
\documentclass{standalone}
\usepackage{graphviz}
\begin{document}
\digraph[scale=0.5]{abc}{
rankdir=LR;
"\\x"->"y";
}
\end{document}
该代码是有效的 graphviz(已尝试网页图形可视化)。删除后\\
编译正常。
但是当我包含反斜杠时,我收到一个令人困惑的错误:
Undefined control sequence.
\\ ->\let \reserved@e
\relax \let \reserved@f \relax \@ifstar {\let \reserv...
l.7 }
答案1
您可以使用与https://tex.stackexchange.com/a/227287/4427
\documentclass{standalone}
\usepackage[pdf]{graphviz}
\usepackage{etoolbox}
\makeatletter
% consider \| and \\ unexpandable; it happens in a group, so nothing bad happens
\pretocmd{\@@digraph}
{%
\let\|\relax % allow \|
\let\\\relax % allow \\
}{}{}
\makeatother
\begin{document}
\digraph[scale=0.5]{abc}{
rankdir=LR;
"\\x"->"y";
}
\end{document}
内容abc.dot
将是
digraph abc {
rankdir=LR;
"\\x"->"y";
}
答案2
\documentclass{standalone}
\usepackage{graphviz}
\begin{document}
\digraph[scale=0.5]{abc}{
rankdir=LR;
"\string\\x"->"y";
}
\end{document}