2

For the following,

1- why do only american and american voltages options affect the output, while american voltage sources doesn't?,

2- how can I make v(t) move down and be placed in the removed arrow position in the 2nd and 3rd cases?

enter image description here

\documentclass[border=5mm]{standalone}
\usepackage{circuitikz}
\begin{document}
    \begin{circuitikz}[thick]
        \draw (0,0) to[V=$v(t)$,invert,a=default] ++(2,0);
        \draw (0,-2.5) to[american,V=$v(t)$,invert,a=american] ++(2,0);
        \draw (0,-5) to[american voltages ,V=$v(t)$,invert,a=american voltages] ++(2,0);
        \draw (0,-7.5) to[american voltage source, V=$v(t)$,invert,a=american voltage source] ++(2,0);
    \end{circuitikz}
\end{document}
0
3
  1. american voltage source is a component not a voltage style.
    So, in the last case, you have two component specification american voltage source (american voltage source) and V (european voltage source). I think its taking the second specification for drawing.
    Use to[american voltage source, v=$v(t)$] so that the component is american voltage source, voltage is $v(t)$ which will drawn in default style (european). See the fourth case in the code and output provided.

  2. One way to shift the voltage label v(t) down is to set bipole voltage style={yshift=-5pt} (See the third case in figure and code). Alternatively you can try the voltage shift=-0.5 option also (See the second case in figure and code).

enter image description here

\documentclass[border=5mm]{standalone}
\usepackage{circuitikz}
\begin{document}
    \begin{circuitikz}[thick]
        \draw (0,0) to[V=$v(t)$,invert,a=default] ++(2,0);
        \draw (0,-2.5) to[american,V=$v(t)$,invert,a=american] ++(2,0);
        \draw (0,-5) to[voltage shift=-0.5,bipole voltage style={yshift=-5pt},american voltages ,V=$v(t)$,invert,a=american voltages] ++(2,0);
        \draw (0,-7.5) to[american voltage source,v=$v(t)$,invert,a=american voltage source] ++(2,0);
    \end{circuitikz}
\end{document}
3
  • For different line widths, is it possible to automate the placement of v(t) without having to guess (i.e. -5pt)?
    – Diaa
    Nov 2 '19 at 17:52
  • 1
    @Diaa you can try the voltage shift=-0.5 option. See if that can do the job.
    – nidhin
    Nov 2 '19 at 18:56
  • I copied and pasted your code, and voltage shift=-0.5 works fine for most of the reasonable font widths. However, for very thick line widths, v(t) overlaps with the thick line as shown here, which made me think that it would be cumbersome to make the gap constant and independent of the line width.
    – Diaa
    Nov 2 '19 at 22:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.