summaryrefslogtreecommitdiff
path: root/info/examples/luaintro/04-04-5.lualtx2
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /info/examples/luaintro/04-04-5.lualtx2
Initial commit
Diffstat (limited to 'info/examples/luaintro/04-04-5.lualtx2')
-rw-r--r--info/examples/luaintro/04-04-5.lualtx277
1 files changed, 77 insertions, 0 deletions
diff --git a/info/examples/luaintro/04-04-5.lualtx2 b/info/examples/luaintro/04-04-5.lualtx2
new file mode 100644
index 0000000000..dd6d1458a4
--- /dev/null
+++ b/info/examples/luaintro/04-04-5.lualtx2
@@ -0,0 +1,77 @@
+%%
+%% Ein Beispiel der DANTE-Edition
+%%
+%% 1. Auflage
+%%
+%%
+%% Copyright (C) 2013 Herbert Voss
+%%
+%% It may be distributed and/or modified under the conditions
+%% of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%%
+%% See http://www.latex-project.org/lppl.txt for details.
+%%
+%%
+%% ====
+% Show page(s) 1
+%%
+%%
+\documentclass[]{exaarticle}
+\pagestyle{empty}
+\setlength\textwidth{352.81416pt}
+\setlength\parindent{0pt}
+\usepackage[margin=1cm]{geometry}
+\usepackage[ngerman]{babel}
+%StartShownPreambleCommands
+\usepackage{luacode,multicol}
+\begin{luacode*}
+out=assert(io.open("target/CP/xlist3.nodes","w"))
+local n=node.types()
+function printnode(head)
+while head do
+ if head.id==8 then
+ out:write(head.id..","..head.subtype) -- ein whatsits
+ else
+ out:write(string.format("%3d",head.id))
+ end
+ if head.id==37 then
+ out:write("\"",string.char(head.char),"\" ->")
+ else
+ out:write(" ->")
+ end
+ if head.next == nil then
+ out:write("nil")
+ else
+ out:write(string.format("%3d",head.next.id))
+ end
+ out:write(" ("..n[head.id].."->")
+ if head.next==nil then
+ out:write("nil)\n")
+ else
+ out:write(n[head.next.id]..")\n")
+ end
+ if head.id==0 or head.id==1 then printnode(head.head) -- Rekursion
+ end
+ head=head.next
+end
+return true
+end
+\end{luacode*}
+%StopShownPreambleCommands
+\begin{document}
+\parbox{5cm}{%
+\directlua{luatexbase.add_to_callback("post_linebreak_filter",printnode,"printnode")}%
+Jetzt soll \hbox{hier ein} langer Text angegeben werden, dessen Knotenliste
+ wir betrachten.\par
+Rot->Zeilenanfang\par Grun->Wortende\par Blau->Absatzende
+\directlua{luatexbase.remove_from_callback("post_linebreak_filter","printnode")}
+\directlua{out:close()}}
+\newread\reader \openin\reader=target/CP/xlist3.nodes\relax\ttfamily
+\begin{multicols*}{3}
+\loop \readline\reader to \data
+ \unless\ifeof\reader \data\par
+\repeat
+\end{multicols*}
+\closein\reader
+\end{document}