diff options
Diffstat (limited to 'macros/luatex/latex/autopuncitems')
-rw-r--r-- | macros/luatex/latex/autopuncitems/autopuncitems.lua | 15 | ||||
-rw-r--r-- | macros/luatex/latex/autopuncitems/autopuncitems.pdf | bin | 38603 -> 42099 bytes | |||
-rw-r--r-- | macros/luatex/latex/autopuncitems/autopuncitems.sty | 7 | ||||
-rw-r--r-- | macros/luatex/latex/autopuncitems/autopuncitems.tex | 55 |
4 files changed, 63 insertions, 14 deletions
diff --git a/macros/luatex/latex/autopuncitems/autopuncitems.lua b/macros/luatex/latex/autopuncitems/autopuncitems.lua index 07b68e3ed4..4eabc5868d 100644 --- a/macros/luatex/latex/autopuncitems/autopuncitems.lua +++ b/macros/luatex/latex/autopuncitems/autopuncitems.lua @@ -1,5 +1,5 @@ --% Kale Ewasiuk (kalekje@gmail.com) ---% 2022-01-30 +--% 2022-04-16 --% Copyright (C) 2021-2022 Kale Ewasiuk --% --% Permission is hereby granted, free of charge, to any person obtaining a copy @@ -110,4 +110,17 @@ function ap.go(s) return s end +function ap.gotab(s) + -- very simple, does not work if \\ in tabular, doesn't factor in header or footer + local s, c = s:gsub('%s*\\\\', '\0') + if c > 2 then + s = s:gsub('\0', ap.punc[0]..'\\\\', c-2) + end + if c > 1 then + s = s:gsub('\0', ap.punc[2]..'\\\\', 1) + end + s = s:gsub('\0', ap.punc[1]..'\\\\', 1) + return s +end + return ap
\ No newline at end of file diff --git a/macros/luatex/latex/autopuncitems/autopuncitems.pdf b/macros/luatex/latex/autopuncitems/autopuncitems.pdf Binary files differindex c377b41f50..29b5f6d627 100644 --- a/macros/luatex/latex/autopuncitems/autopuncitems.pdf +++ b/macros/luatex/latex/autopuncitems/autopuncitems.pdf diff --git a/macros/luatex/latex/autopuncitems/autopuncitems.sty b/macros/luatex/latex/autopuncitems/autopuncitems.sty index 11a4c66f69..e444adf0d5 100644 --- a/macros/luatex/latex/autopuncitems/autopuncitems.sty +++ b/macros/luatex/latex/autopuncitems/autopuncitems.sty @@ -1,5 +1,5 @@ % Kale Ewasiuk (kalekje@gmail.com) -% 2022-01-30 +% 2022-04-16 % 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-30] +\ProvidesPackage{autopuncitems}[2022-04-16] \RequirePackage{luacode} \RequirePackage{etoolbox} @@ -68,3 +68,6 @@ after=\endAutoPuncItemsE, } } + +\NewDocumentEnvironment{AutoPuncTabular}{ +b }{\luadirect{tex.print(autopuncitems.gotab(\luastringN{#1}))}}{} % does not expand + diff --git a/macros/luatex/latex/autopuncitems/autopuncitems.tex b/macros/luatex/latex/autopuncitems/autopuncitems.tex index e30c85e26f..89552c0db5 100644 --- a/macros/luatex/latex/autopuncitems/autopuncitems.tex +++ b/macros/luatex/latex/autopuncitems/autopuncitems.tex @@ -1,5 +1,5 @@ % Kale Ewasiuk (kalekje@gmail.com) -% 2022-01-30 +% 2022-04-16 % Copyright (C) 2021-2022 Kale Ewasiuk % % Permission is hereby granted, free of charge, to any person obtaining a copy @@ -208,24 +208,36 @@ 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. - +\subsection{Expanding list contents} \begin{LTXexample} -\disableAPprotectnest -\begin{AutoPuncItems} -\begin{itemize} +\def\listexample{ \item one \item two \item three \item four +} +--will work fine (expand once) +\begin{itemize}[autopuncO] + \listexample \end{itemize} -\end{AutoPuncItems} + +--will throw error + (author to fix this) +%\begin{itemize}[autopuncE] +% \listexample +%\end{itemize} + +--does not give desired result + (no items found) +\begin{itemize}[autopunc] + \listexample +\end{itemize} + \end{LTXexample} + +\subsection{Using the environment} + The normal way to use the environment should be inside the first list, like so. \begin{LTXexample} @@ -240,6 +252,27 @@ The normal way to use the environment should be inside the first list, like so. \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} + + + + \end{document} |