我正在尝试绘制下面的电路,但是我在绘制与供电轨的连接时遇到了困难。我滥用了接地节点,因为它与电源连接的典型符号相同。
正如您所看到的,
对于标记为 VSS 的节点,我可以毫无问题地使用接地节点,但对于标记为 VDD 的节点,我必须将其反转,方法是将 y 轴刻度设置为 -1。这会产生反转相关标签的副作用:
(0, 10) node [sground, yscale = -1] () {$V_{DD}$}
如何在不反转文本的情况下实现此目的?
完整来源如下。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% JFET differential Amplifier
%
\documentclass[10pt, a4paper] {article}
\usepackage[siunitx, americanvoltages] {circuitikz}
\begin{document}
\begin{tikzpicture}
\draw[color = black, thick]
(0, 10) node [sground, yscale = -1] () {$V_{DD}$}
(0, 8) to [R, l = $R_{D1}$] (0, 10) {}
(0, 8) to [short, *-o] (1, 8) {}
(0, 7) to [Tnjfet, l = $Q_1$] (0, 8) {}
(-0.9, 7.23) to [short, -o] (-1.5, 7.23) {}
(0, 7) to [short] (0, 6)
(4, 10) node [sground, yscale = -1] () {$V_{DD}$}
(4, 8) to [R, l = $R_{D2}$] (4, 10) {}
(4, 8) to [short, *-o] (3, 8) {}
(4, 7) to [Tnjfet, mirror, l = $Q_2$] (4, 8) {}
(4.9, 7.23) to [short, -o] (5.5, 7.23) {}
(4, 7) to [short] (4, 6)
(0, 6) to [short] (4, 6)
(2, 6) node [circ] () {}
(2, 6) to [R, l = $R_{SS}$] (2, 4)
(2, 4) node [sground] () {$V_{SS}$}
;
\end{tikzpicture}
\end{document}
答案1
发生这种情况的原因是ground
节点及其变体实际上并非设计为将节点文本锚定在其上:除了倒置的文本外,在sground
示例中的倒置和非倒置节点中,与其他节点文本周围的间距相比,间距都不太理想。请注意,在包手册中,ground
(或其变体)的每次使用都带有一个空节点文本({}
)。
我始终会将节点文本留空,ground
然后在同一位置简单地添加另一个节点(向right
或left
或任何其他适当的方向),这样就可以更好地与电路分开。
另外,我建议不要sground,yscale=-1
对每个内容都进行输入,而是在一个地方定义如下内容:
\tikzset{srail/.style={sground,yscale=-1}}
这样,您就可以简单地srail
对所有这些组件使用,如果您以后改变了对该组件样式的想法,则更容易更新。(您甚至可以改变主意并决定使用此方法声明一个全新的形状。)
以下是我处理这个问题的方法:
\documentclass[tikz]{standalone}
\usepackage[siunitx, americanvoltages] {circuitikz}
\tikzset{srail/.style={sground,yscale=-1}}
\begin{document}
\begin{tikzpicture} \draw
node [srail] {}
node[right] {$V_{DD}$}
to[R=1.8<\kilo\ohm>] ++(0,-2)
node [sground] {}
node[right] {$V_{SS}$}
;\end{tikzpicture}
\end{document}
答案2
您可以设置一个名为的样式sgroundr
并对其应用旋转,然后使用标签代替节点文本。旋转不会影响它们。
输出
代码
\documentclass[margin=10pt]{standalone}
\usepackage[americanvoltages]{circuitikz}
\usepackage{siunitx}
\tikzset{
sgroundr/.style={sground, rotate=180},
}
\begin{document}
\begin{tikzpicture}
\draw[color = black, thick]
(0, 10) node [sgroundr, label=right:$V_{DD}$] {}
(0, 8) to [R, l = $R_{D1}$] (0, 10) {}
(0, 8) to [short, *-o] (1, 8) {}
(0, 7) to [Tnjfet, l = $Q_1$] (0, 8) {}
(-0.9, 7.23) to [short, -o] (-1.5, 7.23) {}
(0, 7) to [short] (0, 6)
(4, 10) node [sgroundr, label=right:$V_{DD}$] {}
(4, 8) to [R, l = $R_{D2}$] (4, 10) {}
(4, 8) to [short, *-o] (3, 8) {}
(4, 7) to [Tnjfet, mirror, l = $Q_2$] (4, 8) {}
(4.9, 7.23) to [short, -o] (5.5, 7.23) {}
(4, 7) to [short] (4, 6)
(0, 6) to [short] (4, 6)
(2, 6) node [circ] () {}
(2, 6) to [R, l = $R_{SS}$] (2, 4)
(2, 4) node [sground] () {$V_{SS}$}
;
\end{tikzpicture}
\end{document}