如何在 TiKZ 中将文本置于两个矩形之间?

如何在 TiKZ 中将文本置于两个矩形之间?

我有以下 TiKZ 代码:

\documentclass{article}
\usepackage{tikz}
\begin{document}

\begin{tikzpicture}

  \newcommand{\delim}[1]{\draw(#1,-0.2) -- (#1,-0.5);}

  \draw (0,0) rectangle (1,1);

  \draw (1,0) rectangle (2,1);

  \delim{0}
  \delim{2}

  \node[below] at(0,0){\small Unused};

\end{tikzpicture}

\end{document}

得到如下图像:

enter image description here

但我想将文本置于两个框之间的中心,有点像这张图片:

enter image description here

我该怎么做呢?

答案1

文本居中于(0,0)您提供的坐标之下。我认为您想使用(1,0)

\node[below] at(1,0) {\small Unused};

如果想要更粗的线条,可以使用[thick][ultra thick]选项,或者指定线条宽度[line width=2pt]

\documentclass{article}
\usepackage{tikz}
\begin{document}

\begin{tikzpicture}
  \newcommand{\delim}[1]{\draw [thick] (#1,-0.2) -- (#1,-0.5);}

  \draw [ultra thick] (0,0) rectangle (1,1);
  \draw [ultra thick] (1,0) rectangle (2,1);

  \delim{0}
  \delim{2}

  \node[below] at(1,0){\small Unused};
\end{tikzpicture}
\end{document}

另一种方法是修改\delim宏以采用第二个参数并使用它来标记线段的中心,A如下B例所示。然后,您可以使用计算两个点的中点,($(A)!0.5!(B)$)并将文本放置在该位置。此解决方案还有一个额外的好处,即如果您更改宏中的坐标\delim,文本将位于两点之间。

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}

\begin{tikzpicture}
  \newcommand{\delim}[2]{\draw [thick] (#1,-0.2) -- (#1,-0.5); \node (#2) at (#1,-0.35) {};}

  \draw [ultra thick] (0,0) rectangle (1,1);
  \draw [ultra thick] (1,0) rectangle (2,1);

  \delim{0}{A}% Label this as (A)
  \delim{2}{B}% Label this as (B)

  \node at ($(A)!0.5!(B)$) {\small Unused};% Place the node midway between (A) and (B)
\end{tikzpicture}
\end{document}

请注意,这需要\usetikzlibrary{calc}在序言中。

相关内容