%% %% 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}