summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2023-07-11 19:57:11 +0000
committerKarl Berry <karl@freefriends.org>2023-07-11 19:57:11 +0000
commit00f03005c1535953c5e9b9ee32129fde210bcebe (patch)
treecb70200070ed45ce483e36ea73a4cb96c2fe8f8e /Master/texmf-dist/source
parentdbec5715c78a4772c61be99800502e819e7b07c6 (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.dtx37
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}