summaryrefslogtreecommitdiff
path: root/graphics
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-09-25 03:01:31 +0000
committerNorbert Preining <norbert@preining.info>2021-09-25 03:01:31 +0000
commit8322a8a248262d9acaadab2fa12d90012fcf1877 (patch)
tree5dd59d39bf68ca7c1882c1a07aec8470b36dc20e /graphics
parent5d714d9476cbb90b125ff14a9d764ad90bb7c2ed (diff)
CTAN sync 202109250301
Diffstat (limited to 'graphics')
-rw-r--r--graphics/pstricks/base/Changes7
-rw-r--r--graphics/pstricks/base/config/distiller.cfg2
-rw-r--r--graphics/pstricks/base/config/dvips.cfg2
-rw-r--r--graphics/pstricks/base/config/dvipsone.cfg2
-rw-r--r--graphics/pstricks/base/config/gastex.cfg2
-rw-r--r--graphics/pstricks/base/config/textures.cfg2
-rw-r--r--graphics/pstricks/base/config/vtex.cfg2
-rw-r--r--graphics/pstricks/base/doc/PSTricks.bib17
-rw-r--r--graphics/pstricks/base/doc/pst-doc.cls20
-rw-r--r--graphics/pstricks/base/doc/pst-news.tex2
-rw-r--r--graphics/pstricks/base/doc/pst-news08.pdfbin131821 -> 195188 bytes
-rw-r--r--graphics/pstricks/base/doc/pst-news09.tex2
-rw-r--r--graphics/pstricks/base/doc/pst-news10.tex2
-rw-r--r--graphics/pstricks/base/doc/pst-news11.tex2
-rw-r--r--graphics/pstricks/base/doc/pst-news12.tex2
-rw-r--r--graphics/pstricks/base/doc/pst-news13.tex2
-rw-r--r--graphics/pstricks/base/doc/pst-news14.tex2
-rw-r--r--graphics/pstricks/base/doc/pst-news15.tex2
-rw-r--r--graphics/pstricks/base/doc/pst-news16.tex2
-rw-r--r--graphics/pstricks/base/doc/pst-news17.tex2
-rw-r--r--graphics/pstricks/base/doc/pst-news18.tex2
-rw-r--r--graphics/pstricks/base/doc/pst-news19.pdfbin71977 -> 59875 bytes
-rw-r--r--graphics/pstricks/base/doc/pst-news19.tex36
-rw-r--r--graphics/pstricks/base/doc/pst-news20.tex2
-rw-r--r--graphics/pstricks/base/doc/pst-news21.pdfbin129583 -> 129526 bytes
-rw-r--r--graphics/pstricks/base/doc/pst-news21.tex6
-rw-r--r--graphics/pstricks/base/dvips/pst-dots.pro465
-rw-r--r--graphics/pstricks/base/dvips/pstricks.pro11
-rw-r--r--graphics/pstricks/base/generic/pstricks-arrows.tex54
-rw-r--r--graphics/pstricks/base/generic/pstricks-color.tex2
-rw-r--r--graphics/pstricks/base/generic/pstricks-dots.tex228
-rw-r--r--graphics/pstricks/base/generic/pstricks-tex.def3
-rw-r--r--graphics/pstricks/base/generic/pstricks.con7
-rw-r--r--graphics/pstricks/base/generic/pstricks.tex400
-rw-r--r--graphics/pstricks/base/generic/pstricks97.tex2
-rw-r--r--graphics/pstricks/base/latex/pstricks-pdf.sty2
-rw-r--r--graphics/pstricks/base/latex/pstricks.sty3
-rw-r--r--graphics/pstricks/contrib/pst-3dplot/Changes1
-rw-r--r--graphics/pstricks/contrib/pst-3dplot/README3
-rw-r--r--graphics/pstricks/contrib/pst-3dplot/doc/pst-3dplot-doc.pdfbin2378418 -> 1046808 bytes
-rw-r--r--graphics/pstricks/contrib/pst-3dplot/doc/pst-3dplot-doc.tex17
-rw-r--r--graphics/pstricks/contrib/pst-3dplot/tex/pst-3dplot.tex22
-rw-r--r--graphics/pstricks/contrib/pst-plot/Changes4
-rw-r--r--graphics/pstricks/contrib/pst-plot/doc/pst-plot-doc.bib34
-rw-r--r--graphics/pstricks/contrib/pst-plot/doc/pst-plot-doc.pdfbin1316550 -> 1202217 bytes
-rw-r--r--graphics/pstricks/contrib/pst-plot/doc/pst-plot-doc.tex56
-rw-r--r--graphics/pstricks/contrib/pst-plot/latex/pst-plot.sty2
-rw-r--r--graphics/pstricks/contrib/pst-plot/tex/pst-plot.tex89
-rw-r--r--graphics/pstricks/contrib/pst-tools/Changes1
-rw-r--r--graphics/pstricks/contrib/pst-tools/README2
-rw-r--r--graphics/pstricks/contrib/pst-tools/doc/pst-tools-doc.pdfbin151064 -> 139102 bytes
-rw-r--r--graphics/pstricks/contrib/pst-tools/doc/pst-tools-doc.tex53
-rw-r--r--graphics/pstricks/contrib/pst-tools/dvips/pst-tools.pro2
-rw-r--r--graphics/pstricks/contrib/pst-tools/tex/pst-tools.tex15
54 files changed, 903 insertions, 697 deletions
diff --git a/graphics/pstricks/base/Changes b/graphics/pstricks/base/Changes
index e1104a5330..3afab9a35a 100644
--- a/graphics/pstricks/base/Changes
+++ b/graphics/pstricks/base/Changes
@@ -1,4 +1,4 @@
-% $Id: Changes 212 2021-09-10 09:21:06Z herbert $
+% $Id: Changes 253 2021-09-15 09:56:15Z herbert $
For all changes see file History! Here are only the last one changes
listed.
@@ -26,6 +26,11 @@ pstricks.tex --------
versions like 2.47a have only changes in other files, but not
in this main package.
+3.10 2021-09-23 - move dot macros into a separate file pstricks-dots.tex
+ - use the internal Type1 version of PSTricksDotFont for
+ latex and the OpenType version for lualatex
+ - fix for rotation with \rput
+3.09 2021-09-15 - fix for \uput and lualatex
3.08 2021-09-10 - moved the color stuff into a separate file pstricks-colors
- added macros to get the color values without the color model name
3.07 2021-09-05 - fix for vee arrows in pstricks-arrows
diff --git a/graphics/pstricks/base/config/distiller.cfg b/graphics/pstricks/base/config/distiller.cfg
index 9ade331215..db654b14d7 100644
--- a/graphics/pstricks/base/config/distiller.cfg
+++ b/graphics/pstricks/base/config/distiller.cfg
@@ -1,4 +1,4 @@
-% $Id: distiller.cfg 4 2020-06-09 08:32:19Z herbert $
+% $Id: distiller.cfg 446 2017-04-19 11:40:55Z herbert $
%% BEGIN: distiller.con (for distiller driver)
%%
%% Configuration file for PSTricks
diff --git a/graphics/pstricks/base/config/dvips.cfg b/graphics/pstricks/base/config/dvips.cfg
index f9c5da698e..d9648c1d0a 100644
--- a/graphics/pstricks/base/config/dvips.cfg
+++ b/graphics/pstricks/base/config/dvips.cfg
@@ -1,4 +1,4 @@
-% $Id: dvips.cfg 4 2020-06-09 08:32:19Z herbert $
+% $Id: dvips.cfg 797 2018-08-23 18:33:16Z herbert $
%% BEGIN: pstricks.con (for dvips driver)
%%
%% Configuration file for PSTricks
diff --git a/graphics/pstricks/base/config/dvipsone.cfg b/graphics/pstricks/base/config/dvipsone.cfg
index bb59975bfa..965e635fd5 100644
--- a/graphics/pstricks/base/config/dvipsone.cfg
+++ b/graphics/pstricks/base/config/dvipsone.cfg
@@ -1,4 +1,4 @@
-% $Id: dvipsone.cfg 4 2020-06-09 08:32:19Z herbert $
+% $Id: dvipsone.cfg 446 2017-04-19 11:40:55Z herbert $
%% BEGIN pstricks.con (for DVIPSONE driver)
%%
%% Configuration file for PSTricks 97: must be renamed `pstricks.con'
diff --git a/graphics/pstricks/base/config/gastex.cfg b/graphics/pstricks/base/config/gastex.cfg
index f0fe5486cd..b3549c8c56 100644
--- a/graphics/pstricks/base/config/gastex.cfg
+++ b/graphics/pstricks/base/config/gastex.cfg
@@ -1,4 +1,4 @@
-% $Id: gastex.cfg 4 2020-06-09 08:32:19Z herbert $
+% $Id: gastex.cfg 446 2017-04-19 11:40:55Z herbert $
%% BEGIN: pstricks.con (for xdvipdfmx driver)
%%
%% Configuration file for PSTricks
diff --git a/graphics/pstricks/base/config/textures.cfg b/graphics/pstricks/base/config/textures.cfg
index ef088b5791..48667d3950 100644
--- a/graphics/pstricks/base/config/textures.cfg
+++ b/graphics/pstricks/base/config/textures.cfg
@@ -1,4 +1,4 @@
-% $Id: textures.cfg 4 2020-06-09 08:32:19Z herbert $
+% $Id: textures.cfg 446 2017-04-19 11:40:55Z herbert $
%% BEGIN pstricks.con (for Textures 1.7 and 1.8 driver)
%%
%% Configuration file for PSTricks 97: must be renamed `pstricks.con'
diff --git a/graphics/pstricks/base/config/vtex.cfg b/graphics/pstricks/base/config/vtex.cfg
index 7cb84c0f9e..e4b7184404 100644
--- a/graphics/pstricks/base/config/vtex.cfg
+++ b/graphics/pstricks/base/config/vtex.cfg
@@ -1,4 +1,4 @@
-% $Id: vtex.cfg 4 2020-06-09 08:32:19Z herbert $
+% $Id: vtex.cfg 446 2017-04-19 11:40:55Z herbert $
%% BEGIN: pstricks.con (for VTeX)
%%
%% Configuration file for PSTricks 97
diff --git a/graphics/pstricks/base/doc/PSTricks.bib b/graphics/pstricks/base/doc/PSTricks.bib
index d49525facf..daaa78d445 100644
--- a/graphics/pstricks/base/doc/PSTricks.bib
+++ b/graphics/pstricks/base/doc/PSTricks.bib
@@ -1,21 +1,4 @@
@STRING{dtk = {{D}ie {\TeX}nische {K}om{\"o}die} }
-@STRING{beiprogramm = {{\TeX}-Beiprogramm}}
-@STRING{bretter = {Bretter, die die Welt bedeuten}}
-@STRING{dtk = {DTK}}
-@STRING{editorial = {Editorial}}
-@STRING{fremdebuehne = {Von fremden Bühnen}}
-@STRING{fundus = {Aus dem Fundus}}
-@STRING{grusswort = {Grußwort}}
-@STRING{hinterbuehne = {Hinter der Bühne}}
-@STRING{komascript = {\KOMAScript}}
-@STRING{leserbriefe = {Leserbriefe}}
-@STRING{magazin = {Magazin}}
-@STRING{rezensionen = {Bücher und Rezensionen}}
-@STRING{schonimmer = {Was Sie schon immer über {\TeX} wissen wollten, \dots}}
-@STRING{spielplan = {Spielplan}}
-@STRING{theaterkasse = {Von der Theaterkasse}}
-@STRING{theatertage = {{\TeX}-Theatertage}}
-@STRING{tippstricks = {Tipps und Tricks}}
@Book{PostScript,
Author = {Kollock, Nikolai G.},
diff --git a/graphics/pstricks/base/doc/pst-doc.cls b/graphics/pstricks/base/doc/pst-doc.cls
index bcbd86fc5d..befda92d6a 100644
--- a/graphics/pstricks/base/doc/pst-doc.cls
+++ b/graphics/pstricks/base/doc/pst-doc.cls
@@ -454,8 +454,8 @@ xleftmargin=0pt,xrightmargin=0pt,
\def\settitle{%
\thispagestyle{empty}%
- \begin{titlepage}
\newgeometry{lmargin=1cm,rmargin=1cm,bmargin=1cm,includeheadfoot}
+ \begin{titlepage}
\ifpdf
\AddToShipoutPicture*{\includegraphics{pst-doc.pdf}}
\vspace*{0.3\textheight}
@@ -475,16 +475,16 @@ xleftmargin=0pt,xrightmargin=0pt,
\bfseries\tabular[t]{@{}l@{}}\@author\endtabular}}
\clearpage\restoregeometry
\else
- \psset{unit=1cm}
+ \psset{unit=1cm}%
\begin{pspicture}(1.6in,0)(23cm,21.7cm)
- \psframe[fillstyle=solid,linecolor=lightgray,fillcolor=lightgray,linestyle=solid](0,-5.75)(23,10)
- \psframe[fillstyle=solid,linecolor=Orange!85!Red,fillcolor=Orange!85!Red,linestyle=solid](0,10)(23,10.5)
- \psframe[fillstyle=solid,linecolor=Orange!85!Red,fillcolor=Orange!85!Red,linestyle=solid](0,21.1)(23,21.2)
- \rput[lb](3,22){\Huge\sffamily\color{Orange!65!Red}\psscalebox{2}{\textbf{PSTricks}}}
- \rput[lb](3,14.1){\parbox{17cm}{\sffamily\RaggedRight\bfseries\huge\@title}}
- \rput[lb](3,12.6){\parbox{15cm}{\sffamily\Large\@subtitle}}
- \rput[lb](3,7.6){\parbox{15cm}{\sffamily\@date}}
- \rput[lb](3,-2.6){\parbox[b]{19cm}{\sffamily\RaggedRight
+ \psframe[fillstyle=solid,linecolor=lightgray,fillcolor=lightgray,linestyle=solid](0,-5.75)(24,10)
+ \psframe[fillstyle=solid,linecolor=Orange!85!Red,fillcolor=Orange!85!Red,linestyle=solid](0,10)(23.5,10.5)
+ \psframe[fillstyle=solid,linecolor=Orange!85!Red,fillcolor=Orange!85!Red,linestyle=solid](0,21.1)(24,21.2)
+ \rput[lb](4,22){\Huge\sffamily\color{Orange!65!Red}\psscalebox{2}{\textbf{PSTricks}}}
+ \rput[lb](4,14.1){\parbox{17cm}{\sffamily\RaggedRight\bfseries\huge\@title}}
+ \rput[lb](4,12.6){\parbox{15cm}{\sffamily\Large\@subtitle}}
+ \rput[lb](4,8.5){\parbox{15cm}{\sffamily\@date}}
+ \rput[lb](4,-1){\parbox[b]{19cm}{\sffamily\RaggedRight
\ifx\@docauthor\empty~\else Documentation by\fi\hfill\makebox[7cm][l]{Package author(s):}\\
\ifx\@docauthor\empty~\else{\bfseries\tabular[t]{@{}l@{}}\@docauthor\endtabular}\fi\hfill\makebox[7cm][l]{%
\bfseries\shortstack[l]{\@author}
diff --git a/graphics/pstricks/base/doc/pst-news.tex b/graphics/pstricks/base/doc/pst-news.tex
index 6f3946714c..f9e40428f8 100644
--- a/graphics/pstricks/base/doc/pst-news.tex
+++ b/graphics/pstricks/base/doc/pst-news.tex
@@ -1,4 +1,4 @@
-%% $Id: pst-news.tex 4 2020-06-09 08:32:19Z herbert $
+%% $Id: pst-news.tex 444 2017-04-19 10:55:35Z herbert $
\documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false,smallheadings
headexclude,footexclude,oneside]{pst-doc}
\listfiles
diff --git a/graphics/pstricks/base/doc/pst-news08.pdf b/graphics/pstricks/base/doc/pst-news08.pdf
index 00811580d4..428653ebf2 100644
--- a/graphics/pstricks/base/doc/pst-news08.pdf
+++ b/graphics/pstricks/base/doc/pst-news08.pdf
Binary files differ
diff --git a/graphics/pstricks/base/doc/pst-news09.tex b/graphics/pstricks/base/doc/pst-news09.tex
index a548f6e1bb..4a656a8566 100644
--- a/graphics/pstricks/base/doc/pst-news09.tex
+++ b/graphics/pstricks/base/doc/pst-news09.tex
@@ -1,4 +1,4 @@
-%% $Id: pst-news09.tex 4 2020-06-09 08:32:19Z herbert $
+%% $Id: pst-news09.tex 165 2015-07-26 07:27:55Z herbert $
\documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false,smallheadings
headexclude,footexclude,oneside]{pst-doc}
\listfiles
diff --git a/graphics/pstricks/base/doc/pst-news10.tex b/graphics/pstricks/base/doc/pst-news10.tex
index e679c0a617..d4c018d92e 100644
--- a/graphics/pstricks/base/doc/pst-news10.tex
+++ b/graphics/pstricks/base/doc/pst-news10.tex
@@ -1,4 +1,4 @@
-%% $Id: pst-news10.tex 4 2020-06-09 08:32:19Z herbert $
+%% $Id: pst-news10.tex 697 2017-12-30 19:04:03Z herbert $
\documentclass[11pt,english,BCOR=10mm,DIV12,bibliography=totoc,parskip=false,headings=small,,
headinclude=false,footinclude=false,oneside]{pst-doc}
\listfiles
diff --git a/graphics/pstricks/base/doc/pst-news11.tex b/graphics/pstricks/base/doc/pst-news11.tex
index 61efbef06c..a4254f226f 100644
--- a/graphics/pstricks/base/doc/pst-news11.tex
+++ b/graphics/pstricks/base/doc/pst-news11.tex
@@ -1,4 +1,4 @@
-%% $Id: pst-news11.tex 4 2020-06-09 08:32:19Z herbert $
+%% $Id: pst-news11.tex 165 2015-07-26 07:27:55Z herbert $
\documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false,smallheadings
headexclude,footexclude,oneside]{pst-doc}
\listfiles
diff --git a/graphics/pstricks/base/doc/pst-news12.tex b/graphics/pstricks/base/doc/pst-news12.tex
index 2b3e185931..759869d864 100644
--- a/graphics/pstricks/base/doc/pst-news12.tex
+++ b/graphics/pstricks/base/doc/pst-news12.tex
@@ -1,4 +1,4 @@
-%% $Id: pst-news12.tex 4 2020-06-09 08:32:19Z herbert $
+%% $Id: pst-news12.tex 847 2018-12-04 08:04:28Z herbert $
\documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false,smallheadings
headexclude,footexclude,oneside]{pst-doc}
\listfiles
diff --git a/graphics/pstricks/base/doc/pst-news13.tex b/graphics/pstricks/base/doc/pst-news13.tex
index 04b7de5995..2995cf042d 100644
--- a/graphics/pstricks/base/doc/pst-news13.tex
+++ b/graphics/pstricks/base/doc/pst-news13.tex
@@ -1,4 +1,4 @@
-%% $Id: pst-news13.tex 4 2020-06-09 08:32:19Z herbert $
+%% $Id: pst-news13.tex 165 2015-07-26 07:27:55Z herbert $
\documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false,smallheadings
headexclude,footexclude,oneside]{pst-doc}
\listfiles
diff --git a/graphics/pstricks/base/doc/pst-news14.tex b/graphics/pstricks/base/doc/pst-news14.tex
index f0a108fba1..75b209b580 100644
--- a/graphics/pstricks/base/doc/pst-news14.tex
+++ b/graphics/pstricks/base/doc/pst-news14.tex
@@ -1,4 +1,4 @@
-%% $Id: pst-news14.tex 4 2020-06-09 08:32:19Z herbert $
+%% $Id: pst-news14.tex 165 2015-07-26 07:27:55Z herbert $
\documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false,smallheadings
headexclude,footexclude,oneside]{pst-doc}
\listfiles
diff --git a/graphics/pstricks/base/doc/pst-news15.tex b/graphics/pstricks/base/doc/pst-news15.tex
index 231a8bd38c..c2369d7018 100644
--- a/graphics/pstricks/base/doc/pst-news15.tex
+++ b/graphics/pstricks/base/doc/pst-news15.tex
@@ -1,4 +1,4 @@
-%% $Id: pst-news15.tex 4 2020-06-09 08:32:19Z herbert $
+%% $Id: pst-news15.tex 444 2017-04-19 10:55:35Z herbert $
\documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false,smallheadings
headexclude,footexclude,oneside]{pst-doc}
\listfiles
diff --git a/graphics/pstricks/base/doc/pst-news16.tex b/graphics/pstricks/base/doc/pst-news16.tex
index b0d91ec84a..9a544ca5bd 100644
--- a/graphics/pstricks/base/doc/pst-news16.tex
+++ b/graphics/pstricks/base/doc/pst-news16.tex
@@ -1,4 +1,4 @@
-%% $Id: pst-news16.tex 4 2020-06-09 08:32:19Z herbert $
+%% $Id: pst-news16.tex 446 2017-04-19 11:40:55Z herbert $
\documentclass[11pt,english,BCOR=10mm,DIV=12,bibliography=totoc,parskip=false,headings=small,
headinclude=false,footinclude=false,twoside]{pst-doc}
\listfiles
diff --git a/graphics/pstricks/base/doc/pst-news17.tex b/graphics/pstricks/base/doc/pst-news17.tex
index 1bd25716a6..53cf23c2ce 100644
--- a/graphics/pstricks/base/doc/pst-news17.tex
+++ b/graphics/pstricks/base/doc/pst-news17.tex
@@ -1,4 +1,4 @@
-%% $Id: pst-news17.tex 4 2020-06-09 08:32:19Z herbert $
+%% $Id: pst-news17.tex 699 2017-12-31 10:27:45Z herbert $
\documentclass[11pt,english,BCOR=10mm,DIV=12,bibliography=totoc,parskip=false,headings=small,
headinclude=false,footinclude=false,twoside]{pst-doc}
\listfiles
diff --git a/graphics/pstricks/base/doc/pst-news18.tex b/graphics/pstricks/base/doc/pst-news18.tex
index ac3ec7c4a4..dde1638e58 100644
--- a/graphics/pstricks/base/doc/pst-news18.tex
+++ b/graphics/pstricks/base/doc/pst-news18.tex
@@ -1,4 +1,4 @@
-%% $Id: pst-news18.tex 4 2020-06-09 08:32:19Z herbert $
+%% $Id: pst-news17.tex 699 2017-12-31 10:27:45Z herbert $
\documentclass[11pt,english,BCOR=10mm,DIV=12,bibliography=totoc,parskip=false,headings=small,
headinclude=false,footinclude=false,twoside]{pst-doc}
\listfiles
diff --git a/graphics/pstricks/base/doc/pst-news19.pdf b/graphics/pstricks/base/doc/pst-news19.pdf
index 8fceedb1b9..4c32cf3c1c 100644
--- a/graphics/pstricks/base/doc/pst-news19.pdf
+++ b/graphics/pstricks/base/doc/pst-news19.pdf
Binary files differ
diff --git a/graphics/pstricks/base/doc/pst-news19.tex b/graphics/pstricks/base/doc/pst-news19.tex
index c670a6697d..9db696bc29 100644
--- a/graphics/pstricks/base/doc/pst-news19.tex
+++ b/graphics/pstricks/base/doc/pst-news19.tex
@@ -1,4 +1,4 @@
-%% $Id: pst-news19.tex 4 2020-06-09 08:32:19Z herbert $
+%% $Id: pst-news19.tex 934 2019-02-23 14:07:34Z herbert $
\PassOptionsToPackage{useCalc}{pstricks}
\documentclass[11pt,english,BCOR=10mm,DIV=12,bibliography=totoc,parskip=false,headings=small,
headinclude=false,footinclude=false,twoside]{pst-doc}
@@ -54,11 +54,9 @@ this new file.
%--------------------------------------------------------------------------------------
-\section{\texttt{pstricks.tex} (v. 2.98 -- 2019/05/16)}
+\section{\texttt{pstricks.tex} (v. 2.94 -- 2019/01/07)}
%--------------------------------------------------------------------------------------
-\subsection{Plotting multilines}
-
There is a new macro called \Lcs{psLine} (uppercase L!) which can have
only one or two pairs of coordinates. Remember that \Lcs{psline} can have more.
With \Lcs{psLine} and an defined arrow you'll get nothing for something
@@ -120,36 +118,6 @@ coordinates. It needs
\end{LTXexample}
\fi
-%$
-
-\subsection{Relative coordinates -- experimental}
-
-All objects which can have at least two pairs of coordinates
-can use the »+«-operator to mark relative coordinates:
-
-\begin{BDef}
-\Lcs{psline}\OptArgs\OptArg{\Largr{$x_0,y_0$}}\Largr{$x_1,y_1$}+\Largr{$x_2,y_2$}\ldots\\
-\end{BDef}
-
-\begin{LTXexample}[width=5.5cm]
-\begin{pspicture}[showgrid](5,5)
-\psline[linecolor=blue]{->}%
- (1,1)+(3,4)+(-2,-3)
-\end{pspicture}
-\end{LTXexample}
-
-
-\begin{LTXexample}[width=5.5cm]
-\begin{pspicture}[showgrid](-1,-2)(4,3)
-\psaxes[labels=none]{->}(0,0)(-1,-2)(4,3)
-\psbezier%
- (!0.8 -95 PtoC 1 sub)+(8.5;85)+(5;-100)(2,1)%
- +(1;-70)+(0.5;-110)(3,2)%
- +(1;-80)+(0.5;95)(3.4,-0.8)
-\end{pspicture}
-\end{LTXexample}
-
-
\subsection{Error message}
diff --git a/graphics/pstricks/base/doc/pst-news20.tex b/graphics/pstricks/base/doc/pst-news20.tex
index f5a8094d14..00acba1ff2 100644
--- a/graphics/pstricks/base/doc/pst-news20.tex
+++ b/graphics/pstricks/base/doc/pst-news20.tex
@@ -1,4 +1,4 @@
-%% $Id: pst-news20.tex 25 2020-09-18 06:59:21Z herbert $
+%% $Id: pst-news20.tex 23 2020-09-18 06:29:04Z herbert $
\documentclass[11pt,english,BCOR=10mm,DIV=12,bibliography=totoc,parskip=false,headings=small,
headinclude=false,footinclude=false,twoside]{scrartcl}
diff --git a/graphics/pstricks/base/doc/pst-news21.pdf b/graphics/pstricks/base/doc/pst-news21.pdf
index a1b597feef..4f6554e86f 100644
--- a/graphics/pstricks/base/doc/pst-news21.pdf
+++ b/graphics/pstricks/base/doc/pst-news21.pdf
Binary files differ
diff --git a/graphics/pstricks/base/doc/pst-news21.tex b/graphics/pstricks/base/doc/pst-news21.tex
index 7eafc6f3aa..4dcc203c70 100644
--- a/graphics/pstricks/base/doc/pst-news21.tex
+++ b/graphics/pstricks/base/doc/pst-news21.tex
@@ -2,7 +2,7 @@
\RequirePackage{pdfmanagement-testphase}
\DeclareDocumentMetadata{}
\documentclass[11pt,english,BCOR=10mm,DIV=12,bibliography=totoc,parskip=false,headings=small,
- headinclude=false,footinclude=false,twoside]{pst-doc}
+ headinclude=false,footinclude=false,twoside,usegeometry]{pst-doc}
\usepackage{libertinus}
\usepackage{hvlogos}
@@ -31,8 +31,10 @@ This version of the News was run with \verb|lualatex| \emph{without} using Ghost
The PDF file was created in a direkt way by Lua. If you want to try it, then look
at \url{https://github.com/zauguin/luapstricks}.
+By default the dots are now taken from a Type1 version of the font file. For
+lualatex it uses the OpenType version.
-
+The dot part is now in an own file \texttt{pstricks-dots.tex}.
%--------------------------------------------------------------------------------------
\section{\texttt{pstricks.sty}}
diff --git a/graphics/pstricks/base/dvips/pst-dots.pro b/graphics/pstricks/base/dvips/pst-dots.pro
index 5e77137ed4..62353d6c08 100644
--- a/graphics/pstricks/base/dvips/pst-dots.pro
+++ b/graphics/pstricks/base/dvips/pst-dots.pro
@@ -16,158 +16,319 @@
%% to add /Diamond, /SolidDiamond and /BoldDiamond
%% Modified by Herbert Voss (hv) - 2008/04/17
%
-10 dict dup begin % hold local
- /FontType 3 def
- /FontMatrix [.001 0 0 .001 0 0] def
-% /FontBBox [-571.5 -742.5 571.5 742.5] def % changed to next line 20060616 hv
- /FontBBox [-1000 -1000 1000 1000] def % See end of file in /BuildGlyph
- /Encoding 256 array def
- 0 1 255 {Encoding exch /.notdef put} for % fill the array with /.notdef
- Encoding % replace with given dot names
- dup (b) 0 get /Bullet put % get the numerical position of b in ASCII
-% % and save /Bullet at this place in Encoding
- dup (c) 0 get /Circle put
- dup (C) 0 get /BoldCircle put % 67
- dup (u) 0 get /SolidTriangle put
- dup (t) 0 get /Triangle put
- dup (T) 0 get /BoldTriangle put
- dup (r) 0 get /SolidSquare put
- dup (s) 0 get /Square put
- dup (S) 0 get /BoldSquare put
- dup (q) 0 get /SolidPentagon put
- dup (p) 0 get /Pentagon put
- dup (P) 0 get /BoldPentagon put
-%%%
- dup (k) 0 get /Asterisk put
- dup (K) 0 get /BoldAsterisk put
- dup (J) 0 get /SolidAsterisk put
- dup (h) 0 get /Hexagon put
- dup (H) 0 get /BoldHexagon put
- dup (G) 0 get /SolidHexagon put
- dup (f) 0 get /Octogon put % 2008-04-18 hv
- dup (F) 0 get /BoldOctogon put % 2008-04-18 hv
- dup (g) 0 get /SolidOctogon put % 2008-04-18 hv
- dup (a) 0 get /Add put
- dup (A) 0 get /BoldAdd put % 65
- dup (x) 0 get /Mul put
- dup (X) 0 get /BoldMul put
- dup (m) 0 get /Oplus put
- dup (M) 0 get /BOplus put
- dup (e) 0 get /SolidOplus put
- dup (n) 0 get /Otimes put
- dup (N) 0 get /BOtimes put
- dup (E) 0 get /SolidOtimes put
- dup (i) 0 get /Bar put
- dup (I) 0 get /BoldBar put
- dup (l) 0 get /SolidDiamond put
- dup (d) 0 get /Diamond put
- (D) 0 get /BoldDiamond put
-%%%
-/CharProcs 47 dict def
-CharProcs begin
- /CirclePath {0 0 500 0 360 arc closepath} def
- /Bullet {CirclePath fill} def
- /Circle {CirclePath .9 .9 scale CirclePath eofill} def
- /BoldCircle {CirclePath .8 .8 scale CirclePath eofill} def
- /TrianglePath {0 660 moveto -571.5 -330 lineto 571.5 -330 lineto closepath} def
- /SolidTriangle {TrianglePath fill} def
- /Triangle {TrianglePath .85 .85 scale TrianglePath eofill} def
- /BoldTriangle {TrianglePath .7 .7 scale TrianglePath eofill} def
- /SquarePath {-450 450 moveto 450 450 lineto 450 -450 lineto -450 -450 lineto closepath} def
- /SolidSquare {SquarePath fill} def
- /Square {SquarePath .89 .89 scale SquarePath eofill} def
- /BoldSquare {SquarePath .78 .78 scale SquarePath eofill} def
- /PentagonPath {
- -337.8 -465 moveto 337.8 -465 lineto 546.6 177.6 lineto
- 0 574.7 lineto -546.6 177.6 lineto closepath
- } def
- /SolidPentagon {PentagonPath fill} def
- /Pentagon {PentagonPath .89 .89 scale PentagonPath eofill} def
- /BoldPentagon {PentagonPath .78 .78 scale PentagonPath eofill} def
-%-------------- hv begin 2004/07/25 from: er 2003/03/24
- /HexagonPath {
- 0 550 moveto -476 275 lineto -476 -275 lineto
- 0 -550 lineto 476 -275 lineto 476 275 lineto closepath
- } def
- /SolidHexagon {HexagonPath fill} def
- /Hexagon {HexagonPath .89 .89 scale HexagonPath eofill} def
- /BoldHexagon {HexagonPath .79 .79 scale HexagonPath eofill} def
-% 2008-04-18 hv
- /OctogonPath {
- 550 dup 22.5 tan mul dup neg dup add /xMove exch def
- exch moveto 7 { xMove 0 rlineto 45 rotate } repeat closepath } def
- /SolidOctogon { OctogonPath fill } def
- /Octogon { OctogonPath .89 .89 scale OctogonPath eofill } def
- /BoldOctogon { OctogonPath .79 .79 scale OctogonPath eofill } def
-%
- /AsteriskPath {
- 20 0 moveto 10 250 180 500 0 500 curveto
- -180 500 -10 250 -20 0 curveto closepath
- } def
- /Asterisk {
- AsteriskPath 60 rotate AsteriskPath 60 rotate AsteriskPath
- 60 rotate AsteriskPath 60 rotate AsteriskPath 60 rotate AsteriskPath fill
- } def
-%
- /Basterp {50 250 220 500 0 500 curveto -220 500 -50 250 -50 30 cos 100 mul curveto} def
- /BoldAsteriskPath {
- 50 30 cos 100 mul moveto Basterp
- 60 rotate Basterp 60 rotate Basterp
- 60 rotate Basterp 60 rotate Basterp
- 60 rotate Basterp closepath
- } def
- /BoldAsterisk {BoldAsteriskPath fill} def
- /SolidAsterisk {CirclePath .9 .9 scale BoldAsteriskPath eofill} def
- /CrossPath {
- 40 550 moveto -40 550 lineto -40 40 lineto -550 40 lineto
- -550 -40 lineto -40 -40 lineto -40 -550 lineto 40 -550 lineto
- 40 -40 lineto 550 -40 lineto 550 40 lineto 40 40 lineto closepath
- } def
- /BoldCrossPath {80 550 moveto -80 550 lineto -80 80 lineto -550 80 lineto
- -550 -80 lineto -80 -80 lineto -80 -550 lineto 80 -550 lineto
- 80 -80 lineto 550 -80 lineto 550 80 lineto 80 80 lineto closepath
- } def
- /Add {CrossPath fill} def
- /Mul {45 rotate CrossPath fill} def
- /BoldAdd {BoldCrossPath fill} def
- /BoldMul {45 rotate BoldCrossPath fill} def
- /Oplus {CirclePath .9 .9 scale CirclePath eofill .775 .775 scale CrossPath fill } def
- /SolidOplus {CirclePath .775 .775 scale BoldCrossPath eofill} def
- /BOplus {CirclePath .8 .8 scale CirclePath eofill .775 .775 scale BoldCrossPath fill} def
- /Otimes {CirclePath .9 .9 scale CirclePath eofill 45 rotate .775 .775 scale CrossPath fill} def
- /BOtimes {CirclePath .8 .8 scale CirclePath eofill 45 rotate .775 .775 scale BoldCrossPath fill } def
- /SolidOtimes {CirclePath 45 rotate .775 .775 scale BoldCrossPath eofill} def
- /BarPath {40 660 moveto -40 660 lineto -40 -660 lineto 40 -660 lineto closepath} def
- /Bar {BarPath fill} def
- /BoldBarPath {80 660 moveto -80 660 lineto -80 -660 lineto 80 -660 lineto closepath} def
- /BoldBar {BoldBarPath fill} def
- /DiamondPath {0 742.5 moveto -428.5 0 lineto 0 -742.5 lineto 428.5 0 lineto closepath} def
- /SolidDiamond {DiamondPath fill} def
- /Diamond {DiamondPath .865 .865 scale DiamondPath eofill} def
- /BoldDiamond {DiamondPath .73 .73 scale DiamondPath eofill} def
-%%%
- /.notdef { } def
-end
-%
-/BuildGlyph {
- exch
- begin
-% Metrics 1 index get exec 0
- 0 0
-% BBoxes 3 index get exec
- -1000 -1000 1000 1000
-% -571.5 -742.5 571.5 742.5
- setcachedevice
- CharProcs begin load exec end
- end
-} def
-%
-/BuildChar {
- 1 index /Encoding get exch get
- 1 index /BuildGlyph get exec
-} bind def
-%
+12 dict dup dup begin
+/FontType 1 def
+/FontName /PSTricksDotFont def
+/FontInfo 9 dict dup begin
+/version (001.000) def
+/Notice (Timothy Van Zandt <tvz@Princeton.EDU>
+
+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.
+
+Modified by Etienne Riga - Dec. 16, 1999
+Modified by Etienne Riga - 2005/01/01 (er) to add /Diamond, /SolidDiamond and /BoldDiamond
+Modified by Herbert Voss (hv) - 2008/04/17
+Converted to OpenType by Marcel Krueger 2021
+) def
+/FullName (PSTricks Dots) def
+/FamilyName (PSTricksDotFont) def
+/Weight (Regular) def
+/FSType 0 def
+end def
+/PaintType 0 def
+/FontMatrix [0.001 0 0 0.001 0 0] def
+/Encoding 256 array
+0 1 255 {1 index exch /.notdef put } for
+dup 65 /BoldAdd put
+dup 67 /BoldCircle put % 67
+dup 68 /BoldDiamond put
+dup 69 /SolidOtimes put
+dup 70 /BoldOctogon put
+dup 71 /SolidHexagon put
+dup 72 /BoldHexagon put
+dup 73 /BoldBar put
+dup 74 /SolidAsterisk put
+dup 75 /BoldAsterisk put
+dup 77 /BOplus put
+dup 78 /BOtimes put
+dup 80 /BoldPentagon put
+dup 83 /BoldSquare put
+dup 84 /BoldTriangle put
+dup 88 /BoldMul put
+dup 97 /Add put
+dup 98 /Bullet put
+dup 99 /Circle put
+dup 100 /Diamond put
+dup 101 /SolidOplus put
+dup 102 /Octogon put
+dup 103 /SolidOctogon put
+dup 104 /Hexagon put
+dup 105 /Bar put
+dup 107 /Asterisk put
+dup 108 /SolidDiamond put
+dup 109 /Oplus put
+dup 110 /Otimes put
+dup 112 /Pentagon put
+dup 113 /SolidPentagon put
+dup 114 /SolidSquare put
+dup 115 /Square put
+dup 116 /Triangle put
+dup 117 /SolidTriangle put
+dup 120 /Mul put
+readonly def
+/FontBBox {-572 -743 572 743} def
end
-/PSTricksDotFont exch definefont pop
+currentfile eexec BAB431EA06BB0A1031E1AA11919E714AC69FC5B91315E2
+3949B468EA8965C09E14B93FD8F0A9A9B4A0240775693C371C9F5E8CFB4752C5
+B8C3907EB8B475C65DEE88EC0510BC599D0660C41C842A3CCA793376ECDB36BF
+799EB8631B5A08846013BAF4256252AF16B24E3BEE4C45F8AE9AEC40351B49C3
+CC0B1DFA717674CDC7A3BEA5CE689121348DBBD82720A92C2D68DB27F03F105D
+87587E74605E01EDE24B0539FAACD5311070E7BE0BDC57182DA408ED060B7B6B
+964AE3EED6C8F348F298B28987B635D1332B77CC33F0B6BF682193B93CE93416
+64F638070894F299603700A95B876A3FE5CEFD5BD19928E5DB60E0FB25969A26
+05A6651F04B60470D0CE8E37C50EF9350CE0A4EA9F5251F0E9A1B7ACEAE4DFF7
+40578E61DA30D0C9067954E23DA81539D0601CCB3FB78040200CE8A1B1E2B4BE
+E6BA8FC9121F04EB916D5F9D98C77AE10A51F451B440230C23077251E29FC6E4
+2844FC17F11EE282266DEC3A15C96832E595773ADA1A48330AEE455DC4A2805A
+C7C7CA085D16113F30AF3EFCFFE079C45CB512DBF81EBD6137314545CA6CE891
+19B42A3518E28989CA7DB1DB6F28ED3CB0E9F227A023660A46D14CF05E197E23
+3015D9046635F59924C00F5EBC3561132B94C23E91D3AA1EB997B9F486C8793C
+E2B8B9224C2C13AEE4AF9AA6E2FF96FFE84223ED1A902C38AD739E0C863A3A37
+0482E2F28EB620257113D8EFBE63FCCD181158CC92CFA474170798746B73808F
+8D4CB2A16B5BED0ACE4673AACD1484A8CF1F437F58D478A2CFBDA394851AE87F
+E8E488302B346131EE903FFF22B882624BD2EF1381761C1FE4BAD1E701CA9C4F
+F34AC1E9F9EC27E673FA78703FFB2432FDCD62AE52DE02D55580636F347297C4
+A74D04EB5FF11D31D3D04EB580E6C54F88A817049249B0749FAEBF78C4A3CE4A
+3F375E7C57D35D8CCA7810BFC7C0F4D4F14F8A29EF000D2BA97AAB26D48D50D7
+CFA8E3586105575D14DD80F3D2022373F802C98A78E465F7688C9952848876D4
+D7BECAD0FAFBA4674944BEAFA75ED8A87873439FDA03B482FF60B84007FCA6C0
+1A04B7C8BF346E30BB6D838EA08FAFF3A3D331527459C665264B9E07A7262419
+E0AF9F0AB9897891BF0CB656FE222587FC8890C3FF9D848ED557732CBD2865E0
+F4838A6C6E5D794F7781359855ABBD8B2BA63EF2190D930D20C74E9088BBB9BA
+62865A174D03BF90A0959079C28DA220598AD0A960C66697A49513D3F152C306
+0A9E3133F750EFCDD43E34492A65321EE3B08F904968BB642D3E46DFAF2697CF
+52589695642631DEAC79C3B4DD9DE61885901D9465B538643F60FC1B46D83DC4
+2D6AB7AEF088D43531C4CB5957A74FCEA04E4BB05B5AF68BCF316C62F7A26CB7
+88C6CCFC7859DB9915626FEE3C95F6FA3777B3F6ACE5271BF3309B0A41AF9853
+5866F4EBABF5CBFA2D3F411BFB2C3B66962102B183B281FABFF17CBE2A744CE6
+A8CB6E1B3D624A68104A7E43F20483622B9C93D8803D71C5ABD930DA44DD6177
+F6F411619A130954C54D3BDC24E66A4EE2B3F6C7EA40167FF6E21CA13DF3E903
+3E88F8F46C5CDB75E816EA0235669625A772779079CABC8DA76AFBBBC1C15EF3
+5695EB0FD46E34C3FE121CC29F7FDA3384B0F1292087CBCB9CBD7B2377AC0F76
+5BE0CD3485F2FCD3C6C0012125C273B48900E5200008B21F6DB9F4D4E8027E7B
+34265E1FFBC9666A2678CEBA46AE908BDADA630B135683D4F66934702F939912
+EDFF3EE524B38F25A0E12239EA471DC4A90814D38747EEF125FA30BBA9998119
+A1499E6E6BC26ED39814B64D04D500C2E14A062125A7E4AE9985BEDB6C4A800B
+D37D8F13274B28F86D73600A165214E1A8F0F787C92B3ACFC274A34EE064732B
+BAB298F0DD452B3DA4E230624FA5296C7ED8A464C5E7D31E0A9C88FD767D4C6F
+E2348CE16CAAE803DBA21AF5B8A44ED8B92ADB9C07D422878C63EA6163DFFA5B
+FD8AD97240D760FB6667DF08A0F16FB66B2934E64A39C0D82535FC1ABC3C28F6
+DD83851928AE495312AFE7F0B7C3D0990D7725B54B0D8644C01CF2BD29340E92
+FDCC5D221298669CBD1F842A1BF45D59D4BCC425E3D7FECB69AEF5FF54E86B80
+A6011AA0ACD1D286F7BD2CC6F995355E214BEA9DA0696F3D436BAB29C2328173
+4661158DBB87A777A8C0FECA5B1DEC07197BADE6B65EBC7152E119BD58204353
+4C4793FA4566107EFFF912A0E03255C11824CD079923F7296DB156A8C9134BF4
+E573795C7C720A3CDBFF693602A141D436B2F7495B01F6FBA43ED1CB444AEAD2
+400638034AA4D95EF5849E61EF2068A4848A27FA16EC8931456000E61E1181BF
+545AD271F9D10C60C6AE8616B12998B08270B9E29464DE2725F61EC431C7023D
+FB012FFB2DB2EAA1C61C06519BCD8114331FF644B79E9E96E21720B38098D513
+59BF4CA62716A9289C555C1B5C05D68F762B5B2E0B9BE7F67D9EFB20B8A0A898
+4DE73C07853DAD10A8805E5844A36027E2AECF4F10CA66BFAFEC17DD1CC93373
+547071168AF5018B0B6A40E606207ECFE146DE6F8881F969E06207A973DF290D
+29E325B6D59F363A5F4105AFDDF24CD4FABAE1B5E784638F3EB2E67C88879F69
+00101C3F6DF95D7F81E6E3FE732DCC175F1FEE41D87120F52AB5EA54FD2E1666
+CFA5D665F9B97531D74B56CEB8A9E1417A58C1790ABEB68F2F1B49EEB34D24B2
+855294A892EC5C92D090BB460AD8844E85E25094B7CE117F343A856F27CEEB36
+1CC7AC29D4048E6ACC5947AE7FB937807AC29E65353D20A57E461AC33EEBC75C
+24068278B586B33A5E534B1A9ABAAFF492250074EA4CF3EF0818D8F0BA0C7428
+40BF46DFCC9711A0420413D0667C7361C8ED428BC510616C34AB28BCC9ABA6F2
+43F08A2FCCFC5D1BAA77AE90BF0E296E2C3A99268D7906AE12CDCEA5CE8B5FC9
+5A75526CC0B72C7E122C2ED67153BC9AE380DF04FE51E7B0C5AE4363D95DC730
+AD0EF34542C179668A9D5807AA22256ADED921E8711E673C67CB5086D7563C98
+2A6C681813E07A8E7440FE562EEF08661E1D9CB5761595B515DEC347F0DC84AA
+1B3C272792F2D9B4B11C5EA50F7584C7D931BF5BA1A39F635C87CEC31BD22D64
+10F7855D66EC86193FFA19ADD7880BCE5588D2322071D443F47D6B4F3F66CE68
+4B87D99A5A0D375535D153353DA6E154FF78F458A671CBE1E7136C16435BF244
+6E60705C79C82EB5D40934AD496FB08999EFC6E52E56C0106E39603F25D3B946
+A7850B4A4EF56B1E5CA32021F191236EA0FB315DC37D708115765F85B668D051
+D49167E374DFA9078D128E745F1583EF885F6614D0D1CE1F3F27571B5C68451F
+38BDD4758A54A3C6F8ADB3DC20CE95DA5B22C77227CD8EA53C51A643250FA288
+4DA7B6F3D93EA1C82B6639B6090352F6E4ACD6A478701D88F8591F71ECB15CEC
+FE6FA0C4C049FE9F04612DEB944271F1EA167B2103D69C11E5B6C66CB8C859FE
+8DBF7D2E4B26FDE68CFE085B61212906AB7B4E4DC2FB44E8B035DC6938B09632
+5C2AFE3B1742756E1DDE8E2D16D957B07713C650928ABFD08BB5BA216086D699
+797884E3D06F0096BDE68F929F9FCC4E5819320BF62AA75686A8EF7A11B33281
+2477A82B9B0D3B71E8AD3CD41388A69C33B7A4482BF2345419DA669BB7544636
+CEF7C14F8C55620724B05B7EDA33584D9CA46B697EFE6CF01B6152DAF28F42CD
+DFABA3788B04D5A3AF493625E3387AFCAFE7EFDC62F4A31CA69E7563ECC5F919
+91763C850EE7F7B6A979DB2955BA8E4BCA4039D2F083DB3B256F68BB34624CDE
+2A745010D76C85300691A0DABBE33109721FAFF7C9BF7D9B2E0F1F9CF5C76676
+02A9C95488976ED8956EC9C1B9A9F3CE3B0F7E2DF387DF831C855D9E21908376
+BCEFB52FFBA0AD0F9B56CE4043643BC582750110B16399281C79183A8D693AD8
+A961C6DE94A882D27A0D9806A5D0ACFC29180CC21E375BA98DAA4C6043EC4532
+937C4870CB65365D2CF81C66A72841E189EE4BC12F8882AF0652D0EE3DA63D1F
+010248A498F3809036D1FBB712F2D78CE71E0C9AA2BB3A55094E4FAAB574A474
+5B153A3D4AD4ED347819033CD288FAD39E440D2FA03630F9529E50BF1E6A51CB
+309A34CCCEAEE87C8B3DFDFB81A9B3F0D36DCA6AC69588F51F29BB83015E3244
+5C666CC22DC85F7A86FD1D0311A8D8D1F399F87B2859E66C9432E8C14E04585C
+A01642BEEAAA975AE4D7977D40FBC85D4B8F40646721A9F38E916C226EB2C045
+04EEB6027C835EC0F0F8091EA0250404BE75563D44B40A5D67C1A122E9E9DF7A
+5692F8902FDAEED37EB2C430AD36E021CF56CA560B77137710090D8685624CAD
+9E6BFDF5BB2FF6147A65F164ED0490E1126D67FE1A93D5E77275FA925CE8666B
+E8FF666F97E3101881467A955FDC9864C9B85E943918D4C22F84391D35DBBD14
+2EE39F130DB83BA304C931113287A3F7CA042128135D9AF672319B1C3C1FBD59
+80BE72F051D6A6FC34174C461A77F000F446E594CE046052A571505F0E4922EF
+04A8185830D6D47E006F893973CE8740FC82F77CCD5B2CEF7DBAA9D2A0EFBFA3
+2B0A73412A362977B01FCDC95FC8E0B920D884FF7E40FE9AFDB683776B95487B
+F096B4BBBA2BED724ECE2CD766C8D83E28FD65924942AA4A3064AC3D5A322D86
+3A4D41DBC2F5C6E21C2184CEECE1101A10F8290CBF0D4116EA1C1DB8988785FF
+E50B066A4C21E99AA660872A5EEAC307C7794B303EE066C57594AE2389DBEA5E
+85CDD9D314CF686811C2022E8E0EBBA0B699EB0405FD2426EA4D698CB4757B6C
+53E65BB5D42C65C7A9DA515DA23CB3834C89F769154447BE2D92229016235658
+4F40E982A14EB4E6BACC81313C8E0A74A19FD184B1364CA275FC6A62A8709428
+BA35305F02331212B45B9268D582A8B638B430BD0A51C607D4C4FD862F0E591C
+1A1273650BBE5DA16CE10C98F5209A7C998877BE8F57DEB4D9AA46CC2EF71588
+0EDBD79F25594D516AD74C54762FD393D4810EBC8AAF10F821DCFE8D503B37D5
+6AF14F0FA57DA3A3365EF38470C1F0BCD693378BA20DF34D263165841DF96F90
+32FCB81A44BAF77D3C294697CC8CC971B555F94E768A275A154D63E71A1D6C67
+CFDC729E86FB9315B9234D2AB1D6529BFD0D4C852C5438D368B350D8420DCD34
+4A164EAC0AE99AC9A2D07A1F77D2E68255EC3F7448F10DABF969653D21590661
+2B1DE5DF11BEFA41CECFB00C9A6A7AE3808009E41E2B933C6AA50E1E9BC8AE00
+651C8AEFC9FCE6E647FB5D6032000CF87663510D97C12386227E58DD71FD4228
+A070BE013F86155C46C8F96D3CF1DE07D60DA3D0E05C3B4A6B5FBAD168B06A50
+30738754199245C8AF782F76C58A8F638A2D85CC51309C866729297E3CFC075D
+6F9ABB484C5D1D307E06D6ADEFC769E5F51E389520288843F373B71B233E8B96
+E59A7053D1D7E17972EDFCBD700A001EBE7759818EECC03353EB0B990EE6DA34
+8C65B5092EF565AE325B00DFA892FF2E7217990F6020AEB57974D38E31F97183
+FFB436B7DD8C18A80EB7D43D1EFB9A8D3EA99E77F65AD1443AB10857C44B7AB8
+2EB0BE22CE0CDDE525B9DE03251E192A3B436C3907AC59EA40BBB63A5A7DC56B
+DF08035260ADE398AD7ED78F895AE0CE0ADC74F4BCF4FD9ABEEBE132A537D788
+B884084A69BEAD6791D7458A0BC58635A1576F368FA8D2D99DCB6C31BE97F432
+5FF313DDA4B7411296716D32049D31F8E85C7D4B4DAE656AEFF8B7B8C1053A57
+F13B93F29800E250C98BA58B6061AE740762F9202122F156852A326C13F3675A
+4FE680CB4FD1B94C875840A97F2D14D6C1EFD4D4C37F39752572225377072C53
+6854A002922441AF733B6F90EFF39E37E1605AC5A3F4B45F66DFC2357B57CF40
+263D66A21EE0F0C1D1A0E4BA12454F9A252CAF55B46F5A907DF9D94650DA1D5C
+4CBE7E65DE6BC996F52CEC6A02D4D987D99F7B66A1C786E9463A5628A50F5163
+02A7F1CDDA1FB3337774AD640B02D504018E7C11267BEB7F51B8AC2FB3326EB5
+1EF125B3AA855B3AF7891595077B9FD5960896A022BC3CB4F97F4CC175F09B81
+128452C576CB26479E769DE0B75150360EF0C2AD3530A8A3B0C61005BD13EBB8
+4F6A707A8D1565529BC1ABE78FBFBEBAB170ECD6908CCD31FA33368E485DCBF5
+24DAC34619A38FBDA43C886FC6B4D58C7349C6D577D3AB8DF830F3DC3E06BE4F
+8D1283533AE54551513735E278DC928869953AE85693870179055B8D953A8062
+0339D4FC9D3DCE68C408FBDE261FAC68438ACFFC7E0F12168B91ECF56ADEEF93
+FF6A2D2AE5D35CB0B49BCDED51EF5B16B6A7364D38592BE0EC092C66309F6D0E
+E9E73D7AC69A9F9F8C83B5D7352E92D27751D149F552DF5ED5825A79507C5C8A
+725E19E744631C96C74EC15829092BE11AB890C9AFBFF608B4F3B5FB42B29F1B
+DA5436480A26657A2EBA297FD9933FC6B0071E62551C1A6398F82B097726E06F
+4EAC8ECD5C4B316AF63B64A131F3EDFC50F1141E56EE81CB44A03B0CE8B6CC4C
+B9E6DF9F47E957E47D4C5C51508C0825537EADCE33E9C3432AA0C0E7890FCFAA
+54E1D95E922165EAECC89E7E18A7E36A269D68D918B4E64246066C88F009D478
+D17DEAD4CE93F288531DA3CDD4F0B040CC82544B95E6EA26F002357CCF6E3D7D
+F52FF5C84DB56CAE8F64D9DE498A54C28558E34F2EBCB8CD3F3F2AB2531D3D74
+6A1DC97F93E312DC04158ABA06E9E55BE5A8DE5E0F3D8087188C8055B4C6B7F1
+AC373AB1563F756E269BF3D90BDFB9EF3E62E610906E1928A4FF14665EC4DF2F
+1703DEDC813E3BD7EFC9CDAD47E0DAF19D2C0701F2C027AE2986BE7715E0B0F4
+15D4501FC252AB0608A9BF79FC085AE7F9340C073817296A900E1AB7033D4FD5
+21AB67D4AD5E29DC4F20283A7864A4D6CA60908CE2D544E7C3C894A5635FDB42
+989443A0DB0AC9281BA74DD27B1B573911DF90AE01984A865A3DB95125594779
+C77DFFEB5699712598DD86F94CD032D14E0B71A92890D3EDE1443A3E30968AC6
+33A004ACE18A56520853F64A4244C7B479530A8C5D18E47B38D67BB508A58710
+6B5753081BF59EDC0793542987F1BC26553DC19CFC6EF456DA872DEAA95884C5
+D4D8E503E6BFCF252AA8E144F2A24F21A08CBD05C4F65C9A9636B102ED4ED535
+2A3C0A4FF4A039C3ED2C9E00C3E680C4A8FCFFBD90E871E5075FEB7661340E96
+44DDBD719F2D4DD690457568802749D1E6A1EB15F64A85414B1680BCE311E8AC
+1C08758B6453DD440D8A9816EDEA14E09224144E91276B842280E04A0BBA4E68
+CEC5A9603A7F56551C2B11DADF1F4810C734BDEAE930B5DE4556DA67981B820B
+CD2BC5A0FB8D8790D2666E0AE5558B1D2200534E83F7851F3D9482A2E8908F92
+3BA87358A66968605B3D53DA4AB1D93389BB689B0822526D9F240952001DD054
+09B9BE40559FA3FA4F216F022D50C408ACB34021AAE5F2B257DEF13A25F02701
+234CA72E44287FA9D88D7EF4F768C35A65CDA6B411323A501BF3848AFE448DAC
+2240C6CDB5208EB259D89A8F1BE43B39F911F55D88B5822E443C898E7ABC7EF5
+B3953C2EC6DDAF174DCED0BF9353A2713774A8DF9A9091AA553D30361C9EA580
+56F4993B29EDF2D3F3F1D6DBDB31728A84CB10019CE7407FE4201FC9A9D70F9E
+8FF56B5CE83D2810A507AE941431A5D9B513A6F55FDD452D6309492C76D9C5C6
+DD9D8F6CCD27BD71AFFF7FCE5D34DC355A066BCC3C9282EC971521260CF0E12E
+936517B05ED0108AC13A671654A2EFD5FB71109B16B3B4274BCE4EBD624F288D
+9E90D28D18D27FE4628444E76D3EEA619AE9476D181B4AC774AA62BC6D8AE5F0
+84F90982D5EE1D24AFB37703671B2493AFFA4C51245086BE865627AE7D0E7759
+179D509827104F840BD2C720F35D46D9C8338C0F8C03ECAC14E9BF044A04A96E
+177D1C5CE74D34AFF22F3937F05A1B54F46CE9C5F2D60907DB971F5B2F8E5B9D
+3ABA4ABA144209E6845B85A64F3A97CDC9B6AA5BD9E68F726F511255CDD9394C
+0A0332C27139192F0C5D79668CA0CC0CBBB14E4CDD707F11F048CD6E0756D90A
+F2EFCD882A296CF97148364A31FE8D7B5250C8BBC7E9F39EFC55B4662EC31535
+416F2F90DDAC955FBB297FD4829BB73079FA91012386544B98E65BABA975C754
+36B64848E3903D03C59BE0DB94E12E600E82A72EDCDEB4AB2260EE95F46568EB
+D0A7002D21C9BAE538CF8A347A2751868343EE4FB3730984335FB2B5B88DFEE9
+66A8062C26E4B834F568CA6164D6FE9AEB126502B943DD390A50B93D1CDABCD3
+C96FACE03115D56C6BE19F06CF7DDC375238E238B448D27D64FA49ADCC0A5B24
+AEF014B5D48F6CC493AD69E74DF47FEA376C6EF4B14C2FB71ED0F42E09F1651C
+EAEE97341F26A6591B83FE723C448AA04AE504D6C34BCAECD27DE4B247678C7E
+C51DBF53850EE7E615C7A01BC705F714B7B0C80B7AB79C42C24C036C6718E5A3
+6E1475F07D9F7035866A73B4D0A67807A03FB61352F73A349AFFE3CCF566F457
+6A62FA32004F3FE6A15E7B25C6E9AB2D1DBC9964E6903AEB408F09A0427933F3
+4E92753419A9FE79513A2E39FAA295A92292D521E3A95FBBB77AD659D4E03D2B
+39EE02738A10059514A8B51A35D3302C25891B90F74EBDB362E1017C676F0A0A
+9CB67C9794A27FC7F0ACD189AE59C8A75A5E9BED84A5FB6EE5DC1F74A620E559
+51D8C5CDDC4B37CAE2AF70C48B6C306BE826EBE8D22DF714D1F2FCA10369A266
+F5DA86D65F730262B0035E5FF68817C93CE0FBBC201B593D955E40C99E235D45
+7F70F497A8A11748AAA70FEA09AD8F5BD1A01E06D56BB6059DBEF8AC8AC5FB0C
+59B5CA3C447022EA6AE6F928DA7C9A6A1F322C5D53CE905829C41408CF7449C2
+69FF41A9B83869D7F230C78871C22933C991EAE40EBC97D8DB082B20E4895E49
+6D6EE9D22FD9B395CA79073C08C0053E3C26124538544D9C68717076746A8D72
+7DC34AE353D29983338A2D1998A0D62BFC296E433A8E48CA90B999B298609587
+1164C2A65BC00D0F124A8EACCCCDA7A7F65D5AA4DBF70A273B6CB918B00F6ECC
+0131BA9461BFC53357E09E0A3C615E79A26261D83F71B944DAAAE74A4B7484AB
+D22B4BB40D4E9038E721EFB5F672796A3C961C298B29ED896A27E389D134C21E
+7BED9DBB0FBB3AE2ED4A661992BCC8E4976F842785431AAD804360FBE8A134E4
+3CA9D26F8571E18D0F27F70ECAF659A99FB7955E0F4D8690447CA37F42A05D15
+E1D6559A1C95CA424A643DD58D0416A374091D94CD7A48859EEB4A461A6A436F
+D07DD5A94E7D5B033D2AD99FDA4E7373A1D6CFD11DE94DF6537F25F5CFA1428F
+9A126E21D819AE1A044510186FC8A9D51C20D922F3279A85E31C1F34B6B240C3
+000775B140120C6E697D7BC14AE22F87EC6885C3CA40E718BAD7688C8A0B3E9F
+49652FE7D0DE406B2EB70F039AA8B10C7601C4929B2971A9A3CF98F52F9FE122
+CCD2D944BE6F68EF6F4F8EBEF51AEB1DFAC87C164F94B36511BF120D126D6824
+01736A019ABF0BA4355854251D381828F2D5C8460F3B066EEA447009C01DB22E
+33764CBBFDC5C74CB881098E7586725777144FC38DCBAB71413A26068EE3EC6E
+53300BA5BEDBE53E5FD61E6D2E390C7E1D82454093264E8A2013AA0C91058031
+B52A08D996CF2C82993DE9497AF91D4AF8C99E68577589F98564AB36FA448901
+E671920A8DEC9535AFA9038AA1D528C4B31ECC27A505A5B83E4ACA119C6D3BF7
+1AD9B21318030B2F1F69F132E3DBC5264A4AD516AD4736CED6E8CA4C3352C78B
+2B836CA994A67BD63576593FAE07433051723DE3A67FEAEDA3CF10F66F7DB936
+D96BD0A813A5C40B144EE897A5CC701B0297E190B6999EE9808A54F86AE2C05B
+0FC4056944066CDBADCE78A0524D6F190B155120749CA84957FEBF447B748BC6
+27B3AEE460D4D5FCF042B7CCF4A4DC92110AC09B16669CBFA4CDA713606FC086
+97E8EF90EF2BFC8BF6C811FBEA5163C68B95C0B65EA87B9D12942EA0DE78FCCE
+9DD86341497DF3F0CD388BB386658FB6D774A46E9857E0091F3B2C6E016BC24D
+037FADA56418D223E672609C891E32E96BAEB77C7C568F26FE03B720F5F2D875
+9F1C5BF185C4B1DB2E6BBA48F4BD5F6457D92B701E7DCDF0ABE154A9CDE3BC17
+8F1F1CF521081036019C20E3A8AA6958D08C3EA3275CCE2F96F0FDACCB50ACB9
+37204C55EC41CEDA3AF577FB778E606C7C2EE814E8D3E1C250DE4D3E587AFDFF
+A1266218FC1D9A386D00BE86EB2433531F5A978031775862254994315B01C937
+CCAF1C5DD69F96F5D64DD288087639B02BDD29F9B96C5B4F525DDABE245371DD
+4717AC198F6477E1A2E6CA5CC2AC20FC94314212F5146721FF639C6CEB6936DA
+A7ABE5348153D0DBEC6F96F61B6B7E53DD82107EB85F5D2FD094D82F4F446CEE
+B64340FCE74AD83B2082952ECA69C53ED64B6F03FE3F54695FEEB8EE1D61C6DF
+87F7214F97C165F4962E5B78500E7F4E684AD4F4F575F06FB275D449BAB97B06
+BBC205D8FFE660C682A8CED9E1F7907214AB2E6BC7C830885EA32605B069ACE8
+66EBFA95DA16774EDDCA73685D1B145770BABEBCFB3989284B27B7E698E12064
+147A2EF3F2883F85C9C0E927DAFFBC9450E1B6E918726DD37B5CDA55E6D0D8A5
+C3B5ED376F4772DF45D45C4CF18BEB4811CF1B9B3D920BA4A98A80F8DABC91BA
+362EA6A74FA33DDF518B09564FED9F04D4312CD988EBA55DFD3145438A223943
+488699B3D16846B51F2BB650790EB63BB9ABB2B3EE27C62B1B01FBA662B70542
+DBB61743DC569337082176ECBAD417354A5F900EA0BB5479162ED7ECCCD71AE8
+3B3EE296F3D14D289B
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+0000000000000000000000000000000000000000000000000000000000000000
+cleartomark
+/PSTricksDotFont exch definefont
%
%% end \ No newline at end of file
diff --git a/graphics/pstricks/base/dvips/pstricks.pro b/graphics/pstricks/base/dvips/pstricks.pro
index 8587712fce..acd43111d7 100644
--- a/graphics/pstricks/base/dvips/pstricks.pro
+++ b/graphics/pstricks/base/dvips/pstricks.pro
@@ -1,4 +1,4 @@
-% $Id: pstricks.pro 217 2021-09-10 13:50:31Z herbert $
+% $Id: pstricks.pro 256 2021-09-22 18:42:59Z herbert $
%
%% PostScript prologue for pstricks.tex.
%% Version 1.39, 2021/09/10
@@ -129,6 +129,7 @@ tx@Dict begin
/PathLength@ { /z z y y1 sub x x1 sub Pyth add def /y1 y def /x1 x def } def
%
/PathLength {
+ 10 dict begin
flattenpath /z 0 def
{ /y1 ED /x1 ED /y2 y1 def /x2 x1 def }
{ /y ED /x ED PathLength@ }
@@ -136,6 +137,7 @@ tx@Dict begin
{ /y y2 def /x x2 def PathLength@ }
/pathforall load stopped { pop pop pop pop } if
z
+ end
} def
%
/STP { .996264 dup scale } def % BP/PT scaling
@@ -260,8 +262,7 @@ tx@Dict begin
clipType % must be defined in pstricks.tex: clip -- eoclip
newpath
2 setlinecap
- systemdict
- /setstrokeadjust known { true setstrokeadjust } if
+ systemdict /setstrokeadjust known { true setstrokeadjust } if
x2 x1 sub 1 add {
x1 a mul y1 moveto 0 y2 rlineto stroke
/x1 x1 1 add
@@ -1254,8 +1255,8 @@ dup angle0 sub dup abs 180 gt { 180 add 360 div floor 360 mul sub } { pop } ifel
/RotBegin {
tx@Dict /TMatrix known not { /TMatrix { } def /RAngle { 0 } def } if
/TMatrix [ TMatrix CM ] cvx def
- /a ED
- a Rot /RAngle [ RAngle dup a add ] cvx def
+ /RotAngle ED
+ RotAngle Rot /RAngle [ RAngle dup RotAngle add ] cvx def
} def
%
/RotEnd {
diff --git a/graphics/pstricks/base/generic/pstricks-arrows.tex b/graphics/pstricks/base/generic/pstricks-arrows.tex
index 5684f3d792..0d89aa6b98 100644
--- a/graphics/pstricks/base/generic/pstricks-arrows.tex
+++ b/graphics/pstricks/base/generic/pstricks-arrows.tex
@@ -1,4 +1,4 @@
-%% $Id: pstricks-arrows.tex 164 2021-08-25 19:26:42Z herbert $
+%% $Id: pstricks-arrows.tex 168 2021-08-28 08:43:24Z herbert $
%%
%% This is file `pstricks-arrows.tex',
%%
@@ -279,35 +279,18 @@
\psset[pstricks]{filledveearrowlength=3mm} % default projected length
\define@key[psset]{pstricks}{filledveearrowangle}[15]{\pst@getangle{#1}\psk@filledveearrowangle}
\psset[pstricks]{filledveearrowangle=15} % default angle
-\define@key[psset]{pstricks}{filledveearrowlinewidth}[0.35mm]{\pst@getlength{#1}\psk@filledveearrowlinewidth}
-\psset[pstricks]{filledveearrowlinewidth=0.35mm} % default vee arrow line width
+\define@key[psset]{pstricks}{filledveearrowlinewidth}[0.8pt]{\pst@getlength{#1}\psk@filledveearrowlinewidth}
+\psset[pstricks]{filledveearrowlinewidth=\pslinewidth} % default vee arrow line width
\define@key[psset]{pstricks}{arrowlinestyle}[solid]{%
\@ifundefined{psls@#1}%
{\@pstrickserr{Line style `#1' not defined}\@eha}%
{\def\psarrowlinestyle{#1}}}
\psset[pstricks]{arrowlinestyle=solid} % default
-\pst@def{VeeArrow}<%
- 1 setlinecap % round caps
- 1 setlinejoin % round join
- setlinewidth % vee arrow line width
- /y ED % projected length
- 2 div /a ED % angle (divide by 2)
- /t ED % false = inside, true = outside
- a sin a cos div y mul /x ED % perpendicular length : x=tan(a).y
- t { 1 -1 scale } if % if outside : symmetry
- x neg y moveto % point #1
- 0 0 L % point #2
- x y L % point #3
- { closepath gsave fill grestore } if % if filled : close and fill
- \@nameuse{psls@\psarrowlinestyle}
- \ps@check@tipcolor
- stroke % draw line
- 0 t { y 2 mul } { 0 } ifelse moveto> % if outside : twice longer line
-
-% VeeArrow : filled? outside? (total) angle (projected) length (arrow) line width
\@namedef{psas@|}{\ps@check@tipcolor \psk@tbarsize \tx@Tbar}
+% VeeArrow : filled? outside? (total) angle (projected) length (arrow) line width
+
\@namedef{psas@v}{%
\ps@check@tipcolor
false false \psk@veearrowangle \psk@veearrowlength \psk@veearrowlinewidth \tx@VeeArrow}
@@ -315,12 +298,37 @@
\ps@check@tipcolor
false true \psk@veearrowangle \psk@veearrowlength \psk@veearrowlinewidth \tx@VeeArrow}
\@namedef{psas@f}{%
- \ps@check@tipcolor
+ \ps@check@tipcolor
true false \psk@filledveearrowangle \psk@filledveearrowlength \psk@filledveearrowlinewidth \tx@VeeArrow}
\@namedef{psas@F}{%
\ps@check@tipcolor
true true \psk@filledveearrowangle \psk@filledveearrowlength \psk@filledveearrowlinewidth \tx@VeeArrow}
+\pst@def{VeeArrow}<%
+ 5 dict begin
+ \pst@arrowscale\space div SLW % vee arrow line width
+ /y ED % projected length
+ 2 div /a ED % angle (divide by 2)
+ /t ED % false = inside, true = outside
+ a sin a cos div y mul /x ED % perpendicular length : x=tan(a).y
+ /x2 x dup add def
+ t { 1 -1 scale } if % if outside : symmetry
+% newpath x2 neg y moveto 0 y neg rlineto x2 dup add 0 rlineto 0 y rlineto closepath clip % to get rid of linecap problem
+ newpath
+ x neg y moveto % lower left
+ 0 0 lineto % arrow tip
+ x y lineto % upper left
+ 0 setlinecap % round caps
+ 2 setlinejoin % round join
+ { closepath 0 setlinewidth gsave fill grestore } if % if filled : close and fill
+ \@nameuse{psls@\psarrowlinestyle}
+ \ps@check@tipcolor
+ stroke % draw line
+ 0 t { y 2 mul } { 0 } ifelse moveto
+ end
+> % if outside : twice longer line
+
+
% And An another arrowhead
% architectural tick / oblique arrow
diff --git a/graphics/pstricks/base/generic/pstricks-color.tex b/graphics/pstricks/base/generic/pstricks-color.tex
index 708a4260a5..7a7b5622d5 100644
--- a/graphics/pstricks/base/generic/pstricks-color.tex
+++ b/graphics/pstricks/base/generic/pstricks-color.tex
@@ -1,4 +1,4 @@
-%% $Id: pstricks-arrows.tex 168 2021-08-28 08:43:24Z herbert $
+%% $Id: pstricks-color.tex 260 2021-09-23 19:22:36Z herbert $
%%
%% This is file `pstricks-color.tex',
%%
diff --git a/graphics/pstricks/base/generic/pstricks-dots.tex b/graphics/pstricks/base/generic/pstricks-dots.tex
new file mode 100644
index 0000000000..67528a5853
--- /dev/null
+++ b/graphics/pstricks/base/generic/pstricks-dots.tex
@@ -0,0 +1,228 @@
+%% $Id: pstricks-dots.tex 262 2021-09-24 09:02:54Z herbert $
+%%
+%% This is file `pstricks-dots.tex',
+%%
+%% IMPORTANT NOTICE:
+%%
+%% Herbert Voss <hvoss@tug.org>
+%%
+%% 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.
+%%
+%% DESCRIPTION:
+%% `pstricks-dots' base code for dots
+%%
+%% fileversion and filedate see main file pstricks.tex
+%%
+\define@key[psset]{pstricks}{dotsize}[2pt 2]{%
+ \pst@expandafter\pst@getdimnum{#1} 0 {} {}\@nil%
+ \edef\psk@@dotsize{\pst@number\pst@dimg}%
+ \let\psk@@@dotsize\pst@tempg%
+ \edef\psk@dotsize{ /DS \psk@@dotsize \psk@@@dotsize CLW mul add 2 div def }}
+\psset[pstricks]{dotsize=2pt 2}
+%
+\define@key[psset]{pstricks}{dotscale}[1]{%
+ \pst@getscale{#1}\psk@dotscale
+ \ifx\psk@dotscale\@empty
+ \def\psk@xdotscale{1 }%
+ \def\psk@ydotscale{1 }%
+ \else
+ \let\psk@xdotscale\pst@tempg
+ \let\psk@ydotscale\pst@temph
+ \fi}
+%
+\def\pst@Getangle#1#2{%
+ \pst@getangle{#1}\pst@tempg
+ \def\pst@temph{0. }%
+ \ifx\pst@tempg\pst@temph\def#2{}\else\edef#2{\pst@tempg\space rotate }\fi}
+%
+\define@key[psset]{pstricks}{dotangle}[0]{%
+ \pst@getangle{#1}\psk@@dotangle
+ \ifdim\psk@@dotangle\p@=\z@
+ \let\psk@dotangle\@empty
+ \else
+ \edef\psk@dotangle{\psk@@dotangle rotate }%
+ \fi}
+\psset[pstricks]{dotangle=0}
+%
+\def\pst@getdotsize{%
+\pst@dimg=\psk@@@dotsize\pslinewidth
+\advance\pst@dimg\psk@@dotsize\p@
+\pst@dimh=\psk@ydotscale\pst@dimg
+\pst@dimg=\psk@xdotscale\pst@dimg
+\divide\pst@dimh 2
+\divide\pst@dimg 2\relax}
+%
+\psset[pstricks]{dotscale=1}
+%
+\def\psdot{\pst@object{psdot}}
+\def\psdot@i{\@ifnextchar({\psdot@ii}{\psdot@ii(\z@,\z@)}}
+\def\psdot@ii(#1){%
+ \begin@SpecialObj%
+% hv modification 1.13 2005-11-28
+ \solid@star%
+% hv modification end
+ \pst@@getcoor{#1}%
+ \addto@pscode{
+ \psk@dotsize
+ \@nameuse{psds@\psk@dotstyle}
+ \tx@setStrokeTransparency
+ \pst@coor Dot}%
+ \end@SpecialObj}
+%
+\def\psdots{\pst@object{psdots}}
+\def\psdots@i{%
+ \begin@SpecialObj%
+ \pst@getcoors[\psdots@ii}
+\def\psdots@ii{%
+ \addto@pscode{ false \tx@NArray \psdots@iii }%
+ \end@SpecialObj}
+\def\psdots@iii{%
+ \psk@dotsize
+ \@nameuse{psds@\psk@dotstyle}
+ \tx@setStrokeTransparency
+ newpath
+ n { transform floor .5 add exch floor .5 add exch itransform Dot } repeat }
+%
+% DG: dead code (to suppress until \psset[pstricks]{dotstyle) ? - Aug. 4, 1997
+\def\tx@SQ{SQ }
+\def\tx@ST{ST }
+\def\tx@SP{SP }
+%
+\def\pst@gdot#1{ /Dot { gsave T \psk@dotangle \psk@dotscale #1 grestore } def }
+%
+\@namedef{psds@*}{\pst@gdot{ 0 0 DS \tx@SD }}
+\@namedef{psds@o}{%
+ /r2 DS CLW sub def
+ \pst@gdot{ 0 0 DS \tx@SD \pst@usecolor\psfillcolor SLW 0 0 r2 \tx@SD }}
+\@namedef{psds@square*}{ /r1 DS .886 mul def \pst@gdot{r1 \tx@SQ }}
+\@namedef{psds@square}{%
+ /r1 DS .886 mul def /r2 r1 CLW sub def
+ \pst@gdot{r1 \tx@SQ \pst@usecolor\psfillcolor r2 \tx@SQ}}
+\@namedef{psds@triangle*}{%
+ /y1 DS .778 mul neg def /x1 y1 1.732 mul neg def
+ \pst@gdot{x1 y1 \tx@ST}}
+\@namedef{psds@triangle}{%
+ /y1 DS .778 mul neg def /x1 y1 1.732 mul neg def
+ /y2 y1 CLW add def /x2 y2 1.732 mul neg def
+ \pst@gdot{x1 y1 \tx@ST x2 y2 \tx@ST}}
+\@namedef{psds@pentagon*}{%
+ /r1 DS 1.149 mul def
+ \pst@gdot{r1 \tx@SP}}
+\@namedef{psds@pentagon}{%
+ DS .93 mul dup 1.236 mul /r1 ED CLW sub 1.236 mul /r2 ED
+ \pst@gdot{r1 \tx@SP r2 \tx@SP}}
+\@namedef{psds@+}{%
+ /DS DS 1.253 mul def
+ \pst@gdot{DS 0 moveto DS neg 0 L stroke 0 DS moveto 0 DS neg L stroke}}
+\@namedef{psds@|}{%
+ \psk@tbarsize CLW mul add 2 div /DS ED
+ \pst@gdot{0 DS moveto 0 DS neg L stroke}}
+% DG: end dead code?
+%
+\define@key[psset]{pstricks}{dotstyle}[*]{%
+ \@ifundefined{psds@#1}%
+ {\@pstrickserr{Dot style `#1' not defined}\@eha}%
+ {\edef\psk@dotstyle{#1}}}
+%
+\psset[pstricks]{dotstyle=*}
+%
+\def\tx@FontDot{FontDot }
+
+\def\newpsfontdot#1[#2]#3#4{%
+ \@namedef{psds@#1}{%
+ /#3 \psk@@dotangle [#2] \tx@FontDot
+ /Dot { moveto gsave \psk@dotscale #4 show grestore } bind def
+}}
+\def\newpsfontdotH#1[#2]#3#4#5{% for filled objects
+ \@namedef{psds@#1}{%
+ /#3 \psk@@dotangle [#2] \tx@FontDot
+ /Dot {
+ moveto
+ gsave \psk@dotscale \pst@usecolor\psfillcolor #5 show grestore % fill first
+ gsave \psk@dotscale #4 show grestore % show the unfilled one
+ } bind def
+}}
+%
+\ifPSTlualatex\else\pstheader{pst-dots.pro}\fi % load the type 1 font
+%%40
+% /.notdef /BoldAdd /.notdef /BoldCircle /BoldDiamond /SolidOtimes /BoldOctogon /SolidHexagon
+% /BoldHexagon /BoldBar /SolidAsterisk /BoldAsterisk /.notdef /BOplus /BOtimes /.notdef
+%%50
+% /BoldPentagon /.notdef /.notdef /BoldSquare /BoldTriangle /.notdef /.notdef /.notdef
+% /BoldMul /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+%%60
+% /.notdef /Add /Bullet /Circle /Diamond /SolidOplus /Octogon /SolidOctogon
+% /Hexagon /Bar /.notdef /Asterisk /SolidDiamond /Oplus /Otimes /.notdef
+%%70
+% /Pentagon /SolidPentagon /SolidSquare /Square /Triangle /SolidTriangle /.notdef /.notdef
+% /Mul /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef
+ \newpsfontdot{B+}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<41>}
+ \newpsfontdot{BoldAdd}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<41>}
+ \newpsfontdot{Bo}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<43>}
+ \newpsfontdot{BoldCircle}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<43>}
+ \newpsfontdot{BoldDiamond}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<44>}
+ \newpsfontdot{Bdiamond}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<44>}
+ \newpsfontdot{SolidOtimes}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<45>}
+ \newpsfontdot{BoldOctogon}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<46>}
+ \newpsfontdot{SolidHexagon}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<47>}
+ \newpsfontdot{BoldHexagon}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<48>}
+ \newpsfontdot{BoldBar}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<49>}
+ \newpsfontdot{B|}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<49>}
+ \newpsfontdot{Asterisk*}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<4A>}
+ \newpsfontdot{SolidAsterisk}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<4A>}
+ \newpsfontdot{BoldAsterisk}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<4B>}
+ \newpsfontdot{Basterisk}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<4B>}
+ \newpsfontdot{BoldOplus}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<4D>}
+ \newpsfontdot{BoldOtimes}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<4E>}
+ \newpsfontdot{BoldPentagon}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<50>}
+ \newpsfontdot{Bpentagon}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<50>}
+ \newpsfontdot{BoldSquare}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<53>}
+ \newpsfontdot{Bsquare}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<53>}
+ \newpsfontdot{Btriangle}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<54>}
+ \newpsfontdot{BoldTriangle}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<54>}
+ \newpsfontdot{BoldMul}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<58>}
+%
+ \newpsfontdot{+}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<61>}
+ \newpsfontdot{Add}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<61>}
+ \newpsfontdot{bullet}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<62>}
+ \newpsfontdot{Bullet}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<62>}
+ \newpsfontdot{*}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<62>}
+ \newpsfontdot{o}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<63>}
+ \newpsfontdot{Circle}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<63>}
+ \newpsfontdot{Diamond}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<64>}
+ \newpsfontdot{diamond}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<64>}
+ \newpsfontdot{Oplus*}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<65>}
+ \newpsfontdot{SolidOplus}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<65>}
+ \newpsfontdot{Octogon}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<66>}
+ \newpsfontdot{Octogon*}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<67>}
+ \newpsfontdot{Hexagon}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<68>}
+ \newpsfontdot{Bar}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<69>}
+ \newpsfontdot{|}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<69>}
+ \newpsfontdot{asterisk}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<6B>}
+ \newpsfontdot{Asterisk}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<6B>}
+ \newpsfontdot{SolidDiamond}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<6C>}
+ \newpsfontdot{diamond*}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<6C>}
+ \newpsfontdot{oplus}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<6D>}
+ \newpsfontdot{Oplus}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<6D>}
+ \newpsfontdot{otimes}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<6E>}
+ \newpsfontdot{Otimes}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<6E>}
+%
+ \newpsfontdot{pentagon}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<70>}
+ \newpsfontdot{SolidPentagon}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<71>}
+ \newpsfontdot{Pentagon}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<70>}
+ \newpsfontdot{pentagon*}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<71>}
+ \newpsfontdot{square*}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<72>}
+ \newpsfontdot{SolidSquare}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<72>}
+ \newpsfontdot{square}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<73>}
+ \newpsfontdot{Square}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<73>}
+ \newpsfontdot{triangle}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<74>}
+ \newpsfontdot{Triangle}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<74>}
+ \newpsfontdot{triangle*}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<75>}
+ \newpsfontdot{SolidTriangle}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<75>}
+ \newpsfontdot{x}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<78>}
+ \newpsfontdot{Mul}[1.5 0.0 0.0 1.5 0 0]{PSTricksDotFont}{<78>}
+%
+%% END: pstricks-dots.tex
+\endinput
diff --git a/graphics/pstricks/base/generic/pstricks-tex.def b/graphics/pstricks/base/generic/pstricks-tex.def
index d3039e8bf6..0e69a13917 100644
--- a/graphics/pstricks/base/generic/pstricks-tex.def
+++ b/graphics/pstricks/base/generic/pstricks-tex.def
@@ -1,4 +1,4 @@
-%% $Id: pstricks-tex.def 4 2020-06-09 08:32:19Z herbert $
+%% $Id: pstricks-tex.def 169 2021-08-31 17:46:12Z herbert $
%% pstricks-tex.def
%% Copyright 2017- Herbert Voss
%
@@ -45,6 +45,7 @@
%
\newif\ifpst@psfonts \pst@psfontsfalse % defined in pstricks.sty
\newif\ifpst@useCalc \pst@useCalcfalse % defined in pstricks.sty
+ \newif\ifpstGSfonts \pstGSfontsfalse % defined in pstricks.sty
%
\long\def\@ifundefined#1#2#3{\expandafter\ifx\csname #1\endcsname\relax#2\else#3\fi}
\def\@namedef#1{\expandafter\def\csname #1\endcsname}
diff --git a/graphics/pstricks/base/generic/pstricks.con b/graphics/pstricks/base/generic/pstricks.con
index 0c119d13a3..21134fb781 100644
--- a/graphics/pstricks/base/generic/pstricks.con
+++ b/graphics/pstricks/base/generic/pstricks.con
@@ -1,4 +1,4 @@
-%% $Id: pstricks.con 4 2020-06-09 08:32:19Z herbert $
+%% $Id: pstricks.con 170 2021-09-01 09:54:41Z herbert $
%% BEGIN: pstricks.con (for dvips driver)
%%
%% Configuration file for PSTricks
@@ -39,8 +39,11 @@
%% If you want to include your own customizations to pstricks.tex, then
%% uncomment the \pstcustomize command, and include your modifications
%% after \pstcustomize. These will be read in after pstricks.tex.
-%\pstcustomize
+\pstcustomize
+\ifPSTlualatex% luatex has another coordinate system
+ \def\pstrotate{CP CP translate 3 -1 roll rotate \tx@NET}
+\fi
\endinput
%%
diff --git a/graphics/pstricks/base/generic/pstricks.tex b/graphics/pstricks/base/generic/pstricks.tex
index 80005b22d0..36976bf0a6 100644
--- a/graphics/pstricks/base/generic/pstricks.tex
+++ b/graphics/pstricks/base/generic/pstricks.tex
@@ -81,8 +81,8 @@
\fi
\let\pgfforeach\foreach
%
-\def\fileversion{3.08}
-\def\filedate{2021/09/10}
+\def\fileversion{3.10}
+\def\filedate{2021/09/23}
\pst@addfams{pstricks}
%
%\define@boolkey[psset]{pstricks}[Pst@]{useURWfonts}[true]{}
@@ -764,7 +764,6 @@
\def\radians{\def\pst@angleunit{57.2956 mul }%
\pstVerb{tx@Dict begin startGlobal /pst@angleunit {\pst@angleunit} def endGlobal end}}%
\def\pst@angleunit{}%
-
%
\def\SpecialCoor{%
\def\pst@@getcoor##1{%
@@ -1356,78 +1355,56 @@
\define@boolkey[psset]{pstricks}[Pst@]{variableColor}[true]{}
\define@key[psset]{pstricks}{setflat}[0.1]{\pst@checknum{#1}\psk@setflat}%
\psset[pstricks]{startLW=\pslinewidth,endLW=\pslinewidth,variableColor=false,
- variableLW=false,startWL=380,endWL=780,setflat=0.1}
+ variableLW=false,startWL=380,endWL=770,setflat=0.1}
%
\def\pst@flattenpath{
- /Coors [] def % the array of all points
- 50 dict begin
- /lambda \psk@startWL\space def
- %
+ 20 dict begin
+ /Coors [] def
+ /Cmds [] def
+ /NoOfSteps 0 def
/add2Values { Coors aload length 2 add array astore /Coors exch def } def
/add6Values { Coors aload length 6 add array astore /Coors exch def } def
-%
- \psk@setflat\space setflat % the value for the line snippets
- flattenpath % flatten the existing path into line segments
-%
- { add2Values } % what to do with moveto
- { add2Values } % what to do with lineto
- { add6Values } % what to do with curveto (not needed here)
- { } % what to do with closepath
- pathforall % do it for the existing path
-%
+ /addmoveto { -1 Cmds aload length 1 add array astore /Cmds exch def } def
+ /addlineto { 0 Cmds aload length 1 add array astore /Cmds exch def } def
+ /addcurveto { 1 Cmds aload length 1 add array astore /Cmds exch def } def
+ \psk@setflat\space setflat % the value for the line snippets
+ flattenpath % flatten the existing path into line segments
+ { add2Values addmoveto} % what to do with moveto
+ { NoOfSteps 1 add /NoOfSteps ED add2Values addlineto} % what to do with lineto
+ { NoOfSteps 1 add /NoOfSteps ED add6Values addcurveto} % what to do with curveto (not needed here)
+ { } % nothing for closepath
+ pathforall
+%
+ /dLW \pst@number\psk@endLW \pst@number\psk@startLW sub NoOfSteps div def % the step for the linewidth
+ \ifPst@variableColor
+ /dColor \psk@endWL\space \psk@startWL\space sub NoOfSteps div def % same for color
+ \fi
+%%%
\pst@number\psk@startLW setlinewidth
\tx@setlinejoin
\psk@linecap\space setlinecap
- Coors aload length 2 sub 2 div cvi /N0 exch def % set number of points
- /NN 0 def
- /N N0 def
- { N 3 gt { N 3 sub /N ED }{ N 1 sub /N ED } ifelse
- NN 1 add /NN ED
- N 0 eq { exit } if
- } loop
- /dLW \pst@number\psk@endLW \pst@number\psk@startLW sub NN div def % the step for the linewidth
- \ifPst@variableColor
- /dColor \psk@endWL\space \psk@startWL\space sub NN div def
- lambda dColor add dup /lambda ED
- tx@addDict begin wavelengthToRGB Red Green Blue end setrgbcolor
- \else
- \pst@usecolor\pslinecolor
- \fi
- moveto % move to the first one
- /N N0 def
- {
- N 3 gt {
-% CP 6 2 roll
- \psk@curvature\space /c ED /b ED /a ED
- /ArrowA {} def
- /ArrowB {} def
- BOC NC EOC % curveto
- N 3 sub /N ED }{ lineto N 1 sub /N ED } ifelse
- currentlinewidth dLW add setlinewidth % increase line width
+ /lambda \psk@startWL def
+ Cmds length /Ncmds ED % number of the commands is the length of the array
+ /CoorIndex 0 def
+ Ncmds 1 sub -1 0 {
+ % on stack is the loop index
+ Cmds exch get /cmdNo ED % get command as nuber -1, 0, 1 | moveto, lineto, curveto
+ cmdNo 0 eq { Coors CoorIndex 2 getinterval aload pop lineto CoorIndex 2 add /CoorIndex ED }
+ { cmdNo 0 lt { Coors CoorIndex 2 getinterval aload pop moveto CoorIndex 2 add /CoorIndex ED }
+ { Coors CoorIndex 6 getinterval aload pop curveto CoorIndex 6 add /CoorIndex ED } ifelse } ifelse % else is curveto
\ifPst@variableColor
lambda dColor add dup /lambda ED
tx@addDict begin wavelengthToRGB Red Green Blue end setrgbcolor
\else
\pst@usecolor\pslinecolor
\fi
- CP /Y ED /X ED % put coors of current point on the stack
-% 0.4 .setopacityalpha
+ currentlinewidth dLW add setlinewidth
+ CP /yCurr ED /xCurr ED
stroke % draw the line segment
- N 0 eq { exit }{ X Y moveto } ifelse
- } loop
-% N { % repeat for the other N coords
-% lineto % line to next point
-% currentlinewidth dLW add setlinewidth % increase line width
-% lambda dColor add dup /lambda ED
-% tx@addDict begin wavelengthToRGB Red Green Blue end setrgbcolor
-% currentpoint % put coors of current point on the stack
-% 0.4 .setopacityalpha
-% stroke % draw the line segment
-% moveto
-% } repeat
+ xCurr yCurr moveto % go to the last point
+ } for
end
}
-
%
%--------------------------- A R R O W S ---------------------------
@@ -1993,227 +1970,9 @@
\end@OpenObj
}
%
-\define@key[psset]{pstricks}{dotsize}[2pt 2]{%
- \pst@expandafter\pst@getdimnum{#1} 0 {} {}\@nil%
- \edef\psk@@dotsize{\pst@number\pst@dimg}%
- \let\psk@@@dotsize\pst@tempg%
- \edef\psk@dotsize{ /DS \psk@@dotsize \psk@@@dotsize CLW mul add 2 div def }}
-\psset[pstricks]{dotsize=2pt 2}
-%
-\define@key[psset]{pstricks}{dotscale}[1]{%
- \pst@getscale{#1}\psk@dotscale
- \ifx\psk@dotscale\@empty
- \def\psk@xdotscale{1 }%
- \def\psk@ydotscale{1 }%
- \else
- \let\psk@xdotscale\pst@tempg
- \let\psk@ydotscale\pst@temph
- \fi}
-%
-\def\pst@Getangle#1#2{%
- \pst@getangle{#1}\pst@tempg
- \def\pst@temph{0. }%
- \ifx\pst@tempg\pst@temph\def#2{}\else\edef#2{\pst@tempg\space rotate }\fi}
-%
-\define@key[psset]{pstricks}{dotangle}[0]{%
- \pst@getangle{#1}\psk@@dotangle
- \ifdim\psk@@dotangle\p@=\z@
- \let\psk@dotangle\@empty
- \else
- \edef\psk@dotangle{\psk@@dotangle rotate }%
- \fi}
-\psset[pstricks]{dotangle=0}
-%
-\def\pst@getdotsize{%
-\pst@dimg=\psk@@@dotsize\pslinewidth
-\advance\pst@dimg\psk@@dotsize\p@
-\pst@dimh=\psk@ydotscale\pst@dimg
-\pst@dimg=\psk@xdotscale\pst@dimg
-\divide\pst@dimh 2
-\divide\pst@dimg 2\relax}
-%
-\psset[pstricks]{dotscale=1}
-%
-\def\psdot{\pst@object{psdot}}
-\def\psdot@i{\@ifnextchar({\psdot@ii}{\psdot@ii(\z@,\z@)}}
-\def\psdot@ii(#1){%
- \begin@SpecialObj%
-% hv modification 1.13 2005-11-28
- \solid@star%
-% hv modification end
- \pst@@getcoor{#1}%
- \addto@pscode{
- \psk@dotsize
- \@nameuse{psds@\psk@dotstyle}
- \tx@setStrokeTransparency
- \pst@coor Dot}%
- \end@SpecialObj}
-%
-\def\psdots{\pst@object{psdots}}
-\def\psdots@i{%
- \begin@SpecialObj%
- \pst@getcoors[\psdots@ii}
-\def\psdots@ii{%
- \addto@pscode{ false \tx@NArray \psdots@iii }%
- \end@SpecialObj}
-\def\psdots@iii{%
- \psk@dotsize
- \@nameuse{psds@\psk@dotstyle}
- \tx@setStrokeTransparency
- newpath
- n { transform floor .5 add exch floor .5 add exch itransform Dot } repeat }
-%
-% DG: dead code (to suppress until \psset[pstricks]{dotstyle) ? - Aug. 4, 1997
-\def\tx@SQ{SQ }
-\def\tx@ST{ST }
-\def\tx@SP{SP }
-%
-\def\pst@gdot#1{ /Dot { gsave T \psk@dotangle \psk@dotscale #1 grestore } def }
-%
-\@namedef{psds@*}{\pst@gdot{ 0 0 DS \tx@SD }}
-\@namedef{psds@o}{%
- /r2 DS CLW sub def
- \pst@gdot{ 0 0 DS \tx@SD \pst@usecolor\psfillcolor SLW 0 0 r2 \tx@SD }}
-\@namedef{psds@square*}{ /r1 DS .886 mul def \pst@gdot{r1 \tx@SQ }}
-\@namedef{psds@square}{%
- /r1 DS .886 mul def /r2 r1 CLW sub def
- \pst@gdot{r1 \tx@SQ \pst@usecolor\psfillcolor r2 \tx@SQ}}
-\@namedef{psds@triangle*}{%
- /y1 DS .778 mul neg def /x1 y1 1.732 mul neg def
- \pst@gdot{x1 y1 \tx@ST}}
-\@namedef{psds@triangle}{%
- /y1 DS .778 mul neg def /x1 y1 1.732 mul neg def
- /y2 y1 CLW add def /x2 y2 1.732 mul neg def
- \pst@gdot{x1 y1 \tx@ST x2 y2 \tx@ST}}
-\@namedef{psds@pentagon*}{%
- /r1 DS 1.149 mul def
- \pst@gdot{r1 \tx@SP}}
-\@namedef{psds@pentagon}{%
- DS .93 mul dup 1.236 mul /r1 ED CLW sub 1.236 mul /r2 ED
- \pst@gdot{r1 \tx@SP r2 \tx@SP}}
-\@namedef{psds@+}{%
- /DS DS 1.253 mul def
- \pst@gdot{DS 0 moveto DS neg 0 L stroke 0 DS moveto 0 DS neg L stroke}}
-\@namedef{psds@|}{%
- \psk@tbarsize CLW mul add 2 div /DS ED
- \pst@gdot{0 DS moveto 0 DS neg L stroke}}
-% DG: end dead code?
-%
-\define@key[psset]{pstricks}{dotstyle}[*]{%
- \@ifundefined{psds@#1}%
- {\@pstrickserr{Dot style `#1' not defined}\@eha}%
- {\edef\psk@dotstyle{#1}}}
-\psset[pstricks]{dotstyle=*}
-%
-\def\tx@FontDot{FontDot }
-\def\newpsfontdot#1[#2]#3#4{%
- \@namedef{psds@#1}{%
- /#3 \psk@@dotangle [#2] \tx@FontDot
-% DG/SR modification begin - Dec. 12, 1999 - Patch 14
-%/Dot { moveto #4 show } bind def }}
- /Dot { moveto gsave \psk@dotscale #4 show grestore } bind def
-}}
-% DG/SR modification end
-\def\newpsfontdotH#1[#2]#3#4#5{% for filled objects
- \@namedef{psds@#1}{%
- /#3 \psk@@dotangle [#2] \tx@FontDot
- /Dot {
- moveto
-% \iftrue
-% DG/SR modification begin - Dec. 23, 1999 - Patch 14
-%gsave \pst@usecolor\psfillcolor #5 show grestore
-%\fi
-%#4 show
- gsave \psk@dotscale \pst@usecolor\psfillcolor #5 show grestore % fill first
-% \fi
- gsave \psk@dotscale #4 show grestore % show the unfilled one
-% DG/SR modification end
- } bind def
-}}
-%
-\pstheader{pst-dots.pro}
-
-\pstGSfontsfalse
-
-\newpsfontdot{*}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(b)}
-\newpsfontdotH{o}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(c)}{(b)}
-\newpsfontdotH{Bo}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(C)}{(b)}
-\newpsfontdotH{triangle}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(t)}{(u)}
-\newpsfontdotH{Btriangle}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(T)}{(u)}
-\newpsfontdot{triangle*}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(u)}
-\newpsfontdotH{square}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(s)}{(r)}
-\newpsfontdotH{Bsquare}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(S)}{(r)}
-\newpsfontdot{square*}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(r)}
-\newpsfontdotH{pentagon}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(p)}{(q)}
-\newpsfontdotH{Bpentagon}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(P)}{(q)}
-\newpsfontdot{pentagon*}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(q)}
-% D.G. modification begin - Jan. 17, 2000
-\newpsfontdotH{diamond}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(d)}{(l)}
-\newpsfontdotH{Bdiamond}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(D)}{(l)}
-\newpsfontdot{diamond*}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(l)}
-% DG/SR modification end
-% Etienne Riga
-\newpsfontdot{Asterisk}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(k)}
-\newpsfontdot{BoldAsterisk}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(K)}
-\newpsfontdotH{SolidAsterisk}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(J)}{(b)}
-%
-\newpsfontdotH{Pentagon}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(p)}{(q)}
-\newpsfontdotH{BoldPentagon}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(P)}{(q)}
-\newpsfontdot{SolidPentagon}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(q)}
-\newpsfontdotH{Hexagon}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(h)}{(G)}
-\newpsfontdotH{BoldHexagon}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(H)}{(G)}
-\newpsfontdot{SolidHexagon}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(G)}
-\newpsfontdotH{Octogon}[1 0 0 1 0 0]{PSTricksDotFont}{(f)}{(g)}
-\newpsfontdotH{BoldOctogon}[1 0 0 1 0 0]{PSTricksDotFont}{(F)}{(g)}
-\newpsfontdot{SolidOctogon}[1 0 0 1 0 0]{PSTricksDotFont}{(g)}
-%
-\newpsfontdot{Bullet}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(b)}
-\newpsfontdotH{Circle}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(c)}{(b)}
-\newpsfontdotH{BoldCircle}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(C)}{(b)}
-%\newpsfontdot{SolidCircle}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(u)}
-\newpsfontdotH{Triangle}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(t)}{(u)}
-\newpsfontdotH{BoldTriangle}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(T)}{(u)}
-\newpsfontdot{SolidTriangle}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(u)}
-\newpsfontdotH{Square}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(s)}{(r)}
-\newpsfontdotH{BoldSquare}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(S)}{(r)}
-\newpsfontdot{SolidSquare}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(r)}
-\newpsfontdot{Add}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(a)}
-\newpsfontdot{BoldAdd}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(A)}
-\newpsfontdot{Mul}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(x)}
-\newpsfontdot{BoldMul}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(X)}
-\newpsfontdotH{Oplus}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(m)}{(b)}
-\newpsfontdotH{BoldOplus}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(M)}{(b)}
-\newpsfontdotH{SolidOplus}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(e)}{(b)}
-\newpsfontdotH{Otimes}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(n)}{(b)}
-\newpsfontdotH{BoldOtimes}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(N)}{(b)}
-\newpsfontdotH{SolidOtimes}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(E)}{(b)}
-\newpsfontdot{Bar}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(i)}
-\newpsfontdot{BoldBar}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(I)}
-\newpsfontdotH{Diamond}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(d)}{(l)}
-\newpsfontdotH{BoldDiamond}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(D)}{(l)}
-\newpsfontdot{SolidDiamond}[1.0 0.0 0.0 1.0 0.0 0.0]{PSTricksDotFont}{(l)}
-
-\ifpstGSfonts
- \newpsfontdot{oplus}[1.44928 0.0 0.0 1.44928 -0.562319 -0.478261]{StandardSymL}{<C5>}
- \newpsfontdot{otimes}[1.44928 0.0 0.0 1.44928 -0.562319 -0.475362]{StandardSymL}{<C4>}
- \newpsfontdot{x}[1.8 0.0 0.0 1.8 -0.495 -0.4788]{StandardSymL}{<B4>}
- \newpsfontdot{+}[2.3 0.0 0.0 2.3 -0.6486 -0.5819]{NimbusRomNo9L-Regu}{<2B>}
- \newpsfontdot{asterisk}[2.43309 0.0 0.0 2.43309 -0.609489 -1.14477]{NimbusRomNo9L-Regu}{<2A>}
- \newpsfontdot{B+}[2.3 0.0 0.0 2.3 -0.6555 -0.5819]{NimbusRomNo9L-Bold}{<2B>}
- \newpsfontdot{Basterisk}[2.29358 0.0 0.0 2.29358 -0.576835 -1.08486]{NimbusRomNo9L-Bold}{<2A>}
- \newpsfontdot{|}[1.98413 0.0 0.0 1.38 -0.258929 -0.5]{NimbusSanL-Regu}{(|)}
- \newpsfontdot{B|}[1.98413 0.0 0.0 1.38 -0.277778 -0.5]{NimbusSanL-Bold}{(|)}%
-\else
- \newpsfontdot{oplus}[1.44928 0.0 0.0 1.44928 -0.562319 -0.478261]{Symbol}{<C5>}
- \newpsfontdot{otimes}[1.44928 0.0 0.0 1.44928 -0.562319 -0.475362]{Symbol}{<C4>}
- \newpsfontdot{x}[1.8 0.0 0.0 1.8 -0.495 -0.4788]{Symbol}{<B4>}
- \newpsfontdot{+}[2.3 0.0 0.0 2.3 -0.6486 -0.5819]{Times-Roman}{<2B>}
- \newpsfontdot{asterisk}[2.43309 0.0 0.0 2.43309 -0.609489 -1.14477]{Times-Roman}{<2A>}
- \newpsfontdot{B+}[2.3 0.0 0.0 2.3 -0.6555 -0.5819]{Times-Bold}{<2B>}
- \newpsfontdot{Basterisk}[2.29358 0.0 0.0 2.29358 -0.576835 -1.08486]{Times-Bold}{<2A>}
- \newpsfontdot{|}[1.98413 0.0 0.0 1.38 -0.258929 -0.5]{Helvetica}{(|)}
- \newpsfontdot{B|}[1.98413 0.0 0.0 1.38 -0.277778 -0.5]{Helvetica-Bold}{(|)}%
-\fi
+%--------------------------- PSTricks dots -----------------------
+\input{pstricks-dots}
+%--------------------------- PSTricks dots end -------------------
%
\newdimen\pslinearc
\define@key[psset]{pstricks}{linearc}[0pt]{\pssetlength\pslinearc{#1}}
@@ -2599,17 +2358,13 @@
\psset[pstricks]{subgriddiv=5}
%
\define@key[psset]{pstricks}{gridfont}[NimbusSanL-Regu]{%
- \typeout{Test lualatex}%
\ifPSTlualatex
- \typeout{Test true}%
\ifx\relax#1\relax
- \typeout{>>>>>>>>>>>>>>>> HIER <<<<<<<<<<<<<<}%
\def\psk@gridfont{\fontid\font\space .findfontid }%
\else
\def\psk@gridfont{/#1 findfont }% hv 2007-11-13
\fi
\else
- \typeout{Test false}%
\def\psk@gridfont{/#1 findfont }% hv 2007-11-13
\fi
}%
@@ -3864,22 +3619,39 @@ pop
\pslongbox{Scaleboxto}{\psscaleboxto}
%
\def\tx@Rot{Rot }
-\def\psrotateleft{\pst@makebox{\ps@rotateleft\pst@hbox}}
+\def\psrotateleft{%
+ \ifPSTlualatex
+ \def\pst@tempA{-90 }%
+ \def\pst@tempB{90 }%
+ \else
+ \def\pst@tempA{90 }%
+ \def\pst@tempB{-90 }%
+ \fi
+ \pst@makebox{\ps@rotateleft\pst@hbox}}
\def\ps@rotateleft#1{%
-\leavevmode\hbox{\hskip\ht#1\hskip\dp#1\vbox{\vskip\wd#1%
-\pst@Verb{90 \tx@Rot}
-\vbox to \z@{\vss\hbox to \z@{\box#1\hss}\vskip\z@}%
-\pst@Verb{-90 \tx@Rot}}}}
-\def\psrotateright{\pst@makebox{\ps@rotateright\pst@hbox}}
+ \leavevmode\hbox{\hskip\ht#1\hskip\dp#1\vbox{\vskip\wd#1%
+ \pst@Verb{\pst@tempA \tx@Rot}%
+ \vbox to \z@{\vss\hbox to \z@{\box#1\hss}\vskip\z@}%
+ \pst@Verb{\pst@tempB \tx@Rot}}}}
+%
+\def\psrotateright{%
+ \ifPSTlualatex
+ \def\pst@tempA{90 }%
+ \def\pst@tempB{-90 }%
+ \else
+ \def\pst@tempA{-90 }%
+ \def\pst@tempB{90 }%
+ \fi
+ \pst@makebox{\ps@rotateright\pst@hbox}}
\def\ps@rotateright#1{%
% ----------- hv begin 2004-05-07 ----------- patch 15
% \hbox{%
\leavevmode\hbox{%
% ----------- hv end 2004-05-07 ----------- patch 15
\hskip\ht#1\hskip\dp#1\vbox{\vskip\wd#1%
- \pst@Verb{-90 \tx@Rot}
+ \pst@Verb{\pst@tempA \tx@Rot}
\vbox to \z@{\hbox to \z@{\hss\box#1}\vss}%
- \pst@Verb{90 \tx@Rot}}}}
+ \pst@Verb{\pst@tempB \tx@Rot}}}}
\def\psrotatedown{\pst@makebox{\ps@rotatedown\pst@hbox}}
\def\ps@rotatedown#1{%
\hbox{\hskip\wd#1\vbox{\vskip\ht#1\vskip\dp#1%
@@ -3983,23 +3755,16 @@ pop
%\edef\psk@rot{\pst@rotlist \ifx\psk@rot\@empty\else\psk@rot add \fi}}
\psset[pstricks]{rot=0}
%
-\def\tx@RotBegin{RotBegin }
-\def\tx@RotEnd{RotEnd }
-\ifPSTlualatex
- \def\pst@rotate#1#2{%
- \ifx#1\@empty\else
- \setbox#2=\hbox{\pst@Verb{#1 \ifPSTlualatex neg \fi\space \tx@RotBegin}\box#2\pst@Verb{\tx@RotEnd}}%
- % luatex doesn't have the coordinate system of dvips, so we need negative angles
- \fi
- }%
- \else
- \def\pst@rotate#1#2{%
- \ifx#1\@empty\else
- \setbox#2=\hbox{\pst@Verb{#1 \ifPSTlualatex \fi\space \tx@RotBegin}\box#2\pst@Verb{\tx@RotEnd}}%
- % luatex doesn't have the coordinate system of dvips, so we need negative angles
- \fi
+\def\tx@RotBegin{ RotBegin }
+\def\tx@RotEnd{ RotEnd }
+
+\def\pst@rotate#1#2{%
+ \setbox#2=\hbox{\pst@Verb{% check for empty #1
+ (#1) /strAngle ED strAngle length 0 eq { 0 }{ #1 } ifelse
+ %\ifPSTlualatex neg \fi
+ \tx@RotBegin}\box#2\pst@Verb{\tx@RotEnd}}%
}%
- \fi
+
\def\psput@cartesian#1{%
\hbox to \z@{\kern\pst@dimg{\vbox to \z@{\vss\box#1\vskip\pst@dimh}\hss}}%
}
@@ -4039,7 +3804,7 @@ pop
\use@par
\if@star\pst@starbox\fi
\pst@makesmall\pst@hbox
- \ifx\psk@rot\@empty\else\pst@rotate{ps@rot }\pst@hbox\fi% (MJS)
+ \ifx\psk@rot\@empty\else\pst@rotate{ ps@rot \ifPSTlualatex neg \fi }\pst@hbox\fi% (MJS)
% \pst@rotate\psk@rot\pst@hbox%
\psput@{#1}\pst@hbox%
\endgroup
@@ -4197,11 +3962,20 @@ pop
%\show\pst@coor
\setbox\pst@hbox=\hbox to\z@{\hss\vbox to\z@{\vss\box\pst@hbox\vss}\hss}%
\setbox\pst@hbox=\psput@special\pst@hbox
- \ifnum\pst@C@@rType=7
- \ifx\psk@rot\@empty\else\pst@rotate{ps@rot }\pst@hbox\fi% CHANGED FROM \psk@rot (MJS)
+ \ifPSTlualatex
+ \ifnum\pst@C@@rType=7
+ \ifx\psk@rot\@empty\else\pst@rotate{ps@rot neg}\pst@hbox\fi% CHANGED FROM \psk@rot (MJS)
+ \else
+ \ifx\psk@rot\@empty\else\pst@rotate{\psk@rot\space neg}\pst@hbox\fi%
+ \fi
\else
- \ifx\psk@rot\@empty\else\pst@rotate{\psk@rot}\pst@hbox\fi%
- \fi}
+ \ifnum\pst@C@@rType=7
+ \ifx\psk@rot\@empty\else\pst@rotate{ps@rot }\pst@hbox\fi% CHANGED FROM \psk@rot (MJS)
+ \else
+ \ifx\psk@rot\@empty\else\pst@rotate{\psk@rot}\pst@hbox\fi%
+ \fi
+ \fi
+}
%
%
\def\uput@viii#1#2{%
diff --git a/graphics/pstricks/base/generic/pstricks97.tex b/graphics/pstricks/base/generic/pstricks97.tex
index e4b0a5a2c9..5c2b63edd9 100644
--- a/graphics/pstricks/base/generic/pstricks97.tex
+++ b/graphics/pstricks/base/generic/pstricks97.tex
@@ -1,4 +1,4 @@
-%% $Id: pstricks97.tex 446 2017-04-19 11:40:55Z herbert $
+%% $Id: pstricks97.tex 166 2021-08-26 19:52:16Z herbert $
%% BEGIN: pstricks.tex
%%
%% PostScript macros for Generic TeX: main input file for PSTricks 97.
diff --git a/graphics/pstricks/base/latex/pstricks-pdf.sty b/graphics/pstricks/base/latex/pstricks-pdf.sty
index 8fe00f7bc7..9923109fbb 100644
--- a/graphics/pstricks/base/latex/pstricks-pdf.sty
+++ b/graphics/pstricks/base/latex/pstricks-pdf.sty
@@ -1,4 +1,4 @@
-% $Id: pstricks-pdf.sty 25 2020-09-18 06:59:21Z herbert $
+% $Id: pstricks-pdf.sty 23 2020-09-18 06:29:04Z herbert $
%%
%% This is file `pstricks-pdf.sty'.
%%
diff --git a/graphics/pstricks/base/latex/pstricks.sty b/graphics/pstricks/base/latex/pstricks.sty
index ad58f86fca..30de94d110 100644
--- a/graphics/pstricks/base/latex/pstricks.sty
+++ b/graphics/pstricks/base/latex/pstricks.sty
@@ -1,4 +1,4 @@
-% $Id: pstricks.sty 181 2021-09-04 06:35:45Z herbert $
+% $Id: pstricks.sty 262 2021-09-24 09:02:54Z herbert $
%%
%% This is file `pstricks.sty'.
%%
@@ -84,7 +84,6 @@
\DeclareOption*{\PassOptionsToPackage\CurrentOption{\pst@ColorPackage}}
\ProcessOptions\relax
-%\RequirePackage{iftex}
\ifpst@useCalc
\RequirePackage{pst-calculate}
\fi
diff --git a/graphics/pstricks/contrib/pst-3dplot/Changes b/graphics/pstricks/contrib/pst-3dplot/Changes
index 0307d0b110..c1d65fdfb6 100644
--- a/graphics/pstricks/contrib/pst-3dplot/Changes
+++ b/graphics/pstricks/contrib/pst-3dplot/Changes
@@ -20,6 +20,7 @@ pst-3dplot.pro --------
pst-3dplot.tex --------
+2.07 2021-09-23 - fix for lualatex and color values on PS level
2.06 2020-10-25 - fix for \pstThreeDDot and parameter setting
2.05 2020-08-04 - fix for hiddenLine
2.04 2017-04-05 - added coorType=7
diff --git a/graphics/pstricks/contrib/pst-3dplot/README b/graphics/pstricks/contrib/pst-3dplot/README
index e8da34a168..54f149e557 100644
--- a/graphics/pstricks/contrib/pst-3dplot/README
+++ b/graphics/pstricks/contrib/pst-3dplot/README
@@ -13,3 +13,6 @@ dimensional graphical objects. pst-3dplot is similiar to the
pst-plot package for two dimensional objects and mathematical functions.
+%% 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.
diff --git a/graphics/pstricks/contrib/pst-3dplot/doc/pst-3dplot-doc.pdf b/graphics/pstricks/contrib/pst-3dplot/doc/pst-3dplot-doc.pdf
index 214aa49022..add73a6665 100644
--- a/graphics/pstricks/contrib/pst-3dplot/doc/pst-3dplot-doc.pdf
+++ b/graphics/pstricks/contrib/pst-3dplot/doc/pst-3dplot-doc.pdf
Binary files differ
diff --git a/graphics/pstricks/contrib/pst-3dplot/doc/pst-3dplot-doc.tex b/graphics/pstricks/contrib/pst-3dplot/doc/pst-3dplot-doc.tex
index 198e93b4c8..7720ed1095 100644
--- a/graphics/pstricks/contrib/pst-3dplot/doc/pst-3dplot-doc.tex
+++ b/graphics/pstricks/contrib/pst-3dplot/doc/pst-3dplot-doc.tex
@@ -1,8 +1,11 @@
\input{pst-3dplot-doc.dat}
-%% $Id: pst-3dplot-doc.tex 32 2020-10-25 19:18:25Z herbert $
-\documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false,smallheadings,
- headexclude,footexclude,oneside,dvipsnames,svgnames]{pst-doc}
+%% $Id: pst-3dplot-doc.tex 198 2021-09-08 16:11:30Z herbert $
+\errorcontextlines=100
+\RequirePackage{pdfmanagement-testphase}
+\DeclareDocumentMetadata{}
+\documentclass[11pt,english,BCOR=10mm,DIV=12,bibliography=totoc,parskip=false,headings=small,
+ headinclude=false,footinclude=false,twoside,english]{pst-doc}
\listfiles
\usepackage{pst-grad,pst-3dplot}
@@ -43,7 +46,7 @@
\date{\today}
\title{3D plots: pst-3dplot}
\subtitle{A PSTricks package for drawing 3d objects, v\pstFV}
-\maketitle
+\settitle
\tableofcontents
@@ -1349,6 +1352,8 @@ If you are looking from behind, then change the order of the ditection vectors:
The origin vector $\vec{o}$ determines the left corner of the box.
+
+
\begin{LTXexample}[width=6.25cm]
\begin{pspicture}(-3,-2)(3,5)
\psset{Alpha=2,Beta=10}
@@ -1357,6 +1362,9 @@ The origin vector $\vec{o}$ determines the left corner of the box.
\end{pspicture}
\end{LTXexample}
+
+\end{document}
+
\begin{LTXexample}[width=6.25cm]
\begin{pspicture}(-3,-3)(3,3)
\psset{Beta=50}
@@ -1376,6 +1384,7 @@ The origin vector $\vec{o}$ determines the left corner of the box.
+
\begin{LTXexample}[width=6.25cm]
\psset{Beta=10,xyzLight=-7 3 4}
\begin{pspicture}(-3,-2)(3,4)
diff --git a/graphics/pstricks/contrib/pst-3dplot/tex/pst-3dplot.tex b/graphics/pstricks/contrib/pst-3dplot/tex/pst-3dplot.tex
index dbcb6883ad..3a9189b5c5 100644
--- a/graphics/pstricks/contrib/pst-3dplot/tex/pst-3dplot.tex
+++ b/graphics/pstricks/contrib/pst-3dplot/tex/pst-3dplot.tex
@@ -1,4 +1,4 @@
-%% $Id: pst-3dplot.tex 32 2020-10-25 19:18:25Z herbert $
+%% $Id: pst-3dplot.tex 266 2021-09-24 19:02:30Z herbert $
%%
%% This is file `pst-3dplot.tex',
%%
@@ -27,9 +27,9 @@
\ifx\PSTMultidoLoaded\endinput\else \input multido.tex\fi
\ifx\PSTXKeyLoaded\endinput\else \input pst-xkey \fi
%
-\def\fileversion{2.06}
+\def\fileversion{2.07}
\let\IIIDplotfileversion\fileversion
-\def\filedate{2020/10/25}
+\def\filedate{2021/09/23}
\let\IIIDplotfiledate\filedate
\message{`PST-3dplot' v\fileversion, \filedate\space (HV,DL)}
%
@@ -1334,8 +1334,8 @@
\pst@3ddict /vZ ED /vY ED /vX ED
/pas 0.5 def
/pas10 pas 10 div def
- /cmyk {} def % we need only the values
- \psk@ThreeDplot@SegmentColor\space
+% /cmyk {} def % we need only the values
+ \psgetCMYKColorValues{\psk@ThreeDplot@SegmentColor}
% \psk@ThreeDplot@xyzLight\space % xLight yLight zLight
%
/calculate2DPoint { % four values on stack; x2D y2D are returned
@@ -1397,8 +1397,8 @@
#1 \pst@number\psunit mul #2 \pst@number\psunit mul #3 \pst@number\psunit mul
#4 \pst@number\psunit mul
\psk@ThreeDplot@increment\space
- /cmyk {} def % we need only the values
- \psk@ThreeDplot@SegmentColor\space
+% /cmyk {} def % we need only the values
+ \psgetCMYKColorValues{\psk@ThreeDplot@SegmentColor}
tx@3DPlotDict begin
\IIIDplot@variables
\tx@setTransparency
@@ -1509,8 +1509,8 @@
\pst@number\pst@dimb \pst@number\psyunit div % Height
\psk@ThreeDplot@increment % angle increment
\psk@ThreeDplot@Hincrement % height increment
- /cmyk {} def % we need only the values
- \psk@ThreeDplot@SegmentColor\space
+% /cmyk {} def % we need only the values
+ \psgetCMYKColorValues{\psk@ThreeDplot@SegmentColor}
%
\tx@3DPlotDict
\tx@setTransparency
@@ -1573,8 +1573,8 @@
\pst@number\pst@dima \pst@number\psxunit div % Width
\pst@number\pst@dimb \pst@number\psyunit div % Height
\pst@number\pst@dimc \pst@number\psyunit div % Depth
- /cmyk {} def % we need only the values
- \psk@ThreeDplot@SegmentColor\space
+% /cmyk {} def % we need only the values
+ \psgetCMYKColorValues{\psk@ThreeDplot@SegmentColor}
%
/PlaneSequence [ \psk@ThreeD@PlaneSequence ] def
/ConvBox2d { % on stack x y z
diff --git a/graphics/pstricks/contrib/pst-plot/Changes b/graphics/pstricks/contrib/pst-plot/Changes
index c7ab6a9df4..a47e13f871 100644
--- a/graphics/pstricks/contrib/pst-plot/Changes
+++ b/graphics/pstricks/contrib/pst-plot/Changes
@@ -1,4 +1,8 @@
----- pst-plot.tex
+1.93 2021-09-23 - dont't use function names from pstricks.pro
+ for own use NArray->NArray@i
+ - fix for LSM plots; needs gsave .. grestore
+ - fix for lualatex and \psparametricplot -> use a userdict
1.92 2019-05-16 - fix for missing position test of special labels
1.91 2018-08-31 - fix for showorigin and triglabels
1.90 2018-03-28 - fix for showoriginfalse and yAxis=false
diff --git a/graphics/pstricks/contrib/pst-plot/doc/pst-plot-doc.bib b/graphics/pstricks/contrib/pst-plot/doc/pst-plot-doc.bib
index 24773cb3c6..41a57247ce 100644
--- a/graphics/pstricks/contrib/pst-plot/doc/pst-plot-doc.bib
+++ b/graphics/pstricks/contrib/pst-plot/doc/pst-plot-doc.bib
@@ -1,6 +1,22 @@
%% -*-bibtex-*-
@STRING{tugboat = {TUGboat} }
@STRING{dtk = {{D}ie {\TeX}nische {K}om{\"o}die} }
+@STRING{beiprogramm = {{\TeX}-Beiprogramm}}
+@STRING{bretter = {Bretter, die die Welt bedeuten}}
+@STRING{editorial = {Editorial}}
+@STRING{fremdebuehne = {Von fremden Bühnen}}
+@STRING{fundus = {Aus dem Fundus}}
+@STRING{grusswort = {Grußwort}}
+@STRING{hinterbuehne = {Hinter der Bühne}}
+@STRING{komascript = {\KOMAScript}}
+@STRING{leserbriefe = {Leserbriefe}}
+@STRING{magazin = {Magazin}}
+@STRING{rezensionen = {Bücher und Rezensionen}}
+@STRING{schonimmer = {Was Sie schon immer über {\TeX} wissen wollten, \dots}}
+@STRING{spielplan = {Spielplan}}
+@STRING{theaterkasse = {Von der Theaterkasse}}
+@STRING{theatertage = {{\TeX}-Theatertage}}
+@STRING{tippstricks = {Tipps und Tricks}}
@Book{companion,
author = {Michel Goosens and Frank Mittelbach and Sebastian Rahtz and Dennis Roegel and Herbert Vo\ss},
@@ -95,3 +111,21 @@ version = {1.42},
location = {Heidelberg and Berlin}
}
+@Article{dtk02.2:jackson.voss:plot-funktionen,
+ author = {Laura E. Jackson and Herbert Voß},
+ title = {Die {P}lot-{F}unktionen von {\texttt{pst-plot}}},
+ journal = dtk,
+ year = 2002,
+ volume = {2/02},
+ altvolume = 2,
+ altnumber = 14,
+ month = jun,
+ pages = {27--34},
+ annote = bretter,
+ abstract = { Im letzten Heft wurden die mathematischen Funktionen von
+ \PS~im Zusammenhang mit dem {\LaTeX}-Paket
+ \texttt{pst-plot} zum Zeichnen von Funktionen beschrieben
+ und durch Beispiele erl{\"a}utert. In diesem Teil werden
+ die bislang nur erw{\"a}hnten Plot-Funktionen f{\"u}r
+ externe Daten behandelt. }
+}
diff --git a/graphics/pstricks/contrib/pst-plot/doc/pst-plot-doc.pdf b/graphics/pstricks/contrib/pst-plot/doc/pst-plot-doc.pdf
index a82d02ccc1..1d763d0fe2 100644
--- a/graphics/pstricks/contrib/pst-plot/doc/pst-plot-doc.pdf
+++ b/graphics/pstricks/contrib/pst-plot/doc/pst-plot-doc.pdf
Binary files differ
diff --git a/graphics/pstricks/contrib/pst-plot/doc/pst-plot-doc.tex b/graphics/pstricks/contrib/pst-plot/doc/pst-plot-doc.tex
index 00617d6ad3..c1d7f891cc 100644
--- a/graphics/pstricks/contrib/pst-plot/doc/pst-plot-doc.tex
+++ b/graphics/pstricks/contrib/pst-plot/doc/pst-plot-doc.tex
@@ -1,8 +1,10 @@
+\RequirePackage{pdfmanagement-testphase}
+\DeclareDocumentMetadata{}
% $Id: pst-plot-doc.tex 1056 2019-05-17 07:39:59Z herbert $
-\documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false,smallheadings
- headexclude,footexclude,oneside,dvipsnames,svgnames]{pst-doc}
+\documentclass[11pt,english,BCOR=10mm,DIV=12,bibliography=totoc,parskip=false,headings=small,
+ headinclude=false,footinclude=false,twoside]{pst-doc}
\listfiles
-\usepackage[utf8]{inputenc}
+%\usepackage[utf8]{inputenc}
\usepackage{pst-ode,
pst-node,
pst-calculate,
@@ -31,7 +33,7 @@
\author{Timothy Van Zandt\\Herbert Vo\ss}
\date{\today}
-\maketitle
+\settitle
\begin{abstract}
@@ -40,7 +42,7 @@ of \LPack{pst-xkey} and has a lot of the macros which were recently in
the package \LPack{pstricks-add}. This documentation describes only the
new and changed stuff. For the default behaviour look into the
documentation part of the base \LPack{pstricks} package. You find the
-documentation here: \url{http://mirrors.ctan.org/graphics/pstricks/base/doc/}.
+documentation here: \url{https://mirror.ctan.org/graphics/pstricks/base/doc/}.
\vfill
\noindent
@@ -58,6 +60,7 @@ Peter Hutnick;
Christophe Jorssen;
Uwe Kern;
Alexander Kornrumpf;
+Marcel Krüger;
Manuel Luque;
Patrice Mégret;
Jens-Uwe Morawski;
@@ -321,6 +324,9 @@ is possible. The following examples show how it can be used.
{ const1 x 100 mul dup mul mul Euler const2 neg x 100 mul dup mul mul exp mul 2000 mul}
\end{pspicture}
+
+
+
%--------------------------------------------------------------------------------------
\clearpage
\section{New Macro \nxLcs{psBoxplot}}
@@ -394,8 +400,6 @@ is the black dot.
-
-
The next example uses an external file for the data, which must first be read by the
macro \Lcs{readdata}. The next one creates a horizontal boxplot by rotating
the output with $-90$ degrees.
@@ -950,15 +954,15 @@ The legend has to be defined \emph{before} the environment \Lenv{psgraph}.
\begin{compactitem}
\item \Lcs{pslegend} uses the commands \Lcs{tabular} and \Lcs{endtabular}, which are only available
- when running \LaTeX. With \TeX\ you have to redefine the macro \Lcs{pslegend@ii}:
+ when running \LaTeX. With \TeX\ you have to redefine the macro \nxLcs{pslegend@ii}:
\begin{lstlisting}
\def\pslegend@ii[#1](#2){\rput[#1](!#2){\psframebox[style=legendstyle]{%
\footnotesize\tabcolsep=2pt%
\tabular[t]{@{}ll@{}}\pslegend@text\endtabular}}\gdef\pslegend@text{}}
\end{lstlisting}
\item The fontsize can be changed locally for each cell or globally, when also redefining the
- macro \Lcs{pslegend@ii}.
-\item If you want to use more than two columns for the table or a shadow box, then redefine \Lcs{pslegend@ii}.
+ macro \nxLcs{pslegend@ii}.
+\item If you want to use more than two columns for the table or a shadow box, then redefine \nxLcs{pslegend@ii}.
\end{compactitem}
The macro \Lcs{psframebox} uses the style \Lkeyval{legendstyle} which is preset to \Lkeyset{fillstyle=solid},
@@ -1079,8 +1083,8 @@ usual way. Only the additional value \Lkeyval{inner} is valid for
\Lkeyword{trigLabels} option, the macros \Lcs{pshlabel} and
\Lcs{psvlabel} shouldn't be redefined, because the package does
it itself internally in these cases. However, if you need a
-redefinition, then do it for \Lcs{pst@@@hlabel} and
-\Lcs{pst@@@vlabel} with
+redefinition, then do it for \nxLcs{pst@@@hlabel} and
+\nxLcs{pst@@@vlabel} with
\begin{lstlisting}[style=syntax]
\makeatletter
@@ -1153,12 +1157,12 @@ redefinition, then do it for \Lcs{pst@@@hlabel} and
\Lkeyword{ury} & length & 0pt & \pageref{psgraphoptions}\\
\Lkeyword{valuewidth} & integer & 10 & \pageref{values}\\
\Lkeyword{xAxis} & boolean & \true & \pageref{xyAxes}\\%ok
-\Lkeyword{xAxisLabel} & literal & \{\Lcs{@empty}\} & \pageref{psgraphoptions}\\
-\Lkeyword{xAxisLabelPos} & (x,y) or empty & \{\Lcs{@empty}\} & \pageref{psgraphoptions}\\
+\Lkeyword{xAxisLabel} & literal & \{\nxLcs{@empty}\} & \pageref{psgraphoptions}\\
+\Lkeyword{xAxisLabelPos} & (x,y) or empty & \{\nxLcs{@empty}\} & \pageref{psgraphoptions}\\
\Lkeyword{xDecimals} & integer or empty & \{\} & \pageref{xydecimals}\\%ok
\Lkeyword{xEnd} & integer or empty & \{\} & \pageref{nxend}\\
-\Lkeyword{xLabels} & list & \{\Lcs{empty}\} & \pageref{xLabels}\\
-\Lkeyword{xlabelFactor} & anything & \{\Lcs{@empty}\} & \pageref{labelfactor}\\
+\Lkeyword{xLabels} & list & \{\nxLcs{empty}\} & \pageref{xLabels}\\
+\Lkeyword{xlabelFactor} & anything & \{\nxLcs{@empty}\} & \pageref{labelfactor}\\
\Lkeyword{xlabelFontSize} & macro & \{\} & \pageref{labelfontsize}\\
\Lkeyword{xlabelOffset} & length & 0 & \pageref{labelOffset}\\
\Lkeyword{xlabelPos} & \Lkeyval{bottom},\Lkeyval{axis},\Lkeyval{top}
@@ -1183,12 +1187,12 @@ redefinition, then do it for \Lcs{pst@@@hlabel} and
\Lkeyword{xyDecimals} & integer or empty & \{\} & \pageref{xydecimals}\\%ok
\Lkeyword{xylogBase} & integer or empty & \{\} & \pageref{xylogbase}\\
\Lkeyword{yAxis} & boolean & \true & \pageref{xyAxes}\\%ok
-\Lkeyword{yAxisLabel} & literal & \{\Lcs{@empty}\} & \pageref{psgraphoptions}\\
-\Lkeyword{yAxisLabelPos} & (x,y) or empty & \{\Lcs{@empty}\} & \pageref{psgraphoptions}\\
+\Lkeyword{yAxisLabel} & literal & \{\nxLcs{@empty}\} & \pageref{psgraphoptions}\\
+\Lkeyword{yAxisLabelPos} & (x,y) or empty & \{\nxLcs{@empty}\} & \pageref{psgraphoptions}\\
\Lkeyword{yDecimals} & integer or empty & \{\} & \pageref{xydecimals}\\%ok
\Lkeyword{yEnd} & integer or empty & \{\} & \pageref{ystartend}\\
-\Lkeyword{yLabels} & list & \{\Lcs{empty}\} & \pageref{xLabels}\\
-\Lkeyword{ylabelFactor} & literal & \{\Lcs{empty}\} & \pageref{labelfactor}\\
+\Lkeyword{yLabels} & list & \{\nxLcs{empty}\} & \pageref{xLabels}\\
+\Lkeyword{ylabelFactor} & literal & \{nx\Lcs{empty}\} & \pageref{labelfactor}\\
\Lkeyword{ylabelFontSize} & macro & \{\} & \pageref{labelfontsize}\\
\Lkeyword{ylabelOffset} & length & 0 & \pageref{labelOffset}\\
\Lkeyword{ylabelPos} & \Lkeyval{left}|\Lkeyval{axis}|\Lkeyval{right}
@@ -2493,6 +2497,9 @@ This mode in math is also called double logarithmic. It is a
combination of the two foregoing modes and the function is now
$y=\log x$ and is shown in the following example.
+\psset{xyAxes=true}
+
+
\medskip
\begin{LTXexample}[width=7cm]
\begin{pspicture}(-3.5,-3.5)(3.5,3.5)
@@ -2737,6 +2744,10 @@ This is only a demonstration that the default option \xLkeyword{xylogBase}=\{\}
ticksize=10pt,subtickcolor=blue,subticksize=0.75,ylabelPos=right]{->}(0,0)(5,5)(-5,-5)
\end{lstlisting}
+
+\psset{xyAxes=true}
+
+
\begin{LTXexample}[width=5.5cm]
\pspicture(5,5.5)
\psaxes[subticks=4,ticksize=6pt,subticksize=0.5,%
@@ -3340,6 +3351,9 @@ best all data records.
\bgroup
\centering
\psset{lly=-.5cm}
+\begin{filecontents*}[force]{data/LSM.data}
+0 1 1 3 2.8 4 3 2.9 2 5 4 4 5 5.5 6 8.2 8 7
+\end{filecontents*}
\readdata{\data}{data/LSM.data}
\begin{psgraph}[arrows=->](0,0)(0,0)(8,8){.5\textwidth}{!}
\listplot[plotstyle=dots]{\data}
@@ -3349,7 +3363,7 @@ best all data records.
\begin{lstlisting}
-\begin{filecontents*}{data/LSM.data}
+\begin{filecontents*}[force]{data/LSM.data}
0 1 1 3 2.8 4 3 2.9 2 5 4 4 5 5.5 6 8.2 8 7
\end{filecontents*}
\psset{lly=-.5cm}
diff --git a/graphics/pstricks/contrib/pst-plot/latex/pst-plot.sty b/graphics/pstricks/contrib/pst-plot/latex/pst-plot.sty
index 1e9c4f018d..01ede3063f 100644
--- a/graphics/pstricks/contrib/pst-plot/latex/pst-plot.sty
+++ b/graphics/pstricks/contrib/pst-plot/latex/pst-plot.sty
@@ -29,7 +29,7 @@
\RequirePackage{pstricks}
\RequirePackage{pst-xkey}
\RequirePackage{multido}
-\ProvidesPackage{pst-plot}[2011/04/13 package wrapper for pst-plot.tex (hv)]
+\ProvidesPackage{pst-plot}[2021/09/23 package wrapper for pst-plot.tex (hv)]
\input{pst-plot.tex}
\ProvidesFile{pst-plot.tex}
[\filedate\space \fileversion\space `pst-plot' (tvz,hv)]
diff --git a/graphics/pstricks/contrib/pst-plot/tex/pst-plot.tex b/graphics/pstricks/contrib/pst-plot/tex/pst-plot.tex
index 2436a84739..a426f7fb51 100644
--- a/graphics/pstricks/contrib/pst-plot/tex/pst-plot.tex
+++ b/graphics/pstricks/contrib/pst-plot/tex/pst-plot.tex
@@ -1,4 +1,4 @@
-% $Id: pst-plot.tex 1056 2019-05-17 07:39:59Z herbert $
+% $Id: pst-plot.tex 1074 2019-07-16 16:07:00Z herbert $
%%
%% BEGIN pst-plot.tex
%%
@@ -23,8 +23,8 @@
\ifx\PSTFPloaded\endinput\else \input pst-fp.tex \fi
\ifx\MultidoLoaded\endinput\else \input multido.tex \fi
%
-\def\fileversion{1.92}
-\def\filedate{2019/05/16}
+\def\fileversion{1.93}
+\def\filedate{2021/09/23}
\message{ v\fileversion, \filedate\space (tvz,hv)}
%
\edef\TheAtCode{\the\catcode`\@}
@@ -378,11 +378,14 @@ D\space##1%
} repeat
/u xiSquare fi mul xi xifi mul sub n xiSquare mul xi dup mul sub div def
/v n xifi mul xi fi mul sub n xiSquare mul xi dup mul sub div def
+ gsave
\Pst@Debug\space 0 gt { % print the equation
- /NimbusSanL-Regu findfont 12 scalefont setfont
+ \ifpstGSfonts /NimbusSanL-Regu \else /Helvetica \fi
+ findfont 12 scalefont setfont
0 -50 moveto (y=) show % print y=
v \pst@number\psyunit \pst@number\psxunit div div 20 string cvs show ( x+) show % m*x+
u \pst@number\psyunit div 20 string cvs show } if
+ grestore
newpath
(\psk@xStart) length 0 gt % special start value?
{ \psk@xStart\space \pst@number\psxunit mul }
@@ -417,64 +420,64 @@ D\space##1%
\addto@pscode{
/Barwidth \number\Add@barwidth 2 div def
/Endwidth Barwidth \psk@arrowlength\space mul def
- NArray bubblesort
- /NArray ED % save sorted array
- [ NArray { yUnit mul } forall ] /NArray ED % multiply with y unit
- NArray 0 get /MinVal ED % save minimum
- NArray m 1 sub get /MaxVal ED % maximum
+ NArray@i bubblesort
+ /NArray@i ED % save sorted array
+ [ NArray@i { yUnit mul } forall ] /NArray@i ED % multiply with y unit
+ NArray@i 0 get /MinVal ED % save minimum
+ NArray@i m 1 sub get /MaxVal ED % maximum
m 2 div cvi /M ED % the middle
- NArray length 2 mod 0 eq { % even numbers of entries
- M 1 sub NArray exch get % even number of values
- NArray M get % and the upper one
+ NArray@i length 2 mod 0 eq { % even numbers of entries
+ M 1 sub NArray@i exch get % even number of values
+ NArray@i M get % and the upper one
add 2 div /Median ED % the median
}{
- NArray M get /Median ED % odd numbers of values
+ NArray@i M get /Median ED % odd numbers of values
} ifelse
m 4 mod 0 eq { % get the lower Quartil even/odd
- m 4 div cvi dup 1 sub NArray exch get
- exch NArray exch get
+ m 4 div cvi dup 1 sub NArray@i exch get
+ exch NArray@i exch get
% M 2 div cvi 1 add dup /M2 ED % save middle index
-% 1 sub NArray exch get
-% NArray M2 get
+% 1 sub NArray@i exch get
+% NArray@i M2 get
add 2 div floor /LowerQuartil ED
}{
- NArray M 2 div cvi get /LowerQuartil ED
+ NArray@i M 2 div cvi get /LowerQuartil ED
} ifelse % end even/odd
m 0.75 mul dup dup cvi sub 0 eq { % get the upper Quartil
% 0.75*m is an integer
- cvi dup 1 sub NArray exch get exch NArray exch get
+ cvi dup 1 sub NArray@i exch get exch NArray@i exch get
% M 1.5 mul cvi 1 add dup /M3 ED
-% 1 sub NArray exch get
-% NArray M3 get
+% 1 sub NArray@i exch get
+% NArray@i M3 get
add 2 div floor /UpperQuartil ED
}{ % upper quartil
- NArray m 0.75 mul floor cvi get /UpperQuartil ED
+ NArray@i m 0.75 mul floor cvi get /UpperQuartil ED
} ifelse
%
/IQL UpperQuartil LowerQuartil sub \pst@IQLfactor\space mul def
0 1 m 1 sub { % Index on stack
dup /Index ED
- NArray exch get LowerQuartil sub abs IQL sub 0 gt {
+ NArray@i exch get LowerQuartil sub abs IQL sub 0 gt {
\psk@dotsize
\@nameuse{psds@\psk@dotstyle}
- 0 NArray Index get \psk@postAction
+ 0 NArray@i Index get \psk@postAction
Dot
- NArray Index LowerQuartil UpperQuartil LowerQuartil sub \pst@IQLfactor\space mul sub
+ NArray@i Index LowerQuartil UpperQuartil LowerQuartil sub \pst@IQLfactor\space mul sub
dup /MinVal ED put % replace with 1.5 IQL
- NArray Index 1 add get /MinVal ED
+ NArray@i Index 1 add get /MinVal ED
} { exit } ifelse
} for
m 1 sub -1 0 { % Index on stack
dup /Index ED
- NArray exch get UpperQuartil sub abs IQL sub 0 gt {
+ NArray@i exch get UpperQuartil sub abs IQL sub 0 gt {
% newpath
\psk@dotsize
\@nameuse{psds@\psk@dotstyle}
- 0 NArray Index get \psk@postAction\space
+ 0 NArray@i Index get \psk@postAction\space
Dot
- NArray Index UpperQuartil LowerQuartil sub \pst@IQLfactor\space mul UpperQuartil add
+ NArray@i Index UpperQuartil LowerQuartil sub \pst@IQLfactor\space mul UpperQuartil add
dup /MaxVal ED put % replace with 1.5 IQL
- NArray Index 1 sub get /MaxVal ED
+ NArray@i Index 1 sub get /MaxVal ED
}{ exit } ifelse
} for
%
@@ -544,8 +547,8 @@ D\space##1%
\@nameuse{beginplot@\psplotstyle}%
\addto@pscode{
/D {} def
- [ #1 ] /NArray ED
- NArray aload length /m ED
+ [ #1 ] /NArray@i ED
+ NArray@i aload length /m ED
/xUnit \pst@number\psxunit def
/yUnit \pst@number\psyunit def
}%
@@ -1082,11 +1085,12 @@ D\space##1%
\def\parametricplot@i#1#2{\@ifnextchar[{\parametricplot@x{#1}{#2}}{\parametricplot@x{#1}{#2}[]}}
\def\parametricplot@x#1#2[#3]{\@ifnextchar[{\parametricplot@xi{#1}{#2}[#3]}{\parametricplot@xi{#1}{#2}[#3][]}}
\def\parametricplot@xi#1#2[#3][#4]#5{%
- \pst@killglue%
+ \pst@killglue
\begingroup%
- \use@par%
+ \use@par
\@nameuse{beginplot@\psplotstyle}%
\addto@pscode{%
+ 20 dict begin
#3 %prefix PS code
\psplot@init
/t #1 def
@@ -1126,7 +1130,7 @@ D\space##1%
\@pstfalse
\@nameuse{testqp@\psplotstyle}%
\if@pst\parametricplot@ii{#4}\else\parametricplot@iii{#4}\fi
- \endgroup%
+ \endgroup
\ignorespaces}
%
\def\parametricplot@ii#1{% para is the post code
@@ -1138,7 +1142,8 @@ D\space##1%
/t 3 -1 roll def 2 copy gt { exch } if pop
/t t 3 -1 roll add dup t1 gt {pop t1} if def
xy \@nameuse{doqp@\psplotstyle}
- t t1 eq { exit } if } loop}%
+ t t1 eq { exit } if } loop
+ }%
\else\pst@killglue%
\addto@pscode{%
/ps@Exit false def
@@ -1154,7 +1159,7 @@ D\space##1%
} if
}%
\fi%
- \addto@pscode{ #1 }%
+ \addto@pscode{ #1 end }% also end of userdict
\@nameuse{endqp@\psplotstyle}}
%
\def\parametricplot@iii#1{%
@@ -1170,7 +1175,8 @@ D\space##1%
t t1 eq { exit } if } loop
xy
2 copy \tx@UserCoor 2 array astore /FinalState ED
- n 2 roll}%
+ n 2 roll
+ }%
\else\pst@killglue%
\addto@pscode{
mark
@@ -1183,9 +1189,10 @@ D\space##1%
} repeat
/t t1 def
xy
- n 2 roll}%
- \fi%
- \addto@pscode{ #1 }%
+ n 2 roll
+ }%
+ \fi
+ \addto@pscode{ #1 end}% also end of userdict
\@nameuse{endplot@\psplotstyle}}
%
%
diff --git a/graphics/pstricks/contrib/pst-tools/Changes b/graphics/pstricks/contrib/pst-tools/Changes
index f741afb493..00059b5c77 100644
--- a/graphics/pstricks/contrib/pst-tools/Changes
+++ b/graphics/pstricks/contrib/pst-tools/Changes
@@ -1,4 +1,5 @@
..... pst-tools.tex
+0.12 2021-09-23 - rename PSfont to printfont
0.11 2021-09-13 - make it compatible to lualatex
0.10 2020-03-24 - added the random macros from random.tex which is no more
on TeXLive
diff --git a/graphics/pstricks/contrib/pst-tools/README b/graphics/pstricks/contrib/pst-tools/README
index e9f6540214..de528531e3 100644
--- a/graphics/pstricks/contrib/pst-tools/README
+++ b/graphics/pstricks/contrib/pst-tools/README
@@ -20,5 +20,5 @@ with pdftex, use the sequence latex->dvips->ps2pdf.
%% in directory macros/latex/base/lppl.txt.
-%% $Id: README 245 2021-09-13 18:56:41Z herbert $
+%% $Id: README 246 2021-09-13 20:06:21Z herbert $
hvoss@tug.org \ No newline at end of file
diff --git a/graphics/pstricks/contrib/pst-tools/doc/pst-tools-doc.pdf b/graphics/pstricks/contrib/pst-tools/doc/pst-tools-doc.pdf
index b37c59bca3..f968e5d446 100644
--- a/graphics/pstricks/contrib/pst-tools/doc/pst-tools-doc.pdf
+++ b/graphics/pstricks/contrib/pst-tools/doc/pst-tools-doc.pdf
Binary files differ
diff --git a/graphics/pstricks/contrib/pst-tools/doc/pst-tools-doc.tex b/graphics/pstricks/contrib/pst-tools/doc/pst-tools-doc.tex
index a4c1897f1a..4ebc52e1e6 100644
--- a/graphics/pstricks/contrib/pst-tools/doc/pst-tools-doc.tex
+++ b/graphics/pstricks/contrib/pst-tools/doc/pst-tools-doc.tex
@@ -1,6 +1,6 @@
\RequirePackage{pdfmanagement-testphase}
\DeclareDocumentMetadata{}
-%% $Id: pst-tools-doc.tex 245 2021-09-13 18:56:41Z herbert $
+%% $Id: pst-tools-doc.tex 256 2021-09-22 18:42:59Z herbert $
\documentclass[fontsize=11pt,english,BCOR=10mm,DIV=12,bibliography=totoc,parskip=false,headings=small,
headinclude=false,footinclude=false,oneside]{pst-doc}
\listfiles
@@ -77,7 +77,8 @@ There are the following valid options for \Lcs{psPrintValue}:
\begin{xltabular}{\linewidth}{@{}l|>{\ttfamily}l>{\ttfamily}lX@{}}
\textrm{name} & \textrm{value} & \textrm{default}\\\hline
\endhead
-\Lkeyword{PSfont} & PS font name & Times & only valid \PS\ font names are possible, e.g.
+\Lkeyword{printfont} & font name & Times & only the current font (\texttt{printfont={}})
+or valid \PS\ font names are possible, e.g.
\Lps{Times-Roman}, \Lps{Helvetica}, \Lps{Courier}, \Lps{Helvetica}, \Lps{Bookman}. If you want to embed the fonts
use always the URW names NimbusRomNo9L-Regu, NimbusSanL-Regu and NimbusMonL-Regu. However, the names
may vary on different operating systems. If you leave the argument empty, it will choose the currently active font.\\
@@ -103,11 +104,11 @@ may vary on different operating systems. If you leave the argument empty, it wil
\makebox[5em]{$\sqrt x$}\makebox[7em]{$\sin x+\cos x$}\makebox[6em]{$\sin^2 x+\cos^2 x$}\\[3pt]
\multido{\iA=0+10}{18}{%
\makebox[1em]{\iA}
- \makebox[5em]{\psPrintValue[PSfont=NimbusRomNo9L-Regu,xShift=-10]{\iA\space sin}}
- \makebox[4em][r]{\psPrintValue[PSfont={},fontscale=10,decimals=3,xShift=-20]{\iA\space cos}}\hspace{1em}
- \makebox[5em]{\psPrintValue[valuewidth=15,linecolor=blue,PSfont=NimbusSanL-Regu]{\iA\space sqrt}}
- \makebox[7em]{\psPrintValue[comma,PSfont=NimbusRomNo9L-ReguItal]{\iA\space dup sin exch cos add}}
- \makebox[6em]{\psPrintValue[PSfont=Palatino-Roman]{\iA\space dup sin dup mul exch cos dup mul add}}\\
+ \makebox[5em]{\psPrintValue[printfont=NimbusRomNo9L-Regu,xShift=-10]{\iA\space sin}}
+ \makebox[4em][r]{\psPrintValue[printfont={},fontscale=10,decimals=3,xShift=-20]{\iA\space cos}}\hspace{1em}
+ \makebox[5em]{\psPrintValue[valuewidth=15,linecolor=blue,printfont=NimbusSanL-Regu]{\iA\space sqrt}}
+ \makebox[7em]{\psPrintValue[comma,printfont=NimbusRomNo9L-ReguItal]{\iA\space dup sin exch cos add}}
+ \makebox[6em]{\psPrintValue[printfont=Palatino-Roman]{\iA\space dup sin dup mul exch cos dup mul add}}\\
}
\end{center}
@@ -120,11 +121,11 @@ may vary on different operating systems. If you leave the argument empty, it wil
\makebox[5em]{$\sqrt x$}\makebox[7em]{$\sin x+\cos x$}\makebox[6em]{$\sin^2 x+\cos^2 x$}\\[3pt]
\multido{\iA=0+10}{18}{
\makebox[1em]{\iA}
- \makebox[5em]{\psPrintValue[PSfont=NimbusRomNo9L-Regu,xShift=-10]{\iA\space sin}}
- \makebox[4em][r]{\psPrintValue[PSfont={},fontscale=10,decimals=3,xShift=-20]{\iA\space cos}}\hspace{1em}
- \makebox[5em]{\psPrintValue[valuewidth=15,linecolor=blue,PSfont=NimbusSanL-Regu]{\iA\space sqrt}}
- \makebox[7em]{\psPrintValue[comma,PSfont=NimbusRomNo9L-ReguItal]{\iA\space dup sin exch cos add}}
- \makebox[6em]{\psPrintValue[PSfont=Palatino-Roman]{\iA\space dup sin dup mul exch cos dup mul add}}\\}
+ \makebox[5em]{\psPrintValue[printfont=NimbusRomNo9L-Regu,xShift=-10]{\iA\space sin}}
+ \makebox[4em][r]{\psPrintValue[printfont={},fontscale=10,decimals=3,xShift=-20]{\iA\space cos}}\hspace{1em}
+ \makebox[5em]{\psPrintValue[valuewidth=15,linecolor=blue,printfont=NimbusSanL-Regu]{\iA\space sqrt}}
+ \makebox[7em]{\psPrintValue[comma,printfont=NimbusRomNo9L-ReguItal]{\iA\space dup sin exch cos add}}
+ \makebox[6em]{\psPrintValue[printfont=Palatino-Roman]{\iA\space dup sin dup mul exch cos dup mul add}}\\}
\end{lstlisting}
@@ -144,11 +145,11 @@ Pay attention, in algebraic notation angles must be in radian and not degrees.
\makebox[2em]{x(deg)} \makebox[5em]{$\sin x$} \makebox[4em]{$\cos x$}\hspace{1em}
\makebox[5em]{$\sqrt x$}\makebox[7em]{$\sin x+\cos x$}\makebox[6em]{$\sin^2 x+\cos^2 x$}\\[3pt]
\multido{\rA=0+0.1}{18}{\makebox[1em]{\rA}
- \makebox[5em]{\psPrintValue[PSfont=NimbusSanL-Regu,xShift=-10]{\rA, sin(x)}}
- \makebox[4em][r]{\psPrintValue[PSfont={},fontscale=10,decimals=3,xShift=-20]{\rA,cos(x)}}\hspace{1em}
- \makebox[5em]{\psPrintValue[valuewidth=15,linecolor=blue,PSfont=NimbusSanL-Regu]{\rA,sqrt(x)}}
- \makebox[7em]{\psPrintValue[comma,PSfont=NimbusRomNo9L-ReguItal]{\rA,sin(x)+cos(x)}}
- \makebox[6em]{\psPrintValue[PSfont=Palatino-Roman]{\rA,sin(x)^2+cos(x)^2}}\\}
+ \makebox[5em]{\psPrintValue[printfont=NimbusSanL-Regu,xShift=-10]{\rA, sin(x)}}
+ \makebox[4em][r]{\psPrintValue[printfont={},fontscale=10,decimals=3,xShift=-20]{\rA,cos(x)}}\hspace{1em}
+ \makebox[5em]{\psPrintValue[valuewidth=15,linecolor=blue,printfont=NimbusSanL-Regu]{\rA,sqrt(x)}}
+ \makebox[7em]{\psPrintValue[comma,printfont=NimbusRomNo9L-ReguItal]{\rA,sin(x)+cos(x)}}
+ \makebox[6em]{\psPrintValue[printfont=Palatino-Roman]{\rA,sin(x)^2+cos(x)^2}}\\}
\end{center}
\bigskip
@@ -158,20 +159,20 @@ Pay attention, in algebraic notation angles must be in radian and not degrees.
\makebox[2em]{x(deg)} \makebox[5em]{$\sin x$} \makebox[4em]{$\cos x$}\hspace{1em}
\makebox[5em]{$\sqrt x$}\makebox[7em]{$\sin x+\cos x$}\makebox[6em]{$\sin^2 x+\cos^2 x$}\\[3pt]
\multido{\rA=0+0.1}{18}{\makebox[1em]{\rA}
- \makebox[5em]{\psPrintValue[PSfont=NimbusSanL-Regu,xShift=-10]{\rA, sin(x)}}
- \makebox[4em][r]{\psPrintValue[PSfont={},fontscale=10,decimals=3,xShift=-20]{\rA,cos(x)}}\hspace{1em}
- \makebox[5em]{\psPrintValue[valuewidth=15,linecolor=blue,PSfont=NimbusSanL-Regu]{\rA,sqrt(x)}}
- \makebox[7em]{\psPrintValue[comma,PSfont=NimbusRomNo9L-ReguItal]{\rA,sin(x)+cos(x)}}
- \makebox[6em]{\psPrintValue[PSfont=Palatino-Roman]{\rA,sin(x)^2+cos(x)^2}}\\}
+ \makebox[5em]{\psPrintValue[printfont=NimbusSanL-Regu,xShift=-10]{\rA, sin(x)}}
+ \makebox[4em][r]{\psPrintValue[printfont={},fontscale=10,decimals=3,xShift=-20]{\rA,cos(x)}}\hspace{1em}
+ \makebox[5em]{\psPrintValue[valuewidth=15,linecolor=blue,printfont=NimbusSanL-Regu]{\rA,sqrt(x)}}
+ \makebox[7em]{\psPrintValue[comma,printfont=NimbusRomNo9L-ReguItal]{\rA,sin(x)+cos(x)}}
+ \makebox[6em]{\psPrintValue[printfont=Palatino-Roman]{\rA,sin(x)^2+cos(x)^2}}\\}
\end{lstlisting}
\begin{center}
foo \makebox[2em][l]{\psPrintValue[comma]{3.14 10 mul round 10 div}}bar\\[3pt]
-foo \makebox[2em][l]{\psPrintValue[comma,PSfont=StandardSymL,
+foo \makebox[2em][l]{\psPrintValue[comma,printfont=StandardSymL,
postString=\string\260]{3.14 10 mul round 10 div}}bar\\[3pt]
-foo \makebox[3.5em][l]{\psPrintValue[PSfont=StandardSymL,decimals=6,
+foo \makebox[3.5em][l]{\psPrintValue[printfont=StandardSymL,decimals=6,
postString=\string\260]{3.14 dup mul}}bar
\end{center}
@@ -179,9 +180,9 @@ foo \makebox[3.5em][l]{\psPrintValue[PSfont=StandardSymL,decimals=6,
\begin{lstlisting}
foo \makebox[2em][l]{\psPrintValue[comma]{3.14 10 mul round 10 div}}bar\\[3pt]
-foo \makebox[2em][l]{\psPrintValue[comma,PSfont=StandardSymL,
+foo \makebox[2em][l]{\psPrintValue[comma,printfont=StandardSymL,
postString=\string\260]{3.14 10 mul round 10 div}}bar\\[3pt]
-foo \makebox[3.5em][l]{\psPrintValue[PSfont=StandardSymL,decimals=6,
+foo \makebox[3.5em][l]{\psPrintValue[printfont=StandardSymL,decimals=6,
postString=\string\260]{3.14 dup mul}}bar
\end{lstlisting}
diff --git a/graphics/pstricks/contrib/pst-tools/dvips/pst-tools.pro b/graphics/pstricks/contrib/pst-tools/dvips/pst-tools.pro
index bc059faafa..6215b9e35a 100644
--- a/graphics/pstricks/contrib/pst-tools/dvips/pst-tools.pro
+++ b/graphics/pstricks/contrib/pst-tools/dvips/pst-tools.pro
@@ -1,4 +1,4 @@
-% $Id: pst-tools.pro 842 2013-10-26 10:25:41Z herbert $
+% $Id: pst-tools.pro 249 2021-09-14 10:22:55Z herbert $
%
%% PostScript tools prologue for pstricks.tex.
%% Version 0.06, 2017/12/03
diff --git a/graphics/pstricks/contrib/pst-tools/tex/pst-tools.tex b/graphics/pstricks/contrib/pst-tools/tex/pst-tools.tex
index 36b32ef8c0..8e9e08ec8b 100644
--- a/graphics/pstricks/contrib/pst-tools/tex/pst-tools.tex
+++ b/graphics/pstricks/contrib/pst-tools/tex/pst-tools.tex
@@ -1,4 +1,4 @@
-%% $Id: pst-tools.tex 245 2021-09-13 18:56:41Z herbert $
+%% $Id: pst-tools.tex 265 2021-09-24 18:47:41Z herbert $
%%
%% This is file `pst-tools.tex',
%%
@@ -26,8 +26,8 @@
% interface to the `xkeyval' package
\pst@addfams{pst-tools}
%
-\def\fileversion{0.11}
-\def\filedate{2021/09/13}
+\def\fileversion{0.12}
+\def\filedate{2021/09/23}
\message{`PST-tools' v\fileversion, \filedate\space (hv)}
%
\define@key[psset]{pst-tools}{decimalSeparator}[.]{\def\psk@decimalSeparator{#1}}%
@@ -38,9 +38,9 @@
\define@key[psset]{pst-tools}{yShift}[0]{\def\psk@yShift{#1}}
\define@key[psset]{pst-tools}{postString}[{}]{\def\psk@postString{#1}}
\define@key[psset]{pst-tools}{VarName}[]{\def\psk@VarName{#1 }}
-\define@key[psset]{pst-tools}{PSfont}[NimbusRomNo9L-Regu]{%
+\define@key[psset]{pst-tools}{printfont}[NimbusRomNo9L-Regu]{%
\ifPSTlualatex
- \ifx\relax#1\relax
+ \expandafter\ifx\expandafter\relax#1\relax
\def\psk@printfont{ \fontid\font\space .findfontid }%
\else
\def\psk@printfont{ /#1 findfont }%
@@ -56,7 +56,7 @@
\define@key[psset]{pst-tools}{valuewidth}[10]{\pst@getint{#1}\psk@valuewidth }
\define@key[psset]{pst-tools}{fontscale}[10]{\pst@checknum{#1}\psk@fontscale }
\define@key[psset]{pst-tools}{decimals}[-1]{\pst@getint{#1}\psk@decimals }
-\psset[pst-tools]{PSfont=Helvetica,fontscale=10,valuewidth=10,decimals=-1,
+\psset[pst-tools]{printfont=Helvetica,fontscale=10,valuewidth=10,decimals=-1,
xShift=0,yShift=0,trimSpaces=false,postString={},VarName={},
comma=false,decimalSeparator=.}
%
@@ -70,8 +70,7 @@
\def\psPrintValue@ii#1,#2,#3\@nil{% #1,#2 only for algebraic code
\begin@SpecialObj
\addto@pscode{
- gsave \psk@printfont
- \psk@fontscale scalefont setfont
+ gsave \psk@printfont \psk@fontscale scalefont setfont
\ifPst@algebraic
/x #1 def
/Func (#2) tx@AlgToPs begin AlgToPs end cvx def