myIC
我已经使用库创建了名为的自定义电子元件circuitikzgit.sty
(下载链接)。myIC
有三个引脚,分别标记为PinA
、PinB
和PinC
。我在pgfdeclareshape
环境中定义了此组件,这样我就可以轻松地将其合并到环境中circuitikz
。我对结果非常满意,但在编译代码时遇到了一个问题。如您所见,绘图没有按预期居中。您可以在下面的两个输出中观察到border=2cm
和之间的差异。border=0cm
问:如何才能使电路居中而不显示边框,类似于 \documentclass{standalone}
?
代码:
\documentclass[border=2cm]{standalone}
\usepackage{circuitikzgit}
\pgfdeclareshape{myIC}{
% define saved anchor
% ----------------------------------------
\anchor{center}{\pgfpointorigin}
% define Connectors relative to the center
% ----------------------------------------
% Pin A:
\savedanchor\myICpinA{\pgfpoint{-30}{10}}
\anchor{}{\myICpinA}
% Pin B:
\savedanchor\myICpinB{\pgfpoint{-30}{-10}}
\anchor{}{\myICpinB}
% Pin C:
\savedanchor\myICpinC{\pgfpoint{30}{0}}
\anchor{}{\myICpinC}
\foregroundpath{
\pgfpathrectanglecorners{\pgfpoint{-30}{-30}}{\pgfpoint{30}{30}}
\pgfusepath{draw}
\pgftext[left, at={\myICpinA}]{PinA}
\pgftext[left, at={\myICpinB}]{PinB}
\pgftext[right, at={\myICpinC}]{PinC}
}
}
\begin{document}
\begin{tikzpicture}
\begin{circuitikz}
\draw (0,0) node[myIC] {};
\end{circuitikz}
\end{tikzpicture}
\end{document}
答案1
circuitikz
环境是 的别名tikzpicture
。同时使用两者,您将嵌套 tikzpictures,这是不行的。
将您的主体更改为:
\begin{document}
\begin{tikzpicture}
\draw (0,0) node[myIC] {};
\end{tikzpicture}
\end{document}
你会得到一个中心事物:
(无论如何,您在这里使用“否” circuitikz
,因为您自己定义了一个形状……但我想您在这里还有更多的东西)。
完整代码:
\documentclass[border=2cm]{standalone}
\usepackage{circuitikz}
\pgfdeclareshape{myIC}{
% define saved anchor
% ----------------------------------------
\anchor{center}{\pgfpointorigin}
% define Connectors relative to the center
% ----------------------------------------
% Pin A:
\savedanchor\myICpinA{\pgfpoint{-30}{10}}
\anchor{}{\myICpinA}
% Pin B:
\savedanchor\myICpinB{\pgfpoint{-30}{-10}}
\anchor{}{\myICpinB}
% Pin C:
\savedanchor\myICpinC{\pgfpoint{30}{0}}
\anchor{}{\myICpinC}
\foregroundpath{
\pgfpathrectanglecorners{\pgfpoint{-30}{-30}}{\pgfpoint{30}{30}}
\pgfusepath{draw}
\pgftext[left, at={\myICpinA}]{PinA}
\pgftext[left, at={\myICpinB}]{PinB}
\pgftext[right, at={\myICpinC}]{PinC}
}
}
\begin{document}
\begin{tikzpicture}
\draw (0,0) node[myIC] {};
\end{tikzpicture}
\end{document}