summaryrefslogtreecommitdiff
path: root/graphics
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2022-07-07 03:01:45 +0000
committerNorbert Preining <norbert@preining.info>2022-07-07 03:01:45 +0000
commitc925207bc17a56bf94a6e3d156db27042965136d (patch)
treeb5dc80f7f6791eba6121e1a44c1c2b9a4b46dbb2 /graphics
parent9f9a07ef2eb0c1f25ce9afc7bb94928956c036ea (diff)
CTAN sync 202207070301
Diffstat (limited to 'graphics')
-rw-r--r--graphics/pgf/contrib/bodeplot/README.md4
-rw-r--r--graphics/pgf/contrib/bodeplot/bodeplot.dtx87
-rw-r--r--graphics/pgf/contrib/bodeplot/bodeplot.pdfbin791880 -> 992859 bytes
-rw-r--r--graphics/pstricks/contrib/pst-magneticfield/Changes2
-rw-r--r--graphics/pstricks/contrib/pst-magneticfield/README.md4
-rw-r--r--graphics/pstricks/contrib/pst-magneticfield/doc/pst-magneticfield-doc.bib17
-rw-r--r--graphics/pstricks/contrib/pst-magneticfield/doc/pst-magneticfield-doc.pdfbin29875894 -> 29829881 bytes
-rw-r--r--graphics/pstricks/contrib/pst-magneticfield/doc/pst-magneticfield-doc.tex12
-rw-r--r--graphics/pstricks/contrib/pst-magneticfield/dvips/pst-magneticfield.pro18
-rw-r--r--graphics/pstricks/contrib/pst-magneticfield/tex/pst-magneticfield.tex10
10 files changed, 94 insertions, 60 deletions
diff --git a/graphics/pgf/contrib/bodeplot/README.md b/graphics/pgf/contrib/bodeplot/README.md
index 51253697ee..23733a484e 100644
--- a/graphics/pgf/contrib/bodeplot/README.md
+++ b/graphics/pgf/contrib/bodeplot/README.md
@@ -3,7 +3,7 @@ LaTeX package to plot Bode, Nichols, and Nyquist diagrams.
Inspired by the `bodegraph` package.
-Limitation: Phase plots from TF commands are wrapped between 0 and 360 degrees.
+*Version 1.0.8 and newer store `gnuplot` temporary files in the working directory. Use class option `declutter` to restore pre-v1.0.8 behavior. Option `declutter` can cause errors if used with a `tikzexternalize` prefix.*
Added functionality:
- New `\BodeZPK` and `\BodeTF` commands to generate Bode plots of any transfer function given either poles, zeros, gain, and delay, or numerator and denominator coefficients and delay
@@ -41,3 +41,5 @@ Other new environments and associated commands:
- `NyquistPlot` environment
- `\addNyquistZPKPlot[plot-options]{z/{zeros},p/{poles},k/gain,d/delay}`
- `\addNyquistTFPlot[plot-options]{num/{coeff},den/{coeff},d/delay}`
+
+Limitation: Phase plots from TF commands are wrapped between 0 and 360 degrees. \ No newline at end of file
diff --git a/graphics/pgf/contrib/bodeplot/bodeplot.dtx b/graphics/pgf/contrib/bodeplot/bodeplot.dtx
index a62446b65a..10cc1700aa 100644
--- a/graphics/pgf/contrib/bodeplot/bodeplot.dtx
+++ b/graphics/pgf/contrib/bodeplot/bodeplot.dtx
@@ -40,6 +40,7 @@
\fi
\usepackage{showexpl}
\lstset{%
+ explpreset={numbers=none},
language=[LaTeX]Tex,
basicstyle=\ttfamily\tiny,
commentstyle=\itshape\ttfamily\tiny,
@@ -53,6 +54,7 @@
\usepackage{geometry}
\geometry{lmargin=2in,rmargin=1in,tmargin=1in,bmargin=1in}
\usetikzlibrary{decorations.markings,arrows.meta,spy,backgrounds}
+\usepackage[nottoc]{tocbibind}
\EnableCrossrefs
\CodelineIndex
\RecordChanges
@@ -64,21 +66,21 @@
%</driver>
% \fi
%
-% \CheckSum{1362}
+% \CheckSum{1375}
%
% \changes{v1.0}{2021/10/25}{Initial release}
% \changes{v1.0.4}{2021/11/05}{Fixed unintended optional argument macro expansion}
% \changes{v1.0.6}{2021/11/18}{Fixed issue \#3}
% \changes{v1.0.7}{2021/12/02}{Removed unnecessary semicolons}
% \changes{v1.0.7}{2022/01/18}{Updated documentation}
+% \changes{v1.0.8}{2022/07/06}{Added a new class option `declutter'}
%
% \GetFileInfo{bodeplot.sty}
-%
% \DoNotIndex{\newcommand,\xdef,\gdef,\def,\edef,\addplot,\approx,\arabic,\opt,\typ,\obj,\else,\if@pgfarg,\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\thanks{This document
-% corresponds to \textsf{bodeplot}~v1.0.7,
-% dated January 18, 2021.}}
+% corresponds to \textsf{bodeplot}~v1.0.8,
+% dated July 06, 2022.}}
% \author{Rushikesh Kamalapurkar \\ \texttt{rlkamalapurkar@gmail.com}}
%
% \maketitle
@@ -87,9 +89,16 @@
% \section{Introduction}
%
% Generate Bode, Nyquist, and Nichols plots for transfer functions in the canonical (TF) form \begin{equation}G(s) = e^{-Ts}\frac{b_ms^m+\cdots+b_1s+b_0}{a_ns^n+\cdots+a_1s+a_0}\label{eq:TF}\end{equation} and the zero-pole-gain (ZPK) form \begin{equation}G(s) = Ke^{-Ts}\frac{(s-z_1)(s-z_2)\cdots(s-z_m)}{(s-p_1)(s-p_2)\cdots(s-p_n)}.\label{eq:ZPK}\end{equation} In the equations above, $b_m,\cdots,b_0$ and $a_n,\cdots,a_0$ are real coefficients, $T\geq 0$ is the loop delay, $z_1,\cdots,z_m$ and $p_1,\cdots,p_n$ are complex zeros and poles of the transfer function, respectively, and $K\in \Re$ is the loop gain. For transfer functions in the ZPK format in (\ref{eq:ZPK}) \emph{with zero delay}, this package also supports linear and asymptotic approximation of Bode plots.
-
-% \textbf{Limitation:} in TF form, the phase angles are always between 0 and 360$^\circ$, As such, the Bode phase plots and the Nyquist and Nichols plots will have phase wrapping discontinuities. I do not know how this can be rectified, pull requests are welcome!
-%
+% \subsection{External Dependencies}
+% By default, the package uses |gnuplot| to do all the computations. If |gnuplot| is not available, the |pgf| package option can be used to do the calculations using the native |pgf| math engine. Compilation using the |pgf| math engine is typically slower, but the end result should be the identical.
+%\subsection{Directory Structure}
+% Since version 1.0.8, the |bodeplot| package places all |gnuplot| temporary files in the working directory. The package option |declutter| restores the original behavior where the temporary files are placed in a folder called |gnuplot|.
+% \subsection{Limitations}
+% \begin{itemize}
+% \item In TF form, the phase angles are always between 0 and 360$^\circ$. As such, the Bode phase plots and the Nyquist and Nichols plots will have phase wrapping discontinuities. I do not know how this can be rectified, pull requests are welcome!
+% \item Use of the |declutter| option with other directory management tools such as a |tikzexternalize| prefix is not recommended.
+% \end{itemize}
+% \clearpage
% \section{TL;DR}
% All Bode plots in this section are for the transfer function (with and without a transport delay)
% \begin{equation}
@@ -113,12 +122,11 @@
\end{LTXexample}
\hrulefill
-\clearpage
-\hrulefill
-Bode plot in TF format with arrow decoration, transport delay, and color customization
+Bode plot in TF format with arrow decoration, transport delay, and color customization (note the phase wrapping)
\begin{LTXexample}[pos=r,width=0.5\textwidth]
\BodeTF[%
+ samples=1000,
plot/mag/{blue,thick},
plot/ph/{green,thick},
tikz/{>=latex},
@@ -129,10 +137,12 @@ Bode plot in TF format with arrow decoration, transport delay, and color customi
]
{num/{10,2,2.6,0},den/{1,1,100.25},d/0.01}
{0.01}
-{100}
+{500}
\end{LTXexample}
\hrulefill
+\clearpage
+\hrulefill
Linear approximation with customization
\begin{LTXexample}[pos=l,hsep=20pt,width=0.5\textwidth]
@@ -152,8 +162,6 @@ Linear approximation with customization
\end{LTXexample}
\hrulefill
-\clearpage
-\hrulefill
Plot with delay and customization
\begin{LTXexample}[pos=r,hsep=20pt,width=0.5\textwidth]
@@ -173,6 +181,8 @@ Plot with delay and customization
\end{LTXexample}
\hrulefill
+\clearpage
+\hrulefill
Individual gain and phase plots with more customization
@@ -226,8 +236,6 @@ Individual gain and phase plots with more customization
\end{minipage}
\hrulefill
-\clearpage
-\hrulefill
Nichols chart
\begin{LTXexample}[pos=l,hsep=20pt,width=0.5\textwidth]
@@ -252,6 +260,8 @@ Nichols chart in TF format
\end{LTXexample}
\hrulefill
+\clearpage
+\hrulefill
Multiple Nichols charts with customization
\begin{LTXexample}[pos=l,hsep=20pt,width=0.5\textwidth]
@@ -275,8 +285,6 @@ Multiple Nichols charts with customization
\end{LTXexample}
\hrulefill
-\clearpage
-\hrulefill
Nyquist plot
\begin{LTXexample}[pos=r,hsep=20pt,width=0.5\textwidth]
@@ -312,6 +320,8 @@ Nyquist plot in TF format with arrows
\end{LTXexample}
\hrulefill
+\clearpage
+\hrulefill
Multiple Nyquist plots with customization
\begin{LTXexample}[pos=r,hsep=20pt,width=0.5\textwidth]
@@ -330,8 +340,6 @@ Multiple Nyquist plots with customization
\end{LTXexample}
\hrulefill
-\clearpage
-\hrulefill
Nyquist plots with additional commands, using two different macros
@@ -390,6 +398,7 @@ Nyquist plots with additional commands, using two different macros
\end{minipage}}
\hrulefill
+\clearpage
% \iffalse
%</ignore>
@@ -794,13 +803,18 @@ Nyquist plots with additional commands, using two different macros
% \begin{macro}{gnuplot@id}
% \begin{macro}{gnuplot@prefix}
% \changes{v1.0.3}{2021/11/03}{Added jobname to gnuplot prefix}
+% \changes{v1.0.8}{2022/07/06}{Fixed issue \#6}
% \begin{macro}{gnuplot@degrees}
-% This code is needed to support both |pgfplots| and |gnuplot| simultaneously. New macros are defined for the |pow| and |mod| functions to address differences between the two math engines. We start by processing the |pgf| class option.
+% This code is needed to support both |pgfplots| and |gnuplot| simultaneously. New macros are defined for the |pow| and |mod| functions to address differences between the two math engines. We start by processing the |pgf| and |declutter| class options.
% \begin{macrocode}
\newif\if@pgfarg\@pgfargfalse
\DeclareOption{pgf}{%
\@pgfargtrue
}
+\newif\if@declutterarg\@declutterargfalse
+\DeclareOption{declutter}{%
+ \@declutterargtrue
+}
\ProcessOptions\relax
% \end{macrocode}
% Then, we define two new macros to unify |pgfplots| and |gnuplot|.
@@ -812,16 +826,25 @@ Nyquist plots with additional commands, using two different macros
\newcommand{\n@pow}[2]{(#1)**(#2)}%
\newcommand{\n@mod}[2]{(#1)-(floor((#1)/(#2))*(#2))}%
% \end{macrocode}
-% Then, we create a counter so that a new data table is generated and for each new plot. If the plot macros have not changed, the tables, once generated, can be reused by |gnuplot|, which reduces compilation time.
+% Then, we create a counter so that a new data table is generated and for each new plot. If the plot macros have not changed, the tables, once generated, can be reused by |gnuplot|, which reduces compilation time. The |declutter| option is used to enable the |gnuplot| directory to declutter the working directory.
% \begin{macrocode}
\newcounter{gnuplot@id}%
\setcounter{gnuplot@id}{0}%
- \tikzset{%
- gnuplot@prefix/.style={%
- id=\arabic{gnuplot@id},
- prefix=gnuplot/\jobname
- }%
- }
+ \if@declutterarg
+ \tikzset{%
+ gnuplot@prefix/.style={%
+ id=\arabic{gnuplot@id},
+ prefix=gnuplot/\jobname
+ }%
+ }
+ \else
+ \tikzset{%
+ gnuplot@prefix/.style={%
+ id=\arabic{gnuplot@id},
+ prefix=\jobname
+ }%
+ }
+ \fi
% \end{macrocode}
% Then, we add |set angles degrees| to all |gnuplot| macros to avoid having to convert from degrees to radians everywhere.
% \begin{macrocode}
@@ -833,10 +856,12 @@ Nyquist plots with additional commands, using two different macros
}%
}
% \end{macrocode}
-% If the operating system is not Windows, we create the |gnuplot| folder if it does not already exist. \changes{v1.0.2}{2021/11/01}{Fixed issue \#1}
+% If the operating system is not Windows, and if the |declutter| option is not passed, we create the |gnuplot| folder if it does not already exist. \changes{v1.0.2}{2021/11/01}{Fixed issue \#1}
% \begin{macrocode}
\ifwindows\else
- \immediate\write18{mkdir -p gnuplot}%
+ \if@declutterarg
+ \immediate\write18{mkdir -p gnuplot}%
+ \fi
\fi
\fi
% \end{macrocode}
@@ -1399,7 +1424,7 @@ Nyquist plots with additional commands, using two different macros
% \end{macrocode}
%\end{macro}
% \begin{macro}{\build@TF@plot}
-% This is an internal macro to build parametric Bode magnitude and phase functions by computing the magnitude and the phase given numerator and denominator coefficients and delay (input |#3|). The functions are assigned to user-supplied global magnitude and phase macros (inputs |#1| and |#2|).
+% This is an internal macro to build parametric Bode magnitude and phase functions by computing the magnitude and the phase given numerator and denominator coefficients and delay (input |#3|). The functions are assigned to user-supplied global magnitude and phase macros (inputs |#1| and |#2|). \changes{v1.0.8}{2022/07/05}{Included phase due to delay in wrapping.}
% \begin{macrocode}
\newcommand{\build@TF@plot}[3]{%
\gdef\num@real{0}%
@@ -1451,7 +1476,7 @@ Nyquist plots with additional commands, using two different macros
\fi
}%
\xdef#2{(\n@mod{atan2((\num@im),(\num@real))-atan2((\den@im),%
- (\den@real))+360}{360}-\loop@delay*180*t/pi)}%
+ (\den@real))-\loop@delay*180*t/pi+360}{360})}%
\xdef#1{(20*log10(sqrt((\n@pow{\num@real}{2})+(\n@pow{\num@im}{2})))-%
20*log10(sqrt((\n@pow{\den@real}{2})+(\n@pow{\den@im}{2}))))}%
}
diff --git a/graphics/pgf/contrib/bodeplot/bodeplot.pdf b/graphics/pgf/contrib/bodeplot/bodeplot.pdf
index 0c59f0cce7..4ccba156a5 100644
--- a/graphics/pgf/contrib/bodeplot/bodeplot.pdf
+++ b/graphics/pgf/contrib/bodeplot/bodeplot.pdf
Binary files differ
diff --git a/graphics/pstricks/contrib/pst-magneticfield/Changes b/graphics/pstricks/contrib/pst-magneticfield/Changes
index 7db4a1f61a..6ac1a4c960 100644
--- a/graphics/pstricks/contrib/pst-magneticfield/Changes
+++ b/graphics/pstricks/contrib/pst-magneticfield/Changes
@@ -3,6 +3,7 @@ pst-magneticfield.sty --------
pst-magneticfield.tex --------
+1.17 2022-07-06 - fix for missing colors for bar magnet
1.16 2019-01-21 - fix for linewidtht
1.15 2019-01-17 - added bar magnet
1.14 2011-05-01 - allow arrow definition for the current
@@ -15,5 +16,6 @@ pst-magneticfield.tex --------
pst-magneticfield.pro --------
+0.03 2010-06-11 - modified fix
0.02 2010-06-11 - fix bug with wrong arrow directions
0.01 2010-06-07 - initial pro file
diff --git a/graphics/pstricks/contrib/pst-magneticfield/README.md b/graphics/pstricks/contrib/pst-magneticfield/README.md
index fcfa952ec8..ed39bea7c8 100644
--- a/graphics/pstricks/contrib/pst-magneticfield/README.md
+++ b/graphics/pstricks/contrib/pst-magneticfield/README.md
@@ -10,12 +10,12 @@ CTAN server, http://mirror.ctan.org
PSTricks is PostScript Tricks, the documentation cannot be run
with pdftex, use the sequence latex->dvips->ps2pdf or
-pdflatex with package auto-pst-pdf or xelatex.
+pdflatex with package auto-pst-pdf or xelatex or lualatex.
%% This program can be redistributed and/or modified under the terms
%% of the LaTeX Project Public License Distributed from CTAN archives
%% in directory macros/latex/base/lppl.txt.
-%% $Id: README.md 912 2019-01-17 10:46:15Z herbert $
+%% $Id: README.md 582 2022-07-06 07:49:15Z herbert $
diff --git a/graphics/pstricks/contrib/pst-magneticfield/doc/pst-magneticfield-doc.bib b/graphics/pstricks/contrib/pst-magneticfield/doc/pst-magneticfield-doc.bib
index b96d8703ff..f0c05dda6b 100644
--- a/graphics/pstricks/contrib/pst-magneticfield/doc/pst-magneticfield-doc.bib
+++ b/graphics/pstricks/contrib/pst-magneticfield/doc/pst-magneticfield-doc.bib
@@ -1,14 +1,13 @@
-%% -*-bibtex-*-
@STRING{tugboat = {TUGboat} }
@STRING{dtk = {{D}ie {\TeX}nische {K}om{\"o}die} }
@Book{companion,
author = {Michel Goosens and Frank Mittelbach and Sebastian Rahtz and Dennis Roegel and Herbert Vo\ss},
title = {The {\LaTeX} {G}raphics {C}ompanion},
- publisher = {{Addison-Wesley Publishing Company}},
- edition = {second},
- year = {2007},
- address = {Reading, Mass.}
+ publisher = {{Lehmanns Media}},
+ edition = {2},
+ year = {2022},
+ address = {Berlin and Heidelberg}
}
@Article{girou:01:,
@@ -52,10 +51,10 @@
@Book{PSTricks2,
author = {Herbert Vo\ss{}},
title = {\texttt{PSTricks} -- {G}rafik f\"ur \TeX{} und \LaTeX},
- edition = {fifth},
- publisher = {DANTE -- Lehmanns},
- year = {2008},
- address = {Heidelberg/Hamburg}
+ edition = {7},
+ publisher = {DANTE -- Lehmanns Media},
+ year = {2019},
+ address = {Heidelberg and Berlin}
}
@Book{abramowitz,
diff --git a/graphics/pstricks/contrib/pst-magneticfield/doc/pst-magneticfield-doc.pdf b/graphics/pstricks/contrib/pst-magneticfield/doc/pst-magneticfield-doc.pdf
index 3cb0021fa7..1c51ffa234 100644
--- a/graphics/pstricks/contrib/pst-magneticfield/doc/pst-magneticfield-doc.pdf
+++ b/graphics/pstricks/contrib/pst-magneticfield/doc/pst-magneticfield-doc.pdf
Binary files differ
diff --git a/graphics/pstricks/contrib/pst-magneticfield/doc/pst-magneticfield-doc.tex b/graphics/pstricks/contrib/pst-magneticfield/doc/pst-magneticfield-doc.tex
index cec15ab89c..da06c2bcda 100644
--- a/graphics/pstricks/contrib/pst-magneticfield/doc/pst-magneticfield-doc.tex
+++ b/graphics/pstricks/contrib/pst-magneticfield/doc/pst-magneticfield-doc.tex
@@ -1,6 +1,7 @@
-%% $Id: pst-magneticfield-doc.tex 916 2019-01-20 19:52:57Z herbert $
-\documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false,smallheadings,
- headexclude,footexclude,oneside]{pst-doc}
+%\RequirePackage{pdfmanagement-testphase}
+%\DeclareDocumentMetadata{}
+\documentclass[11pt,english,bibliography=totoc,parskip=false,headings=small,usegeometry,]{pst-doc}
+
\usepackage{pst-magneticfield}
\let\pstMFfv\fileversion
\usepackage{graphicx}
@@ -18,9 +19,10 @@
\title{\texttt{pst-magneticfield}}
\subtitle{Magnetic field lines of a solenoid; v.\pstMFfv}
-\author{Juergen Gilg\\ Manuel Luque\\Herbert Vo\ss}
+\author{Juergen Gilg (†\,2022)\\ Manuel Luque\\Herbert Vo\ss}
+\docauthor{}
\date{\today}
-\maketitle
+\settitle
\clearpage%
diff --git a/graphics/pstricks/contrib/pst-magneticfield/dvips/pst-magneticfield.pro b/graphics/pstricks/contrib/pst-magneticfield/dvips/pst-magneticfield.pro
index 1e558cca83..c794bf5712 100644
--- a/graphics/pstricks/contrib/pst-magneticfield/dvips/pst-magneticfield.pro
+++ b/graphics/pstricks/contrib/pst-magneticfield/dvips/pst-magneticfield.pro
@@ -1,4 +1,4 @@
-%% $Id: pst-magneticfield.pro 346 2010-06-11 06:12:08Z herbert $
+%% $Id: pst-magneticfield.pro 582 2022-07-06 07:49:15Z herbert $
%%
%% This is file pst-magneticfield.pro,
%%
@@ -16,7 +16,7 @@
%% DESCRIPTION:
%% `pst-magneticfield' is a PSTricks package to draw fields of Helmholtz coils
%%
-%% version 0.02 / 2010-06-11 Herbert Voss <hvoss _at_ tug.org>
+%% version 0.03 / 2010-06-11 Herbert Voss <hvoss _at_ tug.org>
%%
%
/tx@MFieldDict 60 dict def
@@ -25,7 +25,7 @@ tx@MFieldDict begin
% helper functions
/setpixel { 1 0 360 arc fill } bind def
%
-/fleche {
+/setArrow {
gsave
x2 y2 moveto
y2 y1 sub x2 x1 sub atan rotate % 1 1 scale
@@ -165,7 +165,7 @@ tx@MFieldDict begin
% les flèches (xP,yP)
1 1 setValues
nCount 0 eq {/yAxe1 y1 def /yAxe2 y2 def} if
- fleche
+ setArrow
%
Ligne_Champ 0 get aload pop neg moveto % xP -yP
1 1 Ligne_Champ length 1 sub {
@@ -176,7 +176,7 @@ tx@MFieldDict begin
trace 1 eq {
% (xP,-yP)
1 -1 setValues
- fleche
+ setArrow
} if
Ligne_Champ 0 get aload pop exch neg exch moveto % -xP yP
1 1 Ligne_Champ length 1 sub {
@@ -186,7 +186,7 @@ tx@MFieldDict begin
stroke
% (-xP,yP)
-1 1 setValues
- fleche
+ setArrow
Ligne_Champ 0 get aload pop exch neg exch neg moveto % -xP -yP
1 1 Ligne_Champ length 1 sub {
/iCompteur ED
@@ -196,7 +196,7 @@ tx@MFieldDict begin
trace 1 eq {
% (-xP,-yP)
-1 -1 setValues
- fleche
+ setArrow
} if
} def
%
@@ -275,12 +275,12 @@ StreamDensityPlot {
/y1 yAxe1 def
/y2 yAxe2 def
/x2 0 def
- fleche
+ setArrow
%/x1 0 def
/y1 yAxe2 neg def
/y2 yAxe1 neg def
%/x2 0 def
- fleche } if
+ setArrow } if
% quelques lignes de champ autour de chaque spire
/trace 0 def
/increment 0.25 Radius mul def
diff --git a/graphics/pstricks/contrib/pst-magneticfield/tex/pst-magneticfield.tex b/graphics/pstricks/contrib/pst-magneticfield/tex/pst-magneticfield.tex
index 690afeca27..17d9d9a2e0 100644
--- a/graphics/pstricks/contrib/pst-magneticfield/tex/pst-magneticfield.tex
+++ b/graphics/pstricks/contrib/pst-magneticfield/tex/pst-magneticfield.tex
@@ -1,7 +1,7 @@
%% Package `pst-magneticfield.tex'
%%
%% Manuel Luque
-%% Jürgen Gilg
+%% Jürgen Gilg († 2022)
%% Herbert Voß
%%
%% This program can be redistributed and/or modified under
@@ -22,8 +22,8 @@
\ifx\MultidoLoaded\endinput\else \input multido.tex\fi
\ifx\PSTXKeyLoaded\endinput\else \input pst-xkey \fi
%
-\def\fileversion{1.16}
-\def\filedate{2019/01/21}
+\def\fileversion{1.17}
+\def\filedate{2022/07/06}
\message{`pst-magneticfield' v\fileversion, \filedate\space (ml,jg,hv)}
%
\edef\PstAtCode{\the\catcode`\@} \catcode`\@=11\relax
@@ -210,6 +210,10 @@
\fi}
}%
+\definecolor{Red}{cmyk}{0,1,1,0}
+\definecolor{BrickRed}{cmyk}{0,0.89,0.94,0.28}
+\definecolor{Green}{cmyk}{1,0,1,0}
+
\def\psBarMagnet{\pst@object{psBarMagnet}}
\def\psBarMagnet@i{\@ifnextchar(\psBarMagnet@ii{\psBarMagnet@ii(0,0)}}%
\def\psBarMagnet@ii(#1){%