I would like to label a current arrow in circuitikz with the label:

i=$i(x+\Delta x,t)$ 

but it does not appear correctly. My code is:


\begin{center}\begin{circuitikz} \draw
(0,0) to[short,i=$i(x+\Delta x,t)$] (4,0)
; \end{circuitikz} \end{center}


What happens is this:

Is it possible to label it like this?

I ideally want an arrow which I can label, and I thought this would be the easiest way to do so. Anything like this would be fine. I've tried another suggestion of doing \draw[-latex] (2.5,0.5) -- (1.5,0.5); to get this but it does not work for me.


1 Answer 1


The comma in your example is interpreted as an option separator by circuitikz, thus resulting in a compilation error. By adding brackets around the mathematical expression, this will be prevented, and your example will compile nicely.

For your other example, you have to include the line \usetikzlibrary{arrows} to load the latex arrow.



    \draw (0,0) to [short,i=${i(x+\Delta x,t)}$] (4,0);
    \draw[-latex] (0,-1) -- (4,-1) node[below] {$i(x+\Delta x,t)$};


enter image description here

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .