summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2022-01-31 21:14:32 +0000
committerKarl Berry <karl@freefriends.org>2022-01-31 21:14:32 +0000
commit1d444b81d53d885a68ef7096605fc3bf3dba5fe8 (patch)
tree58b20743c108bbbfc2926dc50623fed565aa65fc
parent90e73850033e421c88fbb193007a39dad5b4b759 (diff)
autopuncitems (31jan22)
git-svn-id: svn://tug.org/texlive/trunk@61825 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/lualatex/autopuncitems/autopuncitems.pdfbin41875 -> 38603 bytes
-rw-r--r--Master/texmf-dist/doc/lualatex/autopuncitems/autopuncitems.tex36
-rw-r--r--Master/texmf-dist/tex/lualatex/autopuncitems/autopuncitems.lua13
-rw-r--r--Master/texmf-dist/tex/lualatex/autopuncitems/autopuncitems.sty6
4 files changed, 48 insertions, 7 deletions
diff --git a/Master/texmf-dist/doc/lualatex/autopuncitems/autopuncitems.pdf b/Master/texmf-dist/doc/lualatex/autopuncitems/autopuncitems.pdf
index d2a5da00ed8..c377b41f50e 100644
--- a/Master/texmf-dist/doc/lualatex/autopuncitems/autopuncitems.pdf
+++ b/Master/texmf-dist/doc/lualatex/autopuncitems/autopuncitems.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/lualatex/autopuncitems/autopuncitems.tex b/Master/texmf-dist/doc/lualatex/autopuncitems/autopuncitems.tex
index 06f3f5e9bed..e30c85e26fb 100644
--- a/Master/texmf-dist/doc/lualatex/autopuncitems/autopuncitems.tex
+++ b/Master/texmf-dist/doc/lualatex/autopuncitems/autopuncitems.tex
@@ -1,5 +1,5 @@
% Kale Ewasiuk (kalekje@gmail.com)
-% 2022-01-18
+% 2022-01-30
% Copyright (C) 2021-2022 Kale Ewasiuk
%
% Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -62,7 +62,6 @@
\begin{document}
\maketitle
-{\Huge TODO make an environment that can be used outside of itemize, useful for beamer possibly}
\section{Introduction}
This package provides environments \cmd{AutoPuncItemize}, \cmd{AutoPuncItemizeO}, and \cmd{AutoPuncItemizeE} (beta)
@@ -209,5 +208,38 @@ If you disable auto-pass nested lists, and don't use \cmd{\APpass}, here is what
\end{itemize}
\end{LTXexample}
+You may want to use the \cmd{AutoPuncItems} environment outside a list environment instead,
+say perhaps if you're using the \cmd{beamer}.
+Note that nested lists are normally not punctuated, and since the first-level list is inside the environment, it's considered nested.
+If you would like to disable the prevention of auto-punctuating all nested lists, use the \cmd{\disableAPprotectnest}.
+Note that nested lists will cause an error to occur.
+
+\begin{LTXexample}
+\disableAPprotectnest
+\begin{AutoPuncItems}
+\begin{itemize}
+ \item one
+ \item two
+ \item three
+ \item four
+\end{itemize}
+\end{AutoPuncItems}
+\end{LTXexample}
+
+The normal way to use the environment should be inside the first list, like so.
+
+\begin{LTXexample}
+\enableAPautopassnest % default settn
+\begin{itemize}
+\begin{AutoPuncItems}
+ \item one
+ \item two
+ \item three
+ \item four
+\end{AutoPuncItems}
+\end{itemize}
+\end{LTXexample}
+
+
\end{document}
diff --git a/Master/texmf-dist/tex/lualatex/autopuncitems/autopuncitems.lua b/Master/texmf-dist/tex/lualatex/autopuncitems/autopuncitems.lua
index fc0a4b38b5e..07b68e3ed44 100644
--- a/Master/texmf-dist/tex/lualatex/autopuncitems/autopuncitems.lua
+++ b/Master/texmf-dist/tex/lualatex/autopuncitems/autopuncitems.lua
@@ -1,5 +1,5 @@
--% Kale Ewasiuk (kalekje@gmail.com)
---% 2022-01-18
+--% 2022-01-30
--% Copyright (C) 2021-2022 Kale Ewasiuk
--%
--% Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -41,6 +41,7 @@ ap.pass = '\\APpass' -- flag for passing item from punc, but still considered in
ap.code = 0 -- code for skipping punc if > 0, keep in count if == 1, omit from count if == 2
ap.autopassnested = true
+ap.skipnextprot = false
function ap.start(s)
ap.curr = 0
@@ -70,6 +71,8 @@ function ap.getdelim()
return d
end
+
+
function ap.protectnest(s)
local x = ''
if ap.autopassnested then x = ap.pass..'{}' end
@@ -88,12 +91,16 @@ end
function ap.go(s)
- s = ap.protectnest(s)
+ if ap.skipnextprot then
+ s = s:gsub(ap.item, ap.itemp)
+ else
+ s = ap.protectnest(s)
+ end
ap.start(s) -- start counters
--texio.write_nl('yooo...'..s)
s = s:gsub(ap.itemp, '\0\0'):gsub('\0', '', 1) -- make all items \0\0 then change first item to one \0
s = s:gsub('(%z)(%Z*)(%z?)', -- find betwen \0 .. \0
- function(it, s, _it) -- discarding duplicate item '_it' that was made in first gsub
+ function(it, s) -- discarding duplicate item '_it' that was made in first gsub
ap.addcount(s) -- add count, helps determine delimiter
return ap.rtrim(it..s)..ap.getdelim()..' '
end
diff --git a/Master/texmf-dist/tex/lualatex/autopuncitems/autopuncitems.sty b/Master/texmf-dist/tex/lualatex/autopuncitems/autopuncitems.sty
index 81c3f2dd6c3..11a4c66f69e 100644
--- a/Master/texmf-dist/tex/lualatex/autopuncitems/autopuncitems.sty
+++ b/Master/texmf-dist/tex/lualatex/autopuncitems/autopuncitems.sty
@@ -1,5 +1,5 @@
% Kale Ewasiuk (kalekje@gmail.com)
-% 2022-01-18
+% 2022-01-30
% Copyright (C) 2021-2022 Kale Ewasiuk
%
% Permission is hereby granted, free of charge, to any person obtaining a copy
@@ -23,7 +23,7 @@
% OR OTHER DEALINGS IN THE SOFTWARE.
-\ProvidesPackage{autopuncitems}[2022-01-18]
+\ProvidesPackage{autopuncitems}[2022-01-30]
\RequirePackage{luacode}
\RequirePackage{etoolbox}
@@ -40,6 +40,8 @@
\newcommand{\disableAPautopassnest}{\luadirect{autopuncitems.autopassnested = false}}
\newcommand{\enableAPautopassnest}{\luadirect{autopuncitems.autopassnested = true}}
+\newcommand{\disableAPprotectnest}{\luadirect{autopuncitems.skipnextprot = true}}
+\newcommand{\enableAPprotectnest}{\luadirect{autopuncitems.skipnextprot = false}}
\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