From 545097774851316dfcb923ebf87501026949a9b4 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Thu, 16 Jul 2020 03:02:38 +0000 Subject: CTAN sync 202007160302 --- graphics/pgf/contrib/circuitikz/doc/changelog.tex | 6 + .../contrib/circuitikz/doc/circuitikz-context.pdf | Bin 17352 -> 17351 bytes .../contrib/circuitikz/doc/circuitikzmanual.pdf | Bin 1017702 -> 1017865 bytes graphics/pgf/contrib/circuitikz/tex/circuitikz.sty | 4 +- .../pgf/contrib/circuitikz/tex/pgfcirccurrent.tex | 4 +- .../pgf/contrib/circuitikz/tex/pgfcircflow.tex | 4 +- .../pgf/contrib/circuitikz/tex/pgfcirclabel.tex | 12 +- .../pgf/contrib/circuitikz/tex/pgfcircpath.tex | 26 +-- .../pgf/contrib/circuitikz/tex/pgfcircvoltage.tex | 28 +-- .../pgf/contrib/circuitikz/tex/t-circuitikz.tex | 4 +- graphics/pstricks/contrib/pst-eucl/Changes | 5 + .../pstricks/contrib/pst-eucl/doc/pst-eucl-doc.bib | 19 +- .../pstricks/contrib/pst-eucl/doc/pst-eucl-doc.pdf | Bin 1733912 -> 1568670 bytes .../pstricks/contrib/pst-eucl/doc/pst-eucl-doc.tex | 95 +++++++++- .../pstricks/contrib/pst-eucl/tex/pst-eucl.tex | 199 +++++++++++++++++++-- 15 files changed, 331 insertions(+), 75 deletions(-) (limited to 'graphics') diff --git a/graphics/pgf/contrib/circuitikz/doc/changelog.tex b/graphics/pgf/contrib/circuitikz/doc/changelog.tex index a9e9200ee1..28f73e7cdb 100644 --- a/graphics/pgf/contrib/circuitikz/doc/changelog.tex +++ b/graphics/pgf/contrib/circuitikz/doc/changelog.tex @@ -4,6 +4,12 @@ here. See \url{https://github.com/circuitikz/circuitikz/commits} for a full list of changes. \begin{itemize} +\item + Version 1.2.2 (2020-07-15) + + Bug-fix release: coordinate name leakage. The node and coordinate + names are global; the internal coordinate names have been made + stronger. \item Version 1.2.1 (2020-07-06) diff --git a/graphics/pgf/contrib/circuitikz/doc/circuitikz-context.pdf b/graphics/pgf/contrib/circuitikz/doc/circuitikz-context.pdf index 9853c5f419..3342c55b3a 100644 Binary files a/graphics/pgf/contrib/circuitikz/doc/circuitikz-context.pdf and b/graphics/pgf/contrib/circuitikz/doc/circuitikz-context.pdf differ diff --git a/graphics/pgf/contrib/circuitikz/doc/circuitikzmanual.pdf b/graphics/pgf/contrib/circuitikz/doc/circuitikzmanual.pdf index d4b9b8b763..9f5f858430 100644 Binary files a/graphics/pgf/contrib/circuitikz/doc/circuitikzmanual.pdf and b/graphics/pgf/contrib/circuitikz/doc/circuitikzmanual.pdf differ diff --git a/graphics/pgf/contrib/circuitikz/tex/circuitikz.sty b/graphics/pgf/contrib/circuitikz/tex/circuitikz.sty index c1e8d1808c..d4d3078950 100644 --- a/graphics/pgf/contrib/circuitikz/tex/circuitikz.sty +++ b/graphics/pgf/contrib/circuitikz/tex/circuitikz.sty @@ -12,8 +12,8 @@ \NeedsTeXFormat{LaTeX2e} -\def\pgfcircversion{1.2.1} -\def\pgfcircversiondate{2020/07/06} +\def\pgfcircversion{1.2.2} +\def\pgfcircversiondate{2020/07/15} \ProvidesPackage{circuitikz}% [\pgfcircversiondate{} The CircuiTikz circuit drawing package version \pgfcircversion] diff --git a/graphics/pgf/contrib/circuitikz/tex/pgfcirccurrent.tex b/graphics/pgf/contrib/circuitikz/tex/pgfcirccurrent.tex index a6b0d039b7..3899a1df12 100644 --- a/graphics/pgf/contrib/circuitikz/tex/pgfcirccurrent.tex +++ b/graphics/pgf/contrib/circuitikz/tex/pgfcirccurrent.tex @@ -198,9 +198,9 @@ \else% normal bipole or source \ifpgf@circuit@bipole@current@before coordinate (\pgfcirc@a@prefix-Ifrom) at (\tikztostart) - coordinate (\pgfcirc@a@prefix-Ito) at (anchorstartnode) + coordinate (\pgfcirc@a@prefix-Ito) at (pgfcirc@anchorstartnode) \else - coordinate (\pgfcirc@a@prefix-Ifrom) at (anchorendnode) + coordinate (\pgfcirc@a@prefix-Ifrom) at (pgfcirc@anchorendnode) coordinate (\pgfcirc@a@prefix-Ito) at (\tikztotarget) \fi \fi diff --git a/graphics/pgf/contrib/circuitikz/tex/pgfcircflow.tex b/graphics/pgf/contrib/circuitikz/tex/pgfcircflow.tex index f2adc0d8ef..9d72e87d7d 100644 --- a/graphics/pgf/contrib/circuitikz/tex/pgfcircflow.tex +++ b/graphics/pgf/contrib/circuitikz/tex/pgfcircflow.tex @@ -183,9 +183,9 @@ \else% normal bipole or source \ifpgf@circuit@bipole@flow@before coordinate (pgfcirc@Ffrom@flat) at (\tikztostart) - coordinate (pgfcirc@Fto@flat) at (anchorstartnode) + coordinate (pgfcirc@Fto@flat) at (pgfcirc@anchorstartnode) \else - coordinate (pgfcirc@Ffrom@flat) at (anchorendnode) + coordinate (pgfcirc@Ffrom@flat) at (pgfcirc@anchorendnode) coordinate (pgfcirc@Fto@flat) at (\tikztotarget) \fi \fi diff --git a/graphics/pgf/contrib/circuitikz/tex/pgfcirclabel.tex b/graphics/pgf/contrib/circuitikz/tex/pgfcirclabel.tex index 1aff5b9a06..2c4407045c 100644 --- a/graphics/pgf/contrib/circuitikz/tex/pgfcirclabel.tex +++ b/graphics/pgf/contrib/circuitikz/tex/pgfcirclabel.tex @@ -141,7 +141,7 @@ % \typeout{FIN: TEMP\space\pgf@circ@temp\space LABANC\space\pgf@circ@labanc} } %Firstly, place a coordinate directly at the edge of the shape - (\ctikzvalof{bipole/name}.\pgf@circ@temp) coordinate (labelcoor) + (\ctikzvalof{bipole/name}.\pgf@circ@temp) coordinate (pgfcirc@labelcoor) %now decide, which labels should be drawn \pgfextra{ \edef\pgf@temp{\ctikzvalof{label/align}} @@ -209,7 +209,7 @@ \edef\pgf@circ@labposangle{\expandafter\pgf@circ@stripdecimals\pgfmathresult\pgf@nil} } % reset cm is not working correctly here - (labelcoor)++(\pgf@circ@labposangle:\the\pgf@circ@res@temp) coordinate(labelcoor) + (pgfcirc@labelcoor)++(\pgf@circ@labposangle:\the\pgf@circ@res@temp) coordinate(pgfcirc@labelcoor) node[anchor=mid, rotate=\pgfcirclabrot, \circuitikzbasekey/bipole #1 style] (\ctikzvalof{bipole/name}#1){\pgf@circ@finallabels{#1}} } @@ -259,7 +259,7 @@ % the inner sep, so recover it by shifting the anchor % reset cm is not working sometime, use @marmot solution % see https://tex.stackexchange.com/a/476018/38080 - (labelcoor) ++(-\pgf@circ@labanc:\pgf@circ@res@temp) coordinate(labelcoor) + (pgfcirc@labelcoor) ++(-\pgf@circ@labanc:\pgf@circ@res@temp) coordinate(pgfcirc@labelcoor) \pgfextra{\def\pgf@circ@labanctext{base}}%base \else \pgfextra{\def\pgf@circ@labanctext{north}}%north @@ -267,13 +267,13 @@ \else \ifnum \pgf@circ@labanc < 90 % shift, as above - (labelcoor) ++(-\pgf@circ@labanc:\pgf@circ@res@temp) coordinate(labelcoor) + (pgfcirc@labelcoor) ++(-\pgf@circ@labanc:\pgf@circ@res@temp) coordinate(pgfcirc@labelcoor) \pgfextra{\def\pgf@circ@labanctext{base}}%base \else \ifnum \pgf@circ@labanc > 180 % this shouldn't happen, but somehow it does (270 degree anchors) % shift, as above - (labelcoor) ++(-\pgf@circ@labanc:\pgf@circ@res@temp) coordinate(labelcoor) + (pgfcirc@labelcoor) ++(-\pgf@circ@labanc:\pgf@circ@res@temp) coordinate(pgfcirc@labelcoor) \pgfextra{\def\pgf@circ@labanctext{base}}%base \else \pgfextra{\def\pgf@circ@labanctext{north}}%north @@ -281,7 +281,7 @@ \fi \fi \fi\fi - (labelcoor) node[anchor=\pgf@circ@labanctext, + (pgfcirc@labelcoor) node[anchor=\pgf@circ@labanctext, inner sep=0.5\pgf@circ@res@temp, outer sep=0pt, \circuitikzbasekey/bipole #1 style, ](\ctikzvalof{bipole/name}#1){\strut\pgf@circ@finallabels{#1}% } diff --git a/graphics/pgf/contrib/circuitikz/tex/pgfcircpath.tex b/graphics/pgf/contrib/circuitikz/tex/pgfcircpath.tex index 695deaea63..3f748f293d 100644 --- a/graphics/pgf/contrib/circuitikz/tex/pgfcircpath.tex +++ b/graphics/pgf/contrib/circuitikz/tex/pgfcircpath.tex @@ -15,9 +15,9 @@ % swap two coordinates \def\pgfcirc@swap@coordinates#1#2{% - coordinate (tmp) at (#1) + coordinate (pgfcirc@tmp@swap) at (#1) coordinate (#1) at (#2) - coordinate (#2) at (tmp) + coordinate (#2) at (pgfcirc@tmp@swap) } % Names @@ -107,7 +107,7 @@ \def\pgf@circ@temp{} \ifx\pgf@temp\pgf@circ@temp % if it has not a name \pgfmathrandominteger{\pgf@circ@rand}{1000}{9999} - \ctikzset{bipole/name = #3\pgf@circ@rand} % create it (re-usage should not create problem, but...) + \ctikzset{bipole/name = pgfcirc@#3\pgf@circ@rand} % create it (re-usage should not create problem, but...) \edef\pgfcirc@a@prefix{pgfcirc}% do not pollute the namespace for nothing \else \edef\pgfcirc@a@prefix{\ctikzvalof{bipole/name}}% for exporting v-i-f anchors @@ -131,19 +131,19 @@ % set start and end labels \ifpgf@circuit@bipole@inverted \ifcsname pgf@anchor@#3#1@pathstart\endcsname%if special path-anchors are defined, use them! - coordinate (anchorstartnode) at (\ctikzvalof{bipole/name}.pathend) - coordinate (anchorendnode) at (\ctikzvalof{bipole/name}.pathstart) + coordinate (pgfcirc@anchorstartnode) at (\ctikzvalof{bipole/name}.pathend) + coordinate (pgfcirc@anchorendnode) at (\ctikzvalof{bipole/name}.pathstart) \else - coordinate (anchorstartnode) at (\ctikzvalof{bipole/name}.right) - coordinate (anchorendnode) at (\ctikzvalof{bipole/name}.left) + coordinate (pgfcirc@anchorstartnode) at (\ctikzvalof{bipole/name}.right) + coordinate (pgfcirc@anchorendnode) at (\ctikzvalof{bipole/name}.left) \fi \else \ifcsname pgf@anchor@#3#1@pathstart\endcsname%if special path-anchors are defined, use them! - coordinate (anchorstartnode) at (\ctikzvalof{bipole/name}.pathstart) - coordinate (anchorendnode) at (\ctikzvalof{bipole/name}.pathend) + coordinate (pgfcirc@anchorstartnode) at (\ctikzvalof{bipole/name}.pathstart) + coordinate (pgfcirc@anchorendnode) at (\ctikzvalof{bipole/name}.pathend) \else - coordinate (anchorstartnode) at (\ctikzvalof{bipole/name}.left) - coordinate (anchorendnode) at (\ctikzvalof{bipole/name}.right) + coordinate (pgfcirc@anchorstartnode) at (\ctikzvalof{bipole/name}.left) + coordinate (pgfcirc@anchorendnode) at (\ctikzvalof{bipole/name}.right) \fi \fi % draw the leads unless it's an open circuit @@ -152,7 +152,7 @@ \ifx\pgf@temp\pgf@circ@temp % if it is an open do nothing \else % it is important to start the path with -- to have correct line joins! - -- (\tikztostart) -- (anchorstartnode) + -- (\tikztostart) -- (pgfcirc@anchorstartnode) \fi % Add all the "ornaments": labels, annotations, voltages, currents and flows \drawpoles @@ -169,7 +169,7 @@ \ifx\pgf@temp\pgf@circ@temp % if it is an open do nothing (\tikztotarget) \else - (anchorendnode) -- (\tikztotarget) + (pgfcirc@anchorendnode) -- (\tikztotarget) \fi % reset internal circuit keys \pgfextra{\pgfcircresetpath} diff --git a/graphics/pgf/contrib/circuitikz/tex/pgfcircvoltage.tex b/graphics/pgf/contrib/circuitikz/tex/pgfcircvoltage.tex index 032a66f29c..0b9c9dd779 100644 --- a/graphics/pgf/contrib/circuitikz/tex/pgfcircvoltage.tex +++ b/graphics/pgf/contrib/circuitikz/tex/pgfcircvoltage.tex @@ -182,12 +182,12 @@ } % %\pgf@circ@Rlen/\ctikzvalof{current arrow scale} is equal to the length of the currarrow %absolute move, minimum space is length of arrowhead - coordinate (pgfcirc@midtmp) at ($(\tikztostart) ! \pgf@circ@Rlen/\ctikzvalof{current arrow scale} ! (anchorstartnode)$) - coordinate (pgfcirc@midtmp) at ($(pgfcirc@midtmp) ! \distancefromnode ! (anchorstartnode)$) + coordinate (pgfcirc@midtmp) at ($(\tikztostart) ! \pgf@circ@Rlen/\ctikzvalof{current arrow scale} ! (pgfcirc@anchorstartnode)$) + coordinate (pgfcirc@midtmp) at ($(pgfcirc@midtmp) ! \distancefromnode ! (pgfcirc@anchorstartnode)$) coordinate (pgfcirc@Vfrom@flat) at (pgfcirc@midtmp) %absolute move, minimum space is length of arrowhead - coordinate (pgfcirc@midtmp) at ($(\tikztotarget) ! \pgf@circ@Rlen/\ctikzvalof{current arrow scale} ! (anchorendnode)$) - coordinate (pgfcirc@midtmp) at ($(pgfcirc@midtmp) ! \distancefromnode ! (anchorendnode)$) + coordinate (pgfcirc@midtmp) at ($(\tikztotarget) ! \pgf@circ@Rlen/\ctikzvalof{current arrow scale} ! (pgfcirc@anchorendnode)$) + coordinate (pgfcirc@midtmp) at ($(pgfcirc@midtmp) ! \distancefromnode ! (pgfcirc@anchorendnode)$) coordinate (pgfcirc@Vto@flat) at (pgfcirc@midtmp) coordinate (pgfcirc@mid) at ($(pgfcirc@Vfrom@flat)!0.5!(pgfcirc@Vto@flat)$) @@ -203,8 +203,8 @@ coordinate (\pgfcirc@a@prefix-Vlab) at ($(\pgfcirc@a@prefix-Vto)!0.5!(\pgfcirc@a@prefix-Vfrom) $) coordinate (pgfcirc@Vdir) at (\pgfcirc@a@prefix-Vto) \else - coordinate (\pgfcirc@a@prefix-Vto) at ($(pgfcirc@Vto@flat) ! \absvshift!90 : (anchorendnode)$) - coordinate (\pgfcirc@a@prefix-Vfrom) at ($(pgfcirc@Vfrom@flat) ! \absvshift!-90 : (anchorstartnode)$) + coordinate (\pgfcirc@a@prefix-Vto) at ($(pgfcirc@Vto@flat) ! \absvshift!90 : (pgfcirc@anchorendnode)$) + coordinate (\pgfcirc@a@prefix-Vfrom) at ($(pgfcirc@Vfrom@flat) ! \absvshift!-90 : (pgfcirc@anchorstartnode)$) coordinate (pgfcirc@Vcont1t) at ($(\ctikzvalof{bipole/name}.center) ! \bumpb ! (\ctikzvalof{bipole/name}.-110)$) coordinate (pgfcirc@Vcont2t) at ($(\ctikzvalof{bipole/name}.center) ! \bumpb ! (\ctikzvalof{bipole/name}.-70)$) coordinate (\pgfcirc@a@prefix-Vcont1) at ($(pgfcirc@Vcont1t) ! -\absvshift!90 : (pgfcirc@Vcont2t)$) @@ -214,8 +214,8 @@ \fi \else % we are in case of american here - coordinate (\pgfcirc@a@prefix-Vto) at ($(pgfcirc@Vto@flat) ! \absvshift!90 : (anchorendnode)$) - coordinate (\pgfcirc@a@prefix-Vfrom) at ($(pgfcirc@Vfrom@flat) ! \absvshift!-90 : (anchorstartnode)$) + coordinate (\pgfcirc@a@prefix-Vto) at ($(pgfcirc@Vto@flat) ! \absvshift!90 : (pgfcirc@anchorendnode)$) + coordinate (\pgfcirc@a@prefix-Vfrom) at ($(pgfcirc@Vfrom@flat) ! \absvshift!-90 : (pgfcirc@anchorstartnode)$) coordinate (pgfcirc@bottom) at (\ctikzvalof{bipole/name}.-90) coordinate (pgfcirc@Vdir0) at ($(pgfcirc@mid)+(pgfcirc@bottom)-(pgfcirc@Vfrom@flat)$) coordinate (\pgfcirc@a@prefix-Vlab) at ($(pgfcirc@bottom) ! \absvshift!-90 : (pgfcirc@Vdir0)$) @@ -241,8 +241,8 @@ coordinate (pgfcirc@Vdir) at (\pgfcirc@a@prefix-Vto) \else % european voltages here - coordinate (\pgfcirc@a@prefix-Vto) at ($(pgfcirc@Vto@flat) ! -\absvshift!90 : (anchorendnode)$) - coordinate (\pgfcirc@a@prefix-Vfrom) at ($(pgfcirc@Vfrom@flat) ! -\absvshift!-90 : (anchorstartnode)$) + coordinate (\pgfcirc@a@prefix-Vto) at ($(pgfcirc@Vto@flat) ! -\absvshift!90 : (pgfcirc@anchorendnode)$) + coordinate (\pgfcirc@a@prefix-Vfrom) at ($(pgfcirc@Vfrom@flat) ! -\absvshift!-90 : (pgfcirc@anchorstartnode)$) % identify the two control points for the "arc" of the voltage coordinate (pgfcirc@Vcont1t) at ($(\ctikzvalof{bipole/name}.center) ! \bumpb ! (\ctikzvalof{bipole/name}.110)$) coordinate (pgfcirc@Vcont2t) at ($(\ctikzvalof{bipole/name}.center) ! \bumpb ! (\ctikzvalof{bipole/name}.70)$) @@ -255,8 +255,8 @@ \fi \else % we are in case of american here - coordinate (\pgfcirc@a@prefix-Vto) at ($(pgfcirc@Vto@flat) ! \absvshift!-90 : (anchorendnode)$) - coordinate (\pgfcirc@a@prefix-Vfrom) at ($(pgfcirc@Vfrom@flat) ! \absvshift!90 : (anchorstartnode)$) + coordinate (\pgfcirc@a@prefix-Vto) at ($(pgfcirc@Vto@flat) ! \absvshift!-90 : (pgfcirc@anchorendnode)$) + coordinate (\pgfcirc@a@prefix-Vfrom) at ($(pgfcirc@Vfrom@flat) ! \absvshift!90 : (pgfcirc@anchorstartnode)$) coordinate (pgfcirc@top) at (\ctikzvalof{bipole/name}.90) % move parallel to the component line coordinate (pgfcirc@Vdir0) at ($(pgfcirc@mid)+(pgfcirc@top)-(pgfcirc@Vfrom@flat)$) @@ -275,8 +275,8 @@ coordinate (\pgfcirc@a@prefix-Vfrom) at (pgfcirc@Vfrom@flat) \fi \ifpgf@circ@debugv - node [ocirc, fill=red] at (anchorstartnode) {} - node [ocirc, fill=blue] at (anchorendnode) {} + node [ocirc, fill=red] at (pgfcirc@anchorstartnode) {} + node [ocirc, fill=blue] at (pgfcirc@anchorendnode) {} node [ocirc, fill=green] at (\pgfcirc@a@prefix-Vto) {} node [ocirc, fill=yellow] at (\pgfcirc@a@prefix-Vfrom) {} node [odiamondpole, fill=green!50!black] at (pgfcirc@Vto@flat) {} diff --git a/graphics/pgf/contrib/circuitikz/tex/t-circuitikz.tex b/graphics/pgf/contrib/circuitikz/tex/t-circuitikz.tex index 06210be341..62fdaedb83 100644 --- a/graphics/pgf/contrib/circuitikz/tex/t-circuitikz.tex +++ b/graphics/pgf/contrib/circuitikz/tex/t-circuitikz.tex @@ -10,8 +10,8 @@ % % See the files gpl-3.0_license.txt and lppl-1-3c_license.txt for more details. -\def\pgfcircversion{1.2.1} -\def\pgfcircversiondate{2020/07/06} +\def\pgfcircversion{1.2.2} +\def\pgfcircversiondate{2020/07/15} \writestatus{loading}{\pgfcircversiondate{} The CircuiTikz circuit drawing package version \pgfcircversion} \usemodule[tikz] diff --git a/graphics/pstricks/contrib/pst-eucl/Changes b/graphics/pstricks/contrib/pst-eucl/Changes index 101f759b4b..a80eb43537 100644 --- a/graphics/pstricks/contrib/pst-eucl/Changes +++ b/graphics/pstricks/contrib/pst-eucl/Changes @@ -6,6 +6,11 @@ pst-eucl.pro -------- pst-eucl.tex -------- +1.74 2020/07/15 - add macro to draw the equilateral triangle on a given side AB, \pstETriangleAB. + - add macro to draw the square on a given side AB, \pstSquareAB. + - add macro to draw the regular polygon on a given side AB, \pstRegularPolygonAB. + - add macro to draw the regular polygon with center O and base point A, \pstRegularPolygonOA. + - add macro to draw the circle with radius length and two nodes A, B, \pstCircleABR. 1.73 2020/06/07 - Allow the star version for \pstLabelAB to use \cput* or \cput for the label 1.72a 2020/06/07 - fix a typo in the macro definition \pstMarkAngle 1.72 2020/04/18 - revert the change of \pstTriangle in v1.69, we should use \pst@object to clear \pst@par. 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..f1d5a1b2ed 100644 --- a/graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.bib +++ b/graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.bib @@ -41,17 +41,17 @@ @ctan{multido, title = {The Multido package}, -subtitle = {A loop facility for Generic TeX}, +subtitle = {A loop facility for Generic \TeX}, author = {Van Zandt, Timothy and Voß, Herbert and Niepraschk, Rolf}, url = {macros/latex/multido}, urldate = {2018-09-01}, -version = {1.42} +version = {1.42}, } @Book{PSTricks2, author = {Herbert Voß}, - title = {\texttt{PSTricks} -- {G}rafik f\"ur \TeX{} und \LaTeX}, + title = {\texttt{PSTricks} -- {G}rafik für \TeX{} und \LaTeX}, edition = {7}, publisher = {DANTE {\eV} and Lehmanns Media}, date = {2016}, @@ -88,7 +88,7 @@ version = {1.42} @Book{tbt, author = {Victor Eijkhout}, - title = {\TeX\ by Topic -- {A} \TeX{}nician Reference}, + title = {\TeX\ by Topic -- A \TeX{}nician Reference}, edition = {1}, publisher = {DANTE {\eV} and Lehmanns Media}, year = {2014}, @@ -99,7 +99,7 @@ version = {1.42} @Article{dtk02.1:voss:mathematischen, author = {Herbert Voß}, - title = {Die mathematischen {F}unktionen von {P}ostscript}, + title = {Die mathematischen Funktionen von Postscript}, journal = dtk, year = 2002, volume = {1/02}, @@ -108,14 +108,5 @@ version = {1.42} month = mar, pages = {40-47}, annote = bretter, - abstract = { \PS, faktisch genauso alt wie {\TeX}, ist im - Verh{\"a}ltnis dazu allgemein noch weniger bekannt, wenn es - darum geht zu beurteilen, was es denn nun im eigentlichen - Sinne ist. Au{\ss}erdem wird h{\"a}ufig vergessen, dass - sich mit den \PS-Funktionen viele Dinge erledigen lassen, - bei denen sonst auf externe Programme zur{\"u}ckgegriffen - wird. Dies wird im Folgenden f{\"u}r die mathematischen - Funktionen im Zusammenhang mit dem Paket \texttt{pst-plot} - gezeigt. } } 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 0f792fb875..cbb859381e 100644 Binary files a/graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.pdf and b/graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.pdf 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 cf38bc251e..054dae2eb2 100644 --- a/graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.tex +++ b/graphics/pstricks/contrib/pst-eucl/doc/pst-eucl-doc.tex @@ -1,4 +1,5 @@ -\documentclass[11pt,english,BCOR10mm,DIV12,bibliography=totoc,parskip=false,smallheadings, +\PassOptionsToPackage{style=dtk}{biblatex} +\documentclass[11pt,english,BCOR10mm,DIV=12,bibliography=totoc,parskip=false,smallheadings, headexclude,footexclude,oneside,english]{pst-doc} \usepackage{pst-eucl} \let\pstEuclideFV\fileversion @@ -14,9 +15,10 @@ \def\Argsans#1{$\langle$#1$\rangle$} \def\DefaultVal#1{(by default #1)} -\usepackage{biblatex} \addbibresource{\jobname.bib} +\lstset{rframe={}} + \title{\texttt{pst-euclide}} \subtitle{A PSTricks package for drawing geometric pictures; v.\pstEuclideFV} @@ -352,8 +354,8 @@ the rule bar and the segment. It does not display the ruler bar as default, and you need to setup \Lkeyword{linestyle} to display it. The star version uses also the star version of the put macro (white background). -\begin{LTXexample}[width=6cm,pos=l] -\begin{pspicture}[showgrid=true](-1,-1)(4,4) +\begin{LTXexample}[pos=t] +\begin{pspicture}[showgrid=true](-2,-2)(5,5) \psset{dotscale=0.5}\psset{PointSymbol=*}\footnotesize \pstGeonode[PosAngle=-90](0.5,1.5){A} \pstGeonode[PosAngle=-90](2.5,1.5){B}\pstLineAB{A}{B} @@ -1267,6 +1269,26 @@ With this package, it becomes possible to draw: \vspace{10pt} +The macro \Lcs{pstCircleABR} draws the circle of given radius length $R$, through two given nodes $A$ and $B$, then outputs the circle center $O$. + +\begin{BDef} +\Lcs{pstCircleABR}\OptArgs\Largb{A}\Largb{B}\Largb{$R$}\Largb{O} +\end{BDef} + +Note that through from $A$ to $B$ and through from $B$ to $A$ will get the figure symmetric to $AB$. +For example, + +\begin{LTXexample}[width=6cm,pos=l] +\begin{pspicture}[showgrid](-3,-3)(3,3)\footnotesize +\psset{unit=0.50cm}\psset{dotscale=0.5}\psset{PointSymbol=*} +\pstGeonode[PosAngle={30,210}](1,0){A}(-2,-1){B} +\pstCircleABR[linecolor=red!80]{A}{B}{\pstDistConst{2.5}}{O_1} +\pstCircleABR[linecolor=blue!80]{B}{A}{\pstDistConst{2.5}}{O_2} +\end{pspicture} +\end{LTXexample} + +\vspace{10pt} + The following example show how to use the more complex distance macros, and the parameter to fill the circle. @@ -1594,6 +1616,71 @@ When they are separated, the radical axis is between of the circles. \end{pspicture} \end{LTXexample} +\subsection{Regular polygons} +For the 3-side and 4-side regular polygon, we provide the macro \Lcs{pstETriangleAB} and \Lcs{pstSquareAB} to draw them. +In general, you can use the macro \Lcs{pstRegularPolygonAB} and \Lcs{pstRegularPolygonOA} to get a n-side regular polygon. + +\begin{BDef} +\Lcs{pstETriangleAB}\OptArgs\Largb{A}\Largb{B}\Largb{C}\\ +\Lcs{pstSquareAB}\OptArgs\Largb{A}\Largb{B}\Largb{C}\Largb{D}\\ +\Lcs{pstRegularPolygonAB}\OptArgs\Largb{$A_0$}\Largb{$A_1$}\Largb{$n$}\Largb{$A_2,A_3,\cdots,A_{n-1}$}\\ +\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}$; +The macro \Lcs{pstRegularPolygonOA} draw a n-side regular polygon with center $O$ and base point $A_0$, and output the other nodes $A_1,A_2,\cdots,A_{n-1}$. + +You can use the parameters \Lkeyword{linestyle}, \Lkeyword{linecolor}, \Lkeyword{linewidth} +to control the line style; and use the parameters \Lkeyword{PointName}, \Lkeyword{PosAngle}, +\Lkeyword{PointSymbol} to control the point nodes; and use the parameters \Lkeyword{CurveType}, +\Lkeyword{fillstyle}, \Lkeyword{fillcolor} to control the polygon style. + +For the last output point list in macro \Lcs{pstRegularPolygonAB} and \Lcs{pstRegularPolygonOA}, if you do not enter a complete point list, +the remaining points will be automatically named. + +Note that draw regular polygon with side from $A$ to $B$ and side from $B$ to $A$ will get the figure symmetric to $AB$. +Here are some examples. + +\begin{LTXexample}[width=6cm,pos=l] +\begin{pspicture}[showgrid](-1,-2)(3,2) +\psset{unit=0.40cm}\footnotesize\psset{PointSymbol=none,PointNameSep=0.22cm} +\pstGeonode[PosAngle={180,0},PointSymbol=*](0,0){A}(5,0){B} +\pstETriangleAB[linecolor=red!60,PosAngle=90,PointSymbol=*]{A}{B}{C} +\pstETriangleAB[linecolor=blue!60,PosAngle=-90,PointSymbol=*,fillstyle=solid,fillcolor=blue!20]{B}{A}{C'} +\pstSquareAB[linecolor=red!60,PosAngle={90,90},PointSymbol=*]{A}{B}{C}{D} +\pstSquareAB[linecolor=blue!60,PosAngle={-90,-90},PointSymbol=*,fillstyle=solid,fillcolor=blue!20,opacity=0.2]{B}{A}{C'}{D'} +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample}[width=6cm,pos=l] +\begin{pspicture}[showgrid](-3,-3)(3,3) +\psset{unit=0.40cm}\footnotesize\psset{PointSymbol=none,PointNameSep=0.22cm} +\pstGeonode[PosAngle={180,0},PointSymbol=*](0,0){O}(5,0){A} +\pstRegularPolygonOA[CurveType=polygon,linecolor=red!60,PointSymbol=*,PosAngle={120,240}]{O}{A}{3}{C,D} +\pstRegularPolygonOA[CurveType=polygon,linecolor=green!60,PointSymbol=*,PosAngle={-90,0,90}]{O}{A}{4}{C,D,E} +\pstRegularPolygonOA[CurveType=polygon,linecolor=blue!60,PointSymbol=*,PosAngle={65,110,135,180,225,250,305},PointName={A_1,A_2,A_3,A_4,A_5,A_6,A_7}]{O}{A}{8}{A1,A2,A3,A4,A5,A6,A7} +\pstRegularPolygonOA[CurveType=polygon,linecolor=cyan!60,PointSymbol=*,PosAngle={20,15,60,75,110,130,150,180,200,220,240,260,290,310,330,350},PointName={A_1,A_2,A_3,A_4,A_5,A_6,A_7,A_8,A_9,A_{10},A_{11},A_{12},A_{13},A_{14},A_{15},A_{16}}]{O}{A}{17}{A1,A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,A15,A16} +\end{pspicture} +\end{LTXexample} + +\begin{LTXexample}[width=6cm,pos=l] +\begin{pspicture}[showgrid](-3,-4)(3,4) +\psset{unit=0.40cm}\footnotesize\psset{PointSymbol=none,PointNameSep=0.22cm} +\pstGeonode[PosAngle={180,0},PointSymbol=*](0,0){A}(2,0){B} +\pstRegularPolygonAB[CurveType=polygon,linecolor=red!60,PointSymbol=*,PosAngle={90,90,90}]{A}{B}{3}{C,D,E} +\pstRegularPolygonAB[CurveType=polygon,linecolor=red!60,PointSymbol=*,PosAngle={90,90}]{A}{B}{4}{C,D,E} +\pstRegularPolygonAB[CurveType=polygon,linecolor=red!60,PointSymbol=*,PosAngle={-10,40,80,115,150,200}]{A}{B}{8}{C,D,E} +\pstRegularPolygonAB[CurveType=polygon,linecolor=red!60,PointSymbol=*,PosAngle={290,310,330,350,10,30,45,65,85,115,135,155,170,190,210},PointName={B_2,B_3,B_4,B_5,B_6,B_7,B_8,B_9,B_{10},B_{11},B_{12},B_{13},B_{14},B_{15},B_{16}}]{A}{B}{17}{B2} +\psset{CodeFig=true,CodeFigColor=gray,CodeFigStyle=solid} +\pstRegularPolygonAB[CurveType=polygon,linecolor=blue!60,PointSymbol=*,PosAngle={-90,-90}]{B}{A}{3}{C,D,E} +\pstRegularPolygonAB[CurveType=polygon,linecolor=blue!60,PointSymbol=*,PosAngle={-90,-90}]{B}{A}{4}{C,D,E} +\pstRegularPolygonAB[CurveType=polygon,linecolor=blue!60,PointSymbol=*,PosAngle={140,190,240,-60,-40,10},PointName={A_2,A_3,A_4,A_5,A_6,A_7}]{B}{A}{8}{A2,A3,A4,A5,A6,A7} +\pstRegularPolygonAB[CurveType=polygon,linecolor=blue!60,PointSymbol=*,PosAngle={140,160,180,200,220,240,260,280,300,320,340,360,20,40,60},PointName={A_2,A_3,A_4,A_5,A_6,A_7,A_8,A_9,A_{10},A_{11},A_{12},A_{13},A_{14},A_{15},A_{16}}]{B}{A}{17}{A2,A3,A4,A5,A6,A7,A8,A9,A10,A11,A12,A13,A14,A15,A16} +\end{pspicture} +\end{LTXexample} + \subsection{Generic curve} It is possible to generate a set of points using a loop, and to give diff --git a/graphics/pstricks/contrib/pst-eucl/tex/pst-eucl.tex b/graphics/pstricks/contrib/pst-eucl/tex/pst-eucl.tex index 8abea6715b..cfc56a70d8 100644 --- a/graphics/pstricks/contrib/pst-eucl/tex/pst-eucl.tex +++ b/graphics/pstricks/contrib/pst-eucl/tex/pst-eucl.tex @@ -20,8 +20,8 @@ \csname PSTEuclideLoaded\endcsname \let\PSTEuclideLoaded\endinput % -\def\fileversion{1.73} -\def\filedate{2020/06/17} +\def\fileversion{1.74} +\def\filedate{2020/07/15} %% \message{`PST-Euclide v\fileversion, \filedate\space (dr,hv)}% %% prologue for postcript @@ -738,9 +738,7 @@ \fi\fi\fi% \Pst@ManageParamList{#6}% \Pst@ManageParamList{#7}% - \pstLineAB{#2}{#6}% - \pstLineAB{#2}{#7}% - \pstLineAB{#6}{#7}% + \pstPolygon(#2)(#6)(#7)% \endgroup% }% % @@ -854,9 +852,7 @@ \fi\fi\fi% \Pst@ManageParamList{#6}% \Pst@ManageParamList{#7}% - \pstLineAB{#2}{#6}% - \pstLineAB{#2}{#7}% - \pstLineAB{#6}{#7}% + \pstPolygon(#2)(#6)(#7)% \endgroup% }% % @@ -965,9 +961,7 @@ \fi\fi\fi% \Pst@ManageParamList{#6}% \Pst@ManageParamList{#7}% - \pstLineAB{#2}{#6}% - \pstLineAB{#2}{#7}% - \pstLineAB{#6}{#7}% + \pstPolygon(#2)(#6)(#7)% \endgroup% }% % @@ -1074,9 +1068,7 @@ \fi\fi\fi% \Pst@ManageParamList{#6}% \Pst@ManageParamList{#7}% - \pstLineAB{#2}{#6}% - \pstLineAB{#2}{#7}% - \pstLineAB{#6}{#7}% + \pstPolygon(#2)(#6)(#7)% \endgroup% }% % @@ -2304,7 +2296,7 @@ \pstBissectBAC[PointName=none,PointSymbol=none,linestyle=none]{\pst@triangle@node@B}{\pst@triangle@node@A}{\pst@triangle@node@C}{@PST@TRIANGLE@EC_BC} \pstOutBissectBAC[PointName=none,PointSymbol=none,linestyle=none]{\pst@triangle@node@C}{\pst@triangle@node@B}{\pst@triangle@node@A}{@PST@TRIANGLE@EC_CA} \pstInterLL[PointName=none,PointSymbol=none]{\pst@triangle@node@A}{@PST@TRIANGLE@EC_BC}{\pst@triangle@node@B}{@PST@TRIANGLE@EC_CA}{\pst@triangle@node@E} - \pstProjection[PointName=none,PointSymbol=none]{B}{C}{\pst@triangle@node@E}[#1] + \pstProjection[PointName=none,PointSymbol=none]{\pst@triangle@node@B}{\pst@triangle@node@C}{\pst@triangle@node@E}[#1] \Pst@ManageParamList{\pst@triangle@node@E}% \Pst@ManageParamList{#1}% \endgroup @@ -2313,7 +2305,7 @@ \pstBissectBAC[PointName=none,PointSymbol=none,linestyle=none]{\pst@triangle@node@B}{\pst@triangle@node@A}{\pst@triangle@node@C}{@PST@TRIANGLE@EC_BC} \pstOutBissectBAC[PointName=none,PointSymbol=none,linestyle=none]{\pst@triangle@node@C}{\pst@triangle@node@B}{\pst@triangle@node@A}{@PST@TRIANGLE@EC_CA} \pstInterLL[PointName=none,PointSymbol=none]{\pst@triangle@node@A}{@PST@TRIANGLE@EC_BC}{\pst@triangle@node@B}{@PST@TRIANGLE@EC_CA}{\pst@triangle@node@E} - \pstProjection[PointName=none,PointSymbol=none]{B}{C}{\pst@triangle@node@E}[#1] + \pstProjection[PointName=none,PointSymbol=none]{\pst@triangle@node@B}{\pst@triangle@node@C}{\pst@triangle@node@E}[#1] \Pst@ManageParamList{\pst@triangle@node@E}% \endgroup }% @@ -3866,6 +3858,181 @@ \endgroup% }% % +%% \pstCircleABR[Options]{A}{B}{R}{O} +%% Draw a circle with node A and node B on it, and Radius R, output the center O. +%% Parameters: +%% #1 -> options +%% #2 -> the input node A +%% #3 -> the input node B +%% #4 -> the input radius length in screen coordinate +%% #5 -> the output center O +\def\pstCircleABR{\@ifnextchar[\Pst@CircleABR{\Pst@CircleABR[]}}% +\def\Pst@CircleABR[#1]#2#3#4#5{% + \begingroup% + \psset{#1} + \pst@getcoor{#2}\pst@tempA% + \pst@getcoor{#3}\pst@tempB% + \pnode(! + \pst@tempA \tx@UserCoor /y1 ED /x1 ED + \pst@tempB \tx@UserCoor /y2 ED /x2 ED + \pstUserDist{#4}\space /R ED + x2 x1 sub abs 1E-5 lt { % if x1=x2 + y2 y1 sub abs 1E-5 lt { % if y1=y2 + 0 0 + } { + y2 y1 add 2 div /y0 ED + y2 y1 lt { + R dup mul y1 y0 sub dup mul sub sqrt x1 add /x0 ED + } { + R dup mul y1 y0 sub dup mul sub sqrt neg x1 add /x0 ED + } ifelse + x0 y0 + } ifelse + } { + x2 dup mul x1 dup mul sub y2 dup mul y1 dup mul sub add x2 x1 sub div 2 div /Consta ED + y2 y1 sub x2 x1 sub div /Constb ED + Constb dup mul 1 add /CoefA ED + x1 Consta sub 2 mul Constb mul y1 2 mul sub /CoefB ED + x1 Consta sub dup mul y1 dup mul add R dup mul sub /CoefC ED + x1 x2 lt { + CoefB dup mul CoefA CoefC mul 4 mul sub sqrt CoefB sub CoefA 2 mul div /y0 ED + } { + CoefB dup mul CoefA CoefC mul 4 mul sub sqrt neg CoefB sub CoefA 2 mul div /y0 ED + } ifelse + Consta Constb y0 mul sub /x0 ED + x0 y0 + } ifelse + ){#5} + \Pst@geonodelabel{#5} + \pstCircleOA{#5}{#2} + \endgroup% +}% +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% Regular Polygons +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%% \pstETriangleAB[Options]{A}{B}{C} +%% Draw an equilateral triangle ABC on given side AB in anti-clockwise. +%% Parameters: +%% #1 -> options +%% #2 -> [input] the node A +%% #3 -> [input] the node B +%% #4 -> [output] the node C +\def\pstETriangleAB{\@ifnextchar[\Pst@ETriangleAB{\Pst@ETriangleAB[]}} +\def\Pst@ETriangleAB[#1]#2#3#4{% + \begingroup + \psset{#1}% + \pstRotation[RotAngle=60,PointName=none,PointSymbol=none]{#2}{#3}[#4] + \Pst@geonodelabel{#4} + \pstPolygon(#2)(#3)(#4)% + \endgroup +} +% +%% \pstSquareAB[Options]{A}{B}{C}{D} +%% Draw a square ABCD on given side AB in anti-clockwise. +%% Parameters: +%% #1 -> options +%% #2 -> [input] the node A +%% #3 -> [input] the node B +%% #4 -> [output] the node C +%% #5 -> [output] the node D +\def\pstSquareAB{\@ifnextchar[\Pst@SquareAB{\Pst@SquareAB[]}} +\def\Pst@SquareAB[#1]#2#3#4#5{% + \begingroup + \@InitListMng% + \psset{#1}% + \pstRotation[RotAngle=90,PointName=none,PointSymbol=none]{#2}{#3}[#5] + \pstRotation[RotAngle=-90,PointName=none,PointSymbol=none]{#3}{#2}[#4] + \Pst@ManageParamList{#4}% + \Pst@ManageParamList{#5}% + \pstPolygon(#2)(#3)(#4)(#5)% + \endgroup +} +% +%% \pstRegularPolygonAB[Options]{A_0}{A_1}{n}{A_2,A_3,A_4,...,A_{n-1}} +%% Draw a $n$ side regular polygon with given side $A_0A_1$, output the other points. +%% Parameters: +%% #1 -> options +%% #2 -> the input node A_0 +%% #3 -> the input node A_1 +%% #4 -> the input side number n +%% #5 -> the output points A_2,A_3,A_4,...,A_{n-1} +\def\pstRegularPolygonAB{\@ifnextchar[\Pst@RegularPolygonAB{\Pst@RegularPolygonAB[]}}% +\def\Pst@RegularPolygonAB[#1]#2#3#4{% + \bgroup% + \@InitListMng% + \def\@PolyPointA{#2}\def\@PolyPointB{#3}\def\@PointLast{#3}% + \pst@cnth=#4\pst@cntg=2 % next point idx (start from 0) + \edef\@@GenCourbe{(#2)(#3)}%%for accumulating points + \ifPst@CodeFig + \pstCircleABR[PointName=O,PosAngle=-90,PointSymbol=*,linecolor=\psk@CodeFigColor,linestyle=\psk@CodeFigStyle]{#2}{#3}{\pstDist{#2}{#3} 2 div 180 #4 div sin div}{PolyCenter} + \else + \pstCircleABR[PointName=none,PointSymbol=none,linestyle=none]{#2}{#3}{\pstDist{#2}{#3} 2 div 180 #4 div sin div}{PolyCenter} + \fi + \psset{#1} % use parameters after calling \pstCircleABR. + \Pst@RegularPolygonAB@i% +}% +\def\Pst@RegularPolygonAB@i#1{% + \@List{#1}\edef\@PointOutLst{\@NewList} + \edef\@point{\expandafter\PstParamListFirst\@PointOutLst,undef/} + \Pst@RegularPolygonAB@iii% +}% +\def\Pst@RegularPolygonAB@iii{% + \ifx\@point\@undef\def\@point{\@PolyPointB\the\pst@cntg}\fi + \pstCircleChordNode[PointName=none,PointSymbol=none]{PolyCenter}{\@PointLast}{\pstDist{\@PolyPointA}{\@PolyPointB}}{\@point} + \xdef\@@GenCourbe{\@@GenCourbe(\@point)}%%for accumulating points + %\typeout{\@@GenCourbe} + \Pst@ManageParamList{\@point}\xdef\@PointLast{\@point}% + \edef\@PointOutLst{\expandafter\PstParamListLasts\@PointOutLst,undef/}% + \advance\pst@cntg by 1 + \edef\@point{\expandafter\PstParamListFirst\@PointOutLst,undef/} + \ifnum\pst@cntg<\pst@cnth% + \def\@End{\Pst@RegularPolygonAB@iii} + \else + \def\@End{\pst@MngTransformCurve\egroup} + \fi% + \@End% +}% +% +%% \pstRegularPolygonOA[Options]{O}{A_0}{n}{A_1,A_2,A_3,...,A_{n-1}} +%% Draw a $n$ side regular polygon with given center O and the first node $A_1$, output the other points. +%% Parameters: +%% #1 -> options +%% #2 -> the input center node O +%% #3 -> the input first node A_0 +%% #4 -> the input side number n +%% #5 -> the output points A_1,A_2,A_3,...,A_{n-1} +\def\pstRegularPolygonOA{\@ifnextchar[\Pst@RegularPolygonOA{\Pst@RegularPolygonOA[]}}% +\def\Pst@RegularPolygonOA[#1]#2#3#4{% + \bgroup% + \@InitListMng% + \psset{#1}\def\@PolyCenter{#2}\def\@PolyPointA{#3}\def\@PointLast{#3}\def\@PolySideNum{#4}% + \pst@cnth=#4\pst@cntg=1 % next point idx (start from 0) + \edef\@@GenCourbe{(#3)}%%for accumulating points + \Pst@RegularPolygonOA@i% +}% +\def\Pst@RegularPolygonOA@i#1{% + \@List{#1}\edef\@PointOutLst{\@NewList} + \edef\@point{\expandafter\PstParamListFirst\@PointOutLst,undef/} + \Pst@RegularPolygonOA@iii% +}% +\def\Pst@RegularPolygonOA@iii{% + \ifx\@point\@undef\def\@point{\@PolyPointA\the\pst@cntg}\fi + \pstCircleChordNode[PointName=none,PointSymbol=none]{\@PolyCenter}{\@PointLast}{\pstDist{\@PolyCenter}{\@PolyPointA} 180 \@PolySideNum\space div sin mul 2 mul}{\@point} + \xdef\@@GenCourbe{\@@GenCourbe(\@point)}%%for accumulating points + %\typeout{\@@GenCourbe} + \Pst@ManageParamList{\@point}\xdef\@PointLast{\@point}% + \edef\@PointOutLst{\expandafter\PstParamListLasts\@PointOutLst,undef/}% + \advance\pst@cntg by 1 + \edef\@point{\expandafter\PstParamListFirst\@PointOutLst,undef/} + \ifnum\pst@cntg<\pst@cnth% + \def\@End{\Pst@RegularPolygonOA@iii} + \else + \def\@End{\pst@MngTransformCurve\egroup} + \fi% + \@End% +}% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Here are some functions to operate the conic curves. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -- cgit v1.2.3