summaryrefslogtreecommitdiff
path: root/macros/luatex/latex/autopuncitems
diff options
context:
space:
mode:
Diffstat (limited to 'macros/luatex/latex/autopuncitems')
-rw-r--r--macros/luatex/latex/autopuncitems/autopuncitems.lua15
-rw-r--r--macros/luatex/latex/autopuncitems/autopuncitems.pdfbin38603 -> 42099 bytes
-rw-r--r--macros/luatex/latex/autopuncitems/autopuncitems.sty7
-rw-r--r--macros/luatex/latex/autopuncitems/autopuncitems.tex55
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
index c377b41f50..29b5f6d627 100644
--- a/macros/luatex/latex/autopuncitems/autopuncitems.pdf
+++ b/macros/luatex/latex/autopuncitems/autopuncitems.pdf
Binary files differ
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}