diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/etextools/etextools.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/etextools/etextools.dtx | 77 |
1 files changed, 41 insertions, 36 deletions
diff --git a/Master/texmf-dist/source/latex/etextools/etextools.dtx b/Master/texmf-dist/source/latex/etextools/etextools.dtx index 4045959d8e7..1882d49d6f2 100644 --- a/Master/texmf-dist/source/latex/etextools/etextools.dtx +++ b/Master/texmf-dist/source/latex/etextools/etextools.dtx @@ -1,5 +1,5 @@ % \iffalse meta-comment -%%% etextools : e-TeX tools for LaTeX Users and package Writers (v.3.14 - 2009/10/04) +%%% etextools : e-TeX tools for LaTeX Users and package Writers (v.3.1415 - 2009/10/14) % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either @@ -37,8 +37,8 @@ %<*install> \input docstrip.tex \Msg{************************************************************************} -\Msg{* Installation} -\Msg{* Package: etextools 2009/10/04 v.3.14 e-TeX tools for LaTeX Users and package Writers} +\Msg{* Installation *} +\Msg{* Package: etextools 2009/10/14 v.3.1415 e-TeX tools for LaTeX Users and package Writers *} \Msg{************************************************************************} \keepsilent @@ -49,8 +49,6 @@ This is a generated file. -Copyright (C) 2009 by Florent Chervet <florent.chervet@free.fr> - This work may be distributed and/or modified under the conditions of the LaTeX Project Public License, either version 1.3 of this license or (at your option) any later @@ -77,15 +75,15 @@ and etextools-examples.tex \obeyspaces \Msg{************************************************************************} \Msg{*} -\Msg{* To finish the installation you have to move the following} -\Msg{* file into a directory searched by TeX:} +\Msg{* To finish the installation you have to move the following *} +\Msg{* file into a directory searched by TeX: *} \Msg{*} -\Msg{* etextools.sty} +\Msg{* etextools.sty *} \Msg{*} -\Msg{* To produce the documentation run the file `etextools.dtx'} -\Msg{* through LaTeX.} +\Msg{* To produce the documentation run the file `etextools.dtx' *} +\Msg{* through LaTeX. *} \Msg{*} -\Msg{* Happy TeXing!} +\Msg{* Happy TeXing! *} \Msg{*} \Msg{************************************************************************} @@ -97,8 +95,8 @@ and etextools-examples.tex %<*driver> \edef\thisfile{\jobname} \def\thisinfo{The \thispackage\ package -- an \eTeX{} package for \LaTeX{}} -\def\thisrevision{3.14} -\def\thisdate{04 October 2009} +\def\thisrevision{3.1415} +\def\thisdate{14 October 2009} \newcommand\makebookmark[1]{} %-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= \documentclass[a4paper,oneside]{ltxdockit} @@ -136,7 +134,7 @@ and etextools-examples.tex %</driver> % \fi % -% \CheckSum{0} +% \CheckSum{2866} % % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z @@ -891,7 +889,7 @@ and etextools-examples.tex % % \cmditem{showcs}{ csname } % -% \cs{showcs}\FE does \cs{show} on the named control sequence. +% \cs{showcs} does \cs{show} on the named control sequence. % % \cmditem{meaningcs}{ csname } % @@ -1057,7 +1055,7 @@ and etextools-examples.tex % \cmditem[ifsingletoken]+@{ifsingletoken\db~\tsptb ifOneToken} % \cmditem-{ifsingletoken}{ single token }{ code }{ true }{ false } % -% \csbf{ifsingletoken}\FE expands to \prm{true} only if \textsfbf{\prmb{code} is a single token and is equal +% \csbf{ifsingletoken}\FEII expands to \prm{true} only if \textsfbf{\prmb{code} is a single token and is equal % to \prmb{single token} in the sense of \cs{ifx}.} % % \cs{ifsingletoken} is a \textbfsf{safe \cs{ifx} test}: \prm{code} may be anything (including |\if| conditionals, @@ -1345,7 +1343,7 @@ and etextools-examples.tex % \begin{VerbLines}[commandchars=!()] % \edef(!copper\resultA){(!red\number)(!nnn!prm(string))} % \edef(!dg\resultB){(!red\deblank)(!nnn!mprm(string))} -% \ifx(!copper\resultA)(!dg\resultB) !nnn will be !nbf true +% \ifx(!copper\resultA)(!dg\resultB) !nnn is(!nbf true) if !mprm(string) is a positive integer % \end{VerbLines} % % \prm{string} must be of the form:¤{\Large{\blue\textvisiblespace--\textvisiblespace--\textvisiblespace}{\red$\mathbf{\star\star\star}$}{\blue\textvisiblespace}}\par @@ -1355,8 +1353,10 @@ and etextools-examples.tex % % To tell all the truth, \cs{ifstrnum} expands \prm{true} even if digits have a category code$\neq 12$ whereas % |\number| throws an error or stops. -% But if numbers and minus signs are of category 12 (more than recommended after all...) {\sfbf\spot\csbf{ifstrnum} may be -% a test to check if it is possible to expand \csbf{number} {\md(or \cs{romannumeral})} onto \prmb{string}.} +% But if numbers and minus signs are of category 12 (more than recommended after all...) +% {\sfbf\csbf{ifstrnum} is a purely expandable test to check if it is possible to expand +% \csbf{number} {\md(or \cs{romannumeral})} onto \prmb{string}} (but \cs{ifstrnum} does not expand \prm{string}.) +% % \bigbreak % % \ClearPage @@ -1420,8 +1420,6 @@ and etextools-examples.tex % $hfill$nbf of "$YES" by $prm(stringB) in $prm(string) % ($nnn And finally:) % ($copper\CompareYES)($rred$large!){$prm(string)} $nnn expands to($nbf the number of times "$YES") can be found in $prm(string) -% $negqquad$negqquad$negqquad($red\edef)\result{($copper\CompareYES)($red+[2]){($mdseries$!She never says YES but he says YES to everything. YES...}{NO})} -% $negqquad$negqquad$negqquad($red\meaning)\result: macro:->She never says NO but he says NO to everything. YES... % \end{VerbLines} % % \let\verbatimfont\verbfont @@ -2434,7 +2432,7 @@ and etextools-examples.tex %<*package> \NeedsTeXFormat{LaTeX2e}[1996/12/01] \ProvidesPackage{etextools} - [2009/10/04 v3.14 e-TeX more useful tools for LaTeX package writers] + [2009/10/14 v3.1415 e-TeX more useful tools for LaTeX package writers] \csname ettl@onlyonce\endcsname\let\ettl@onlyonce\endinput % \end{macrocode} % @@ -3061,7 +3059,7 @@ and etextools-examples.tex %\begin{Macro}{ifsingletoken} % \cs{ifsingletoken} is a safe \cs{ifx}-test: % \begin{macrocode} -\newcommand\ifsingletoken[2]{\csname @\ettl@firstspace{#2} +\newcommand\ifsingletoken[2]{\romannumeral\csname rmn@\ettl@firstspace{#2} {\ettl@nbk#1#2//{second}{\if @\detokenize{#1#2}@first\else\ifx#1#2first\else second\fi\fi}//} {\if @\detokenize\expandafter{\ettl@cdr#2\@nil}@% \expandafter\ettl@ifxsingle @@ -3292,9 +3290,9 @@ and etextools-examples.tex % \begin{Macro}{deblank} % From a code in \xpackage{environ.sty}. % \begin{macrocode} -\newcommand\deblank[1]{\romannumeral-`\q\ettl@deblank#1/ /} +\newcommand\deblank[1]{\romannumeral\ettl@deblank#1/ /} \long\def\ettl@deblank#1 /{\ettl@deblank@i#1/} -\long\def\ettl@deblank@i#1/#2{ #1} +\long\def\ettl@deblank@i#1/#2{\z@#1} % \end{macrocode} % \end{Macro} % @@ -3705,7 +3703,7 @@ and etextools-examples.tex {\ettl@getsinglelist{\ettl@ifchar{#2}}{#1}}}{#2}} {\ExpandNextTwo{\ettl@supergobble[{{#2}}]}{-1}{\getcharlistcount{#1}+1}}} \long\def\ettl@FE@modifiers#1#2#3{\expandafter\ettl@supergobble% - \expandafter[\romannumeral-`\q\ifnum#2<0 {#3}\fi]{#2}{#1+1}} + \expandafter[\romannumeral-`\q\ifnum#2<0 \@swap{{#3}}\fi]{#2}{#1+1}} % \end{macrocode} %\end{Macro} % @@ -3715,7 +3713,7 @@ and etextools-examples.tex % \fi %\begin{Macro}{ettl@supergobble} % \cs{ettl@supergobble} gobbles the $n$ first (groups of) tokens in the following list of $N$ (groups of) tokens -% and expands the $n+1$. The macro is optimized (cf \cs{ettl@supergobbleheight} etc.) to avoid too long loops. +% and expands the $n+1$. The macro is optimized (cf \cs{ettl@supergobbleeight} etc.) to avoid too long loops. % \begin{macrocode} \newcommand\ettl@supergobble[1]{\FE@testopt{#1}\ettl@superg@bble{}} \long\def\ettl@superg@bble[#1]#2#3{% @@ -3734,10 +3732,10 @@ and etextools-examples.tex \ifcsname ettl@supergobble\number\numexpr#1\endcsname \csname ettl@supergobble\number\numexpr#1\endcsname {#3{#2-(#1)-1}}% - \else\ettl@supergobbleheight{\ettl@supergobble@loop{#1-8}{#2-8}{#3}}% + \else\ettl@supergobbleeight{\ettl@supergobble@loop{#1-8}{#2-8}{#3}}% \fi} \long\def\ettl@supergobble@end#1#2#3{\fi\fi\fi#1#2} -\long\csdef{ettl@supergobbleheight}#1\fi#2#3#4#5#6#7#8#9{\fi#1} +\long\csdef{ettl@supergobbleeight}#1\fi#2#3#4#5#6#7#8#9{\fi#1} \long\csdef{ettl@supergobble7}#1#2\fi#3#4#5#6#7#8#9{#1} \long\csdef{ettl@supergobble6}#1#2\fi#3#4#5#6#7#8{#1} \long\csdef{ettl@supergobble5}#1#2\fi#3#4#5#6#7{#1} @@ -4272,7 +4270,7 @@ and etextools-examples.tex \or \ettl@or\@swaplast{#60{\ettl@lst@getitem{##3}}}#6% \or \ettl@or\@swaplast{#5{##3}}#5% \or \ettl@fi\@swaplast{#60{##3}}#6% - \fi{##4#3//}{\ettl@breakloop{}}% + \fi{##4#3//}{\ettl@breakloop{\ifx##10\expandafter\relax\fi}}% }{\ettl@breakloop{}}///End§List/}}% #1\long\def#5##1##2#3##3##4/##5##6##7/End§List/{% \if @\detokenize{##2}@\expandafter\@gobbletwo\fi\@firstofone{##1{##2}}% @@ -4755,8 +4753,8 @@ and etextools-examples.tex \expandafter\expandafter\expandafter\ettl@nbk\parameters@meaningcs{#1}//{first}{second}//oftwo\endcsname} \renewcommand\ifnumcomp[3]{\csname @% \ifnum\numexpr#1#2\numexpr#3 first\else second\fi oftwo\endcsname} -}% etoolbox option -\ProcessOptions +}% etoolbox option - not to be used - experimental +\ProcessOptions*\relax % \end{macrocode} % % \begin{macrocode} @@ -4768,8 +4766,16 @@ and etextools-examples.tex % % \begin{changelog}\footnotesize % +% \begin{release}{3.1415}{2009-10-14} +% \item Correction of a bug in \cmdref{locinterplin}. +% \end{release} +% +% \begin{release}{3.141}{2009-10-08} +% \item |\relax| added after \cmdref{listloop}\stform! (\cmdref{csvloop}\stform! etc.) in order to explicitly stop |\numexpr|. +% \end{release} +% % \begin{release}{3.14}{2009-10-04} -% \item Stabilisation of some commands. the package sould now be OK. +% \item Stabilisation of some commands. % \end{release} % % \begin{release}{3.0}{2009-09-09} @@ -4868,7 +4874,6 @@ and etextools-examples.tex % % \setcounter{IndexColumns}{2}\clearpage % \PrintIndex -% \begingroup\let\writeprimitive\write\def\write{\immediate\writeprimitive} -% \label{LastPage}\endgroup^^A \immediate is necessary because no more \shipout is done at this point +% \makeatletter +% \immediate\write\@mainaux{\noexpand\newlabel{LastPage}{{}{\thepage}{}{page.\arabic{page}}{}}} % \Finale - |