summaryrefslogtreecommitdiff
path: root/info/examples/luaintro/01-02-12.lualtx
blob: a764120bb2586143fe3582da45469dd2183c9705 (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
%% 
%%  Ein Beispiel der DANTE-Edition
%%  
%%  1. Auflage
%% 
%% 
%%  Copyright (C) 2014 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}
%\usepackage[margin=5mm,a6paper]{geometry}
\setlength\parindent{0pt}\sloppy
%StartShownPreambleCommands
\directlua{tex.enableprimitives("",tex.extraprimitives('luatex'))}% \latelua{}
\newcount\gstatelevel
\def\pdfsave{\latelua{pdf.print("page", "q\string\n")}}
\def\pdfrestore{\latelua{pdf.print("page", "Q\string\n")}}
\def\pdflocal#1#2{\begingroup\ifnum\currentgrouplevel=\gstatelevel
  \else \gstatelevel=\currentgrouplevel \pdfsave \aftergroup\pdfrestore\fi
  \latelua{pdf.print"#1\string\n"}#2\endgroup}
\def\flip#1{\pdflocal{-1 0 0 -1 20 6 cm}{\hbox to0pt{#1\hss}}%
            \hbox to20bp{\hss}}
\def\red#1{\pdflocal{0 1 1 0 k}{#1}}
%StopShownPreambleCommands
\begin{document}
The first macro applies a transformation to a \flip{text} object, the second
applies a color (\red{red online}, \red{gray in print}). If used separately,
they work just fine. If used as \verb|\flip{\red{text}}|, it's still ok:
\flip{\red{text}}. Now try to say \verb|\red{\flip{text}}|: \red{\flip{text}}.
The text is transformed and colored as expected. But all the rest of the page
is broken, as its content is completely displaced!
\end{document}