summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/generic/pst-eucl
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-04-18 20:56:01 +0000
committerKarl Berry <karl@freefriends.org>2020-04-18 20:56:01 +0000
commit8520e46c50136c5a6160de5f7b8c7fb574821288 (patch)
treeb7a6238aa56e5ffd26f0306e804a609fcaa086d4 /Master/texmf-dist/doc/generic/pst-eucl
parent55b88cc13c3235652884f20a23da14aae7ef35d9 (diff)
pst-eucl (18apr20)
git-svn-id: svn://tug.org/texlive/trunk@54785 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/generic/pst-eucl')
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/Changes4
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/pst-eucl-doc.pdfbin1714126 -> 1780362 bytes
-rw-r--r--Master/texmf-dist/doc/generic/pst-eucl/pst-eucl-doc.tex107
3 files changed, 85 insertions, 26 deletions
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/Changes b/Master/texmf-dist/doc/generic/pst-eucl/Changes
index 09287f4f165..ca8cfb86a08 100644
--- a/Master/texmf-dist/doc/generic/pst-eucl/Changes
+++ b/Master/texmf-dist/doc/generic/pst-eucl/Changes
@@ -6,8 +6,10 @@ pst-eucl.pro --------
pst-eucl.tex --------
+1.72 2020/04/18 - revert the change of \pstTriangle in v1.69, we should use \pst@object to clear \pst@par.
+ - add macro to draw the Lemonie Point of the given triangle, \pstTriangleLC.
1.71 2020/02/26 - add macro to wrap the native macro \pspolygon just group the parameters as local, \pstPolygon.
- - update macro \pstCircleOA and \pstCircleAB to clear \pst@par like as \pst@object clear it. This change update the issue that some rendering options used at last will be taken, e.g. if you call \pspolygon with fillcolor, and then call \pstCircleOA, the circle will be filled with same color.
+ - revert the change of \pstCircleOA and \pstCircleAB in v1.66, we should use \pst@object to clear \pst@par.
- add macro to draw the nine point circle and its center, \pstTriangleNC.
- add macro to draw the general ellipse by its focus and one node on it, \pstGeneralEllipseFFN.
- add macro to draw the general hyperbola by its focus and one node on it, \pstGeneralHyperbolaFFN.
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/pst-eucl-doc.pdf b/Master/texmf-dist/doc/generic/pst-eucl/pst-eucl-doc.pdf
index 14c1e0c0463..22c5429a617 100644
--- a/Master/texmf-dist/doc/generic/pst-eucl/pst-eucl-doc.pdf
+++ b/Master/texmf-dist/doc/generic/pst-eucl/pst-eucl-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/pst-eucl/pst-eucl-doc.tex b/Master/texmf-dist/doc/generic/pst-eucl/pst-eucl-doc.tex
index c3b6bed35c5..164e8a6ad3d 100644
--- a/Master/texmf-dist/doc/generic/pst-eucl/pst-eucl-doc.tex
+++ b/Master/texmf-dist/doc/generic/pst-eucl/pst-eucl-doc.tex
@@ -9,7 +9,6 @@
\usepackage[mathscr]{eucal}
\def\eV{e.\kern-1pt{}V\kern-1pt}
-
\lstset{pos=l,wide=false,basicstyle=\footnotesize\ttfamily,explpreset={language=[PSTricks]{TeX}}}
%
\def\Argsans#1{$\langle$#1$\rangle$}
@@ -488,16 +487,22 @@ For example:
\pstTriangleOC[PosAngle=90,PointSymbol=*,PointName=X]{A}{B}{C}[X]
\end{lstlisting}
-The macros \Lcs{pstTriangleGC}, \Lcs{pstTriangleHC} and \Lcs{pstTriangleEC} are used to draw the barycenter $G$, the orthocentre $H$ and the escenter $E$ of the triangle $ABC$.
+The macros \Lcs{pstTriangleGC}, \Lcs{pstTriangleHC}, \Lcs{pstTriangleEC}, \Lcs{pstTriangleNC}, \Lcs{pstTriangleLC}
+are used to draw the barycenter $G$, the orthocentre $H$, the escenter $E$, the nine points circle center
+and the Lemonie point (or symmedian point) of the triangle $ABC$.
\begin{BDef}
\Lcs{pstTriangleGC}\OptArgs\Largb{A}\Largb{B}\Largb{C}\Largb{G}\OptArg{$M_1$}\OptArg{$M_2$}\\
\Lcs{pstTriangleHC}\OptArgs\Largb{A}\Largb{B}\Largb{C}\Largb{H}\OptArg{$H_1$}\OptArg{$H_2$}\\
-\Lcs{pstTriangleEC}\OptArgs\Largb{A}\Largb{B}\Largb{C}\Largb{E}\OptArg{$T_1$}
+\Lcs{pstTriangleEC}\OptArgs\Largb{A}\Largb{B}\Largb{C}\Largb{E}\OptArg{$T_1$}\\
+\Lcs{pstTriangleNC}\OptArgs\Largb{A}\Largb{B}\Largb{C}\Largb{N}\OptArg{$M_1$}\OptArg{$M_2$}\OptArg{$M_3$}\\
+\Lcs{pstTriangleLC}\OptArgs\Largb{A}\Largb{B}\Largb{C}\Largb{L}\OptArg{$S_1$}\OptArg{$S_2$}\OptArg{$S_3$}
\end{BDef}
-You can use the options of node like as \verb|PointName=...|, \verb|PosAngle=...|, \verb|PointSymbol=...| to control the output nodes $G,H,E$. But if you give the optional output parameters $M_1,M_2$, or $H_1,H_2$ or $T_1$, then you should pass the option value in list like as \verb|PointName={...}|, \verb|PosAngle={...}|, \verb|PointSymbol={...}|.
-For example,
+You can use the options of node like as \verb|PointName=...|, \verb|PosAngle=...|, \verb|PointSymbol=...|
+to control the output nodes $G,H,E$. But if you give the optional output parameters $M_1,M_2$, or $H_1,H_2$
+or $T_1$, then you should pass the option value in list like as \verb|PointName={...}|,
+\verb|PosAngle={...}|, \verb|PointSymbol={...}|. For example,
\begin{LTXexample}[width=6cm,pos=l]
\begin{pspicture}[showgrid=true](-3,-3)(3,2)
@@ -505,11 +510,13 @@ For example,
\pstGeonode[PosAngle=90](0,1){A}
\pstGeonode[PosAngle=-90](-1,-0.6){B}
\pstGeonode[PosAngle=-90](1.5,-0.6){C}
-\pstTriangleGC[PointSymbol={*,none,*},PosAngle={150,-80,30}]{A}{B}{C}{G}[M_1][M_2]
-\pstTriangleHC[PointSymbol={*,*,none},PosAngle={-30,-100,30}]{A}{B}{C}{H}[H_1][H_2]
-\pstTriangleEC[PointSymbol={*,none},PosAngle={90,30}]{A}{B}{C}{E_1}[T_1]
+\pstTriangleGC[PointSymbol={*,none,*},PosAngle={-30,-80,30},PointNameSep=0.22cm]{A}{B}{C}{G}[M_1][M_2]
+\pstTriangleHC[PointSymbol={*,*,none},PosAngle={160,-120,30},PointNameSep=0.22cm]{A}{B}{C}{H}[H_1][H_2]
+\pstTriangleEC[PointSymbol={*,*},PosAngle={90,-40}]{A}{B}{C}{E_1}[T_1]
\pstTriangleEC[PointSymbol=*,PosAngle=0]{B}{C}{A}{E_2}
\pstTriangleEC[PointSymbol=*,PosAngle=180]{C}{A}{B}{E_3}
+\pstTriangleNC[PointSymbol=*,PosAngle=40,linestyle=dashed,linecolor=cyan!60]{A}{B}{C}{N}
+\pstTriangleLC[PointSymbol=*,PosAngle=200,linecolor=green!80,PointNameSep=0.22cm]{A}{B}{C}{L}
\pstLineAB{A}{B}\pstLineAB{B}{C}\pstLineAB{C}{A}
\pstCircleOA[linestyle=dashed,linecolor=gray!40]{E_1}{T_1}[30][150]
\pstLineAB[linestyle=dashed,linecolor=blue!40]{A}{M_1}
@@ -533,8 +540,9 @@ right angle:
\begin{sloppypar}
-Valid optional arguments are \Lkeyword{RightAngleType}, \Lkeyword{RightAngleSize},
- \Lkeyword{RightAngleSize}, and \Lkeyword{RightAngleDotDistance}
+The valid optional arguments controlling this command, excepting the ones which
+controlled the line, are \Lkeyword{RightAngleType}, \Lkeyword{RightAngleSize},
+\Lkeyword{RightAngleSize}, and \Lkeyword{RightAngleDotDistance}.
\end{sloppypar}
The symbol is controlled by the parameter \Lkeyword{RightAngleType}
@@ -546,18 +554,12 @@ The symbol is controlled by the parameter \Lkeyword{RightAngleType}
\item \Lkeyval{suisseromand} : swiss romand symbol (given P. Schnewlin).
\end{compactitem}
-\begin{sloppypar}
-The only parameters controlling this command, excepting the ones which
-controlled the line, is \Lkeyword{RightAngleSize} which defines the size
-of the symbol \DefaultVal{0.28 unit} and \Lkeyword{RightAngleDotDistance}. For a
-right angle style \Lkeyval{german} or \Lkeyval{swissromand} the distance of the dot
+The optional argument \Lkeyword{RightAngleSize} defines the size of the symbol \DefaultVal{0.28 unit}.
+
+For a right angle style \Lkeyval{german} or \Lkeyval{swissromand} the distance of the dot
is preset to 0.5 (\Lkeyval{german}) or 0.45 (\Lkeyval{swissromand}), relative to the radius.
-It can be controlled by the optional argument \Lkeyword{RightAngleDotDistance} which is
+However, it can be controlled by the optional argument \Lkeyword{RightAngleDotDistance} which is
preset to 1. A greater value moves the dot away from the reference point.
-\end{sloppypar}
-
-
-
For other angles, there is the command:
@@ -568,8 +570,7 @@ For other angles, there is the command:
\begin{sloppypar}
Valid optional arguments are \Lkeyword{MarkAngleRadius}, \Lkeyword{LabelAngleOffset},
- \Lkeyword{MarkAngleType} and
- \Lkeyword{Mark}
+\Lkeyword{MarkAngleType} and \Lkeyword{Mark}.
%
The \Lkeyword{label} can be any valid \TeX\ box, it is put at \Lkeyword{LabelSep}
\DefaultVal{1 unit} of the node in the direction of the bisector of the angle
@@ -1172,13 +1173,13 @@ Another example is for \Lcs{pstDistMul}, the old code like as
\begin{lstlisting}
\pstCircleOA[DistCoef=1 3 div,Radius=\pstDistAB{A}{B}]{O}{}
\pstCircleOA[DistCoef=1 3 div,Radius=\pstDistAB{A}{B}]{A}{B}{O}{}{I}{J}
-\pstInterCC[DistCoef=1 3 div,RadiusA=\pstDistAB{A}{B},DistCoef=none,RadiusA=\pstDistAB{C}{D}]{O1}{}{O2}{}{I}{J}
+\pstInterCC[DistCoef=1 3 div,RadiusA=\pstDistAB{A}{B},DistCoef=none,RadiusB=\pstDistAB{C}{D}]{O1}{}{O2}{}{I}{J}
\end{lstlisting}
could be simplified to
\begin{lstlisting}
\pstCircleOA[Radius=\pstDistMul{A}{B}{1 3 div}]{O}{}
\pstInterLC[Radius=\pstDistMul{A}{B}{1 3 div}]{A}{B}{O}{}{I}{J}
-\pstInterCC[RadiusA=\pstDistMul{A}{B}{1 3 div},RadiusA=\pstDistAB{C}{D}]{O1}{}{O2}{}{I}{J}
+\pstInterCC[RadiusA=\pstDistMul{A}{B}{1 3 div},RadiusB=\pstDistAB{C}{D}]{O1}{}{O2}{}{I}{J}
\end{lstlisting}
\vspace{10pt}\noindent{}{\Large{\textbf{Important}}}!
@@ -1366,7 +1367,7 @@ so you can't omit the parameter $A$.
The direction to find node $X$ is anti-clockwise by default.
The parameter \Lkeyword{CurvAbsNeg}\DefaultVal{false} can change this behavior.
-At last, the chord length $L$ chouldn't large than the diameter of the circle,
+At last, the chord length $L$ shouldn't large than the diameter of the circle,
else we will put the node $X$ at origin.
\begin{LTXexample}[width=6cm,pos=l]
@@ -2003,6 +2004,34 @@ when you pass it to \Lcs{pstGeneralEllipse}, PostScript will lookup the value of
\vspace{10pt}
+The Macro \Lcs{pstGeneralEllipseFFN} is used to define a General Ellipse by the given focus nodes $F_1$, $F_2$, and one node $N$ on it.
+It just calculate the center $O$, major radius $a$, minor radius $b$ and the rotation angle $\theta$ of the major axis,
+then you can pass them into macro \Lcs{pstGeneralEllipse} to draw this ellipse.
+
+\begin{BDef}
+\Lcs{pstGeneralEllipseFFN}\OptArgs\Largb{$F_1$}\Largb{$F_2$}\Largb{O}\Largb{Rab}\Largb{$\theta$}
+\end{BDef}
+
+The output parameter \texttt{O}, the output parameter \texttt{Rab} and the output parameter \texttt{$\theta$}
+are same with \Lcs{pstGeneralEllipseFle}.
+
+\begin{LTXexample}[width=6cm,pos=l]
+\begin{pspicture}[showgrid=true](0,0)(4,4)
+\psset{dotscale=0.5}\psset{PointSymbol=*}\footnotesize
+\pstGeonode[PosAngle=-90](1,1){F_1}
+\pstGeonode[PosAngle=-90](3,3){F_2}
+\pstGeonode[PosAngle=-90](1,3){F_3}
+\pstGeonode[PosAngle=-90](3,1){F_4}
+\pstGeonode[PosAngle=90](2,3){N}
+\pstGeneralEllipseFFN[linecolor=red!30,CodeFig=true]{F_1}{F_2}{N}{O}{R1}{angle1}
+\pstGeneralEllipse[linecolor=red!30](O)(R1)[angle1]
+\pstGeneralEllipseFFN[linecolor=blue!30,CodeFig=true]{F_3}{F_4}{N}{O}{R2}{angle2}
+\pstGeneralEllipse[linecolor=blue!30](O)(R2)[angle2]
+\end{pspicture}
+\end{LTXexample}
+
+\vspace{10pt}
+
The Macro \Lcs{pstGeneralEllipseCoef} is used to define a General Ellipse by the quadratic curve equation $ax^2+bxy+cy^2+dx+ey+f=0$,
it just calculate the center $O$, major radius $a$, minor radius $b$ and the rotation angle $\theta$ of the major axis,
then you can pass them into macro \Lcs{pstGeneralEllipse} to draw this ellipse.
@@ -3443,6 +3472,34 @@ when you pass it to \Lcs{pstGeneralHyperbola}, PostScript will lookup the value
\vspace{10pt}
+The Macro \Lcs{pstGeneralHyperbolaFFN} is used to define a General Hyperbola by the given focus nodes $F_1$, $F_2$, and one node $N$ on it.
+It just calculate the center $O$, major radius $a$, minor radius $b$ and the rotation angle $\theta$ of the major axis,
+then you can pass them into macro \Lcs{pstGeneralHyperbola} to draw this hyperbola.
+
+\begin{BDef}
+\Lcs{pstGeneralHyperbolaFFN}\OptArgs\Largb{$F_1$}\Largb{$F_2$}\Largb{O}\Largb{Rab}\Largb{$\theta$}
+\end{BDef}
+
+The output parameter \texttt{O}, the output parameter \texttt{Rab} and the output parameter \texttt{$\theta$}
+are same with \Lcs{pstGeneralHyperbolaFle}.
+
+\begin{LTXexample}[width=6cm,pos=l]
+\begin{pspicture}[showgrid=true](0,0)(4,4)
+\psset{dotscale=0.5}\psset{PointSymbol=*}\footnotesize
+\pstGeonode[PosAngle=-90](1,1){F_1}
+\pstGeonode[PosAngle=-90](3,3){F_2}
+\pstGeonode[PosAngle=-90](1,3){F_3}
+\pstGeonode[PosAngle=-90](3,1){F_4}
+\pstGeonode[PosAngle=90](2,3){N}
+\pstGeneralHyperbolaFFN[linecolor=red!30,CodeFig=true]{F_1}{F_2}{N}{O}{R1}{angle1}
+\pstGeneralHyperbola[linecolor=red!30](O)(R1)[angle1][65]
+\pstGeneralHyperbolaFFN[linecolor=blue!30,CodeFig=true]{F_3}{F_4}{N}{O}{R2}{angle2}
+\pstGeneralHyperbola[linecolor=blue!30](O)(R2)[angle2][65]
+\end{pspicture}
+\end{LTXexample}
+
+\vspace{10pt}
+
The Macro \Lcs{pstGeneralHyperbolaCoef} is used to define a General Hyperbola by the quadratic curve equation $ax^2+bxy+cy^2+dx+ey+f=0$,
it just calculate the center $O$, real radius $a$ and imaginary radius $b$ and the rotation angle $\theta$ of the real axis,
then you can pass them into macro \Lcs{pstGeneralHyperbola} to draw this hyperbola.