在 TikZ 中,如何引用当前背景颜色?

在 TikZ 中,如何引用当前背景颜色?

在运行一些旧的 TikZ 代码(2019 年可以运行)时,我遇到了一个问题,显然字符串“bg”被传递给了 xcolor,而不是当前的背景颜色。示例:

\documentclass{article}
\usepackage{tikz}

\tikzset{gap/.style={circle,fill=bg,inner sep=1pt}}

\begin{document}

\[\begin{tikzpicture}
  \node (00) at (0,0) {$A$};
  \node (20) at (2,0) {$B$};
  \draw (00) to node[gap]{g}(20);
  \end{tikzpicture}
\]

\end{document}

将“bg”替换为“white”是可行的,但在 Beamer 中背景可能不是白色,因此结果看起来很丑陋。

LuaHBTeX 版本 1.13.2(TeX Live 2021)会出现这种情况。

答案1

您可以按如下方式修改代码,使其与背景颜色无关。不再有填充,线条无论如何都会在中间分开:

\documentclass{article}
\usepackage{tikz}

\tikzset{gap/.style={circle}}

\begin{document}

\[\begin{tikzpicture}
  \node (00) at (0,0) {$A$};
  \node (20) at (2,0) {$B$};
  \path (00) to node [gap](g){g} (20);
  \draw (00) -- (g) -- (20);
  \end{tikzpicture}
\]

\end{document}

相关内容