![无标题的节点 x 缩放比例](https://linux22.com/image/238681/%E6%97%A0%E6%A0%87%E9%A2%98%E7%9A%84%E8%8A%82%E7%82%B9%20x%20%E7%BC%A9%E6%94%BE%E6%AF%94%E4%BE%8B.png)
我使用 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}
答案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}