矩形适合一些文本和比例电路,来自 circuitikz

矩形适合一些文本和比例电路,来自 circuitikz

我正在尝试绘制一个矩形,左边有一些文本,右边有一个电气图(全部在一个矩形内),我正在使用以下包:

\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它们不会受到影响。如果您不想缩放组件,而只是缩放它们之间的距离,请删除。scaletransform shapetransform shape

我还稍微修改了电路图,不需要这些++(0,0)东西,并且对于这种情况,coordinate工作正常,您不需要node带有空标签的。

最后我将位于该节点sometext左侧的新节点包含在ted 节点中。l1fit

\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}

在此处输入图片描述

相关内容