texlive[55009] Master/texmf-dist: curve2e (4may20)

commits+karl at tug.org commits+karl at tug.org
Mon May 4 23:17:09 CEST 2020


Revision: 55009
          http://tug.org/svn/texlive?view=revision&revision=55009
Author:   karl
Date:     2020-05-04 23:17:09 +0200 (Mon, 04 May 2020)
Log Message:
-----------
curve2e (4may20)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/curve2e/README.txt
    trunk/Master/texmf-dist/doc/latex/curve2e/curve2e-manual.pdf
    trunk/Master/texmf-dist/doc/latex/curve2e/curve2e-manual.tex
    trunk/Master/texmf-dist/doc/latex/curve2e/curve2e.pdf
    trunk/Master/texmf-dist/source/latex/curve2e/curve2e.dtx
    trunk/Master/texmf-dist/tex/latex/curve2e/curve2e.sty

Modified: trunk/Master/texmf-dist/doc/latex/curve2e/README.txt
===================================================================
--- trunk/Master/texmf-dist/doc/latex/curve2e/README.txt	2020-05-04 21:16:53 UTC (rev 55008)
+++ trunk/Master/texmf-dist/doc/latex/curve2e/README.txt	2020-05-04 21:17:09 UTC (rev 55009)
@@ -10,7 +10,7 @@
 %%   License information appended
 %% 
 File README.txt for package curve2e
-        [2020-04-02 v.2.2.6 Extension package for pict2e]
+        [2020-05-03 v.2.2.8 Extension package for pict2e]
 The package bundle curve2e is composed of the following files
 
 curve2e.dtx

Modified: trunk/Master/texmf-dist/doc/latex/curve2e/curve2e-manual.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/curve2e/curve2e-manual.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/curve2e/curve2e-manual.tex	2020-05-04 21:16:53 UTC (rev 55008)
+++ trunk/Master/texmf-dist/doc/latex/curve2e/curve2e-manual.tex	2020-05-04 21:17:09 UTC (rev 55009)
@@ -1279,7 +1279,7 @@
 \multiput(50,50)(-15:5){11}{\polygon*(-1,-1)(1,-1)(1,1)(-1,1)}
 \end{picture}
 \end{minipage}
-\caption{Some examples of the \meta{handler} optional argument}%\label{pag:multiput}
+\caption{Some examples of the \meta{handler} optional argument}\label{pag:multiput}
 \end{figure}
 
  A new command |\xmultiput| (not available with the previous versions
@@ -1331,14 +1331,14 @@
 \end{figure}
  
  \item This implementation of \pack{curve2e} includes an extension
- to package |xfp|, in the sense that adds two more L3 commands:
- |\fptest| and |\fpdowhile| to the two already contained and
+ to package |xfp|, in the sense that adds three more L3 commands:
+ |\fptest|, |\fpdowhile|, |fpwhiledo| to the two already contained and
  documented  in the latter package. The syntax of such new commands
  is the following
   \begin{flushleft}\obeylines
   \cs{fptext}\marg{test}\marg{true}\marg{false}
-  and
   \cs{fpdowhile}\meta{test}\meta{operations to be repeated}
+  \cs{fpwhiledo}\meta{test}\meta{operations to be repeated}
   \end{flushleft}
  The macro |\fptest| requires two further arguments that contain
  what to do if the \meta{test} is true, and what  to do if the
@@ -1346,20 +1346,32 @@
  The \meta{test} is a logical expressions that connects math relation
  expressions, even floating point ones, by means of \emph{logical
  operators}; such operators are \verb+||+, \verb|&&|, and \verb|!|,
- respectively for OR, AND, NOT; for example \verb|!<| means “not lower
- than”, which is equivalent to “equal or grater than”. The logical
- expression is parsed left to right and normal parentheses may be
- used to alter this sequence. The logical operators work also
- between logical variables, therefore the \meta{test} may contain
- an interesting mixture of relation and logical operators.
+ respectively for OR, AND, NOT; math relation expressions contain
+ relation operators, even negated ones: for example \verb|!<| means 
+ “not lower than”, which is equivalent to “equal or grater than”, i.e. 
+ \verb|=>|. The logical expression is parsed left to right and normal 
+ parentheses may be used to alter this sequence. The logical operators 
+ work also between logical variables, therefore the \meta{test} may 
+ contain an interesting mixture of relation and logical operators.
 
- Before using |\fpdowhile| the arguments the \meta{test} depends
- from must be set so that the test is true; during the execution
+ Before using |\fpdowhile| and |\fpwhiledo|the arguments of \meta{test} 
+ depends on must be set so that the test is true; during the execution
  of the \meta{operations to be repeated} there must be some setting
  that eventually renders the \meta{test} false. The user should
- pay attention to set the elements that \meta{test} depends from,
+ pay attention to set the elements that \meta{test} depends on,
  because the risk is to enter an infinite loop and end up with some
  error message stating that the working memory of the program is full.
+ Notice that |\fpdowhile| first puts the \meta{operations to be repeated} 
+ into the work flow then checks the \meta{test} and possibly repeats the 
+ cycle; on the opposite, |\fpwhiledo| first checks the \meta{test} then 
+ possibly inserts the \meta{operations to be repeated} and cycles. 
+ Evidently with the same \meta{test} the two while cycles produce 
+ different results with a little, but important difference: if the input 
+ data are macros defined by previous computations, there is no guarantee 
+ that the \meta{test} is initially true; if  it sis false, |fpwhiledo| 
+ does not do anything, while |\fpdowhile| executes one cycle and produces 
+ in the output stream something that might be nonsense. While cycles done 
+ with |\fpwhiledo| should be safer and should be preferred.
  
  Nevertheless such commands are very useful also for drawing graphics;
  the |xmultiput| already makes use of such L3~functions.

Modified: trunk/Master/texmf-dist/doc/latex/curve2e/curve2e.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/latex/curve2e/curve2e.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/curve2e/curve2e.dtx	2020-05-04 21:16:53 UTC (rev 55008)
+++ trunk/Master/texmf-dist/source/latex/curve2e/curve2e.dtx	2020-05-04 21:17:09 UTC (rev 55009)
@@ -46,7 +46,7 @@
 %<+package>\ProvidesPackage{curve2e}%
 %<+readme>File README.txt for package curve2e
 %<*package|readme>
-        [2020-04-02 v.2.2.6 Extension package for pict2e]
+        [2020-05-03 v.2.2.8 Extension package for pict2e]
 %</package|readme>
 %<*driver>
 \documentclass{ltxdoc}\errorcontextlines=9
@@ -183,7 +183,7 @@
 %</driver>
 % \fi
 %
-% \CheckSum{5594}
+% \CheckSum{5598}
 % \begin{abstract}
 % This file documents the |curve2e| extension package to  the |pict2e|
 % bundle implementation; the latter was described by Lamport
@@ -554,9 +554,9 @@
 }
 %    \end{macrocode}
 % Since we already loaded package|xfp| or at least we explicitly load it
-% in our preamble, we add, if not already defined by the package, the two
-% new commands that allow to make floating point tests, and to implement
-% a “while” cycle\footnote{Thanks to Brian Dunn who spotted a bug in
+% in our preamble, we add, if not already defined by the package, three
+% new commands that allow to make floating point tests, and two
+%  “while” cycles\footnote{Thanks to Brian Dunn who spotted a bug in
 % the previous 2.0.x version definitions.} 
 %    \begin{macrocode}
 %
@@ -566,10 +566,14 @@
    \fp_compare:nTF{#1}{#2}{#3}}
 \ProvideExpandableDocumentCommand\fpdowhile{m m}{%
    \fp_do_while:nn{#1}{#2}}
+\ProvideExpandableDocumentCommand\fpwhiledo{m m}{%
+   \fp_while_do:nn{#1}{#2}}
 }
 \ExplSyntaxOff
 
 %    \end{macrocode}
+% The while cycles differ in the order of what they do; see the
+% |interface3.pdf| documentation file for details.
 %
 % The next macros are just for debugging. With the \texttt{trace} package
 % it would probably be better to define other macros, but this is not for
@@ -989,7 +993,9 @@
 % original macros, but now the increments are computed within the while
 % loop, but outside the argument of the inner |\put| command. If the
 % optional \meta{handler} is specified the increments are computed
-% from the macros specified by the user. 
+% from the macros specified by the user. Another new feature: the fourth
+% argument, that contains the number of objects to be put in place,
+% may be an integer expression such as for example |3*\N+1|.
 %
 % The two increments components inside the optional argument may be set
 % by means of mathematical expressions operated upon by the |\fpeval|
@@ -1011,7 +1017,7 @@
     {\put(#1){\let\c at multicnt\@multicnt
       \CopyVect #2 to \R 
       \CopyVect#3 to\D 
-        \@multicnt=#4\relax
+        \@multicnt=\inteval{#4}\relax
         \@whilenum \@multicnt > \z@\do{%
           \put(\R){#5}%
           \IfValueTF{#6}{#6}{\AddVect#3 and\R to \R}%

Modified: trunk/Master/texmf-dist/tex/latex/curve2e/curve2e.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/curve2e/curve2e.sty	2020-05-04 21:16:53 UTC (rev 55008)
+++ trunk/Master/texmf-dist/tex/latex/curve2e/curve2e.sty	2020-05-04 21:17:09 UTC (rev 55009)
@@ -11,7 +11,7 @@
 %% 
 \NeedsTeXFormat{LaTeX2e}[2019/01/01]
 \ProvidesPackage{curve2e}%
-        [2020-04-02 v.2.2.6 Extension package for pict2e]
+        [2020-05-03 v.2.2.8 Extension package for pict2e]
 \IfFileExists{xfp.sty}{%
   \RequirePackage{color}
   \RequirePackageWithOptions{pict2e}[2014/01/01]
@@ -38,6 +38,8 @@
    \fp_compare:nTF{#1}{#2}{#3}}
 \ProvideExpandableDocumentCommand\fpdowhile{m m}{%
    \fp_do_while:nn{#1}{#2}}
+\ProvideExpandableDocumentCommand\fpwhiledo{m m}{%
+   \fp_while_do:nn{#1}{#2}}
 }
 \ExplSyntaxOff
 
@@ -165,7 +167,7 @@
     {\put(#1){\let\c at multicnt\@multicnt
       \CopyVect #2 to \R
       \CopyVect#3 to\D
-        \@multicnt=#4\relax
+        \@multicnt=\inteval{#4}\relax
         \@whilenum \@multicnt > \z@\do{%
           \put(\R){#5}%
           \IfValueTF{#6}{#6}{\AddVect#3 and\R to \R}%



More information about the tex-live-commits mailing list.