无标题的节点 x 缩放比例

无标题的节点 x 缩放比例

我使用 xscale 来减少节点的宽度。这不仅会缩放形状,还会缩放文本。如何在不缩放文本的情况下缩放形状?

  \node[mynode] (foo) [right=of ocr,fit={(ocr) (omr)},xshift=3cm,xscale=0.5] {FOO};

答案1

我将使用label=center:<text>选项来放置节点文本,并将实际节点文本留空:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning,fit}
\begin{document}
\begin{tikzpicture}
\node [draw] (ocr) at (0,0) {a};
\node [draw] (omr) at (2,1) {b};
\node[draw] (foo) [fit={(ocr) (omr)},xscale=0.5,yshift=2cm] {FOO};
\node[draw] (foo) [fit={(ocr) (omr)},xscale=0.5,label=center:FOO] {};
\end{tikzpicture}
\end{document}

xscale 未缩放文本

答案2

作为单行文本的解决方法,您可以使用\scalebox{<h-scale>}[<v-scale>]{<text>}graphics(TikZ 无论如何都会加载)缩小文本。对于xscale=0.5您使用\scalebox{2}[1]{..}在 X 轴上将文本缩放 2 倍,但在 Y 轴上保持不缩放(1 倍)。

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning,fit}
\begin{document}
\begin{tikzpicture}
\node [draw] (ocr) at (0,0) {a};
\node [draw] (omr) at (2,1) {b};
\node[draw] (foo) [fit={(ocr) (omr)},xscale=0.5] {\scalebox{2}[1]{FOO}};
\end{tikzpicture}
\end{document}

结果

相关内容