summaryrefslogtreecommitdiff
path: root/graphics/pstricks/contrib
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2023-04-17 03:03:48 +0000
committerNorbert Preining <norbert@preining.info>2023-04-17 03:03:48 +0000
commit88aa9bb9a3222cf13820ae3b6f64ce48dcd003ea (patch)
tree9495d0cd2219bb309106f5330e0aeba36a675319 /graphics/pstricks/contrib
parent421b47819f21160c3662c40f7da028f15b726577 (diff)
CTAN sync 202304170303
Diffstat (limited to 'graphics/pstricks/contrib')
-rw-r--r--graphics/pstricks/contrib/pst-eucl/Changes2
-rw-r--r--graphics/pstricks/contrib/pst-eucl/README1
-rw-r--r--graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.bib7
-rw-r--r--graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.pdfbin1779040 -> 1744473 bytes
-rw-r--r--graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.tex107
-rw-r--r--graphics/pstricks/contrib/pst-eucl/tex/pst-eucl.tex35
6 files changed, 97 insertions, 55 deletions
diff --git a/graphics/pstricks/contrib/pst-eucl/Changes b/graphics/pstricks/contrib/pst-eucl/Changes
index a532ffec14..ef2df88242 100644
--- a/graphics/pstricks/contrib/pst-eucl/Changes
+++ b/graphics/pstricks/contrib/pst-eucl/Changes
@@ -7,6 +7,8 @@ pst-eucl.pro --------
pst-eucl.tex --------
+1.77 2023/04/15 - some more fixes for lualatex
+1.76 2021/09/07 - add support for lualatex
1.75 2020/09/29 - add macro to calc the coefficents of general conic $ax^2+bxy+cy^2+dx+ey+f=0$ through given five points, \pstGeneralConicEquation.
- add macro to calc the coefficents of general conic $ax^2+bxy+cy^2+dx+ey+f=0$ of the given ellipse, \pstGeneralEllipseEquation.
- add macro to calc the coefficents of general conic $ax^2+bxy+cy^2+dx+ey+f=0$ of the given hyperbola, \pstGeneralHyperbolaEquation.
diff --git a/graphics/pstricks/contrib/pst-eucl/README b/graphics/pstricks/contrib/pst-eucl/README
index 4d46333103..c117b7cc17 100644
--- a/graphics/pstricks/contrib/pst-eucl/README
+++ b/graphics/pstricks/contrib/pst-eucl/README
@@ -5,6 +5,7 @@ geometric figures using LaTeX macros for specifying mathematical
constraints. It is thus possible to build point using common
transformations or intersections.
+The documentation was typeset with lualatex
This program can be redistributed and/or modified under the terms
diff --git a/graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.bib b/graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.bib
index 7e9f03b000..216bb067a2 100644
--- a/graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.bib
+++ b/graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.bib
@@ -5,10 +5,11 @@
@Book{companion,
author = {Michel Goosens and Frank Mittelbach and Sebastian Rahtz and Dennis Roegel and Herbert Voß},
title = {The {\LaTeX} Graphics Companion},
- publisher = {Addison-Wesley Publishing Company},
+ publisher = {Lehmanns Media},
edition = {2},
- date = {2007},
- location = {Boston, Mass.}
+ date = {2022},
+ location = {Berlin},
+ note={Preprint of the english version, 2nd edition}
}
@Article{girou:01:,
diff --git a/graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.pdf b/graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.pdf
index 5f06ffd370..87844e6030 100644
--- a/graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.pdf
+++ b/graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.pdf
Binary files differ
diff --git a/graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.tex b/graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.tex
index 86dbdc3cf7..725787b41b 100644
--- a/graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.tex
+++ b/graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.tex
@@ -1,3 +1,6 @@
+\PassOptionsToPackage{psfonts}{pstricks}
+\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}
\usepackage{pst-eucl}
@@ -6,7 +9,7 @@
\usepackage{ntheorem}
\newtheorem{theorem}{Theorem}
\usepackage{pst-func,pst-plot,paralist}
-\usepackage[mathscr]{eucal}
+%\usepackage[mathscr]{eucal}
\def\eV{e.\kern-1pt{}V\kern-1pt}
\lstset{pos=l,wide=false,basicstyle=\footnotesize\ttfamily,frame={},rframe={},explpreset={language=[PSTricks]{TeX}}}
@@ -55,6 +58,7 @@
\vfill
\noindent
Thanks to:
+Pablo Gonzáles Luengo;
Manuel Luque;
Thomas Söll.
@@ -138,7 +142,7 @@ Here are the possible values for this parameter:
\item \Lkeyword{diamond*}: \psdots[dotstyle=diamond*](.5ex,.5ex)
\item \Lkeyword{pentagon}: \psdots[dotstyle=pentagon](.5ex,.5ex)
\item \Lkeyword{pentagon*}: \psdots[dotstyle=pentagon*](.5ex,.5ex)
- \item \Lkeyword{|}: \psdots[dotstyle=|](.5ex,.5ex)
+ \item \nxLkeyword{|}: \psdots[dotstyle=|](.5ex,.5ex)
\end{compactitem}
\end{multicols}
@@ -176,7 +180,7 @@ draw a line between the points:
\item open and curved \verb$curve$.
\end{compactitem}
-\begin{LTXexample}[width=5cm,pos=l]
+\begin{LTXexample}[width=6.5cm,pos=l]
\begin{pspicture}[showgrid=true](-2,-2)(3,3)
\pstGeonode{A}
\pstGeonode[PosAngle=-135, PointNameSep=1.3](0,3){B_1}
@@ -317,7 +321,7 @@ controled by the parameter \Lkeyword{MarkAngle} (default is 45). Their width and
depends of the width and color of the line when the drawing is done, as shown is the
next example.
-\begin{LTXexample}[width=5cm,pos=l]
+\begin{LTXexample}[width=6cm,pos=l]
\begin{pspicture}[showgrid=true](-2,-2)(2,2)
\rput{18}{%
\pstGeonode[PosAngle={0,90,180,-90}](2,0){A}(2;72){B}
@@ -465,7 +469,7 @@ and outer circle of triangle $ABC$.
\Lcs{pstTriangleOC}\OptArgs\Largb{A}\Largb{B}\Largb{C}\OptArg{O}
\end{BDef}
-\begin{LTXexample}[width=5cm,pos=l]
+\begin{LTXexample}[width=6cm,pos=l]
\begin{pspicture}[showgrid](-2,-2)(2,2)
\pstTriangle[PointSymbol=square,PointSymbolC=o,
linecolor=blue,linewidth=1.5\pslinewidth]
@@ -584,7 +588,7 @@ an arrow using the parameter \Lkeyword{arrows}.Finally, it is possible to mark
the angle by specifying a \TeX{} command as argument of parameter \Lkeyword{Mark}.
\end{sloppypar}
-\begin{LTXexample}[width=5cm,pos=l]
+\begin{LTXexample}[width=6cm,pos=l]
\begin{pspicture}[showgrid](-2,-2)(2,2)
\psset{PointSymbol=none}
\pstTriangle(2;15){A}(2;85){B}(2;195){C}
@@ -602,7 +606,7 @@ the angle by specifying a \TeX{} command as argument of parameter \Lkeyword{Mark
\end{LTXexample}
-\begin{LTXexample}[width=\linewidth,pos=t]
+\begin{LTXexample}[width=6cm,pos=l]
\begin{pspicture}(-0.5,-0.5)(9,3)
\psset{PointSymbol=none,PointNameMathSize=\scriptstyle,PointNameSep=6pt,
RightAngleSize=0.15,PosAngle={135,225,-45,45}}
@@ -623,7 +627,7 @@ the angle by specifying a \TeX{} command as argument of parameter \Lkeyword{Mark
\end{pspicture}
\end{LTXexample}
-\begin{LTXexample}[width=\linewidth,pos=t]
+\begin{LTXexample}[width=4cm,pos=l]
\begin{pspicture}[showgrid=false](-1.0,-1.0)(4,4)
\pstGeonode[PosAngle=-90](0.0,0.0){A}
\pstGeonode[PosAngle=-90](3.0,0.0){B}
@@ -1628,6 +1632,8 @@ In general, you can use the macro \Lcs{pstRegularPolygonAB} and \Lcs{pstRegularP
\Lcs{pstRegularPolygonOA}\OptArgs\Largb{$O$}\Largb{$A_0$}\Largb{$n$}\Largb{$A_1,A_2,\cdots,A_{n-1}$}
\end{BDef}
+%$
+
The macro \Lcs{pstETriangleAB} draw a equilateral triangle on a given side $AB$, and output the third node $C$;
The macro \Lcs{pstSquareAB} draw a square on a given side $AB$, and output the other two nodes $C$, $D$;
The macro \Lcs{pstRegularPolygonAB} draw a n-side regular polygon on a given side $A_0A_1$, and output the other nodes $A_2,A_3,\cdots,A_{n-1}$;
@@ -4792,7 +4798,6 @@ of centre $O$ and radius $OA$.
\end{LTXexample}
-
\section{Helper Macros}
\begin{BDef}
@@ -4862,15 +4867,55 @@ Calculates and prints the values. This is only possible on PostScript level!
+
\addtocontents{toc}{\protect\newpage}
\part{Examples gallery}
\appendix
\section{Basic geometry}
+
+\subsection{Transformation de polygones et courbes}
+
+Here is an example of the use of \Lkeyword{CurveType} with transformation.
+
+%\begin{LTXexample}[pos=t]
+\begin{pspicture}(-5,-5)(10,5)
+\pstGeonode{O}
+\rput(-4,-1){\pstGeonode[CurveType=curve](1,3){M}(4,5){N}(6,2){P}(8,5){Q}}
+\pstHomO[linecolor=red, HomCoef=.3, CurveType=curve]{O}{M,N,P,Q}
+\pstSymO[linecolor=yellow, CurveType=curve]{O}{M',N',P',Q'}
+\rput(-3,0){\pstGeonode[CurveType=polygon](1,0){A}(1;51.43){B}(1;102.86){C}
+ (1;154.29){D}(1;205.71){E}(1;257.14){F}(1;308.57){G}}
+\pstRotation[linecolor=green, RotAngle=100, CurveType=polygon]{O}{A, B, C, D, E, F, G}
+\pstTranslation[linecolor=blue, CurveType=polygon]{C}{O}{A', B', C', D', E', F', G'}
+\pstOrtSym[linecolor=magenta, CurveType=polygon]{Q}{F''}%
+ {A', B', C', D', E', F', G'}[A''', B''', C''', D''', E''', F''', G''']
+\end{pspicture}
+%\end{LTXexample}
+
+\begin{lstlisting}
+\begin{pspicture}(-5,-5)(10,5)
+\pstGeonode{O}
+\rput(-4,-1){\pstGeonode[CurveType=curve](1,3){M}(4,5){N}(6,2){P}(8,5){Q}}
+\pstHomO[linecolor=red, HomCoef=.3, CurveType=curve]{O}{M,N,P,Q}
+\pstSymO[linecolor=yellow, CurveType=curve]{O}{M',N',P',Q'}
+\rput(-3,0){\pstGeonode[CurveType=polygon](1,0){A}(1;51.43){B}(1;102.86){C}
+ (1;154.29){D}(1;205.71){E}(1;257.14){F}(1;308.57){G}}
+\pstRotation[linecolor=green, RotAngle=100, CurveType=polygon]{O}{A, B, C, D, E, F, G}
+\pstTranslation[linecolor=blue, CurveType=polygon]{C}{O}{A', B', C', D', E', F', G'}
+\pstOrtSym[linecolor=magenta, CurveType=polygon]{Q}{F''}%
+ {A', B', C', D', E', F', G'}[A''', B''', C''', D''', E''', F''', G''']
+\end{pspicture}
+\end{lstlisting}
+
+\newpage
+
+
+
\subsection{Drawing of the bissector}
-\begin{LTXexample}[width=5cm,pos=l]
+\begin{LTXexample}[width=6cm,pos=l]
\begin{pspicture}[showgrid](-1,-1)(4.4,5)
\psset{PointSymbol=none,PointName=none}
\pstGeonode[PosAngle={180,130,-90},PointSymbol={*,none},
@@ -4893,32 +4938,12 @@ Calculates and prints the values. This is only possible on PostScript level!
\newpage
-\subsection{Transformation de polygones et courbes}
-
-Here is an example of the use of \Lkeyword{CurveType} with transformation.
-
-\begin{LTXexample}
-\begin{pspicture}(-5,-5)(10,5)
-\pstGeonode{O}
-\rput(-3,0){\pstGeonode[CurveType=polygon](1,0){A}(1;51.43){B}(1;102.86){C}
- (1;154.29){D}(1;205.71){E}(1;257.14){F}(1;308.57){G}}
-\rput(-4,-1){\pstGeonode[CurveType=curve](1,3){M}(4,5){N}(6,2){P}(8,5){Q}}
-\pstRotation[linecolor=green, RotAngle=100, CurveType=polygon]{O}{A, B, C, D, E, F, G}
-\pstHomO[linecolor=red, HomCoef=.3, CurveType=curve]{O}{M,N,P,Q}
-\pstTranslation[linecolor=blue, CurveType=polygon]{C}{O}{A', B', C', D', E', F', G'}
-\pstSymO[linecolor=yellow, CurveType=curve]{O}{M',N',P',Q'}
-\pstOrtSym[linecolor=magenta, CurveType=polygon]{Q}{F''}
- {A', B', C', D', E', F', G'}[A''', B''', C''', D''', E''', F''', G''']
-\end{pspicture}
-\end{LTXexample}
-
-\newpage
\subsection{Triangle lines}
-\begin{LTXexample}
+\begin{LTXexample}[width=\linewidth,pos=b]
\psset{unit=2}
\begin{pspicture}(-3,-2)(3,3)
\psset{PointSymbol=none}
@@ -4953,7 +4978,7 @@ Here is an example of the use of \Lkeyword{CurveType} with transformation.
\subsection{Euler circle}
-\begin{LTXexample}
+\begin{LTXexample}[width=\linewidth,pos=b]
\psset{unit=2}
\begin{pspicture}(-3,-1.5)(3,2.5)
\psset{PointSymbol=none}
@@ -4993,7 +5018,7 @@ Here is an example of the use of \Lkeyword{CurveType} with transformation.
The orthocenter of a triangle whose points are on the branches of the
hyperbola ${\mathscr H} : y=a/x$ belong to this hyperbola.
-\begin{LTXexample}
+\begin{LTXexample}[width=\linewidth,pos=b]
\psset{unit=0.7}
\begin{pspicture}(-11,-5)(11,7)
\psset{linecolor=blue, linewidth=2\pslinewidth}
@@ -5117,7 +5142,7 @@ have $2^{2^p}+1$ sides, the following one has 257 sides!
The drawing of the circle tangents which crosses a given point.
-\begin{LTXexample}
+\begin{LTXexample}[width=\linewidth,pos=b]
\begin{pspicture}(15,10)
\pstGeonode(5, 5){O}(14,2){M}
\pstCircleOA[Radius=\pstDistVal{4}]{O}{}
@@ -5130,7 +5155,7 @@ The drawing of the circle tangents which crosses a given point.
\end{LTXexample}
-\begin{LTXexample}
+\begin{LTXexample}[width=\linewidth,pos=b]
\begin{pspicture}(-2,0)(13,9)
\pstGeonode(9,3){O}(3,6){O'}\psset{PointSymbol=none, PointName=none}
\pstCircleOA[Radius=\pstDistVal{3}]{O}{}\pstCircleOA[Radius=\pstDistVal{1}]{O'}{}
@@ -5367,13 +5392,15 @@ distance of two points (the focus) is constant.
+\clearpage
+
\subsection{Cycloid}
The wheel rolls from $M$ to $A$. The circle points are on a
cycloid.
-\begin{LTXexample}
+\begin{LTXexample}[width=\linewidth,pos=b]
\begin{pspicture}[showgrid](-2,-1)(13,3)
\providecommand\NbPt{11}
\psset{linewidth=1.2\pslinewidth}
@@ -5480,8 +5507,8 @@ circle points, create two conics depending of the position of $A$:
(figure of O. Reboux).
-\begin{LTXexample}
-\begin{pspicture}(-6,-6)(6,6)
+\begin{LTXexample}[width=\linewidth,pos=b]
+\begin{pspicture*}(-6,-6)(6,6)
\psset{linewidth=0.4\pslinewidth,PointSymbol=none, PointName=none}
\pstGeonode[PosAngle=-90, PointSymbol={none,*,none}, PointName={none,default,none}]
{O}(4;132){A}(5,0){O'}
@@ -5490,7 +5517,7 @@ circle points, create two conics depending of the position of $A$:
\pstGeonode(5;\n){M_\n}
\pstMediatorAB[nodesep=-15,linecolor=magenta]
{A}{M_\n}{I}{J}}% fin multido
-\end{pspicture}
+\end{pspicture*}
\end{LTXexample}
\newpage
@@ -5514,7 +5541,7 @@ crossing a given point.
\newpage
\section{Homotethy and fractals}
-\begin{LTXexample}[width=6cm.pos=l]
+\begin{LTXexample}[width=6cm,pos=l]
\begin{pspicture}(-2.8,-3)(2.8,3)
\pstGeonode[PosAngle={0,90}](2,2){A_0}(-2,2){B_0}%
\psset{RotAngle=90}
diff --git a/graphics/pstricks/contrib/pst-eucl/tex/pst-eucl.tex b/graphics/pstricks/contrib/pst-eucl/tex/pst-eucl.tex
index 12f75bb8c8..23d2db4d1e 100644
--- a/graphics/pstricks/contrib/pst-eucl/tex/pst-eucl.tex
+++ b/graphics/pstricks/contrib/pst-eucl/tex/pst-eucl.tex
@@ -21,8 +21,8 @@
\csname PSTEuclideLoaded\endcsname
\let\PSTEuclideLoaded\endinput
%
-\def\fileversion{1.75}
-\def\filedate{2020/09/29}
+\def\fileversion{1.77}
+\def\filedate{2023/04/15}
%%
\message{`PST-Euclide v\fileversion, \filedate\space (dr,hv)}%
%% prologue for postcript
@@ -1093,10 +1093,10 @@
%% #2 #3 -> 2 nodes defining the line
\def\pstLineAB{\@ifnextchar[\Pst@LineAB{\Pst@LineAB[]}}%
\def\Pst@LineAB[#1]#2#3{%
- \begingroup
- \psset{#1}%
- \ncline{#2}{#3}
- \endgroup%
+% \begingroup
+% \psset{#1}%
+ \ncline[#1]{#2}{#3}
+% \endgroup
}%
%
%% \pstCircleOA[Options]{O}{A}[angleA][angleB]
@@ -2576,8 +2576,8 @@
\pst@tempA \tx@UserCoor /y1 ED /x1 ED
\pst@tempB \tx@UserCoor /y2 ED /x2 ED
\pst@tempC \tx@UserCoor /y3 ED /x3 ED
- y1 y2 sub x1 x2 sub Atan neg /delta1 ED
- y3 y2 sub x3 x2 sub Atan neg /delta2 ED
+ y1 y2 sub x1 x2 sub Atan \ifPSTlualatex\else neg \fi /delta1 ED % luatex has other coordinates
+ y3 y2 sub x3 x2 sub Atan \ifPSTlualatex\else neg \fi /delta2 ED
delta1 delta2 le {180 delta2 delta1 add 2 div neg add /WiM ED} {delta2 delta1 add 2 div neg /WiM ED} ifelse
}
\ifPst@ShowWedge
@@ -2586,7 +2586,7 @@
\ifPst@AngleArc
\psarc[linestyle=\psk@ArcLinestyle,linewidth=\psk@ArcLinewidth,linecolor=\psk@ArcColor](#2){\psk@MarkAngleRadius}{! delta1}{! delta2}%
\fi
- \pnode(! %
+ \pnode(!
/dec \psk@decimals\space def
\psk@PSfont findfont \psk@fontscale scalefont setfont \pst@usecolor\pslinecolor
\ifpst@psfonts
@@ -2595,8 +2595,15 @@
/s1 { /StandardSymL findfont \psk@fontscale\space scalefont setfont } bind def
\fi
/laenge {10 dec exp mul round 10 dec exp div 15 string cvs stringwidth } def
- /WertZeigen { dec -1 le { /dec 15 def } if 10 dec exp mul round 10 dec exp div dec 0 eq {cvi 15 string cvs} {15 string cvs } ifelse
- \ifPst@comma dot2comma \fi show s1 (\string\260) show} def
+ /WertZeigen {
+ dec -1 le { /dec 15 def } if
+ 10 dec exp mul round 10 dec exp div
+ dec 0 eq
+ {cvi 15 string cvs}
+ {15 string cvs } ifelse
+ \ifPst@comma dot2comma \fi show
+ s1 (\string\260) show
+ } def
\pst@tempA \tx@UserCoor /y1 ED /x1 ED
\pst@tempB \tx@UserCoor /y2 ED /x2 ED
\pst@tempC \tx@UserCoor /y3 ED /x3 ED
@@ -11759,6 +11766,7 @@
\pstParseArg{CurveCoef}{A,B,C,D,E,F}{#3}
\pnode(!
% Conic ax^2+bxy+cy^2+dx+ey+f=0
+ 25 dict begin
\CurveCoefa /Ca ED
\CurveCoefb /Cb ED
\CurveCoefc /Cc ED
@@ -11798,6 +11806,7 @@
/Fx XYPair 0 get def
/Fy XYPair 1 get def
} if
+ end
){#4}
\pnode(! Dx Dy){#5}
\pnode(! Ex Ey){#6}
@@ -11810,7 +11819,7 @@
}%
%
%% \pstGeneralConicTangentLine[Options]{A}{a,b,c,d,e,f}{B}
-%% Get the tangent line through point $A% on the General Conic $ax^2+bxy+cy^2+dx+ey+f=0$.
+%% Get the tangent line through point $A$ on the General Conic $ax^2+bxy+cy^2+dx+ey+f=0$.
%
%% Parameters:
%% #1 -> options
@@ -11826,6 +11835,7 @@
\pstParseArg{CurveCoef}{a,b,c,d,e,f}{#3}
\pnode(!
% Conic ax^2+bxy+cy^2+dx+ey+f=0
+ 15 dict begin
\CurveCoefa /Ca ED
\CurveCoefb /Cb ED
\CurveCoefc /Cc ED
@@ -11852,6 +11862,7 @@
} {
0 0
} ifelse
+ end
){#4}
\Pst@ManageParamList{#4}%
\endgroup%