texlive[41971] Master/texmf-dist: listofitems (1sep16)

commits+karl at tug.org commits+karl at tug.org
Fri Sep 2 02:04:23 CEST 2016


Revision: 41971
          http://tug.org/svn/texlive?view=revision&revision=41971
Author:   karl
Date:     2016-09-02 02:04:23 +0200 (Fri, 02 Sep 2016)
Log Message:
-----------
listofitems (1sep16)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/generic/listofitems/README
    trunk/Master/texmf-dist/doc/generic/listofitems/listofitems-en.pdf
    trunk/Master/texmf-dist/doc/generic/listofitems/listofitems-en.tex
    trunk/Master/texmf-dist/doc/generic/listofitems/listofitems-fr.pdf
    trunk/Master/texmf-dist/doc/generic/listofitems/listofitems-fr.tex
    trunk/Master/texmf-dist/tex/generic/listofitems/listofitems.tex

Modified: trunk/Master/texmf-dist/doc/generic/listofitems/README
===================================================================
--- trunk/Master/texmf-dist/doc/generic/listofitems/README	2016-09-02 00:03:54 UTC (rev 41970)
+++ trunk/Master/texmf-dist/doc/generic/listofitems/README	2016-09-02 00:04:23 UTC (rev 41971)
@@ -4,9 +4,9 @@
              listofitems
                package
                
-                v1.0
+                v1.1
 
-             20/08/2016
+             01/09/2016
 ___________________________________
 
 Authors   : Christian Tellechea, Steven B. Segletes
@@ -27,4 +27,4 @@
 
 This package allows one to capture all the items of a list, for which
 the parsing character has been selected by the user, and to access any
-of these items with a simple syntax.
\ No newline at end of file
+of these items with a simple syntax.

Modified: trunk/Master/texmf-dist/doc/generic/listofitems/listofitems-en.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/generic/listofitems/listofitems-en.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/listofitems/listofitems-en.tex	2016-09-02 00:03:54 UTC (rev 41970)
+++ trunk/Master/texmf-dist/doc/generic/listofitems/listofitems-en.tex	2016-09-02 00:04:23 UTC (rev 41971)
@@ -4,9 +4,9 @@
 \usepackage[utf8]{inputenc}
 \usepackage{listofitems,babel,xspace}
 \usepackage[bottom]{footmisc}
-\usepackage{libertine}\usepackage[libertine]{newtxmath}
+\usepackage{libertine}\usepackage[italic]{mathastext}
 \usepackage[scaled=0.8]{luximono}
-\usepackage[margin=2.84cm]{geometry}
+\usepackage[margin=3cm]{geometry}
 \usepackage{fancybox}
 \usepackage{xcolor}
 \def\listofitems{\textsf{\loiname}\xspace}
@@ -89,12 +89,12 @@
 \makeatother
 % FOR AMERICAN-ENGLISH VERSION
 \usepackage{setspace}
-\setstretch{1.02}
+\setstretch{1.01}
 \usepackage{enumitem}
 \newcommand\no[1]{number #1}
 \let\bsc\textsc
 \def\americanloidate{\expandafter\americanloidatei\loidate/}
-\def\americanloidatei#1/#2/#3/{#3 \ifcase #2 \or January\or February\or March\or April\or May\or 
+\def\americanloidatei#1/#2/#3/{\number#3\relax\space\ifcase #2 \or January\or February\or March\or April\or May\or 
   June\or July\or August\or September\or October\or November\or December\fi{} #1}
 %\newcommand\flag[1]{\textcolor{red}{#1}}% DIAGNOSTIC FLAG FOR FURTHER TRANSLATION
 %\newcommand\cflag[1]{\textcolor{blue}{#1}}% DIAGNOSTIC FLAG FOR FURTHER TRANSLATION
@@ -136,13 +136,10 @@
 \def\listofitems{\textsf\loiname\xspace}
 
 \section{Preface}
-
-\begin{sloppypar}
 This package loads no external packages, must be used with the 
-  \eTeX{} engine, and must be called in (pdf)(Xe)(lua)\LaTeX{} with
+  \eTeX{} engine, and must be called in (pdf)\hskip0pt(Xe)\hskip0pt(lua)\LaTeX{} with
   the invocation
 \code|\usepackage{listofitems}|
-\end{sloppypar}
 
 and under (pdf)(Xe)(Lua)\TeX {} by way of 
 \code|\input listofitems.tex|
@@ -172,12 +169,10 @@
   for example ``\verb|.|'', and write ``\verb+\setsepchar[.]{/}+''.
 \medbreak
 
-\begin{sloppypar}
 It is not possible to select \verb-|- as the \verb|<delimiter>| because it would 
   conflict with the logical \textbf{OR}, denoted ``\verb-||-'' (see below).
 However, one can work around this limitation, at one's own peril, writing 
   ``\verb-\setsepchar{{|}}-''.
-\end{sloppypar}
 
 \paragraph{Read a list}
 To read the list of items, the \verb|\readlist<macro-list>{<list>}| should be called. 
@@ -222,6 +217,13 @@
 
 If the index is empty, \verb|\foo[]| produces the complete \verb|<list>|.
 
+The macro \verb|\foosep| is created. It is used with the syntax 
+  \verb|\foosep[<index>]| and allows access to the parse-character that follows the 
+  item of rank \verb|<index>|. 
+The last parse-character (the one following the last item) is implicitly 
+  defined by \listofitems. 
+If the \verb|<index>| is empty, \verb|\foosep[]| is empty.
+
 \paragraph{Select several possible parsing characters}
 To specify several possible separators, use the \textbf{OR} operator,
   denoted ``\verb-||-''. 
@@ -230,10 +232,10 @@
 
 \exemple/\setsepchar{+||-}
 \readlist\term{17-8+4-11}
-1) \term[1]\par
-2) \term[2]\par
-3) \term[3]\par
-4) \term[4]/
+1) \term[1] (parse character = \termsep[1])\par
+2) \term[2] (parse character = \termsep[2])\par
+3) \term[3] (parse character = \termsep[3])\par
+4) \term[4] (parse character = \termsep[4])/
 
 \paragraph{Number of items}
 If we write \verb|\readlist<macro-list>{<list>}|, then the macro \verb|<macro-list>len|
@@ -277,7 +279,6 @@
 \showitems\foo|
 
 \paragraph{Managing empty items}
-\begin{sloppypar}
 By default, the \listofitems package retains and accounts for empty items. 
 Thus, in the previous ex\-am\-ple, the 2nd expansion of \verb|\foo[7]| is empty. 
 For empty items of the list (i.e., those list items defined by two 
@@ -286,7 +287,6 @@
   execute the macro \verb|\ignoreemptyitems| . 
 To return to the default package behavior, simply execute the macro 
   \verb|\reademptyitems|.
-\end{sloppypar}
 
 This option can be used alone or in combination with \verb|\readlist*|, 
   in which case the suppression of extreme (leading/trailing) spaces occurs
@@ -401,7 +401,6 @@
          \numbers[3,2] and \numbers[3,3])=
 
 \paragraph{Number of list items}
-\begin{sloppypar}
 The macro \verb|\listlen<macro-list>[<index>]| requires 2 expansions
   in order to
   give the number of items in the list specified by the \verb|<index>|.
@@ -411,7 +410,6 @@
 For the case where the \verb|<index>| is empty, 
   \verb|\listlen<macro-list>[]|, with 2 expansions, yields the identical result 
   as \verb|<macro-list>len| with 1 expansion.
-\end{sloppypar}
 
 \exemple|\setsepchar{\\/,/ }
 \readlist\baz{1,2 a b,3 c\\4 d e f,5,6\\7,,8, ,9 xy z}

Modified: trunk/Master/texmf-dist/doc/generic/listofitems/listofitems-fr.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/generic/listofitems/listofitems-fr.tex
===================================================================
--- trunk/Master/texmf-dist/doc/generic/listofitems/listofitems-fr.tex	2016-09-02 00:03:54 UTC (rev 41970)
+++ trunk/Master/texmf-dist/doc/generic/listofitems/listofitems-fr.tex	2016-09-02 00:04:23 UTC (rev 41971)
@@ -2,11 +2,11 @@
 %
 % Fichier compilé avec pdflatex
 \documentclass[frenchb,a4paper]{article}
+\usepackage[utf8]{inputenc}
 \usepackage[T1]{fontenc}
-\usepackage[utf8]{inputenc}
 \usepackage{listofitems,babel,xspace}
 \usepackage[bottom]{footmisc}
-\usepackage{libertine}\usepackage[libertine]{newtxmath}
+\usepackage{libertine}\usepackage[italic,frenchmath]{mathastext}
 \usepackage[scaled=0.8]{luximono}
 \usepackage[margin=3cm]{geometry}
 \usepackage{fancybox}
@@ -147,7 +147,7 @@
 \readlist\foo\liste|
 
 \paragraph{Accéder à un élément}
-La macro \verb|\foo| attend un argument numérique \emph{obligatoire} entre crochets, que nous notons $i$ et qui désigne le rang de l'élément auquel on souhaite accéder. Ainsi, \verb|\foo[1]| est\footnote{Il faut 2 développements à \texttt{\textbackslash foo[}$i$\texttt] pour obtenir l'élément \no$i$.} \og\verb|12|\fg. De la même façon, \verb|\foo[4]| est \og\verb|{\bfseries z}|\fg.
+La macro \verb|\foo| attend un argument numérique \emph{obligatoire} entre crochets, que nous notons $i$ et qui désigne le rang de l'élément auquel on souhaite accéder. Ainsi, \verb|\foo[1]| est\footnote{Il faut 2 développements à \texttt{\textbackslash foo[}$i$\texttt] pour obtenir l'élément \no$i$.} \og\verb|12|\fg. De la même façon, \verb|\foo[4]| est \og\verb|{\bfseries z}|\fg. 
 
 Le nombre $i$ peut également être négatif auquel cas le comptage se fait à partir de la fin de la liste : $-1$ représente le dernier rang, $-2$ l'avant-dernier, etc. Si le nombre d'éléments est $n$, alors l'argument $-n$ est le premier élément.
 \medbreak
@@ -156,15 +156,17 @@
 
 Si l'index est vide, alors \verb|\foo[]| se développe en la \verb|<liste>| entière.
 
+La macro \verb|\foosep| est créé. Elle s'utilise avec la syntaxe \verb|\foosep[<index>]| et permet d'accéder au séparateur qui suit l'élément de rang \verb|<index>|. Le dernier séparateur (celui qui suit le dernier élément) est défini par \listofitems. Si l'\verb|<index>| est vide, \verb|\foosep[]| a un développement vide.
+
 \paragraph{Choisir plusieurs séparateurs possibles}
 Pour spécifier plusieurs séparateurs possibles, il faut utiliser l'opérateur \textbf{OU} noté \og\verb-||-\fg{}. On peut par exemple utiliser cette fonctionnalité pour isoler les termes dans une somme algébrique :
 
 \exemple/\setsepchar{+||-}
 \readlist\terme{17-8+4-11}
-1) \terme[1]\par
-2) \terme[2]\par
-3) \terme[3]\par
-4) \terme[4]/
+1) \terme[1] (séparateur = \termesep[1])\par
+2) \terme[2] (séparateur = \termesep[2])\par
+3) \terme[3] (séparateur = \termesep[3])\par
+4) \terme[4] (séparateur = \termesep[4])/
 
 \paragraph{Nombre d'éléments}
 Si l'on écrit \verb|\readlist<macroliste>{<liste>}| alors la macro \verb|<macroliste>len| contient\footnote{C'est-à-dire qu'elle est purement développable et se développe en un nombre} le nombre d'éléments de la \verb|<liste>|. Dans l'exemple avec \verb|\foo|, la macro \verb|\foolen| contient \foolen.

Modified: trunk/Master/texmf-dist/tex/generic/listofitems/listofitems.tex
===================================================================
--- trunk/Master/texmf-dist/tex/generic/listofitems/listofitems.tex	2016-09-02 00:03:54 UTC (rev 41970)
+++ trunk/Master/texmf-dist/tex/generic/listofitems/listofitems.tex	2016-09-02 00:04:23 UTC (rev 41971)
@@ -3,9 +3,9 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %                                                                    %
 \def\loiname                 {listofitems}                           %
-\def\loiver                      {1.0}                               %
+\def\loiver                      {1.1}                               %
 %                                                                    %
-\def\loidate                  {2016/8/20}                            %
+\def\loidate                  {2016/9/01}                            %
 %                                                                    %
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 %
@@ -35,7 +35,7 @@
 %   - test (latex)       : listofitems-test-latex (.tex et .pdf)
 %   - fichier lisezmoi   : README
 % --------------------------------------------------------------------
-\expandafter\edef\csname loi\string_restorecatcode\endcsname{\catcode\number`\_=\number\catcode`\_\relax}
+\expandafter\edef\csname loi_restorecatcode\endcsname{\catcode\number`\_=\number\catcode`\_\relax}
 \catcode`\_11
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -78,7 +78,7 @@
 \def\loi_argcsname_i#1{\expandafter\loi_temp\csname#1\endcsname}
 
 %--- macros de test
-\long\def\loi_ifnum#1{\ifnum#1\expandafter\loi_first\else\expandafter\loi_second\fi}
+\def\loi_ifnum#1{\ifnum#1\expandafter\loi_first\else\expandafter\loi_second\fi}
 \long\def\loi_ifx#1{\ifx#1\expandafter\loi_first\else\expandafter\loi_second\fi}
 \long\def\loi_ifempty#1{\loi_exparg\loi_ifx{\expandafter\relax\detokenize{#1}\relax}}
 \def\loi_ifstar#1#2{\def\loi_ifstar_i{\loi_ifx{*\loi_nxttok}{\loi_first{#1}}{#2}}\futurelet\loi_nxttok\loi_ifstar_i}
@@ -194,18 +194,20 @@
 		{\edef\loi_listname{\loi_macroname#1}%
 		\loi_argcsname\let{\loi_listname nest}\nestdepth
 		\loi_argcsname\def{\loi_listname[]}{#2}% la liste enti\`ere
+		\loi_argcsname\def{\loi_listname sep[]}{}% s\'eparateur vide
 		\loi_ifempty{#2}
 			{\def#1[##1]{}%
 			\loi_argcsname\def{\loi_listname len}{0}\loi_argcsname\def{\loi_listname len[0]}{0}%
 			\loi_error{Empty list ignored, nothing to do}%
 			}
-			{\edef#1[##1]{\unexpanded{\romannumeral\expandafter\loi_auxmacrolist\romannumeral\loi_normalizeindex}{\loi_listname}{##1}{\csname\loi_listname nest\endcsname}{\loi_listname}}%
+			{\edef#1[##1]{\unexpanded{\romannumeral\expandafter\loi_auxmacrolistitem\romannumeral\loi_normalizeindex}{\loi_listname}{##1}{\csname\loi_listname nest\endcsname}{\loi_listname}}%
+			\loi_argcsname\edef{\loi_listname sep}[##1]{\unexpanded{\romannumeral\expandafter\loi_auxmacrolistitem\romannumeral\loi_normalizeindex}{\loi_listname}{##1}{\csname\loi_listname nest\endcsname}{\loi_listname sep}}%
 			\readlist_ii{#2}%
 			\loi_argcsname\loi_argcsname\let{\loi_listname len}{\loi_listname len[0]}% longueur du niveau 0
 			}%
 		}%
 }
-\def\loi_auxmacrolist#1#2#3{%
+\def\loi_auxmacrolistitem#1#2#3{%
 	\expandafter\expandafter\expandafter\loi_stop\csname#3[#2]\expandafter\endcsname
 	\romannumeral\loi_ifempty{#1}{\loi_stop}{\loi_stop\loi_error{#1}}%
 }
@@ -226,9 +228,9 @@
 \long\def\readlist_vi#1#2#3||{% #1=liste restante   #2=dernier <sep utile>  #3=<sep courant>
 	\loi_ifx{\loi_quark#3}
 		{\loi_ifempty{#2}% si #1 vide, aucun <sep utile> n'a \'et\'e trouv\'e, il reste \`a lire "<liste compl\`ete>\_nil"
-			{\long\def\readlist_vii##1\_nil##2{\loi_exparg{\readlist_ix{##2}{}}{\loi_gobarg##1}}}% ##2=compteur d'index
+			{\long\def\readlist_vii##1\_nil##2{\loi_exparg{\readlist_ix{##2}{}}{\loi_gobarg##1}{#2}}}% ##2=compteur d'index
 			{\long\def\readlist_vii##1#2{\loi_exparg\readlist_viii{\loi_gobarg##1}\relax}%
-			\long\def\readlist_viii##1##2\_nil##3{\loi_exparg{\readlist_ix{##3}}{\loi_gobarg##2}{##1}}% ##3=compteur d'index
+			\long\def\readlist_viii##1##2\_nil##3{\loi_exparg{\readlist_ix{##3}}{\loi_gobarg##2}{##1}{#2}}% ##3=compteur d'index
 			}%
 		\readlist_vii\relax% le \relax meuble l'argument d\'elimit\'e
 		}
@@ -245,10 +247,11 @@
 		{\loi_exparg{\loi_exparg{\readlist_x{#1}{#2}}}{\loi_removeextremespaces{#3}}}% red\'efinir l'\'el\'ement courant
 		{\readlist_x{#1}{#2}{#3}}%
 }
-\long\def\readlist_x#1#2#3{% #1=compteur d'index  #2=liste restante  #3=\'el\'ement courant
+\long\def\readlist_x#1#2#3#4{% #1=compteur d'index  #2=liste restante  #3=\'el\'ement courant   #4=sep utilis\'e
 	\loi_ifnum{0\if_ignoreemptyitems1\fi\loi_ifempty{#3}1{}=11 }
 		{\readlist_iv{#1}{#2}}% si l'on n'ignore pas les \'el\'ements vides :
 		{\loi_argcsname\def{\loi_listname[\csname loi_previndex[\number\loi_nestcnt]\endcsname#1]}{#3}% assignation de l'item ctuel \`a la macro
+		\loi_argcsname\def{\loi_listname sep[\csname loi_previndex[\number\loi_nestcnt]\endcsname#1]}{#4}% assignation du <sep> actuel \`a la macro \<macrolist>sep
 		\loi_ifnum{\loi_nestcnt<\nestdepth\relax}% si imbrication max non atteinte
 			{\advance\loi_nestcnt1
 			\loi_argcsname\edef{loi_previndex[\number\loi_nestcnt]}{\csname loi_previndex[\number\numexpr\loi_nestcnt-1]\endcsname#1,}%
@@ -349,4 +352,8 @@
 ######################################################################
 
 v1.0  19/8/2016
-    - Premi\`ere version publique
\ No newline at end of file
+    - Premi\`ere version publique
+
+v1.1  01/09/2016
+    - Stockage des s\'eparateurs dans <macrolist>sep
+    - bug corrig\'e dans \loi_restorecatcode
\ No newline at end of file



More information about the tex-live-commits mailing list