diff options
Diffstat (limited to 'macros/latex/contrib/forloop/forloop.dtx')
-rw-r--r-- | macros/latex/contrib/forloop/forloop.dtx | 290 |
1 files changed, 146 insertions, 144 deletions
diff --git a/macros/latex/contrib/forloop/forloop.dtx b/macros/latex/contrib/forloop/forloop.dtx index 45214ff9df..0da5a2c649 100644 --- a/macros/latex/contrib/forloop/forloop.dtx +++ b/macros/latex/contrib/forloop/forloop.dtx @@ -1,144 +1,146 @@ -% \iffalse
-%
-%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01]
-%<package>\ProvidesPackage{forloop}
-%<package> [2006/09/18 v3.0 For Loops for LaTeX]
-%<package>\RequirePackage{ifthen}
-%
-%
-%<*driver>
-\documentclass{ltxdoc}
-\usepackage{forloop}
-\EnableCrossrefs
-\CodelineIndex
-\RecordChanges
-\begin{document}
-\DocInput{forloop.dtx}
-\end{document}
-%</driver>
-% \fi
-%
-% \iffalse meta-comment
-% remove this comment to get a checksum
-% \CheckSum{0}
-% \fi
-%
-%% \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
-%% Lower-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
-%% Digits \0\1\2\3\4\5\6\7\8\9
-%% Exclamation \! Double quote \" Hash (number) \#
-%% Dollar \$ Percent \% Ampersand \&
-%% Acute accent \' Left paren \( Right paren \)
-%% Asterisk \* Plus \+ Comma \,
-%% Minus \- Point \. Solidus \/
-%% Colon \: Semicolon \; Less than \<
-%% Equals \= Greater than \> Question mark \?
-%% Commercial at \@ Left bracket \[ Backslash \\
-%% Right bracket \] Circumflex \^ Underscore \_
-%% Grave accent \` Left brace \{ Vertical bar \|
-%% Right brace \} Tilde \~}
-%
-% \changes{v1.0}{2006/09/17}{Initial Release}
-% \changes{v2.0}{2006/09/18}{Re-wrote forloop command after discovering that whiledo took too many resources}
-% \changes{v3.0}{2006/09/18}{total restructure of forloop command to make nested loops work}
-%
-% \GetFileInfo{forloop.sty}
-%
-% \DoNotIndex{\#,\$,\%,\&,\@,\\,\{,\},\^,\_,\~,\ ,\!,\(,\),\,}
-% \DoNotIndex{\@ne,\expandafter}
-% \DoNotIndex{\advance,\begingroup,\catcode,\closein}
-% \DoNotIndex{\newcommand,\renewcommand,\providecommand}
-% \DoNotIndex{\closeout,\day,\def,\edef,\gdef,\let,\empty,\endgroup}
-% \DoNotIndex{\newcounter,\providecounter,\addtocounter,\setcounter,\stepcounter,\value,\arabic}
-% \DoNotIndex{\if,\fi,\ifthenelse,\else,\setboolean,\boolean,\newboolean,\provideboolean,\equal,\AND,\OR,\NOT,\whiledo}
-% \DoNotIndex{\ifcase,\ifcat,\or,\else}
-% \DoNotIndex{\par,\parbox,\mbox,\hbox,\begin,\end,\nabla,\partial}
-% \DoNotIndex{\overline,\bar,\small,\tiny,\mathchoice,\scriptsize,\textrm,\texttt}
-% \DoNotIndex{\alpha,\beta,\gamma,\epsilon,\varepsilon,\delta,\zeta,\eta,\theta,\vartheta,\iota,\kappa,\lambda,\mu,\nu}
-% \DoNotIndex{\xi,\omicron,\pi,\varpi,\rho,\varrho,\sigma,\tau,\upsilon,\phi,\varphi,\chi,\psi,\omega}
-% \DoNotIndex{\Delta,\Gamma,\Theta,\Lambda,\Xi,\Pi,\Sigma,\Phi,\Psi,\Omega}
-% \DoNotIndex{\digamma,\lceil,\rceil,\lfloor,\rfloor,\left,\right,\inp,\inb,\inbr,\inap,\nop}
-% \DoNotIndex{\sum,\prod,\int,\log,\ln,\exp,\sin,\cos,\tan,\csc,\sec,\cot,\arcsin,\arccos,\arctan,\det}
-% \DoNotIndex{\sinh,\cosh,\tanh,\csch,\sech,\coth,\arcsinh,\arccosh,\arctanh}
-% \DoNotIndex{\mod,\max,\min,\gcd,\lcm,\wp,\arg,\dots,\infty,}
-% \DoNotIndex{\frac,\binom,\braket,\@@atop}
-% \DoNotIndex{\cdot,\ldots,\tilde,\times,\dagger,\relax}
-% \DoNotIndex{\mathbb,\roman,\bf,\mathord,\cal,\DeclareMathOperator,\PackageError,\PackageWarning}
-% \DoNotIndex{\csname,\endcsname,\ifx,\ifnum}
-% \DoNotIndex{\mod,\bmod,\pmod,\pod,\operatorname}
-%
-% \title{The \textsf{forloop} package\thanks{This document
-% corresponds to \textsf{forloop}~\fileversion,
-% dated~\filedate.}}
-% \author{nsetzer}
-%
-% \maketitle
-%
-% \setcounter{IndexColumns}{2}
-% \StopEventually{\PrintChanges\PrintIndex}
-%
-% The \textsf{forloop} package defines two commands |\forloop| (preferred usage) and |\forLoop| (deprecated).
-%
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%\section{Implementation}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%
-% \begin{macro}{\forloop}
-% |\forloop|\oarg{step}\marg{counter}\marg{initial value}\marg{condition}\marg{code}
-%
-% |\newcounter{ct} \forloop{ct}{1}{\value{ct} < 10}{\arabic{ct} }|
-%
-% \newcounter{ct} \forloop{ct}{1}{\value{ct} < 10}{\arabic{ct} }
-% \begin{macrocode}
-\newcommand{\forloop}[5][1]%
-{%
-\setcounter{#2}{#3}%
-\ifthenelse{#4}%
- {%
- #5%
- \addtocounter{#2}{#1}%
- \forloop[#1]{#2}{\value{#2}}{#4}{#5}%
- }%
-% \end{macrocode}
-% Else
-% \begin{macrocode}
- {%
- }%
-}%
-% \end{macrocode}
-% \end{macro}
-%
-%
-% \begin{macro}{\forLoop}
-% |\forLoop|\oarg{step}\marg{start}\marg{stop}\marg{counter name}\marg{code}
-% \begin{macrocode}
-\newcommand{\forLoop}[5][1]
-{%
-\setcounter{#4}{#2}%
-\ifthenelse{ \value{#4}<#3 }%
- {%
- #5%
- \addtocounter{#4}{#1}%
- \forLoop[#1]{\value{#4}}{#3}{#4}{#5}%
- }%
-% Else
- {%
- \ifthenelse{\value{#4}=#3}%
- {%
- #5%
- }%
- % Else
- {}%
- }%
-}
-% \end{macrocode}
-% \end{macro}
-%
-%
-%
-%
-% \Finale
-\endinput
\ No newline at end of file +% \iffalse +% +%<package>\NeedsTeXFormat{LaTeX2e}[1999/12/01] +%<package>\ProvidesPackage{forloop} +%<package> [2023/05/03 v3.0 For Loops for LaTeX] +%<package>\RequirePackage{ifthen} +% +% Update on 2023/05/03 purely to clarify the license; no code changes. +% This package is released under the GNU LGPL. +% +%<*driver> +\documentclass{ltxdoc} +\usepackage{forloop} +\EnableCrossrefs +\CodelineIndex +\RecordChanges +\begin{document} +\DocInput{forloop.dtx} +\end{document} +%</driver> +% \fi +% +% \iffalse meta-comment +% remove this comment to get a checksum +% \CheckSum{0} +% \fi +% +%% \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 +%% Lower-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 +%% Digits \0\1\2\3\4\5\6\7\8\9 +%% Exclamation \! Double quote \" Hash (number) \# +%% Dollar \$ Percent \% Ampersand \& +%% Acute accent \' Left paren \( Right paren \) +%% Asterisk \* Plus \+ Comma \, +%% Minus \- Point \. Solidus \/ +%% Colon \: Semicolon \; Less than \< +%% Equals \= Greater than \> Question mark \? +%% Commercial at \@ Left bracket \[ Backslash \\ +%% Right bracket \] Circumflex \^ Underscore \_ +%% Grave accent \` Left brace \{ Vertical bar \| +%% Right brace \} Tilde \~} +% +% \changes{v1.0}{2006/09/17}{Initial Release} +% \changes{v2.0}{2006/09/18}{Re-wrote forloop command after discovering that whiledo took too many resources} +% \changes{v3.0}{2006/09/18}{total restructure of forloop command to make nested loops work} +% +% \GetFileInfo{forloop.sty} +% +% \DoNotIndex{\#,\$,\%,\&,\@,\\,\{,\},\^,\_,\~,\ ,\!,\(,\),\,} +% \DoNotIndex{\@ne,\expandafter} +% \DoNotIndex{\advance,\begingroup,\catcode,\closein} +% \DoNotIndex{\newcommand,\renewcommand,\providecommand} +% \DoNotIndex{\closeout,\day,\def,\edef,\gdef,\let,\empty,\endgroup} +% \DoNotIndex{\newcounter,\providecounter,\addtocounter,\setcounter,\stepcounter,\value,\arabic} +% \DoNotIndex{\if,\fi,\ifthenelse,\else,\setboolean,\boolean,\newboolean,\provideboolean,\equal,\AND,\OR,\NOT,\whiledo} +% \DoNotIndex{\ifcase,\ifcat,\or,\else} +% \DoNotIndex{\par,\parbox,\mbox,\hbox,\begin,\end,\nabla,\partial} +% \DoNotIndex{\overline,\bar,\small,\tiny,\mathchoice,\scriptsize,\textrm,\texttt} +% \DoNotIndex{\alpha,\beta,\gamma,\epsilon,\varepsilon,\delta,\zeta,\eta,\theta,\vartheta,\iota,\kappa,\lambda,\mu,\nu} +% \DoNotIndex{\xi,\omicron,\pi,\varpi,\rho,\varrho,\sigma,\tau,\upsilon,\phi,\varphi,\chi,\psi,\omega} +% \DoNotIndex{\Delta,\Gamma,\Theta,\Lambda,\Xi,\Pi,\Sigma,\Phi,\Psi,\Omega} +% \DoNotIndex{\digamma,\lceil,\rceil,\lfloor,\rfloor,\left,\right,\inp,\inb,\inbr,\inap,\nop} +% \DoNotIndex{\sum,\prod,\int,\log,\ln,\exp,\sin,\cos,\tan,\csc,\sec,\cot,\arcsin,\arccos,\arctan,\det} +% \DoNotIndex{\sinh,\cosh,\tanh,\csch,\sech,\coth,\arcsinh,\arccosh,\arctanh} +% \DoNotIndex{\mod,\max,\min,\gcd,\lcm,\wp,\arg,\dots,\infty,} +% \DoNotIndex{\frac,\binom,\braket,\@@atop} +% \DoNotIndex{\cdot,\ldots,\tilde,\times,\dagger,\relax} +% \DoNotIndex{\mathbb,\roman,\bf,\mathord,\cal,\DeclareMathOperator,\PackageError,\PackageWarning} +% \DoNotIndex{\csname,\endcsname,\ifx,\ifnum} +% \DoNotIndex{\mod,\bmod,\pmod,\pod,\operatorname} +% +% \title{The \textsf{forloop} package\thanks{This document +% corresponds to \textsf{forloop}~\fileversion, +% dated~\filedate.}} +% \author{nsetzer} +% +% \maketitle +% +% \setcounter{IndexColumns}{2} +% \StopEventually{\PrintChanges\PrintIndex} +% +% The \textsf{forloop} package defines two commands |\forloop| (preferred usage) and |\forLoop| (deprecated). +% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%\section{Implementation} +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% \begin{macro}{\forloop} +% |\forloop|\oarg{step}\marg{counter}\marg{initial value}\marg{condition}\marg{code} +% +% |\newcounter{ct} \forloop{ct}{1}{\value{ct} < 10}{\arabic{ct} }| +% +% \newcounter{ct} \forloop{ct}{1}{\value{ct} < 10}{\arabic{ct} } +% \begin{macrocode} +\newcommand{\forloop}[5][1]% +{% +\setcounter{#2}{#3}% +\ifthenelse{#4}% + {% + #5% + \addtocounter{#2}{#1}% + \forloop[#1]{#2}{\value{#2}}{#4}{#5}% + }% +% \end{macrocode} +% Else +% \begin{macrocode} + {% + }% +}% +% \end{macrocode} +% \end{macro} +% +% +% \begin{macro}{\forLoop} +% |\forLoop|\oarg{step}\marg{start}\marg{stop}\marg{counter name}\marg{code} +% \begin{macrocode} +\newcommand{\forLoop}[5][1] +{% +\setcounter{#4}{#2}% +\ifthenelse{ \value{#4}<#3 }% + {% + #5% + \addtocounter{#4}{#1}% + \forLoop[#1]{\value{#4}}{#3}{#4}{#5}% + }% +% Else + {% + \ifthenelse{\value{#4}=#3}% + {% + #5% + }% + % Else + {}% + }% +} +% \end{macrocode} +% \end{macro} +% +% +% +% +% \Finale +\endinput |