From 8322a8a248262d9acaadab2fa12d90012fcf1877 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Sat, 25 Sep 2021 03:01:31 +0000 Subject: CTAN sync 202109250301 --- graphics/pstricks/base/Changes | 7 +- graphics/pstricks/base/config/distiller.cfg | 2 +- graphics/pstricks/base/config/dvips.cfg | 2 +- graphics/pstricks/base/config/dvipsone.cfg | 2 +- graphics/pstricks/base/config/gastex.cfg | 2 +- graphics/pstricks/base/config/textures.cfg | 2 +- graphics/pstricks/base/config/vtex.cfg | 2 +- graphics/pstricks/base/doc/PSTricks.bib | 17 - graphics/pstricks/base/doc/pst-doc.cls | 20 +- graphics/pstricks/base/doc/pst-news.tex | 2 +- graphics/pstricks/base/doc/pst-news08.pdf | Bin 131821 -> 195188 bytes graphics/pstricks/base/doc/pst-news09.tex | 2 +- graphics/pstricks/base/doc/pst-news10.tex | 2 +- graphics/pstricks/base/doc/pst-news11.tex | 2 +- graphics/pstricks/base/doc/pst-news12.tex | 2 +- graphics/pstricks/base/doc/pst-news13.tex | 2 +- graphics/pstricks/base/doc/pst-news14.tex | 2 +- graphics/pstricks/base/doc/pst-news15.tex | 2 +- graphics/pstricks/base/doc/pst-news16.tex | 2 +- graphics/pstricks/base/doc/pst-news17.tex | 2 +- graphics/pstricks/base/doc/pst-news18.tex | 2 +- graphics/pstricks/base/doc/pst-news19.pdf | Bin 71977 -> 59875 bytes graphics/pstricks/base/doc/pst-news19.tex | 36 +- graphics/pstricks/base/doc/pst-news20.tex | 2 +- graphics/pstricks/base/doc/pst-news21.pdf | Bin 129583 -> 129526 bytes graphics/pstricks/base/doc/pst-news21.tex | 6 +- graphics/pstricks/base/dvips/pst-dots.pro | 465 ++++++++++++++------- graphics/pstricks/base/dvips/pstricks.pro | 11 +- graphics/pstricks/base/generic/pstricks-arrows.tex | 54 ++- graphics/pstricks/base/generic/pstricks-color.tex | 2 +- graphics/pstricks/base/generic/pstricks-dots.tex | 228 ++++++++++ graphics/pstricks/base/generic/pstricks-tex.def | 3 +- graphics/pstricks/base/generic/pstricks.con | 7 +- graphics/pstricks/base/generic/pstricks.tex | 400 ++++-------------- graphics/pstricks/base/generic/pstricks97.tex | 2 +- graphics/pstricks/base/latex/pstricks-pdf.sty | 2 +- graphics/pstricks/base/latex/pstricks.sty | 3 +- graphics/pstricks/contrib/pst-3dplot/Changes | 1 + graphics/pstricks/contrib/pst-3dplot/README | 3 + .../contrib/pst-3dplot/doc/pst-3dplot-doc.pdf | Bin 2378418 -> 1046808 bytes .../contrib/pst-3dplot/doc/pst-3dplot-doc.tex | 17 +- .../pstricks/contrib/pst-3dplot/tex/pst-3dplot.tex | 22 +- graphics/pstricks/contrib/pst-plot/Changes | 4 + .../pstricks/contrib/pst-plot/doc/pst-plot-doc.bib | 34 ++ .../pstricks/contrib/pst-plot/doc/pst-plot-doc.pdf | Bin 1316550 -> 1202217 bytes .../pstricks/contrib/pst-plot/doc/pst-plot-doc.tex | 56 ++- .../pstricks/contrib/pst-plot/latex/pst-plot.sty | 2 +- .../pstricks/contrib/pst-plot/tex/pst-plot.tex | 89 ++-- graphics/pstricks/contrib/pst-tools/Changes | 1 + graphics/pstricks/contrib/pst-tools/README | 2 +- .../contrib/pst-tools/doc/pst-tools-doc.pdf | Bin 151064 -> 139102 bytes .../contrib/pst-tools/doc/pst-tools-doc.tex | 53 +-- .../pstricks/contrib/pst-tools/dvips/pst-tools.pro | 2 +- .../pstricks/contrib/pst-tools/tex/pst-tools.tex | 15 +- 54 files changed, 903 insertions(+), 697 deletions(-) create mode 100644 graphics/pstricks/base/generic/pstricks-dots.tex (limited to 'graphics') 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 Binary files a/graphics/pstricks/base/doc/pst-news08.pdf and b/graphics/pstricks/base/doc/pst-news08.pdf 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 Binary files a/graphics/pstricks/base/doc/pst-news19.pdf and b/graphics/pstricks/base/doc/pst-news19.pdf 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 Binary files a/graphics/pstricks/base/doc/pst-news21.pdf and b/graphics/pstricks/base/doc/pst-news21.pdf 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 + +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 +%% +%% 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}{} - \newpsfontdot{otimes}[1.44928 0.0 0.0 1.44928 -0.562319 -0.475362]{StandardSymL}{} - \newpsfontdot{x}[1.8 0.0 0.0 1.8 -0.495 -0.4788]{StandardSymL}{} - \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}{} - \newpsfontdot{otimes}[1.44928 0.0 0.0 1.44928 -0.562319 -0.475362]{Symbol}{} - \newpsfontdot{x}[1.8 0.0 0.0 1.8 -0.495 -0.4788]{Symbol}{} - \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 Binary files a/graphics/pstricks/contrib/pst-3dplot/doc/pst-3dplot-doc.pdf and b/graphics/pstricks/contrib/pst-3dplot/doc/pst-3dplot-doc.pdf 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 Binary files a/graphics/pstricks/contrib/pst-plot/doc/pst-plot-doc.pdf and b/graphics/pstricks/contrib/pst-plot/doc/pst-plot-doc.pdf 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 Binary files a/graphics/pstricks/contrib/pst-tools/doc/pst-tools-doc.pdf and b/graphics/pstricks/contrib/pst-tools/doc/pst-tools-doc.pdf 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 -- cgit v1.2.3