我正在尝试绘制一个矩形,左边有一些文本,右边有一个电气图(全部在一个矩形内),我正在使用以下包:
\usepackage{circuitikz}
\usepackage{tikz}
\usetikzlibrary{positioning,fit,shapes}
我想要放入矩形的方案是这样的:
\documentclass[12pt,oneside,a4paper]{article}
\usepackage{graphicx}
\DeclareGraphicsExtensions{.pdf,.png,.jpg}
\usepackage{circuitikz}
\usepackage{tikz}
\usetikzlibrary{positioning,fit,shapes}
\begin{document}
\begin{circuitikz} [ european resistors ]
\draw[help lines, dotted] (-5,-5) grid (10,6);
% \scalebox{0.6}{
\draw (4, 2)
to [vR, *-*] ++(-2,-2)
to node (l1) {} ++(0,0)
to [vR, *-*] ++(2,-2)
to [short, -o] ++(0, -1)
to node (b1) {} ++(0,0)
to [short] ++(0, 1)
to [vR, *-*] ++(2,2)
to node (r1) {} ++(0,0)
to [vR, *-*] ++(-2,2)
to [short,-o] +(0, 1)
to node (t1) {} ++(0,0)
;
% }
\node[fit=(t1) (b1) (l1) (r1), draw, black, rectangle, inner sep=10pt]{};
\end{circuitikz}
\end{document}
但是,当我尝试用某个因子(0.6)来缩放它时,它会意外地缩放节点,但不会对外部矩形执行相同的操作。
\documentclass[12pt,oneside,a4paper]{article}
\usepackage{graphicx}
\DeclareGraphicsExtensions{.pdf,.png,.jpg}
\usepackage{circuitikz}
\usepackage{tikz}
\usetikzlibrary{positioning,fit,shapes}
\begin{document}
\begin{circuitikz} [ european resistors ]
\draw[help lines, dotted] (-5,-5) grid (10,6);
\scalebox{0.6}{
\draw (4, 2)
to [vR, *-*] ++(-2,-2)
to node (l1) {} ++(0,0)
to [vR, *-*] ++(2,-2)
to [short, -o] ++(0, -1)
to node (b1) {} ++(0,0)
to [short] ++(0, 1)
to [vR, *-*] ++(2,2)
to node (r1) {} ++(0,0)
to [vR, *-*] ++(-2,2)
to [short,-o] +(0, 1)
to node (t1) {} ++(0,0)
;
}
\node[fit=(t1) (b1) (l1) (r1), draw, black, rectangle, inner sep=10pt]{};
\end{circuitikz}
\end{document}
我真的不知道如何将文本放入这个伪拟合矩形内。
我对世界还比较陌生tikz
,所以请给我一些建议,告诉我如何完成我的任务:在里面放置带有缩放方案的文本?
为了解决这个问题,我需要绘制几个像上面那样的框(带有文本和缩放图解)。因此,如果没有某种方便的方法将节点块(以及它们之间的连接)分组为单个节点,然后能够在其他连接中进一步使用它(作为一种变量),我会非常失望。
答案1
我认为下面的代码可以满足您的要求。首先请注意,我已删除\scalebox
,而是将transform shape,scale=0.6
作为选项添加到\draw
创建电路的 中。其中第一个是必需的,因为组件是作为 创建的,除非您添加 ,否则node
它们不会受到影响。如果您不想缩放组件,而只是缩放它们之间的距离,请删除。scale
transform shape
transform shape
我还稍微修改了电路图,不需要这些++(0,0)
东西,并且对于这种情况,coordinate
工作正常,您不需要node
带有空标签的。
最后我将位于该节点sometext
左侧的新节点包含在ted 节点中。l1
fit
\documentclass[12pt,oneside,a4paper]{article}
\usepackage{circuitikz}
\usepackage{tikz}
\usetikzlibrary{positioning,fit}
\begin{document}
\begin{circuitikz} [ european resistors ]
%\draw[help lines, dotted] (-5,-5) grid (10,6);
\draw [transform shape,scale=0.6] (4, 2)
to [vR, *-*] ++(-2,-2)
coordinate (l1)
to [vR, *-*] ++(2,-2)
to [short, -o] ++(0, -1)
coordinate (b1)
to [short] ++(0, 1)
to [vR, *-*] ++(2,2)
coordinate (r1)
to [vR, *-*] ++(-2,2)
to [short,-o] +(0, 1)
coordinate (t1)
;
\node (sometext) [left=of l1,align=left,text width=4cm]
{Lorem ipsum dolor sit amet consectetur and a bunch more text just for this example.};
\node[fit=(t1) (b1) (sometext) (r1), draw, black, rectangle, inner sep=10pt]{};
\end{circuitikz}
\end{document}