diff options
author | Norbert Preining <norbert@preining.info> | 2023-04-17 03:03:48 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2023-04-17 03:03:48 +0000 |
commit | 88aa9bb9a3222cf13820ae3b6f64ce48dcd003ea (patch) | |
tree | 9495d0cd2219bb309106f5330e0aeba36a675319 /graphics | |
parent | 421b47819f21160c3662c40f7da028f15b726577 (diff) |
CTAN sync 202304170303
Diffstat (limited to 'graphics')
-rw-r--r-- | graphics/pstricks/contrib/pst-eucl/Changes | 2 | ||||
-rw-r--r-- | graphics/pstricks/contrib/pst-eucl/README | 1 | ||||
-rw-r--r-- | graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.bib | 7 | ||||
-rw-r--r-- | graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.pdf | bin | 1779040 -> 1744473 bytes | |||
-rw-r--r-- | graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.tex | 107 | ||||
-rw-r--r-- | graphics/pstricks/contrib/pst-eucl/tex/pst-eucl.tex | 35 |
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 Binary files differindex 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 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% |