|
|
|
|
|
by skierscott
3216 days ago
|
|
It appears the largest benefits is embedding Lua code into TeX (found at [1] in "Programmability"). The example they present from that page: \documentclass{article}
\usepackage{luacode}
\begin{document}
\pagestyle{empty}
\begin{luacode*}
function esn (n)
return (1 + 1/n)^n
end
function etn (n)
tex.print(string.format('%5d & %1.8f \\\\', n, esn(n)))
end
\end{luacode*}
Convergence to $e$:
\begin{tabular}{ll}
\rule[-2mm]{0pt}{4mm}$n$ & $(1 + \frac{1}{n})^n$ \\
\hline
\luadirect{
for n = 10, 110, 10 do
tex.print(etn(n))
end
}
\hline
\end{tabular}
\end{document}
which allows a pretty table to be printed in the document. |
|
This also results in cleaner code (even beyond Lua being more readable than TeX macros), and smaller/faster code as you don't have to account for as many different kinds of things in your "input".
The "fade lines" callback example in the linked article is a good one. Here's another example of mine (not a great one) where you can influence TeX's linebreaking algorithm to avoid short words at line boundaries: https://tex.stackexchange.com/questions/378704/how-to-avoid-... -- the solution with macros is not so great.