diff options
author | Karl Berry <karl@freefriends.org> | 2013-02-13 00:06:34 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2013-02-13 00:06:34 +0000 |
commit | 33b9decf3736250e2c7bc7c110b29116cef82dda (patch) | |
tree | bb7f7257a9b96e51599ca309607995d89ecd82fe /Master/texmf-dist/doc/luatex/luaintro/04-04-7.lualtx | |
parent | fee6ae63b6689ddbae970ff9114c6ed976bf1dab (diff) |
luaintro (12feb13)
git-svn-id: svn://tug.org/texlive/trunk@29093 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/luatex/luaintro/04-04-7.lualtx')
-rw-r--r-- | Master/texmf-dist/doc/luatex/luaintro/04-04-7.lualtx | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/luatex/luaintro/04-04-7.lualtx b/Master/texmf-dist/doc/luatex/luaintro/04-04-7.lualtx new file mode 100644 index 00000000000..2dc44585062 --- /dev/null +++ b/Master/texmf-dist/doc/luatex/luaintro/04-04-7.lualtx @@ -0,0 +1,58 @@ +%% +%% Ein Beispiel der DANTE-Edition +%% +%% 1. Auflage +%% +%% Beispiel 04-04-7 auf Seite 92. +%% +%% 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[ngerman]{babel} +\usepackage{luacode} +\begin{luacode*} +function markNode(color) + local w=node.new("whatsit","pdf_literal") + w.data=string.format("q "..color.."RG 2 w 0 -0.1 m 0 10 l S Q") + return w +end +\end{luacode*} +%StartShownPreambleCommands + +\begin{luacode*} +function markList(List) + for n in node.traverse(List) do + if n.id==1 then markList(List.head) + elseif n.id==0 then -- Zeilenanfang gefunden + n.head=node.insert_before(n.head, n.head, markNode("1 0 0")) + for m in node.traverse(n.head) do + if m.id==10 and m.prev.id==37 then -- Wortende gefunden + m=node.insert_before(n.head, m, markNode("0 1 0")) + end end end end + return true +end +\end{luacode*} +%StopShownPreambleCommands +\begin{document} +\parbox{5cm}{% +\directlua{luatexbase.add_to_callback("post_linebreak_filter",markList,"markList")}% +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","markList")} +\end{document} |