summaryrefslogtreecommitdiff
path: root/info/examples/luaintro/04-04-12.lualtx
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-12.lualtx
Initial commit
Diffstat (limited to 'info/examples/luaintro/04-04-12.lualtx')
-rw-r--r--info/examples/luaintro/04-04-12.lualtx52
1 files changed, 52 insertions, 0 deletions
diff --git a/info/examples/luaintro/04-04-12.lualtx b/info/examples/luaintro/04-04-12.lualtx
new file mode 100644
index 0000000000..e03ac2db8a
--- /dev/null
+++ b/info/examples/luaintro/04-04-12.lualtx
@@ -0,0 +1,52 @@
+%%
+%% 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[ngerman]{babel}
+%StartShownPreambleCommands
+\usepackage{libertine,luacode,blindtext}
+\begin{luacode*}
+function drawGlyphBB(glyph)
+ local width = glyph.width/2^16
+ local height = glyph.height/2^16
+ local depth = glyph.depth/2^16
+ local w=node.new("whatsit","pdf_literal")
+ w.data=string.format("q 1 0 0 RG 0.1 w "..-width.." "..-depth.." "..width.." "..(height+depth).." re S Q ")
+ return w
+end
+function markList(List)
+ while List do
+ if List.id==0 or List.id==1 then markList(List.head) end
+ if List.id==37 then
+ local m=List -- save current node
+ m=node.insert_after(m,m,drawGlyphBB(List))
+ end
+ List=List.next
+ end
+ return true
+end
+\end{luacode*}
+%StopShownPreambleCommands
+\begin{document}
+\directlua{luatexbase.add_to_callback("post_linebreak_filter",markList,"markList")}
+\blindtext \par
+\end{document}