使用 \widthof 和 tikz 放置文本

使用 \widthof 和 tikz 放置文本

我是 Tikz 的新手,我对编写宏有疑问,该宏允许我使用参数来缩放简单绘图并根据绘图的大小放置文本。

这是我在老式的 LaTeX 图片环境中使用的内容:

\newcommand{\wtb}[2][4]{
\setlength{\unitlength}{#1mm}
\raisebox{-#1mm/4}{\begin{picture}(1,1)
\put(0,0){\line(1,0){1}}
\put(0,0){\line(0,1){1}}
\put(1,0){\line(0,1){1}}
\put(0,1){\line(1,0){1}}
\put(#1mm-\widthof{\mbox{\tiny$#2$}},\heightof{\mbox{\tiny$#2$}}){\makebox(0,0){\mbox{\tiny$#2$}}}
\end{picture}\,}

现在,如果我使用 Tikz,仍然可以进行绘图和缩放,但是当我尝试放置文本时, \widthof 和 \heightof 命令会产生错误。以下是我尝试的方法:

\newcommand{\wtb}[2][4]{
\raisebox{-#1mm/4}{
{
\begin{tikzpicture}
\draw[line width=1pt] (0,0) -- ++(#1mm,0) -- ++(0,#1mm) -- ++(-#1mm,0) -- cycle;
\draw (#1mm-\widthof{\mbox{\tiny$#2$}},\heightof{\mbox{\tiny$#2$}}) node {\mbox{\tiny$#2$}};
\end{tikzpicture}\,}

在 Tikz 中执行此类操作的正确 (良好) 方法是什么? 非常感谢您的帮助。

相关内容