summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/listofitems
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-08-21 20:38:52 +0000
committerKarl Berry <karl@freefriends.org>2019-08-21 20:38:52 +0000
commit8568fddd0f99df6471ed247b7924df7d891011ab (patch)
tree83f0f1b8722164ad267cbede057302f27f2d20b1 /Master/texmf-dist/tex/generic/listofitems
parent4f53d8857bdcc4b51c73d670dbca663aba773067 (diff)
listofitems (21aug19)
git-svn-id: svn://tug.org/texlive/trunk@51923 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/listofitems')
-rw-r--r--Master/texmf-dist/tex/generic/listofitems/listofitems.tex57
1 files changed, 33 insertions, 24 deletions
diff --git a/Master/texmf-dist/tex/generic/listofitems/listofitems.tex b/Master/texmf-dist/tex/generic/listofitems/listofitems.tex
index 992765cb1d7..6e2189f249c 100644
--- a/Master/texmf-dist/tex/generic/listofitems/listofitems.tex
+++ b/Master/texmf-dist/tex/generic/listofitems/listofitems.tex
@@ -4,13 +4,13 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
\def\loiname {listofitems} %
-\def\loiver {1.62} %
+\def\loiver {1.63} %
% %
-\def\loidate {2019/05/18} %
+\def\loidate {2019/08/21} %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% %
-% Author : Christian Tellechea, Steven B. Segletes %
+% Author : Christian Tellechea, Steven B. Segletes (contributor) %
% Status : Maintained %
% Maintainer : Christian Tellechea %
% Email : unbonpetit@netc.fr %
@@ -114,9 +114,9 @@
}%
}
\def\loi_ifinrange#1[[#2:#3]]{\expandafter\unless\loi_ifnum{\numexpr(#1-#2)*(#1-#3)>0 }}
-\def\loi_ifstring#1\in#2{% si la chaine #1 est contenue dans #2
+\def\loi_ifstring#1#2{% si la chaine #1 est contenue dans #2
\def\loi_ifstring_a##1#1##2\_nil{\loi_ifempty{##2}\loi_second\loi_first}%
- \loi_ifstring_a#2#1\@nil% appel de la macro auxiliaire
+ \loi_ifstring_a#2#1\_nil% appel de la macro auxiliaire
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -244,8 +244,11 @@
{\def\insidepair_a##1#1##2\_nil{\insidepair_b##2\_nil{#1}}%
\def\insidepair_b##1#2##2\_nil##3{%
\loi_check_pair#1#2\in{##3##1#2}
- {\loi_exparg{\def#4}{\loi_gobarg##3##1}}%
- {\insidepair_b##2\_nil{##3##1#2}}%
+ {\loi_exparg{\def#4}{\loi_gobarg##3##1}%
+ \def\loi_remainafterparen{##2}%
+ }%
+ {\insidepair_b##2\_nil{##3##1#2}%
+ }%
}%
\insidepair_a#3\_nil
}
@@ -283,12 +286,12 @@
\long\def\loi_ifspacefirst#1{\expandafter\loi_ifspacefirst_a\detokenize{#10} \_nil}
\long\def\loi_ifspacefirst_a#1 #2\_nil{\loi_ifempty{#1}}
\loi_expafter{\def\loi_gobspace}\space{}
-\def\loi_removefirstspaces#1{\loi_ifspacefirst{#1}{\loi_exparg\loi_removefirstspaces{\loi_gobspace#1}}{\unexpanded{#1}}}
+\long\def\loi_removefirstspaces#1{\loi_ifspacefirst{#1}{\loi_exparg\loi_removefirstspaces{\loi_gobspace#1}}{\unexpanded{#1}}}%##BUGFIX v1.63
\begingroup
-\catcode0 12
-\long\gdef\loi_removelastspaces#1{\loi_removelastspaces_a#1^^00 ^^00\_nil}
-\long\gdef\loi_removelastspaces_a#1 ^^00{\loi_removelastspaces_b#1^^00}
-\long\gdef\loi_removelastspaces_b#1^^00#2\_nil{\loi_ifspacefirst{#2}{\loi_removelastspaces_a#1^^00 ^^00\_nil}{\unexpanded{#1}}}
+ \catcode0 12
+ \long\gdef\loi_removelastspaces#1{\loi_removelastspaces_a#1^^00 ^^00\_nil}
+ \long\gdef\loi_removelastspaces_a#1 ^^00{\loi_removelastspaces_b#1^^00}
+ \long\gdef\loi_removelastspaces_b#1^^00#2\_nil{\loi_ifspacefirst{#2}{\loi_removelastspaces_a#1^^00 ^^00\_nil}{\unexpanded{#1}}}
\endgroup
\long\def\loi_removeextremespaces#1{\expanded{\loi_exparg\loi_removelastspaces{\expanded{\loi_removefirstspaces{#1}}}}}
@@ -413,7 +416,7 @@
}
{\long\def\readlist_i##1\_nil##2{%
\loi_exparg{\loi_exparg\loi_grabpaired_expr\loi_listofpair}{\loi_gobarg##1}{#2}\loi_grabpaired_result\loi_grabpaired_remain
- \loi_exparg{\loi_exparg{\readlist_j{##2}}{\loi_grabpaired_remain}}{\loi_grabpaired_result}{#2}}%
+ \loi_exparg{\loi_exparg{\readlist_j{##2}}{\loi_grabpaired_remain}}{\loi_grabpaired_result}{#2}}%{#}
}%
}%
\readlist_i\relax% le \relax meuble l'argument délimité
@@ -425,8 +428,10 @@
{\loi_ifx{\loi_listofpair\empty}% si pas de paires définies
{\loi_exparg\readlist_h{\loi_gobarg##1#3}{#3}% raccourcir <liste restante> et <sep courant>:=<sep utile>% ##BUGFIX v1.53
}%
- {\loi_exparg\loi_grabpaired_expr\loi_listofpair{#1}{#3}\loi_grabpaired_result\loi_grabpaired_remain
- \loi_exparg\readlist_h{\loi_grabpaired_result#3}{#3}%
+ {\loi_exparg\loi_grabpaired_expr\loi_listofpair{#1#3}{#3}\loi_grabpaired_result\loi_grabpaired_remain
+ \loi_ifx{\loi_grabpaired_remain\empty}% si liste non raccourcie #BUGFIX 1.63
+ {\loi_exparg\readlist_h{\loi_grabpaired_result}{#2}}% garder le précédent <sep>
+ {\loi_exparg\readlist_h{\loi_grabpaired_result}{#3}}%
}%
}%
}%
@@ -442,7 +447,7 @@
\loi_ifnum{0\if_ignoreemptyitems1\fi\loi_ifempty{#3}1{}=11 }
{\readlist_g{#1}{#2}% si l'on n'ignore pas les éléments vides
}%
- {\loi_argcsname\loi_def{\loi_listname[\csname loi_previndex[\number\loi_nestcnt]\endcsname#1]}{#3}% assignation de l'item ctuel à la macro
+ {\loi_argcsname\loi_def{\loi_listname[\csname loi_previndex[\number\loi_nestcnt]\endcsname#1]}{#3}% assignation
\loi_argcsname\loi_def{\loi_listname sep[\csname loi_previndex[\number\loi_nestcnt]\endcsname#1]}{#4}% assignation du <sep> actuel à la macro \<macrolist>sep
\loi_ifnum{\loi_nestcnt<\nestdepth\relax}% si imbrication max non atteinte
{\advance\loi_nestcnt1
@@ -585,13 +590,17 @@ v1.6 01/11/2018
- possibilité d'appariement de tokens dans les items
----------------------------------------------------------------------
v1.61 03/03/2019
- - la macro \loi_ifcs contient une erreur de conception. Il faut
- tester si le token est un sc && s'il est développable pour
- renvoyer vrai car il existe des sc non développables && qui ne
- sont _pas_ des primitives.
- Macro rebaptisée \loi_ifcsexpandable
+ - la macro \loi_ifcs contient une erreur de conception. Il faut
+ tester si le token est un sc && s'il est développable pour
+ renvoyer vrai car il existe des sc non développables && qui ne
+ sont _pas_ des primitives.
+ Macro rebaptisée \loi_ifcsexpandable
----------------------------------------------------------------------
v1.62 18/05/2019
- - utilisation de la nouvelle primitive \expanded au lieu du
- désormais obsolète \romannumeral
- - bug corrigé dans \loi_ifcsexpandable \ No newline at end of file
+ - utilisation de la nouvelle primitive \expanded au lieu du
+ désormais obsolète \romannumeral
+ - bug corrigé dans \loi_ifcsexpandable
+----------------------------------------------------------------------
+v1.63 21/08/2019
+ - bug corrigé dans \readlist_h avec les tokens appariés
+ - bug corrigé \loi_removefirstspaces est désormais \long \ No newline at end of file