在矩形内缩放文本

在矩形内缩放文本

我绘制了一个矩形 r,其大小是某个单词 w 的 4 倍;我希望单词 w 的大小是其初始大小的 3 倍(并绘制在 r 中)。我不知道如何获取乘数,本例中为 3,即我不知道如何修改行起始宽度 \draw 中的“{\textbf{abc}}”。

\documentclass{minimal}
\usepackage{calc}
\usepackage{tikz}

\begin{document}
\newlength{\la}
\newlength{\ha}
\setlength{\la}{\widthof{\textbf{abc}}*\real{4.0}}
\setlength{\ha}{\totalheightof{\textbf{abc}}*\real{4.0}}

\begin{tikzpicture}
\draw (0,0) rectangle (\la,\ha) node[pos=.5] {\textbf{abc}};
\end{tikzpicture}

\end{document}

在此处输入图片描述

答案1

\scalebox{3}{\textbf{abc}},例如

\documentclass{minimal}
\usepackage{calc}
\usepackage{tikz}

\begin{document}
\newlength{\la}
\newlength{\ha}
\setlength{\la}{\widthof{\textbf{abc}}*\real{4.0}}
\setlength{\ha}{\totalheightof{\textbf{abc}}*\real{4.0}}

\begin{tikzpicture}
\draw (0,0) rectangle (\la,\ha) node[pos=.5] {\scalebox{3}{\textbf{abc}}};
\end{tikzpicture}

\end{document}

在此处输入图片描述

答案2

我本来不打算发布这个,但你似乎遇到了错误。这是我上面评论中的代码:

\documentclass{article}
\usepackage{tikz}
\begin{document}
\pgfmathsetmacro{\la}{4*width("\textbf{abc}")}
\pgfmathsetmacro{\ha}{4*height("\textbf{abc}")}
\begin{tikzpicture}
\draw (0,0) rectangle  node[font=\bfseries,scale=3] {abc} 
(\la pt,\ha pt);
\end{tikzpicture}
\end{document}

在此处输入图片描述

可以说它更Zy,它使用 pgf 函数widthheight计算文本的宽度和高度,并scale缩放文本。

相关内容