blob: ead5e82db2696d3c1b56362516bc9552f4432de0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
%%
%% 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}
%StartShownPreambleCommands
\usepackage{luacode}
\usepackage{libertine}
\begin{luacode*}
function readbuf( buf )
mybuf = mybuf .. buf .. "\n"
end
function startrecording()
mybuf = ""
luatexbase.add_to_callback('process_input_buffer', readbuf, 'readbuf')
end
function stoprecording()
luatexbase.remove_from_callback('process_input_buffer', 'readbuf')
buf_without_end_log = mybuf:gsub("\\end{recorder}\n","")
print(string.format("Lua: %q", buf_without_end_log)) -- Ausgabe Logfile
luaBuffer=mybuf:gsub("\\end{recorder}","") -- Ausgabe Dokument
end
\end{luacode*}
\newcommand\printBuffer{\directlua{tex.print(string.format(luaBuffer))}}
\newenvironment{recorder}
{\directlua{startrecording()}}
{\directlua{stoprecording()}}
%StopShownPreambleCommands
\begin{document}
\begin{recorder}
Hallo \TeX-Welt. Dies ist Datei \jobname.
\end{recorder}
Und jetzt die Ausgabe: \printBuffer\\
Und nochmal: \printBuffer
\begin{recorder}
Hallo Lua\TeX-Welt.
\end{recorder}
Und jetzt die Ausgabe: \printBuffer
\end{document}
|