Resistenze in parallelo e resistenza equivalente
Nel seguito viene riportato lo snippet in \TeX-\LaTeX di un gruppo di resistenze in parallelo con annessa resistenza equivalente. Trattasi di una possibile soluzione in \TeX-\LaTeX all’immagine – visibile in basso – che appare nell’articolo Elementi in parallelo: resistenze.
Come tutti i linguaggi di programmazione – anche se nello specifico è più corretto parlare di un linguaggio di markup basato sul programma di composizione tipografica TeX – possono esserci diversi metodi per arrivare alla medesima soluzione.
Nel seguito ne viene riportata una per la quale voglio ringraziare l’utente stackexchange Rmano (sezione \TeX-\LaTeX), nonché uno degli autori del pacchetto CircuiTikZ, per il prezioso suggerimento successivamente modificato per l’occasione.
\documentclass[]{article} \usepackage[siunitx, RPvoltages]{circuitikz} \begin{document} \newcounter{number} \setcounter{number}{1} \begin{circuitikz}[american] \def\gap{3.5} \draw (0,0) to[short, i=$I$,*-*] ++(5,0) coordinate(a) node[above=0.1cm]{A} to[short, i=$I_3$] ++(0,-\gap) coordinate(a3) to[R, l=\mbox{$R_3$}] ++(0,-3) coordinate(b3) to[short] ++(0,-\gap) coordinate(b) node[below=0.1cm]{B} to[short,*-*] ++(-5,0) (0,1.5) to[american voltages, open, v_=$V$] (0,-11.5); \foreach \deg in {48, 22, -22, -48} { \ifnum\value{number}=3 {\stepcounter{number}}\fi \path (a) ++({-\gap*sin(\deg)},-\gap) coordinate(number); \draw (a) to[short, i=$I_{\thenumber}$,-] (number) to[R, l=$R_{\thenumber}$] (number|-b3) to[short,-] (b); \stepcounter{number} } \draw (10,0) to[short, i=$I$,*-*] ++(5,0) coordinate(a) node[above=0.1cm]{A} to[short] ++(0,-\gap) coordinate(a3) to[R, l=\mbox{$R_{eq}$}] ++(0,-3) coordinate(b3) to[short] ++(0,-\gap) coordinate(b) node[below=0.1cm]{B} to[short,*-*] ++(-5,0) (10,1.5) to[american voltages, open, v_=$V$] (10,-11.5); \end{circuitikz} \begin{displaymath} R_{eq}=\frac{1}{\frac{1}{R_1}+\frac{1}{R_2}+\frac{1}{R_3}+\frac{1}{R_4}+\frac{1}{R_5}} \end{displaymath} \end{document}
Dopo il necessario – e scontato – preambolo del documento, ovvero le istruzioni comprese tra \documentclass e \begin{document} inclusi, viene definito alla riga 5 un contatore di nome number che verrà utilizzato come variabile nel seguito del codice per assegnare il numero alle resistenze. Il suo valore viene inizializzato a 1 con l’istruzione della riga 6.
Alla riga 9 viene definita la variabile gap utilizzando il comando \def \variabile dell’ambiente TeX. Da osservare come il suddetto comando in alcuni casi potrebbe risultare problematico poiché non verificando la presenza di macro potrebbe sovrascriverne di preesistenti senza produrre alcun errore in output. In caso di lunghi documenti è preferibile utilizzare \newcommand in luogo di \def.
A questo punto si disegna la resistenza centrale R_3, i collegamenti e le etichette con le righe che vanno dalla 10 alla 15. Le stesse righe vengono riprese dalla 27 alla 32 per disegnare la resistenza equivalente visibile sulla destra.
Tutto ciò compreso tra le righe 18-25 applica il suggerimento linkato in precedenza ovvero il disegnare il resistore non tra i nodi A e B, ma a partire da un livello orizzontale intermedio che collega – con inclinazione desiderata – i nodi A e B. In particolare tutta la procedura, applicando un po’ di matematica, avviene con le righe che vanno dalla 20 alla 23.
Rispetto al suggerimento è stato utilizzato una istruzione \foreach con variabile deg assumere di volta in volta i valori riportatati tra parentesi graffe.
L’istruzione \ifnum alla riga 19 viene utilizzata per saltare il valore 3 del contatore number e questo perché la resistenza R_3 è stata già etichettata alla riga 12.
Un pensiero su “Resistenze in parallelo e resistenza equivalente”