summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/lualatex/autopuncitems/autopuncitems.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/lualatex/autopuncitems/autopuncitems.sty')
-rw-r--r--Master/texmf-dist/tex/lualatex/autopuncitems/autopuncitems.sty56
1 files changed, 56 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/lualatex/autopuncitems/autopuncitems.sty b/Master/texmf-dist/tex/lualatex/autopuncitems/autopuncitems.sty
new file mode 100644
index 00000000000..8045fa4737f
--- /dev/null
+++ b/Master/texmf-dist/tex/lualatex/autopuncitems/autopuncitems.sty
@@ -0,0 +1,56 @@
+% Kale Ewasiuk (kalekje@gmail.com)
+% 2021-12-20
+% Copyright (C) 2021 Kale Ewasiuk
+%
+% Permission is hereby granted, free of charge, to any person obtaining a copy
+% of this software and associated documentation files (the "Software"), to deal
+% in the Software without restriction, including without limitation the rights
+% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+% copies of the Software, and to permit persons to whom the Software is
+% furnished to do so, subject to the following conditions:
+%
+% The above copyright notice and this permission notice shall be included in
+% all copies or substantial portions of the Software.
+%
+% THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF
+% ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
+% TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
+% PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
+% SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR
+% ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+% ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
+% OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+\ProvidesPackage{autopuncitems}[2021-12-20]
+
+\RequirePackage{enumitem}
+\RequirePackage{luacode}
+
+\luadirect{autopuncitems = require'autopuncitems'}
+
+\newcommand{\APomit}{} % blank flag used in '\item' to hide it from counting and auto
+\newcommand{\APpass}{} % blank flag used in '\item', autopunc is skipped, but count is still
+
+\newcommand{\disableAPautopassnest}{\luadirect{autopuncitems.autopassnested = false}}
+\newcommand{\enableAPautopassnest}{\luadirect{autopuncitems.autopassnested = true}}
+
+\NewDocumentCommand{\setAPeach}{m m m}{\setAPdef{#1}\setAPseclast{#2}\setAPlast{#3}} % set each one, default, second last, last
+\NewDocumentCommand{\setAPall}{m}{\setAPdef{#1}\setAPseclast{#1}\setAPlast{#1}} % set all the same
+\NewDocumentCommand{\setAPdef}{m}{\luadirect{autopuncitems.punc[0] = \luastring{#1}}} % default punc value
+\NewDocumentCommand{\setAPlast}{m}{\luadirect{autopuncitems.punc[1] = \luastring{#1}}} % second last punc value
+\NewDocumentCommand{\setAPseclast}{m}{\luadirect{autopuncitems.punc[2] = \luastring{#1}}} % final punc value
+
+\NewDocumentEnvironment{AutoPuncItemize}{ +b }{
+% \luadirect{texio.write_nl('auto >>>'..autopuncitems.go(\luastringN{#1}))}
+ \luadirect{tex.print(autopuncitems.go(\luastringN{#1}))}
+}{}
+
+\SetEnumitemKey{autopunc}{
+ first*=\expandafter\AutoPuncItemize,
+ after=\endAutoPuncItemize,
+}
+
+
+