![在 TikZ 中,如何引用当前背景颜色?](https://linux22.com/image/445574/%E5%9C%A8%20TikZ%20%E4%B8%AD%EF%BC%8C%E5%A6%82%E4%BD%95%E5%BC%95%E7%94%A8%E5%BD%93%E5%89%8D%E8%83%8C%E6%99%AF%E9%A2%9C%E8%89%B2%EF%BC%9F.png)
在运行一些旧的 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}