tikz 中的循环交叉引用?

tikz 中的循环交叉引用?

我偶然发现了 tikz 的一个奇怪行为。这是一个简单的例子:

\documentclass[parskip]{scrartcl}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}
  \node{
    \tikz[remember picture] \coordinate (a);
    $1+2$
    \tikz[remember picture]\coordinate (b);
  };
  \begin{scope}
   \draw (a.south west) -- (b.south east);
  \end{scope}
\end{tikzpicture}
\end{document}

每次我编译它时,pdflatex生成的 pdf 都有不同的页数......它在 1 页和 3 页之间交替。

编译总是给我以下警告:

LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right.

最小的例子改编自 Alain Matthes 的回答这次讨论。这种行为也发生在他的代码中。

这是正常的吗?如果不正常,我可以修复它吗?我想像上一个链接中一样,在数学表达式的一部分下做一个括号,并在括号下添加文本。与链接中提出的问题的不同之处在于,括号下的文本大小不应影响数学表达式(这就是我考虑 Alain Matthes 的答案的原因)。

答案1

这是我们所期望的结果吗?(见贾斯珀·哈比希特的评论:不要堆叠tikz环境。)

代码

\documentclass[parskip]{scrartcl}
\usepackage{tikz}

\begin{document}
\begin{tikzpicture}
    \node (a) {$1+2$};
    \draw (a.south west) -- (a.south east);
\end{tikzpicture}
\end{document}

结果

在此处输入图片描述

相关内容