`tikz` 图中数学模式

`tikz` 图中数学模式

我想要一个tikz图表,上面有一个箭头连接文本和数学部分。我有以下代码,但一旦“数学”处于数学环境中(即:),它就不起作用了$Math$

\documentclass[10pt]{beamer}

\usetheme[progressbar=frametitle]{metropolis}
\usepackage{appendixnumberbeamer}

\usepackage{booktabs}  
\usepackage[scale=2]{ccicons}

\usepackage{pgfplots}
\usepgfplotslibrary{dateplot}

\usepackage{xspace}
\newcommand{\themename}{\textbf{\textsc{metropolis}}\xspace}

\usepackage{tikz}
\usepackage{adjustbox}
\usetikzlibrary{calc}
\usetikzlibrary{patterns}
\usetikzlibrary{matrix,decorations.pathreplacing}
\usetikzlibrary{arrows,positioning}

\title{title}
\author{Author}
\date{}


\begin{document}
\begin{frame}{Frame Title}
\begin{tikzpicture}
[->,>=stealth',shorten >=1pt,auto,node distance=3cm,
,main node/.style={font=\sffamily\small\bfseries}]

\node[main node] (Text) {Text};
\node[main node,above=.5cm of Text] ($Math$) {$Math$};

\path[]
(Text) edge node [] {\rotatebox[origin=cc]{90}{}} ($Math$);


\end{tikzpicture}
\end{frame}
\end{document}

答案1

节点的名称和节点的内容是独立的实体,它们不必是相同的文本。我建议不要在节点名称中使用任何特殊字符,例如

\node[main node,above=.5cm of Text] (Math) {$Math$};

代替

\node[main node,above=.5cm of Text] ($Math$) {$Math$};

另外,请注意,加载calc库时会激活($ ... $)坐标计算的语法,这可能与此处的失败有关。例如,如果您这样做

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}
\node (Text) {Text};
\node ($Math$)  at (2,0) {$Math$};
%\draw (Text) -- ($Math$);
\end{tikzpicture}
\end{document}

这个特定的例子有效,但是如果你取消注释它\draw就会失败,因为 TikZ 试图在节点上使用该calc$Math$

相关内容