diff options
author | Karl Berry <karl@freefriends.org> | 2018-11-01 22:08:53 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2018-11-01 22:08:53 +0000 |
commit | 15360daf880519448794c8bc606dad9d850bb7a8 (patch) | |
tree | 000acb2a60c239c5c54e58d01cd8309a5cf616a7 /Master/texmf-dist/doc/generic/listofitems | |
parent | 17df798d5ce5a412d77eb1d5d5689cd92d1f2e08 (diff) |
listofitems (1nov18)
git-svn-id: svn://tug.org/texlive/trunk@49044 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/generic/listofitems')
-rw-r--r-- | Master/texmf-dist/doc/generic/listofitems/README | 6 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/listofitems/listofitems-en.pdf | bin | 369041 -> 445669 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/generic/listofitems/listofitems-en.tex | 100 | ||||
-rw-r--r-- | Master/texmf-dist/doc/generic/listofitems/listofitems-fr.pdf | bin | 332265 -> 410667 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/generic/listofitems/listofitems-fr.tex | 93 |
5 files changed, 189 insertions, 10 deletions
diff --git a/Master/texmf-dist/doc/generic/listofitems/README b/Master/texmf-dist/doc/generic/listofitems/README index da5ba85fc01..a0a2b663d33 100644 --- a/Master/texmf-dist/doc/generic/listofitems/README +++ b/Master/texmf-dist/doc/generic/listofitems/README @@ -4,9 +4,9 @@ ___________________________________ listofitems package - v1.53 + v1.6 - 13/03/2018 + 01/11/2018 ___________________________________ Authors : Christian Tellechea, Steven B. Segletes @@ -27,4 +27,4 @@ dont le s\'eparateur a \'et\'e choisi par l'utilisateur et d'acc\'eder 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. +of these items with a simple syntax.
\ No newline at end of file diff --git a/Master/texmf-dist/doc/generic/listofitems/listofitems-en.pdf b/Master/texmf-dist/doc/generic/listofitems/listofitems-en.pdf Binary files differindex af87b5379a3..71e03fd55fe 100644 --- a/Master/texmf-dist/doc/generic/listofitems/listofitems-en.pdf +++ b/Master/texmf-dist/doc/generic/listofitems/listofitems-en.pdf diff --git a/Master/texmf-dist/doc/generic/listofitems/listofitems-en.tex b/Master/texmf-dist/doc/generic/listofitems/listofitems-en.tex index d44bae56932..4c8736fa396 100644 --- a/Master/texmf-dist/doc/generic/listofitems/listofitems-en.tex +++ b/Master/texmf-dist/doc/generic/listofitems/listofitems-en.tex @@ -9,6 +9,7 @@ \usepackage[margin=3cm]{geometry} \usepackage{fancybox} \usepackage{xcolor} +\usepackage{listings,MnSymbol} \def\listofitems{\textsf{\loiname}\xspace} \def\eTeX{\hbox{$\varepsilon$-\TeX}} \makeatletter @@ -485,4 +486,103 @@ And returned on the previous night.} A word = \word| The macro \verb|\gitemtomacro| makes a global assignment. + +\section{Balanced Tokens} + +For the parsing of items, it is possible, with version 1.6, to take into + account the presence of \emph{balanced tokens}. +Thus, if a list of paired tokens is defined, then each parsed item + in the list will extend to the first \verb|<separator>|, while assuring + that any paired tokens are balanced (i.e., occur in matched pairs within + the item). + +To define a list of balanced-token pairs, we use + +\code|\defpair{<tok1><tok2><tok3><tok4>...}| + +where the token list is read in pairs to form each matched-token pair. +A \verb|<token>| that serves within a matched pair must consist of + a single character---% +macros, primitives, spaces, braces, the token + "\verb|#|", as well as sets of several-tokens-between-% + braces are all forbidden. +The two tokens which form a pair \emph{must} be different from + each other. + +\exemple/\setsepchar{+||-} +\defpair{()[]} +\readlist\terms{1+2*[3+4*(5+6-7)+8]-9+10} +\showitems\terms/ + +To return to the package's default behavior, that is, without + paired tokens, you must execute + +\code|\defpair{}| + +In an expression, in order to store in a macro that which + is between two matched tokens, we can call on + +\code|\insidepair<tok1><tok2>{<expression>}\macro| + +which will put in the \verb|\macro| that which lies between the pair + \verb|<tok1><tok2>| in the \verb|<expression>|. + +\exemple/\setsepchar{+||-} +\defpair{()} +\readlist\terms{1+2*(3+4*(5+6-7)+8)-9+10} +\showitems\terms + +\itemtomacro\terms[2]\parenterm +In the outer parenthesis: +\insidepair()\parenterm\inbigparen +"\inbigparen" + +In the inner parenthesis: +\insidepair()\inbigparen\insmallparen +"\insmallparen"/ + +\section{The Code} + +Any suggestion, bug report, remark, request, addition or modification + of functionality is welcome; in this case, I invite users of + \listofitems to send me an email to \verb|unbonpetit@netc.fr|.\medbreak + +The code below is the exact verbatim of the file \verb|listofitems.tex|. +I hope that the few comments scattered throughout it will + be enough for the user or the curious to understand the internal + machinery of this package: + + +\lstinputlisting[ + language=TeX, + inputencoding=latin1, + moretexcs={unless,ifcsname,ifdefined,detokenize,numexpr,dimexpr,glueexpr,unexpanded}, + basicstyle=\small\ttfamily\color{black!25}, + identifierstyle=\bfseries\color{white},% + backgroundcolor=\color{black!85}, + keywordstyle=\bfseries\color{orange}, + commentstyle=\color{cyan!66}, + columns=fixed, + alsoletter={\_}, + tabsize=2, + extendedchars=true, + showspaces=false, + showstringspaces=false, + numbers=left, + numberstyle=\tiny\ttfamily\color{black}, + breaklines=true, + prebreak={\hbox{$\rhookswarrow$}}, + breakindent=3em, + breakautoindent=true, + xleftmargin=1em, + xrightmargin=0pt, + lineskip=0pt, + numbersep=1em, + classoffset=1, + alsoletter={\_}, + morekeywords={defpair,insidepair,setsepchar,greadlist,readlist,listlen,foreachitem,% + showitems,showitemsmacro,itemtomacro,gitemtomacro,ignoreemptyitems,reademptyitems}, + keywordstyle=\bfseries\color{red!85!black}, + classoffset=0, + ]{listofitems.tex} \end{document}
\ No newline at end of file diff --git a/Master/texmf-dist/doc/generic/listofitems/listofitems-fr.pdf b/Master/texmf-dist/doc/generic/listofitems/listofitems-fr.pdf Binary files differindex c45ae6e8ecd..21abdb8218d 100644 --- a/Master/texmf-dist/doc/generic/listofitems/listofitems-fr.pdf +++ b/Master/texmf-dist/doc/generic/listofitems/listofitems-fr.pdf diff --git a/Master/texmf-dist/doc/generic/listofitems/listofitems-fr.tex b/Master/texmf-dist/doc/generic/listofitems/listofitems-fr.tex index 27e44bf8764..d1efe06030b 100644 --- a/Master/texmf-dist/doc/generic/listofitems/listofitems-fr.tex +++ b/Master/texmf-dist/doc/generic/listofitems/listofitems-fr.tex @@ -1,16 +1,16 @@ -% Ceci est la documentation du package "listofitems"% +% !TeX encoding = UTF-8 +% Ceci est la documentation du package "listofitems" % % Fichier compilé avec pdflatex -\documentclass[frenchb,a4paper]{article} +\documentclass[french,a4paper]{article} \usepackage[utf8]{inputenc} \usepackage[T1]{fontenc} -\usepackage{listofitems,babel,xspace} +\usepackage{listofitems,babel} \usepackage[bottom]{footmisc} \usepackage{libertine}\usepackage[italic,frenchmath]{mathastext} \usepackage[scaled=0.8]{luximono} \usepackage[margin=3cm]{geometry} -\usepackage{fancybox} -\usepackage{xcolor} +\usepackage{fancybox,xcolor,xspace,listings,MnSymbol} \def\listofitems{\loiname\xspace} \def\eTeX{\hbox{$\varepsilon$-\TeX}} \makeatletter @@ -23,6 +23,9 @@ \let\do\@makeother \dospecials \ttfamily\small\@noligs \obeylines\obeyspaces + \catcode`\<13 \catcode`\>13 + \begingroup\lccode`\~`\<\lowercase{\endgroup\def~{\begingroup$\langle$\itshape}}% + \begingroup\lccode`\~`\>\lowercase{\endgroup\def~{\/$\rangle$\endgroup}}% \def\code@ii##1#1{##1\par\medbreak\endgroup}% \code@ii } @@ -88,7 +91,7 @@ \catcode`\<13 \catcode`\>13 \def<{\begingroup$\langle$\itshape}\def>{$\rangle$\endgroup}% \@ifstar\@sverb\@verb} \endgroup -\def\longfrloidate@i#1/#2/#3\@nil{\number#3\relax\space \ifcase #2 \or janvier\or février\or mars\or avril\or mai\or juin\or juillet\or aout\or septembre\or octobre\or novembre\or décembre\fi\space#1} +\def\longfrloidate@i#1/#2/#3\@nil{\number#3\relax\ifnum#3=1 \ier\fi\space \ifcase #2 \or janvier\or février\or mars\or avril\or mai\or juin\or juillet\or aout\or septembre\or octobre\or novembre\or décembre\fi\space#1} \def\longfrloidate{\expandafter\longfrloidate@i\loidate\@nil} \makeatother \begin{document} @@ -111,7 +114,7 @@ \vskip2cm \leftskip=.2\linewidth \rightskip=.2\linewidth \small Cette petite extension pour est destinée à lire une liste d'éléments dont le séparateur peut être choisi par l'utilisateur. Une fois la liste lue, ses éléments sont stockés dans une structure qui se comporte comme un tableau unidimensionnel et ainsi, il devient très facile d'accéder à un élément de la liste par son numéro. Par exemple, si la liste est stockée dans la macro \verb|\foo|, l'élément \no3 est désigné par \verb|\foo[3]|. - + Un élément peut à son tour être une liste disposant d'un autre séparateur que celui de la liste de niveau supérieur, ce qui ouvre la voie à des imbrications et donne une syntaxe rappelant celle des tableaux à plusieurs dimensions du type \verb|\foo[3,2]| pour accéder à l'élément \no2 de la liste contenue dans l'élément \no3 de la liste de plus haut niveau. \end{titlepage} \def\listofitems{\textsf\loiname\xspace} @@ -354,4 +357,80 @@ Rêve des chers instants qui la délasseront.}% 2e strophe de << Green >>, Paul Un mot = \mot| La macro \verb|\gitemtomacro| fait une assignation globale. + +\section{Tokens appariés} +Pour le découpage des items, il est possible à partir de la version 1.6, de tenir compte de la présence de caractères \emph{appariés}. Ainsi, si une liste de caractères appariés est définie, chaque item s'étend jusqu'au prochain \verb|<séparateur>| qui équilibre les tokens appariés. + +Pour définir une liste de tokens appariés, on utilise + +\code|\defpair{<tok1><tok2><tok3><tok4>...}| + +où les tokens sont lus deux par deux pour former les paires d'appariement. Un \verb|<token>| d'appariement doit être constitué d'un seul caractère; les macros, primitives, espaces, accolades, token «\verb|#|», ensembles de plusieurs tokens entre accolades sont interdits. Deux tokens formant une paire \emph{doivent} être différents. + +\exemple/\setsepchar{+||-} +\defpair{()[]} +\readlist\termes{1+2*[3+4*(5+6-7)+8]-9+10} +\showitems\termes/ + +Pour revenir au comportement par défaut, c'est-à-dire sans tokens appariés, il faut exécuter + +\code|\defpair{}| + +Dans une expression, pour stocker dans une macro ce qui se trouve entre deux tokens appariés, on peut faire appel à + +\code|\insidepair<tok1><tok2>{<expression>}\macro| + +qui mettra dans la \verb|\macro| ce qui de trouve entre la paire \verb|<tok1><tok2>| dans l'\verb|<expression>|. + +\exemple/\setsepchar{+||-} +\defpair{()} +\readlist\termes{1+2*(3+4*(5+6-7)+8)-9+10} +\showitems\termes + +\itemtomacro\termes[2]\parenterm +Dans la parenthèse extérieure : +\insidepair()\parenterm\inbigparen +"\inbigparen" + +Dans la parenthèse intérieure : +\insidepair()\inbigparen\insmallparen +"\insmallparen"/ + +\section{Le code} +Toute suggestion, remontée de bug, remarque, demande, ajout ou modification de fonctionnalité est bienvenue; dans ce cas, j'invite les utilisateurs de \listofitems à m'envoyer un email à \verb|unbonpetit@netc.fr|.\medbreak + +Le code ci-dessous est l'exact verbatim du fichier \verb|listofitems.tex|. J'espère que les quelques commentaires qui le parsèment de-ci de-là seront suffisants pour que l'utilisateur ou le curieux comprenne la machinerie interne de ce package : + +\lstinputlisting[ + language=TeX, + inputencoding=latin1, + moretexcs={unless,ifcsname,ifdefined,detokenize,numexpr,dimexpr,glueexpr,unexpanded}, + basicstyle=\small\ttfamily\color{black!25}, + identifierstyle=\bfseries\color{white},% + backgroundcolor=\color{black!85}, + keywordstyle=\bfseries\color{orange}, + commentstyle=\color{cyan!66}, + columns=fixed, + alsoletter={\_}, + tabsize=2, + extendedchars=true, + showspaces=false, + showstringspaces=false, + numbers=left, + numberstyle=\tiny\ttfamily\color{black}, + breaklines=true, + prebreak={\hbox{$\rhookswarrow$}}, + breakindent=3em, + breakautoindent=true, + xleftmargin=1em, + xrightmargin=0pt, + lineskip=0pt, + numbersep=1em, + classoffset=1, + alsoletter={\_}, + morekeywords={defpair,insidepair,setsepchar,greadlist,readlist,listlen,foreachitem,% + showitems,showitemsmacro,itemtomacro,gitemtomacro,ignoreemptyitems,reademptyitems}, + keywordstyle=\bfseries\color{red!85!black}, + classoffset=0, + ]{listofitems.tex} \end{document}
\ No newline at end of file |