不要在 tikz 图中绘制文本的边界框

不要在 tikz 图中绘制文本的边界框

我有以下代码:

\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
     [every rectangle node/.style={draw}]
     \draw (0,0) node[rectangle] (a) {0}  ;
     \draw [->](1,-2)  -- (a);
       \node[text width=6cm, anchor=west, right] at (0,-2)
    {Index};
\end{tikzpicture}
\end{document}

这将产生以下图像:

在此处输入图片描述

有没有办法Index不显示在有界矩形内?也就是说,我希望矩形的边框不可见。

我看了类似的问题这里但就我而言,我仍然希望在标有 的节点周围绘制框0

答案1

您确实要求draw所有(矩形)节点全局应用这种样式到所有节点。您的图片可能比 MWE 中更复杂,但您始终可以指定draw仅绘制那些节点(默认情况下不绘制节点轮廓)。在您的 MWE 中,这将是:

\documentclass{article}
\usepackage{tikz}
\begin{document}
    \begin{tikzpicture}
        \draw (0,0) node[rectangle, draw] (a) {0}  ;
        \draw [->](1,-2)  -- (a);
        \node[text width=6cm, anchor=west, right] at (0,-2)
        {Index};
    \end{tikzpicture}
\end{document}

如果您的情况不可行,您可以在单个节点上覆盖全局样式:

\documentclass{article}
\usepackage{tikz}
\begin{document}
    \begin{tikzpicture}[every rectangle node/.style={draw}]
        \draw (0,0) node[rectangle] (a) {0}  ;
        \draw [->](1,-2)  -- (a);
        \node[every rectangle node/.style={}, text width=6cm, anchor=west, right] at (0,-2)
        {Index};
    \end{tikzpicture}
\end{document}

正如 Henri 提到的一条评论

相关内容