- Questo topic ha 2 risposte, 2 partecipanti ed è stato aggiornato l'ultima volta 9 anni, 7 mesi fa da .
-
Topic
-
Ciao.
Ho un report composto con LuaLaTeX nel quale è necessario produrre una tabella attraverso Lua.
L’idea semplice è quella di usare la funzione tex.print() per inserire i token corrispondenti a un normale ambiente tabular.
Ho realizzato un esempio minimo compilabile composto da un sorgente LuaLaTeX e da un file Lua.Il sorgente LuaLaTeX è:
`% !TeX program = LuaLaTeX\directlua{
mylib = require “mylib”
}\def\print#1{\directlua{
local expr = #1;
if not expr then
error(“Espressione non valida”)
else
tex.print(expr)
end
}}\documentclass{article}
\usepackage{booktabs}\begin{document}
\print{mylib.tabular(3)}\begin{tabular}{c}
\toprule
Numero\\
\midrule
00001\\
00002\\
00003\\
\bottomrule
\end{tabular}\end{document}`
Il file Lua mylib.lua è:
`return {
tabular = function(row)
local t = {[[\begin{tabular}{c}]]}
t[#t+1] = [[\toprule]]
t[#t+1] = [[Numero\\]]
t[#t+1] = [[\midrule]]
for r = 1, row do
t[#t+1] = string.format([[%05d\\]], r)
end
t[#t+1] = [[\bottomrule]]
t[#t+1] = [[\end{tabular}]]
print(table.concat(t, “\n”))
return table.concat(t, “\n”)
end,
}`Dovreste poter scaricare quì sotto i due file con estensione txt, cabiatela in .tex e in .lua.
OK.
Nel sorgente LuaLaTeX compare prima il comando \print che dovrebbe produrre la tabella che compare nella seconda parte del file.Perché ricevo l’errore di Misplaced \noalign, e come è possibile evitarlo?
Grazie.
R.
- Devi essere connesso per rispondere a questo topic.