From 2ad1a2fae027aa6c1f4c1259574b5aa506f833a8 Mon Sep 17 00:00:00 2001
From: Philipp Gesang <pgesang@ix.urz.uni-heidelberg.de>
Date: Fri, 24 Feb 2012 16:56:17 +0100
Subject: minor fixes; [doc] example of two-pass filter

---
 doc/context/third/enigma/enigma_manual.tex | 50 +++++++++++++++++++++++++++---
 1 file changed, 46 insertions(+), 4 deletions(-)

(limited to 'doc/context/third/enigma/enigma_manual.tex')

diff --git a/doc/context/third/enigma/enigma_manual.tex b/doc/context/third/enigma/enigma_manual.tex
index 281ae93..efb4fe2 100644
--- a/doc/context/third/enigma/enigma_manual.tex
+++ b/doc/context/third/enigma/enigma_manual.tex
@@ -1,4 +1,10 @@
-\startdocchapter[title=Example: Encrypted Document]
+\startdocchapter[title=Usage]
+
+\startdocsection[title=Loading the Module/Package]
+  \TODO{instuctions for plain, latex + ctx}
+\stopdocsection
+
+\startdocsection[title=Basic Functionality]
 
 Encrypt the text of your document using the script interface. For
 a start try out the settings as given in below listing.
@@ -9,11 +15,11 @@ mtxrun --script mtx-t-enigma                    \
                 day_key = B I II III 01 01 01,  \
                 rotor_setting = xyz,            \
                 verbose=0"                      \
-       --text="Nobody can read this."
+       --text="Gentlemen don’t read each other’s mail, Mr. Turing\!"
 \stoptyping
 
 This will result in the thoroughly scrambled string
-\type{zdkbxwwnwkazpokvgr}.
+\type{omribshpwfrfjovkntgqgiabbkhjpxmhdztapkatwrvf}.
 Then, use the same settings you encrypted the text with in your
 document.
 
@@ -30,7 +36,7 @@ document.
 \starttext
 
 \startsecretmessage
-zdkbxwwnwkazpokvgr
+  omribshpwfrfjovkntgqgiabbkhjpxmhdztapkatwrvf
 \stopsecretmessage
 
 \stoptext
@@ -41,6 +47,42 @@ reappear.
 Notice that punctuation is substituted with the letter “x” before
 encryption and that spaces are omitted.
 
+\stopdocsection
+
+\startdocsection[title=Uses and Abuses]
+
+In \LUATEX, \identifier{callback}s may stack. This allows filtering the
+input through many enigma machines successively. For instance, in the
+following listing, two instances of the same machine are generated and
+applied.
+
+\startcontexttyping
+\usemodule[enigma]              %% load the module
+\defineenigma [secretmessage]   %% generate and
+\setupenigma  [secretmessage] [ %% configure a machine
+  other_chars = ok,
+  day_key = B IV V II 01 01 01 AD CN ET FL GI JV KZ PU QY WX,
+  rotor_setting = foo,
+  verbose=3,
+]
+
+%% now, copy the first machine’s settings
+\defineenigma [othermessage] [secretmessage]
+
+%% here we go!
+\starttext
+
+\startothermessage  %% enable machine 1
+\startsecretmessage %% enable machine 2 while no 1 is active
+Encryption equals decryption.
+\stopothermessage
+\stopsecretmessage
+
+\stoptext \endinput
+\stopcontexttyping
+
+\stopdocsection
+
 \stopdocchapter
 
 \startdocchapter[title=Acknowledgements]
-- 
cgit v1.2.3

