texlive[65074] Master/texmf-dist: bodeplot

commits+karl at tug.org commits+karl at tug.org
Mon Nov 21 21:54:45 CET 2022


Revision: 65074
          http://tug.org/svn/texlive?view=revision&revision=65074
Author:   karl
Date:     2022-11-21 21:54:45 +0100 (Mon, 21 Nov 2022)
Log Message:
-----------
bodeplot

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/bodeplot/bodeplot.pdf
    trunk/Master/texmf-dist/source/latex/bodeplot/bodeplot.dtx
    trunk/Master/texmf-dist/tex/latex/bodeplot/bodeplot.sty

Modified: trunk/Master/texmf-dist/doc/latex/bodeplot/bodeplot.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/latex/bodeplot/bodeplot.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/bodeplot/bodeplot.dtx	2022-11-21 20:52:04 UTC (rev 65073)
+++ trunk/Master/texmf-dist/source/latex/bodeplot/bodeplot.dtx	2022-11-21 20:54:45 UTC (rev 65074)
@@ -68,7 +68,7 @@
 %</driver>
 % \fi
 %
-% \CheckSum{1726}
+% \CheckSum{1641}
 %
 % \changes{v1.0}{2021/10/25}{Initial release}
 % \changes{v1.0.4}{2021/11/05}{Fixed unintended optional argument macro expansion}
@@ -82,7 +82,7 @@
 % \GetFileInfo{bodeplot.sty}
 % \DoNotIndex{\newcommand,\xdef,\gdef,\def,\edef,\addplot,\approx,\arabic,\opt,\typ,\obj,\else,\if at pgfarg,\if at Hzarg,\if at radarg,\if at declutterarg,\fi,\begin,\end,\feature,\footnotesize,\draw,\detokenize,\DeclareOption,\foreach,\ifdim,\ifodd,\Im,\Re,\let,\newif,\nextgroupplot,\noexpand,\expandafter,\unexpanded,\PackageError,\PackageWarning,\relax,\RequirePackage,\tikzset,\pgfmathsetmacro,\pgfmathtruncatemacro,\ProcessOptions}
 %
-% \title{The \textsf{bodeplot} package\\version 1.1.2}
+% \title{The \textsf{bodeplot} package\\version 1.1.3}
 % \author{Rushikesh Kamalapurkar \\ \texttt{rlkamalapurkar at gmail.com}}
 %
 % \maketitle
@@ -1351,7 +1351,7 @@
 %    \end{macrocode} 
 % \end{macro}
 % \begin{macro}{\addBodeZPKPlots}
-% This macro is designed to issues multiple |\addplot| macros for the same set of poles, zeros, gain, and delay. All of the work is done by the |\build at ZPK@plot| macro. \changes{v1.0.1}{2021/10/29}{Improved optional argument handling.}\changes{v1.1.1}{2022/07/31}{Enabled `Hz' and `rad' units for frequency and phase, respectively}
+% This macro is designed to issues multiple |\addplot| macros for the same set of poles, zeros, gain, and delay. All of the work is done by the |\build at ZPK@plot| macro. \changes{v1.0.1}{2021/10/29}{Improved optional argument handling.}\changes{v1.1.1}{2022/07/31}{Enabled `Hz' and `rad' units for frequency and phase, respectively}\changes{v1.1.3}{2022/11/02}{Changed implementation to respect user-supplied domain}
 %    \begin{macrocode}
 \newcommand{\addBodeZPKPlots}[3][true/{}]{
   \foreach \approx/\opt in {#1} {
@@ -1362,11 +1362,8 @@
     \else
       \build at ZPK@plot{\plot at macro}{\temp at macro}{\approx}{#3}
     \fi
-    \edef\supplied at domain{\pgfkeysvalueof{/pgfplots/domain}}
-    \edef\domain at start{\expandafter\get at interval@start\supplied at domain\@nil}
-    \edef\domain at end{\expandafter\get at interval@end\supplied at domain\@nil}
     \if at pgfarg
-      \edef\temp at cmd{\noexpand\addplot [freq at filter, domain=\domain at start*\freq at scale:\domain at end*\freq at scale, variable=t, thick, \opt]}
+      \edef\temp at cmd{\noexpand\addplot [freq at filter, domain=\freq at scale*\pgfkeysvalueof{/pgfplots/domain}*\freq at scale, variable=t, thick, \opt]}
       \temp at cmd {\plot at macro};
     \else
       \stepcounter{gnuplot at id}
@@ -1375,7 +1372,7 @@
       { set table $meta;
         set dummy t;
         set logscale x 10;
-        set xrange [\domain at start*\freq at scale:\domain at end*\freq at scale];
+        set xrange [\freq at scale*\pgfkeysvalueof{/pgfplots/domain}*\freq at scale];
         set samples \pgfkeysvalueof{/pgfplots/samples};
         plot \plot at macro;
         set table "\bodeplot at prefix\arabic{gnuplot at id}.table";
@@ -1387,7 +1384,7 @@
 %    \end{macrocode}
 %\end{macro}
 % \begin{macro}{\addBodeTFPlot}
-% This macro is designed to issues a single |\addplot| macros for the set of coefficients and delay. All of the work is done by the |\build at TF@plot| macro.  \changes{v1.1.0}{2022/07/06}{Fixed phase wrapping in gnuplot mode}\changes{v1.1.1}{2022/07/31}{Enabled `Hz' and `rad' units for frequency and phase, respectively}
+% This macro is designed to issues a single |\addplot| macros for the set of coefficients and delay. All of the work is done by the |\build at TF@plot| macro.  \changes{v1.1.0}{2022/07/06}{Fixed phase wrapping in gnuplot mode}\changes{v1.1.1}{2022/07/31}{Enabled `Hz' and `rad' units for frequency and phase, respectively}\changes{v1.1.3}{2022/11/02}{Changed implementation to respect user-supplied domain}
 %    \begin{macrocode}
 \newcommand{\addBodeTFPlot}[3][thick]{
   \gdef\plot at macro{}
@@ -1397,14 +1394,13 @@
   \else
     \build at TF@plot{\plot at macro}{\temp at macro}{#3}
   \fi
-  \edef\supplied at domain{\pgfkeysvalueof{/pgfplots/domain}}
-  \edef\domain at start{\expandafter\get at interval@start\supplied at domain\@nil}
-  \edef\domain at end{\expandafter\get at interval@end\supplied at domain\@nil}
   \if at pgfarg
     \ifnum\pdf at strcmp{#2}{phase}=0
-      \addplot [freq at filter, domain=\domain at start*\freq at scale:\domain at end*\freq at scale, variable=t, #1]{\n at mod{\plot at macro}{2*pi}};
+      \edef\temp at cmd{\noexpand\addplot [freq at filter, domain=\freq at scale*\pgfkeysvalueof{/pgfplots/domain}*\freq at scale, variable=t, #1]}
+      \temp at cmd {\n at mod{\plot at macro}{2*pi}};
     \else
-      \addplot [freq at filter, domain=\domain at start*\freq at scale:\domain at end*\freq at scale, variable=t, #1]{\plot at macro};
+      \edef\temp at cmd{\noexpand\addplot [freq at filter, domain=\freq at scale*\pgfkeysvalueof{/pgfplots/domain}*\freq at scale, variable=t, #1]}
+      \temp at cmd {\plot at macro};
     \fi
   \else
     \stepcounter{gnuplot at id}
@@ -1413,7 +1409,7 @@
       { set table $meta;
         set dummy t;
         set logscale x 10;
-        set trange [\domain at start*\freq at scale:\domain at end*\freq at scale];
+        set trange [\freq at scale*\pgfkeysvalueof{/pgfplots/domain}*\freq at scale];
         set samples \pgfkeysvalueof{/pgfplots/samples};
         plot '+' using (t) : ((\plot at macro)/(\ph at scale)) smooth unwrap;
         set table "\bodeplot at prefix\arabic{gnuplot at id}.table";
@@ -1424,7 +1420,7 @@
         { set table $meta;
           set dummy t;
           set logscale x 10;
-          set xrange [\domain at start*\freq at scale:\domain at end*\freq at scale];
+          set xrange [\freq at scale*\pgfkeysvalueof{/pgfplots/domain}*\freq at scale];
           set samples \pgfkeysvalueof{/pgfplots/samples};
           plot \plot at macro;
           set table "\bodeplot at prefix\arabic{gnuplot at id}.table";
@@ -1436,14 +1432,12 @@
 %    \end{macrocode}
 %\end{macro}
 % \begin{macro}{\addBodeComponentPlot}
-% This macro is designed to issue a single |\addplot| macro capable of plotting linear combinations of the basic components described in Section \ref{sec:BasicComponents}. The only work to do here is to handle the |pgf| package option.\changes{v1.1.1}{2022/07/31}{Enabled `Hz' and `rad' units for frequency and phase, respectively}
+% This macro is designed to issue a single |\addplot| macro capable of plotting linear combinations of the basic components described in Section \ref{sec:BasicComponents}. The only work to do here is to handle the |pgf| package option.\changes{v1.1.1}{2022/07/31}{Enabled `Hz' and `rad' units for frequency and phase, respectively}\changes{v1.1.3}{2022/11/02}{Changed implementation to respect user-supplied domain}
 %    \begin{macrocode}
 \newcommand{\addBodeComponentPlot}[2][thick]{
-  \edef\supplied at domain{\pgfkeysvalueof{/pgfplots/domain}}
-  \edef\domain at start{\expandafter\get at interval@start\supplied at domain\@nil}
-  \edef\domain at end{\expandafter\get at interval@end\supplied at domain\@nil}
   \if at pgfarg
-    \addplot [freq at filter, domain=\domain at start*\freq at scale:\domain at end*\freq at scale, variable=t, #1] {#2};
+    \edef\temp at cmd{\noexpand\addplot [freq at filter, domain=\freq at scale*\pgfkeysvalueof{/pgfplots/domain}*\freq at scale, variable=t, #1]}
+    \temp at cmd {#2};
   \else
     \stepcounter{gnuplot at id}
     \addplot [variable=t, #1] gnuplot [raw gnuplot, gnuplot at prefix]
@@ -1450,7 +1444,7 @@
     { set table $meta;
       set dummy t;
       set logscale x 10;
-      set xrange [\domain at start*\freq at scale:\domain at end*\freq at scale];
+      set xrange [\freq at scale*\pgfkeysvalueof{/pgfplots/domain}*\freq at scale];
       set samples \pgfkeysvalueof{/pgfplots/samples};
       plot #2;
       set table "\bodeplot at prefix\arabic{gnuplot at id}.table";
@@ -1852,21 +1846,20 @@
 %    \end{macrocode}
 % \end{macro}
 % \begin{macro}{\addNyquistZPKPlot}
-% Adds Nyquist plot of a transfer function in ZPK form. This macro is designed to pass two parametric function to an |\addplot| macro. The parametric functions for phase (|\func at ph|) and magnitude (|\func at mag|) are built using the |\build at ZPK@plot| macro, converted to real and imaginary parts and passed to |\addplot| commands.\changes{v1.1.1}{2022/07/31}{Enabled `Hz' and `rad' units for frequency and phase, respectively}
+% Adds Nyquist plot of a transfer function in ZPK form. This macro is designed to pass two parametric function to an |\addplot| macro. The parametric functions for phase (|\func at ph|) and magnitude (|\func at mag|) are built using the |\build at ZPK@plot| macro, converted to real and imaginary parts and passed to |\addplot| commands.\changes{v1.1.1}{2022/07/31}{Enabled `Hz' and `rad' units for frequency and phase, respectively}\changes{v1.1.3}{2022/11/02}{Changed implementation to respect user-supplied domain}
 %    \begin{macrocode}
 \newcommand{\addNyquistZPKPlot}[2][]{
   \gdef\func at mag{}
   \gdef\func at ph{}
   \build at ZPK@plot{\func at mag}{\func at ph}{}{#2}
-  \edef\supplied at domain{\pgfkeysvalueof{/pgfplots/domain}}
-  \edef\domain at start{\expandafter\get at interval@start\supplied at domain\@nil}
-  \edef\domain at end{\expandafter\get at interval@end\supplied at domain\@nil}
   \if at pgfarg
-    \addplot [domain=\domain at start*\freq at scale:\domain at end*\freq at scale, variable=t, #1] ( {\n at pow{10}{((\func at mag)/20)}*cos((\func at ph)/(\ph at scale))},
+    \edef\temp at cmd{\noexpand\addplot [domain=\freq at scale*\pgfkeysvalueof{/pgfplots/domain}*\freq at scale, variable=t, #1]}
+    \temp at cmd ( {\n at pow{10}{((\func at mag)/20)}*cos((\func at ph)/(\ph at scale))},
       {\n at pow{10}{((\func at mag)/20)}*sin((\func at ph)/(\ph at scale))} );
   \else
     \stepcounter{gnuplot at id}
-    \addplot [domain=\domain at start*\freq at scale:\domain at end*\freq at scale, variable=t, #1] gnuplot [parametric, gnuplot at prefix] {
+    \edef\temp at cmd{\noexpand\addplot [domain=\freq at scale*\pgfkeysvalueof{/pgfplots/domain}*\freq at scale, variable=t, #1]}
+    \temp at cmd gnuplot [parametric, gnuplot at prefix] {
       \n at pow{10}{((\func at mag)/20)}*cos((\func at ph)/(\ph at scale)),
       \n at pow{10}{((\func at mag)/20)}*sin((\func at ph)/(\ph at scale))
     };
@@ -1875,21 +1868,20 @@
 %    \end{macrocode}
 %\end{macro}
 % \begin{macro}{\addNyquistTFPlot}
-% Adds Nyquist plot of a transfer function in TF form. This macro is designed to pass two parametric function to an |\addplot| macro. The parametric functions for phase (|\func at ph|) and magnitude (|\func at mag|) are built using the |\build at TF@plot| macro, converted to real and imaginary parts and passed to |\addplot| commands.\changes{v1.1.1}{2022/07/31}{Enabled `Hz' and `rad' units for frequency and phase, respectively}
+% Adds Nyquist plot of a transfer function in TF form. This macro is designed to pass two parametric function to an |\addplot| macro. The parametric functions for phase (|\func at ph|) and magnitude (|\func at mag|) are built using the |\build at TF@plot| macro, converted to real and imaginary parts and passed to |\addplot| commands.\changes{v1.1.1}{2022/07/31}{Enabled `Hz' and `rad' units for frequency and phase, respectively}\changes{v1.1.3}{2022/11/02}{Changed implementation to respect user-supplied domain}
 %    \begin{macrocode}
 \newcommand{\addNyquistTFPlot}[2][]{
   \gdef\func at mag{}
   \gdef\func at ph{}
   \build at TF@plot{\func at mag}{\func at ph}{#2}
-  \edef\supplied at domain{\pgfkeysvalueof{/pgfplots/domain}}
-  \edef\domain at start{\expandafter\get at interval@start\supplied at domain\@nil}
-  \edef\domain at end{\expandafter\get at interval@end\supplied at domain\@nil}
   \if at pgfarg
-    \addplot [domain=\domain at start*\freq at scale:\domain at end*\freq at scale, variable=t, #1] ( {\n at pow{10}{((\func at mag)/20)}*cos((\func at ph)/(\ph at scale))},
+    \edef\temp at cmd{\noexpand\addplot [domain=\freq at scale*\pgfkeysvalueof{/pgfplots/domain}*\freq at scale, variable=t, #1]}
+    \temp at cmd ( {\n at pow{10}{((\func at mag)/20)}*cos((\func at ph)/(\ph at scale))},
       {\n at pow{10}{((\func at mag)/20)}*sin((\func at ph)/(\ph at scale))} );
   \else
     \stepcounter{gnuplot at id}
-    \addplot [domain=\domain at start*\freq at scale:\domain at end*\freq at scale, variable=t, #1] gnuplot [parametric, gnuplot at prefix]{
+    \edef\temp at cmd{\noexpand\addplot [domain=\freq at scale*\pgfkeysvalueof{/pgfplots/domain}*\freq at scale, variable=t, #1]}
+    \temp at cmd gnuplot [parametric, gnuplot at prefix]{
       \n at pow{10}{((\func at mag)/20)}*cos((\func at ph)/(\ph at scale)),
       \n at pow{10}{((\func at mag)/20)}*sin((\func at ph)/(\ph at scale))
     };
@@ -1960,8 +1952,9 @@
 % \begin{macro}{NicholsChart}
 % \changes{v1.0.3}{2021/11/03}{Added tikz option to environments}\changes{v1.1.2}{2022/10/29}{Defined using the `NewEniron' command from the `environ' package to fix conflicts with externalization}
 % \begin{macro}{\addNicholsZPKChart}
+% \changes{v1.1.3}{2022/11/02}{Changed implementation to respect user-supplied domain}
 % \begin{macro}{\addNicholsTFChart}
-% These macros and the |NicholsChart| environment generate Nichols charts, and they are implemented similar to their Nyquist counterparts.\changes{v1.1.1}{2022/07/31}{Enabled `Hz' and `rad' units for frequency and phase, respectively}
+% These macros and the |NicholsChart| environment generate Nichols charts, and they are implemented similar to their Nyquist counterparts.\changes{v1.1.1}{2022/07/31}{Enabled `Hz' and `rad' units for frequency and phase, respectively}\changes{v1.1.3}{2022/11/02}{Changed implementation to respect user-supplied domain}
 %    \begin{macrocode}
 \newcommand{\NicholsZPK}[4][]{
   \parse at N@opt{#1}
@@ -2064,11 +2057,9 @@
   \gdef\func at mag{}
   \gdef\func at ph{}
   \build at ZPK@plot{\func at mag}{\func at ph}{}{#2}
-  \edef\supplied at domain{\pgfkeysvalueof{/pgfplots/domain}}
-  \edef\domain at start{\expandafter\get at interval@start\supplied at domain\@nil}
-  \edef\domain at end{\expandafter\get at interval@end\supplied at domain\@nil}
   \if at pgfarg
-    \addplot [variable=t, domain=\domain at start*\freq at scale:\domain at end*\freq at scale, #1] ( {\func at ph} , {\func at mag} );
+    \edef\temp at cmd{\noexpand\addplot [domain=\freq at scale*\pgfkeysvalueof{/pgfplots/domain}*\freq at scale, variable=t, #1]}
+    \temp at cmd ( {\func at ph} , {\func at mag} );
   \else
     \stepcounter{gnuplot at id}
     \addplot [#1] gnuplot [raw gnuplot, gnuplot at prefix]
@@ -2076,7 +2067,7 @@
       set logscale x 10;
       set dummy t;
       set samples \pgfkeysvalueof{/pgfplots/samples};
-      set trange [\domain at start*\freq at scale:\domain at end*\freq at scale];
+      set trange [\freq at scale*\pgfkeysvalueof{/pgfplots/domain}*\freq at scale];
       plot '+' using (\func at mag) : ((\func at ph)/(\ph at scale));
       unset logscale x;
       set table "\bodeplot at prefix\arabic{gnuplot at id}.table";
@@ -2088,11 +2079,9 @@
   \gdef\func at mag{}
   \gdef\func at ph{}
   \build at TF@plot{\func at mag}{\func at ph}{#2}
-  \edef\supplied at domain{\pgfkeysvalueof{/pgfplots/domain}}
-  \edef\domain at start{\expandafter\get at interval@start\supplied at domain\@nil}
-  \edef\domain at end{\expandafter\get at interval@end\supplied at domain\@nil}
   \if at pgfarg
-    \addplot [variable=t, domain=\domain at start*\freq at scale:\domain at end*\freq at scale, #1] ( {\n at mod{\func at ph}{2*pi*\ph at scale}} , {\func at mag} );
+    \edef\temp at cmd{\noexpand\addplot [domain=\freq at scale*\pgfkeysvalueof{/pgfplots/domain}*\freq at scale, variable=t, #1]}
+    \temp at cmd ( {\n at mod{\func at ph}{2*pi*\ph at scale}} , {\func at mag} );
   \else
     \stepcounter{gnuplot at id}
     \addplot [#1] gnuplot [raw gnuplot, gnuplot at prefix]
@@ -2100,7 +2089,7 @@
       set logscale x 10;
       set dummy t;
       set samples \pgfkeysvalueof{/pgfplots/samples};
-      set trange [\domain at start*\freq at scale:\domain at end*\freq at scale];
+      set trange [\freq at scale*\pgfkeysvalueof{/pgfplots/domain}*\freq at scale];
       plot '+' using (\func at mag) : ((\func at ph)/(\ph at scale));
       unset logscale x;
       set table $meta2;

Modified: trunk/Master/texmf-dist/tex/latex/bodeplot/bodeplot.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/bodeplot/bodeplot.sty	2022-11-21 20:52:04 UTC (rev 65073)
+++ trunk/Master/texmf-dist/tex/latex/bodeplot/bodeplot.sty	2022-11-21 20:54:45 UTC (rev 65074)
@@ -348,11 +348,8 @@
     \else
       \build at ZPK@plot{\plot at macro}{\temp at macro}{\approx}{#3}
     \fi
-    \edef\supplied at domain{\pgfkeysvalueof{/pgfplots/domain}}
-    \edef\domain at start{\expandafter\get at interval@start\supplied at domain\@nil}
-    \edef\domain at end{\expandafter\get at interval@end\supplied at domain\@nil}
     \if at pgfarg
-      \edef\temp at cmd{\noexpand\addplot [freq at filter, domain=\domain at start*\freq at scale:\domain at end*\freq at scale, variable=t, thick, \opt]}
+      \edef\temp at cmd{\noexpand\addplot [freq at filter, domain=\freq at scale*\pgfkeysvalueof{/pgfplots/domain}*\freq at scale, variable=t, thick, \opt]}
       \temp at cmd {\plot at macro};
     \else
       \stepcounter{gnuplot at id}
@@ -361,7 +358,7 @@
       { set table $meta;
         set dummy t;
         set logscale x 10;
-        set xrange [\domain at start*\freq at scale:\domain at end*\freq at scale];
+        set xrange [\freq at scale*\pgfkeysvalueof{/pgfplots/domain}*\freq at scale];
         set samples \pgfkeysvalueof{/pgfplots/samples};
         plot \plot at macro;
         set table "\bodeplot at prefix\arabic{gnuplot at id}.table";
@@ -378,14 +375,13 @@
   \else
     \build at TF@plot{\plot at macro}{\temp at macro}{#3}
   \fi
-  \edef\supplied at domain{\pgfkeysvalueof{/pgfplots/domain}}
-  \edef\domain at start{\expandafter\get at interval@start\supplied at domain\@nil}
-  \edef\domain at end{\expandafter\get at interval@end\supplied at domain\@nil}
   \if at pgfarg
     \ifnum\pdf at strcmp{#2}{phase}=0
-      \addplot [freq at filter, domain=\domain at start*\freq at scale:\domain at end*\freq at scale, variable=t, #1]{\n at mod{\plot at macro}{2*pi}};
+      \edef\temp at cmd{\noexpand\addplot [freq at filter, domain=\freq at scale*\pgfkeysvalueof{/pgfplots/domain}*\freq at scale, variable=t, #1]}
+      \temp at cmd {\n at mod{\plot at macro}{2*pi}};
     \else
-      \addplot [freq at filter, domain=\domain at start*\freq at scale:\domain at end*\freq at scale, variable=t, #1]{\plot at macro};
+      \edef\temp at cmd{\noexpand\addplot [freq at filter, domain=\freq at scale*\pgfkeysvalueof{/pgfplots/domain}*\freq at scale, variable=t, #1]}
+      \temp at cmd {\plot at macro};
     \fi
   \else
     \stepcounter{gnuplot at id}
@@ -394,7 +390,7 @@
       { set table $meta;
         set dummy t;
         set logscale x 10;
-        set trange [\domain at start*\freq at scale:\domain at end*\freq at scale];
+        set trange [\freq at scale*\pgfkeysvalueof{/pgfplots/domain}*\freq at scale];
         set samples \pgfkeysvalueof{/pgfplots/samples};
         plot '+' using (t) : ((\plot at macro)/(\ph at scale)) smooth unwrap;
         set table "\bodeplot at prefix\arabic{gnuplot at id}.table";
@@ -405,7 +401,7 @@
         { set table $meta;
           set dummy t;
           set logscale x 10;
-          set xrange [\domain at start*\freq at scale:\domain at end*\freq at scale];
+          set xrange [\freq at scale*\pgfkeysvalueof{/pgfplots/domain}*\freq at scale];
           set samples \pgfkeysvalueof{/pgfplots/samples};
           plot \plot at macro;
           set table "\bodeplot at prefix\arabic{gnuplot at id}.table";
@@ -415,11 +411,9 @@
   \fi
 }
 \newcommand{\addBodeComponentPlot}[2][thick]{
-  \edef\supplied at domain{\pgfkeysvalueof{/pgfplots/domain}}
-  \edef\domain at start{\expandafter\get at interval@start\supplied at domain\@nil}
-  \edef\domain at end{\expandafter\get at interval@end\supplied at domain\@nil}
   \if at pgfarg
-    \addplot [freq at filter, domain=\domain at start*\freq at scale:\domain at end*\freq at scale, variable=t, #1] {#2};
+    \edef\temp at cmd{\noexpand\addplot [freq at filter, domain=\freq at scale*\pgfkeysvalueof{/pgfplots/domain}*\freq at scale, variable=t, #1]}
+    \temp at cmd {#2};
   \else
     \stepcounter{gnuplot at id}
     \addplot [variable=t, #1] gnuplot [raw gnuplot, gnuplot at prefix]
@@ -426,7 +420,7 @@
     { set table $meta;
       set dummy t;
       set logscale x 10;
-      set xrange [\domain at start*\freq at scale:\domain at end*\freq at scale];
+      set xrange [\freq at scale*\pgfkeysvalueof{/pgfplots/domain}*\freq at scale];
       set samples \pgfkeysvalueof{/pgfplots/samples};
       plot #2;
       set table "\bodeplot at prefix\arabic{gnuplot at id}.table";
@@ -776,15 +770,14 @@
   \gdef\func at mag{}
   \gdef\func at ph{}
   \build at ZPK@plot{\func at mag}{\func at ph}{}{#2}
-  \edef\supplied at domain{\pgfkeysvalueof{/pgfplots/domain}}
-  \edef\domain at start{\expandafter\get at interval@start\supplied at domain\@nil}
-  \edef\domain at end{\expandafter\get at interval@end\supplied at domain\@nil}
   \if at pgfarg
-    \addplot [domain=\domain at start*\freq at scale:\domain at end*\freq at scale, variable=t, #1] ( {\n at pow{10}{((\func at mag)/20)}*cos((\func at ph)/(\ph at scale))},
+    \edef\temp at cmd{\noexpand\addplot [domain=\freq at scale*\pgfkeysvalueof{/pgfplots/domain}*\freq at scale, variable=t, #1]}
+    \temp at cmd ( {\n at pow{10}{((\func at mag)/20)}*cos((\func at ph)/(\ph at scale))},
       {\n at pow{10}{((\func at mag)/20)}*sin((\func at ph)/(\ph at scale))} );
   \else
     \stepcounter{gnuplot at id}
-    \addplot [domain=\domain at start*\freq at scale:\domain at end*\freq at scale, variable=t, #1] gnuplot [parametric, gnuplot at prefix] {
+    \edef\temp at cmd{\noexpand\addplot [domain=\freq at scale*\pgfkeysvalueof{/pgfplots/domain}*\freq at scale, variable=t, #1]}
+    \temp at cmd gnuplot [parametric, gnuplot at prefix] {
       \n at pow{10}{((\func at mag)/20)}*cos((\func at ph)/(\ph at scale)),
       \n at pow{10}{((\func at mag)/20)}*sin((\func at ph)/(\ph at scale))
     };
@@ -794,15 +787,14 @@
   \gdef\func at mag{}
   \gdef\func at ph{}
   \build at TF@plot{\func at mag}{\func at ph}{#2}
-  \edef\supplied at domain{\pgfkeysvalueof{/pgfplots/domain}}
-  \edef\domain at start{\expandafter\get at interval@start\supplied at domain\@nil}
-  \edef\domain at end{\expandafter\get at interval@end\supplied at domain\@nil}
   \if at pgfarg
-    \addplot [domain=\domain at start*\freq at scale:\domain at end*\freq at scale, variable=t, #1] ( {\n at pow{10}{((\func at mag)/20)}*cos((\func at ph)/(\ph at scale))},
+    \edef\temp at cmd{\noexpand\addplot [domain=\freq at scale*\pgfkeysvalueof{/pgfplots/domain}*\freq at scale, variable=t, #1]}
+    \temp at cmd ( {\n at pow{10}{((\func at mag)/20)}*cos((\func at ph)/(\ph at scale))},
       {\n at pow{10}{((\func at mag)/20)}*sin((\func at ph)/(\ph at scale))} );
   \else
     \stepcounter{gnuplot at id}
-    \addplot [domain=\domain at start*\freq at scale:\domain at end*\freq at scale, variable=t, #1] gnuplot [parametric, gnuplot at prefix]{
+    \edef\temp at cmd{\noexpand\addplot [domain=\freq at scale*\pgfkeysvalueof{/pgfplots/domain}*\freq at scale, variable=t, #1]}
+    \temp at cmd gnuplot [parametric, gnuplot at prefix]{
       \n at pow{10}{((\func at mag)/20)}*cos((\func at ph)/(\ph at scale)),
       \n at pow{10}{((\func at mag)/20)}*sin((\func at ph)/(\ph at scale))
     };
@@ -953,11 +945,9 @@
   \gdef\func at mag{}
   \gdef\func at ph{}
   \build at ZPK@plot{\func at mag}{\func at ph}{}{#2}
-  \edef\supplied at domain{\pgfkeysvalueof{/pgfplots/domain}}
-  \edef\domain at start{\expandafter\get at interval@start\supplied at domain\@nil}
-  \edef\domain at end{\expandafter\get at interval@end\supplied at domain\@nil}
   \if at pgfarg
-    \addplot [variable=t, domain=\domain at start*\freq at scale:\domain at end*\freq at scale, #1] ( {\func at ph} , {\func at mag} );
+    \edef\temp at cmd{\noexpand\addplot [domain=\freq at scale*\pgfkeysvalueof{/pgfplots/domain}*\freq at scale, variable=t, #1]}
+    \temp at cmd ( {\func at ph} , {\func at mag} );
   \else
     \stepcounter{gnuplot at id}
     \addplot [#1] gnuplot [raw gnuplot, gnuplot at prefix]
@@ -965,7 +955,7 @@
       set logscale x 10;
       set dummy t;
       set samples \pgfkeysvalueof{/pgfplots/samples};
-      set trange [\domain at start*\freq at scale:\domain at end*\freq at scale];
+      set trange [\freq at scale*\pgfkeysvalueof{/pgfplots/domain}*\freq at scale];
       plot '+' using (\func at mag) : ((\func at ph)/(\ph at scale));
       unset logscale x;
       set table "\bodeplot at prefix\arabic{gnuplot at id}.table";
@@ -977,11 +967,9 @@
   \gdef\func at mag{}
   \gdef\func at ph{}
   \build at TF@plot{\func at mag}{\func at ph}{#2}
-  \edef\supplied at domain{\pgfkeysvalueof{/pgfplots/domain}}
-  \edef\domain at start{\expandafter\get at interval@start\supplied at domain\@nil}
-  \edef\domain at end{\expandafter\get at interval@end\supplied at domain\@nil}
   \if at pgfarg
-    \addplot [variable=t, domain=\domain at start*\freq at scale:\domain at end*\freq at scale, #1] ( {\n at mod{\func at ph}{2*pi*\ph at scale}} , {\func at mag} );
+    \edef\temp at cmd{\noexpand\addplot [domain=\freq at scale*\pgfkeysvalueof{/pgfplots/domain}*\freq at scale, variable=t, #1]}
+    \temp at cmd ( {\n at mod{\func at ph}{2*pi*\ph at scale}} , {\func at mag} );
   \else
     \stepcounter{gnuplot at id}
     \addplot [#1] gnuplot [raw gnuplot, gnuplot at prefix]
@@ -989,7 +977,7 @@
       set logscale x 10;
       set dummy t;
       set samples \pgfkeysvalueof{/pgfplots/samples};
-      set trange [\domain at start*\freq at scale:\domain at end*\freq at scale];
+      set trange [\freq at scale*\pgfkeysvalueof{/pgfplots/domain}*\freq at scale];
       plot '+' using (\func at mag) : ((\func at ph)/(\ph at scale));
       unset logscale x;
       set table $meta2;



More information about the tex-live-commits mailing list.