From 5d04032d3de48582e3199329b8ec2219cc20a2eb Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 14 Oct 2020 21:44:17 +0000 Subject: circuitikz (14oct20) git-svn-id: svn://tug.org/texlive/trunk@56660 c570f23f-e606-0410-a88d-b1316a301751 --- .../third/circuitikz/circuitikz-context.pdf | Bin 17743 -> 17743 bytes .../texmf-dist/doc/generic/circuitikz/CHANGELOG.md | 7 ++++++ .../texmf-dist/doc/latex/circuitikz/changelog.tex | 13 ++++++++++ .../doc/latex/circuitikz/circuitikzmanual.pdf | Bin 1083975 -> 1093750 bytes .../doc/latex/circuitikz/circuitikzmanual.tex | 27 +++++++++++++++++++++ .../tex/context/third/circuitikz/t-circuitikz.tex | 4 +-- .../tex/generic/circuitikz/pgfcirclabel.tex | 14 ++++++++--- .../tex/generic/circuitikz/pgfcircvoltage.tex | 2 +- .../texmf-dist/tex/latex/circuitikz/circuitikz.sty | 4 +-- 9 files changed, 62 insertions(+), 9 deletions(-) diff --git a/Master/texmf-dist/doc/context/third/circuitikz/circuitikz-context.pdf b/Master/texmf-dist/doc/context/third/circuitikz/circuitikz-context.pdf index 5fe1659424d..411929d4116 100644 Binary files a/Master/texmf-dist/doc/context/third/circuitikz/circuitikz-context.pdf and b/Master/texmf-dist/doc/context/third/circuitikz/circuitikz-context.pdf differ diff --git a/Master/texmf-dist/doc/generic/circuitikz/CHANGELOG.md b/Master/texmf-dist/doc/generic/circuitikz/CHANGELOG.md index 14ce065fbc4..5999837873a 100644 --- a/Master/texmf-dist/doc/generic/circuitikz/CHANGELOG.md +++ b/Master/texmf-dist/doc/generic/circuitikz/CHANGELOG.md @@ -1,6 +1,13 @@ The major changes among the different circuitikz versions are listed here. See for a full list of changes. +* Version 1.2.5 (2020-10-14) + + Mainly a bugfix release fir `raised` voltage style. + + - added macro to access labels and annotations anchors and direction + - fixed a bug in "raised" voltages' positions with `invert` and/or `mirror` + * Version 1.2.4 (2020-10-04) - several documentation enhancment diff --git a/Master/texmf-dist/doc/latex/circuitikz/changelog.tex b/Master/texmf-dist/doc/latex/circuitikz/changelog.tex index 0a7467452bb..a414bf258b9 100644 --- a/Master/texmf-dist/doc/latex/circuitikz/changelog.tex +++ b/Master/texmf-dist/doc/latex/circuitikz/changelog.tex @@ -4,6 +4,19 @@ here. See \url{https://github.com/circuitikz/circuitikz/commits} for a full list of changes. \begin{itemize} +\item + Version 1.2.5 (2020-10-14) + + Mainly a bugfix release fir \texttt{raised} voltage style. + + \begin{itemize} + \tightlist + \item + added macro to access labels and annotations anchors and direction + \item + fixed a bug in ``raised'' voltages' positions with \texttt{invert} + and/or \texttt{mirror} + \end{itemize} \item Version 1.2.4 (2020-10-04) diff --git a/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.pdf b/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.pdf index e1ccb1f8214..bf155cae308 100644 Binary files a/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.pdf and b/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.pdf differ diff --git a/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.tex b/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.tex index b952bdc2919..bdb000b19a8 100644 --- a/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.tex +++ b/Master/texmf-dist/doc/latex/circuitikz/circuitikzmanual.tex @@ -6412,6 +6412,33 @@ Since 0.9.5, you can access all the labels nodes\footnote{The access to \texttt{ \end{circuitikz} \end{LTXexample} + +If you want to have more access to the label positioning algorithm, since \texttt{1.2.5} you can access the label rotation using with the command \texttt{\textbackslash ctikzgetrotation\{\emph{nodename}\}} (where node name is for example \texttt{L1label} or \texttt{L2annotation}), and the anchor used for positioning the node as \texttt{\textbackslash ctikzgetanchor\{\emph{component label}\}\{\emph{type}\}}, where \emph{component label} is, for example, \texttt{L1} and type is either \texttt{label} or \texttt{annotation} (notice that the syntax is slightly different, for implementation reasons). +Those values are available only if the dipole declares a \texttt{l} or \texttt{a} keys; if you want them without any label you need to declare a blank one (like for example \texttt{l=\textasciitilde}). +The following example gives an idea of the values of those macro for the three types of label positioning strategies. + +\begin{LTXexample}[varwidth=true, pos=t, basicstyle=\small\ttfamily] +\newcommand{\marklabann}[3][45]{% [angle] {node label} {type: label or annotation} +\node[circle, draw, blue, inner sep=1pt, +pin={[draw, blue, font=\tiny, align=left]#1:{#2 \\ dir: \ctikzgetdirection{#2#3} \\ + anchor: \ctikzgetanchor{#2}{#3}}}] at (#2#3.\ctikzgetanchor{#2}{#3}) {};} +\begin{tikzpicture}[scale=0.95, transform shape] +\foreach \style/\xdelta in {straight/0, smart/5, rotate/10} { +\begin{scope}[xshift=\xdelta cm] + \ctikzset{label/align = \style} + \draw (0,0) node[above right, rotate=45]{\style} + to[L, o-, l=$L_{ab}$, v, name=L1, a=a] ++(3,3) + to[ceV, -*, v, name=V1, l2_=L1 and L2, a^=A] ++(0,-3); + \marklabann[135]{L1}{label} + \marklabann[-90]{L1}{annotation} + \marklabann[90]{V1}{label} + \marklabann[-90]{V1}{annotation} +\end{scope}} +\end{tikzpicture} +\end{LTXexample} + + + \subsection{Advanced voltages, currents and flows}\label{sec:vif-anchors} Since version \texttt{1.2.1}, it is possible to access the anchors of the ``ornaments'' --- voltage, current and flows, together with some additional information that makes it possible to personalize them. diff --git a/Master/texmf-dist/tex/context/third/circuitikz/t-circuitikz.tex b/Master/texmf-dist/tex/context/third/circuitikz/t-circuitikz.tex index 1b45f630bd9..c571704c243 100644 --- a/Master/texmf-dist/tex/context/third/circuitikz/t-circuitikz.tex +++ b/Master/texmf-dist/tex/context/third/circuitikz/t-circuitikz.tex @@ -10,8 +10,8 @@ % % See the files gpl-3.0_license.txt and lppl-1-3c_license.txt for more details. -\def\pgfcircversion{1.2.4} -\def\pgfcircversiondate{2020/10/04} +\def\pgfcircversion{1.2.5} +\def\pgfcircversiondate{2020/10/14} \writestatus{loading}{\pgfcircversiondate{} The CircuiTikz circuit drawing package version \pgfcircversion} \usemodule[tikz] diff --git a/Master/texmf-dist/tex/generic/circuitikz/pgfcirclabel.tex b/Master/texmf-dist/tex/generic/circuitikz/pgfcirclabel.tex index a83279ee8ce..5f65d770794 100644 --- a/Master/texmf-dist/tex/generic/circuitikz/pgfcirclabel.tex +++ b/Master/texmf-dist/tex/generic/circuitikz/pgfcirclabel.tex @@ -195,7 +195,8 @@ \pgf@circ@res@temp=1.5\pgf@circ@res@temp \fi %Calculate rotation of the label from direction and strip decimals - \edef\pgfcirclabrot{\expandafter\pgf@circ@stripdecimals\pgf@circ@direction\pgf@nil} + \pgfmathsetmacro{\pgfcirclabrot}{round(\pgf@circ@direction)} + \edef\pgfcirclabrot{\expandafter\pgf@circ@stripdecimals\pgfcirclabrot\pgf@nil} % rotate the label at second or third quadrant: \ifnum \pgfcirclabrot > 90 \ifnum \pgfcirclabrot < 270 \pgfmathsubtract{\pgf@circ@direction}{180} @@ -205,8 +206,10 @@ \pgf@circ@res@temp=1.5\pgf@circ@res@temp \fi \fi\fi - \pgfmathparse{\ctikzvalof{bipole/#1/position}>0?\pgf@circ@direction+90:\pgf@circ@direction-90} - \edef\pgf@circ@labposangle{\expandafter\pgf@circ@stripdecimals\pgfmathresult\pgf@nil} + \pgfmathparse{\ctikzvalof{bipole/#1/position}>0?\pgf@circ@direction+90:\pgf@circ@direction-90}% + \edef\pgf@circ@labposangle{\expandafter\pgf@circ@stripdecimals\pgfmathresult\pgf@nil}% + \expandafter\xdef\csname pgfcirc@\pgfcirc@a@prefix#1-direction\endcsname{\pgfcirclabrot}% + \expandafter\xdef\csname pgfcirc@\pgfcirc@a@prefix-#1-anchor\endcsname{mid}% } % reset cm is not working correctly here (pgfcirc@labelcoor)++(\pgf@circ@labposangle:\the\pgf@circ@res@temp) coordinate(pgfcirc@labelcoor) @@ -250,7 +253,6 @@ \fi \fi\fi %Values between -5 and 5 are at pos /neg x-axis - \pgfextra{\def\uffa{}\newdimen\realshift\realshift=\dimexpr1pt\relax} \ifnum \pgfcircmathresult <6 \ifnum \pgfcircmathresult > -6 \ifnum \ctikzvalof{bipole/#1/position} < 0 \ifnum \pgf@circ@labanc > 90 @@ -281,6 +283,10 @@ \fi \fi \fi\fi + \pgfextra{% + \expandafter\xdef\csname pgfcirc@\pgfcirc@a@prefix#1-direction\endcsname{0}% + \expandafter\xdef\csname pgfcirc@\pgfcirc@a@prefix-#1-anchor\endcsname{\pgf@circ@labanctext}% + } (pgfcirc@labelcoor) node[anchor=\pgf@circ@labanctext, inner sep=0.5\pgf@circ@res@temp, outer sep=0pt, \circuitikzbasekey/bipole #1 style, ](\ctikzvalof{bipole/name}#1){\strut\pgf@circ@finallabels{#1}% diff --git a/Master/texmf-dist/tex/generic/circuitikz/pgfcircvoltage.tex b/Master/texmf-dist/tex/generic/circuitikz/pgfcircvoltage.tex index 0b9c9dd779f..d6c11db0405 100644 --- a/Master/texmf-dist/tex/generic/circuitikz/pgfcircvoltage.tex +++ b/Master/texmf-dist/tex/generic/circuitikz/pgfcircvoltage.tex @@ -177,7 +177,7 @@ \fi \ifpgf@circuit@bipole@voltage@raised \def\pgf@circ@bipole@voltage@label@anchor{center} - \pgfmathsetlength{\absvshift}{\absvshift+height{"Q"}} % with the current font. + \pgfmathsetlength{\absvshift}{\absvshift+sign(\absvshift)*height{"Q"}} % with the current font. \fi } % %\pgf@circ@Rlen/\ctikzvalof{current arrow scale} is equal to the length of the currarrow diff --git a/Master/texmf-dist/tex/latex/circuitikz/circuitikz.sty b/Master/texmf-dist/tex/latex/circuitikz/circuitikz.sty index 3fdb137c4be..24fde4cd3d9 100644 --- a/Master/texmf-dist/tex/latex/circuitikz/circuitikz.sty +++ b/Master/texmf-dist/tex/latex/circuitikz/circuitikz.sty @@ -12,8 +12,8 @@ \NeedsTeXFormat{LaTeX2e} -\def\pgfcircversion{1.2.4} -\def\pgfcircversiondate{2020/10/04} +\def\pgfcircversion{1.2.5} +\def\pgfcircversiondate{2020/10/14} \ProvidesPackage{circuitikz}% [\pgfcircversiondate{} The CircuiTikz circuit drawing package version \pgfcircversion] -- cgit v1.2.3