如何在二合字母包中创建文字反斜杠?

如何在二合字母包中创建文字反斜杠?

\我正在尝试在 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}

相关内容