diff options
author | Karl Berry <karl@freefriends.org> | 2023-07-11 19:57:11 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2023-07-11 19:57:11 +0000 |
commit | 00f03005c1535953c5e9b9ee32129fde210bcebe (patch) | |
tree | cb70200070ed45ce483e36ea73a4cb96c2fe8f8e /Master/texmf-dist/source | |
parent | dbec5715c78a4772c61be99800502e819e7b07c6 (diff) |
euclideangeometry (11jul23)
git-svn-id: svn://tug.org/texlive/trunk@67608 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source')
-rw-r--r-- | Master/texmf-dist/source/latex/euclideangeometry/euclideangeometry.dtx | 37 |
1 files changed, 22 insertions, 15 deletions
diff --git a/Master/texmf-dist/source/latex/euclideangeometry/euclideangeometry.dtx b/Master/texmf-dist/source/latex/euclideangeometry/euclideangeometry.dtx index 90008b0ac48..dfe452388fe 100644 --- a/Master/texmf-dist/source/latex/euclideangeometry/euclideangeometry.dtx +++ b/Master/texmf-dist/source/latex/euclideangeometry/euclideangeometry.dtx @@ -6,7 +6,7 @@ \keepsilent \preamble - Copyright (C) 2020-2021 Claudio Beccari all rights reserved. + Copyright (C) 2020-2023 Claudio Beccari all rights reserved. Distributable under the LaTeX Project Public License, version 1.3c or higher (your choice). The latest version of @@ -17,7 +17,6 @@ \askforoverwritefalse \generate{\file{euclideangeometry.sty}{\from{euclideangeometry.dtx}{package}}} -%\generate{\file{README.txt}{\from{euclideangeometry.dtx}{readme}}} \def\tmpa{plain} \ifx\tmpa\fmtname\endgroup\expandafter\bye\fi @@ -33,7 +32,7 @@ %<package>\ProvidesPackage{euclideangeometry}% %<readme>File README.txt for package euclideangeometry %<*package|readme> - [2021-10-04 v.0.2.1 Extension package for curve2e] + [2023-07-11 v.0.2.2 Extension package for curve2e] %</package|readme> %<*driver> \documentclass{ltxdoc}\errorcontextlines=100 @@ -146,7 +145,7 @@ g\raisebox{-0.715ex}{\kern-0.26em u}\kern-0.13em\I\kern-0.14em t}\xspace} % installed with your updated complete \TeX system installation. % Please refer to the user manual before using this package. -% \CheckSum{1294} +% \CheckSum{1315} %^^A%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %\StopEventually{} %^^A%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -295,12 +294,12 @@ g\raisebox{-0.715ex}{\kern-0.26em u}\kern-0.13em\I\kern-0.14em t}\xspace} % evolution of a command that I have been using for years in several % documents of mine. It uses some general text, not necessarily % connected to a particular point of the |picture| environment, -% as a legend; it can draw short text as a simple horizontal box, +% as a legend; It can draw short text as a simple horizontal box, % and longer texts as a vertical box of specified width and height % % Is syntax is the following: %\begin{ttsyntax} -%\cs{Zbox}\parg{position}\parg(dimensions)\oarg{alignment}\marg{text} +%\cs{Zbox}\parg{position}\parg{dimensions}\oarg{alignment}\marg{text} %\end{ttsyntax} % where \meta{position} is where the box reference point has % to be put in the picture; \meta{dimensions} are optional; if not @@ -418,13 +417,13 @@ g\raisebox{-0.715ex}{\kern-0.26em u}\kern-0.13em\I\kern-0.14em t}\xspace} % The first and principal command is |\IntersectionOfLines| and % it has the following syntax: %\begin{ttsyntax} -%\cs{IntersectionOfLines}\parg{point1}\parg{dir1}and\parg{point2}\parg{dir2}to\meta{crossing} +%\cs{IntersectionOfLines}\parg{point1}\parg{dir1}and\parg{point2}\parg{dir2}to\meta{crossing point} %\end{ttsyntax} % where \meta{point1} and \meta{dir1} are respectively a point of the % first line and its \emph{direction}, not a second point, but the % \emph{direction} — it is important to stress this point; similarly % for the second line; the output is stored in -% the macro that identifies the \meta{crossing} point. The directions +% the macro that identifies the \meta{crossing point}. The directions % do not need to be expressed with unit vectors, but the lines must not % be parallel or anti parallel (equal directions or differing by % $180^\circ$); the macro contains a test that checks this anomalous @@ -486,7 +485,7 @@ g\raisebox{-0.715ex}{\kern-0.26em u}\kern-0.13em\I\kern-0.14em t}\xspace} % a little while. Meanwhile the syntax of the whole macro is the % following: %\begin{ttsyntax} -%\cs{ThreePointCircle}\meta{$\star$}\parg{vetex1}\parg{vertex2}\parg{vertex3} +%\cs{ThreePointCircle}\meta{$\star$}\parg{vertex1}\parg{vertex2}\parg{vertex3} %\end{ttsyntax} % where the three vertices are the three points where the circle % must pass, but they identify also a triangle. Its side axes @@ -500,7 +499,7 @@ g\raisebox{-0.715ex}{\kern-0.26em u}\kern-0.13em\I\kern-0.14em t}\xspace} % into another macro; for this reason another macro should be more % easy to use; its syntax is the following: %\begin{ttsyntax} -%\cs{ThreePointCircleCenter}\parg{vetex1}\parg{vertex2}\parg{vertex3} +%\cs{ThreePointCircleCenter}\parg{vertex1}\parg{vertex2}\parg{vertex3} %\qquad to\meta{center} %\end{ttsyntax} % where the vertices have the same meaning, but\meta{center} is @@ -510,7 +509,7 @@ g\raisebox{-0.715ex}{\kern-0.26em u}\kern-0.13em\I\kern-0.14em t}\xspace} \NewDocumentCommand\ThreePointCircle{s r() r() r()}{% \AxisOf#2and#3to\Mu\Du \AxisOf#2and#4to\Md\Dd -\IntersectionOfLines(\Mu)(\Du)and(\Md)(\Dd)to\C +\IntersectionOfSegments(\Mu)(\Du)and(\Md)(\Dd)to\C \SubVect#2from\C to\R \IfBooleanTF{#1}{\CircleWithCenter\C Radius\R}{}\ignorespaces} @@ -548,12 +547,16 @@ g\raisebox{-0.715ex}{\kern-0.26em u}\kern-0.13em\I\kern-0.14em t}\xspace} % % As announced, here we have a macro to compute the axis of a segment; % given two points $P_1$ and $P_2$, for example the end points of a -% segment, or better the end point of the vector that goes from +% segment, or better the end points of the vector that goes from % $P_1$ to $P_2$, the macro determines the segment middle point and % a second point the lays on the perpendicular at a distance equal to half % the first two points distance; this second point lays at the left of % vector $P_2-P_1$, therefore it is important to select the right initial % vector, in order to have the second axis point on the desired side. +% This macro did not work well because sometimes its internal variables +% interfered with other commands internal ones; enclosing everything +% within an auto deleting group by means of the auto deleting |\x| macro +% usual trick, such interferences should be avoided. %\begin{ttsyntax} %\cs{AxisOf}\meta{P1} and\meta{P2} to\meta{Axis1}\meta{Axis2} %\end{ttsyntax} @@ -563,12 +566,16 @@ g\raisebox{-0.715ex}{\kern-0.26em u}\kern-0.13em\I\kern-0.14em t}\xspace} %\cs{SegmentCenter}\parg{P1}\parg{P2}to\meta{center} %\cs{MiddlePointOf}\parg{P1}\parg{P2}to\meta{center} %\end{ttsyntax} -% \meta{P1}, \meta{p2} and \meta{center} are all vectors. +% \meta{P1}, \meta{P2}, \meta{Axis1}, \meta{Axis2} and \meta{center} are +% all ordered pairs (vectors). % \begin{macrocode} -\def\AxisOf#1and#2to#3#4{% +\def\AxisOf#1and#2to#3#4{\bgroup \SubVect#1from#2to\Base \ScaleVect\Base by0.5to\Base -\AddVect\Base and#1to#3 \MultVect\Base by0,1to#4} +\AddVect\Base and#1to\Mout \MultVect\Base by0,1to\Base +\AddVect\Mout and\Base to\Dout +\edef\x{\egroup\noexpand\CopyVect\Mout to\noexpand#3\relax + \noexpand\CopyVect\Dout to\noexpand#4}\x\ignorespaces} \def\SegmentCenter(#1)(#2)to#3{\AddVect#1and#2to\Segm \ScaleVect\Segm by0.5to#3\ignorespaces} |