diff options
author | Norbert Preining <norbert@preining.info> | 2021-08-01 03:00:39 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2021-08-01 03:00:39 +0000 |
commit | 956b25a304207d06fe012f8c8efcb13cc66e3eec (patch) | |
tree | 31afb75255717f047a6833a290bd6533678ff4d5 /macros/latex/contrib/macrolist | |
parent | 6476d9b56070f64c62d6a81514c0c9b25aad1eda (diff) |
CTAN sync 202108010300
Diffstat (limited to 'macros/latex/contrib/macrolist')
-rw-r--r-- | macros/latex/contrib/macrolist/README.md | 2 | ||||
-rw-r--r-- | macros/latex/contrib/macrolist/macrolist.dtx | 37 | ||||
-rw-r--r-- | macros/latex/contrib/macrolist/macrolist.pdf | bin | 193608 -> 194057 bytes |
3 files changed, 29 insertions, 10 deletions
diff --git a/macros/latex/contrib/macrolist/README.md b/macros/latex/contrib/macrolist/README.md index 8aa1f2490a..b6aee00d3b 100644 --- a/macros/latex/contrib/macrolist/README.md +++ b/macros/latex/contrib/macrolist/README.md @@ -1,4 +1,4 @@ -# The LaTeX package macrolist - version 2.0.0 (2021/07/29) +# The LaTeX package macrolist - version 2.1.0 (2021/07/31) > Copyright (C) 2021 Dennis Chen <proofprogram@gmail.com> > diff --git a/macros/latex/contrib/macrolist/macrolist.dtx b/macros/latex/contrib/macrolist/macrolist.dtx index 5074875ff0..f11af32bfd 100644 --- a/macros/latex/contrib/macrolist/macrolist.dtx +++ b/macros/latex/contrib/macrolist/macrolist.dtx @@ -16,7 +16,7 @@ %<*package> \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{macrolist}[2021/07/29 v2.0.0 Create lists of macros and perform operations on them] +\ProvidesPackage{macrolist}[2021/07/31 v2.1.0 Create lists of macros and perform operations on them] \RequirePackage{pgffor} %</package> @@ -123,7 +123,6 @@ % \fi % % \DescribeMacro{\macrolistcontains} -% % Writing |\macrolistcontains{listname}{element}{true branch}{false branch}| checks whether list \textsf{listname} contains \textsf{element}, executing \textsf{true branch} if it does and \textsf{false branch} if it does not. % % \iffalse @@ -147,7 +146,6 @@ % \fi % % \DescribeMacro{\macrolistadd} -% % To add something to the list \textsf{listname}, pass in |\macrolistadd{listname}[position]{element}|, where \textsf{position} is an optional argument. If nothing is passed in for \textsf{position}, then by default \textsf{element} will be added to the end of the list. % % \iffalse @@ -175,9 +173,35 @@ \fi } % \fi +% \changes{v2.1.0}{2021/07/31}{Add macrolisteadd} +% \DescribeMacro{\macrolisteadd} +% To fully expand |element| before adding it to list |listname|, pass in |\macrolisteadd{listname}[position]{element}|. This behaves similarly to |\edef|. % +% \iffalse +\newcommand{\macrolisteadd}[1]{ + \macrolist@exists{#1} + \def\macrolist@currlist{#1} + \macrolist@listeadd +} +\newcommand{\macrolist@listeadd}[2][]{ + \stepcounter{macrolist@list@\macrolist@currlist} + + \if\relax\detokenize{#1}\relax + \expandafter\xdef\csname macrolist@list@\macrolist@currlist\macrolistsize{\macrolist@currlist}\endcsname{#2} + \else + \expandafter\ifnum\csname themacrolist@list@\macrolist@currlist\endcsname=#1 + \expandafter\gdef\csname macrolist@list@\macrolist@currlist\macrolistsize{\macrolist@currlist}\endcsname{#2} + \else + \macrolist@inbounds{\macrolist@currlist}{#1} + \foreach \macrolist@index in {\macrolistsize{\macrolist@currlist}, ...,\the\numexpr #1+1\relax} { + \global\expandafter\let\csname macrolist@list@\macrolist@currlist\macrolist@index\expandafter\endcsname\csname macrolist@list@\macrolist@currlist\the\numexpr\macrolist@index-1\relax\endcsname + } + \expandafter\xdef\csname macrolist@list@\macrolist@currlist#1\endcsname{#2} + \fi + \fi +} +% \fi % \DescribeMacro{\macrolistremove} -% % To remove an element in a list, write |\macrolistremove{listname}{index}|. % % \iffalse @@ -197,7 +221,6 @@ % \fi % % \DescribeMacro{\macrolistremovelast} -% % To remove the last element in a list, write |\macrolistremovelast{listname}|. This behaves like C++'s |pop_back|. % % \iffalse @@ -209,7 +232,6 @@ % \fi % % \DescribeMacro{\macrolistclear} -% % To clear a list, write |\macrolistclear{listname}|. % % \iffalse @@ -225,7 +247,6 @@ % \fi % % \DescribeMacro{\macrolistsize} -% % To get the size of a list, write |\macrolistsize{listname}|. % % \iffalse @@ -237,7 +258,6 @@ % % \DescribeMacro{\macrolistforeach} % \changes{v1.1.1}{2021/07/23}{Fix foreach doc by removing incorrect begin} -% % To write a for each loop, write % \begin{verbatim} %\macrolistforeach{listname}{\element}[begin][end]{action} @@ -299,7 +319,6 @@ % \fi % % \DescribeMacro{\macrolistjoin} -% % Executing |\macrolistjoin{listname}{joiner}| returns all of the elements separated by \textsf{joiner}. This behaves like Javascript's \textsf{arr.join()}. % % \iffalse diff --git a/macros/latex/contrib/macrolist/macrolist.pdf b/macros/latex/contrib/macrolist/macrolist.pdf Binary files differindex 156a8323f3..300ea7518c 100644 --- a/macros/latex/contrib/macrolist/macrolist.pdf +++ b/macros/latex/contrib/macrolist/macrolist.pdf |