diff options
Diffstat (limited to 'Master/texmf-dist/tex/lualatex/autopuncitems/autopuncitems.sty')
-rw-r--r-- | Master/texmf-dist/tex/lualatex/autopuncitems/autopuncitems.sty | 56 |
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, +} + + + |