我有以下 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}
得到如下图像:
但我想将文本置于两个框之间的中心,有点像这张图片:
我该怎么做呢?
答案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}
在序言中。