EmMudando os sinais de tensão +- no circuitikzresposta, eles usaram "/tikz/circuitikz/voltage/distance from node" para definir a distância que os sinais +/- estão longe do componente (ou bem, nó), e quando eu uso esse código exato, ele funciona como mostrado , mas não consigo entender por que meu código parece não funcionar. Estou usando o ctikzset incorretamente?
\documentclass{standalone}
\usepackage[siunitx, american, RPvoltages]{circuitikz}
\begin{document}
\begin{circuitikz}
\ctikzset{/tikz/circuitikz/voltage/distance from node=0.3cm}
\draw
(0,0) to [generic, v<=40<\volt>] (0,3);
\end{circuitikz}
\begin{circuitikz}
\ctikzset{/tikz/circuitikz/voltage/distance from node=1cm}
\draw
(0,0) to [generic, v<=40<\volt>] (0,3);
\end{circuitikz}
\end{document}
Responder1
Adiciono o MWE com a sugestão do simpático usuário @ferahfeza.
\documentclass[12pt]{standalone}
\usepackage[siunitx, american]{circuitikz}
\begin{document}
\begin{circuitikz}
\ctikzset{bipoles/generic/voltage/distance from node=0.6cm}
\draw
(0,0) to [generic, v<=40<\volt>] (0,3);
\end{circuitikz}
\begin{circuitikz}
\ctikzset{/tikz/circuitikz/voltage/distance from node=1cm}
\draw
(0,0) to [generic, v<=40<\volt>] (0,3);
\end{circuitikz}
\end{document}
Responder2
Acrescentarei uma resposta aqui porque, embora a resposta dada funcione, parece-me que contém alguns mal-entendidos.
Primeiro de tudo --- \ctikzset{key}
é equivalente a (aproximadamente) \tikzset{/tikz/circuitikz/key}
, então o uso desse comando é de alguma forma redundante acima.
Veja o exemplo a seguir:
\documentclass[12pt]{standalone}
\usepackage[EFvoltages, siunitx, american]{circuitikz}
\begin{document}
\begin{circuitikz}
\draw (-2,0) to [generic, v<=1<\volt>, d-d] ++(0,3);
\ctikzset{voltage/distance from node=1cm}
\draw (0,0) to [generic, v<=2<\volt>, d-d] ++(0,3);
\ctikzset{bipoles/generic/voltage/distance from node=.3cm}
\draw (2,0) to [generic, v<=3<\volt>, d-d] ++(0,3);
\ctikzset{bipoles/generic/voltage/distance from node=1cm}
\draw (4,0) to [generic, v<=4<\volt>, d-d] ++(0,3);
\end{circuitikz}
\end{document}
A saída é a seguinte:
Como você pode ver, parece que o primeiro \ctikzset
não está fazendo nada --- os componentes com 1V e 2V estão na mesma posição de +
e -
(na verdade, está causando estragos, continue lendo). Isso ocorre porque a voltage/distance from node
chave é a padrão, que no caso de generic
é substituída pela distância específica do componente[*] bipoles/generic/voltage/distance from node
que é definida como 0.4
. O significado é explicado aqui --- esta é uma distância proporcional do nó ao componente:
...como você pode ver, agora o comando funciona conforme o esperado. Observe que se você usar valores absolutos para distance from node
você estará sozinho se o lead for menor...
Nota técnica: o argumento de distance from node
é realmente usado em uma calc
expressão TikZ como:($(node)!argument!(start of the component)$)
Por que o primeiro comando está causando estragos: porque agora ele definiu a distância em 1cm paratodosos componentesmenosos especiais abaixo...
Haverá um patch de documentação em breve:https://github.com/circuitikz/circuitikz/pull/438
- isso acontece para
generic
,,,ageneric
ememristor
. Vou documentar isso na próxima versão do manual.fullgeneric
open