summaryrefslogtreecommitdiff
path: root/Master/texmf-dist
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2013-03-11 23:37:16 +0000
committerKarl Berry <karl@freefriends.org>2013-03-11 23:37:16 +0000
commitba010cadf18382da1fa1ad0567552261171c4c63 (patch)
tree5ca8649dcec7199d091f73831a747c6f1bdb4db2 /Master/texmf-dist
parent6dbb8dfbb59d7e98e7addb0feae7ff9306c49b0e (diff)
pfarrei (11mar13)
git-svn-id: svn://tug.org/texlive/trunk@29348 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r--Master/texmf-dist/doc/latex/pfarrei/pfarrei.pdfbin0 -> 419416 bytes
-rwxr-xr-xMaster/texmf-dist/scripts/pfarrei/a5toa4.tlu37
-rwxr-xr-xMaster/texmf-dist/scripts/pfarrei/pfarrei.tlu144
-rw-r--r--Master/texmf-dist/source/latex/pfarrei/README47
-rw-r--r--Master/texmf-dist/source/latex/pfarrei/pfarrei.dtx623
-rw-r--r--Master/texmf-dist/tex/latex/pfarrei/a5toa4.tex47
-rw-r--r--Master/texmf-dist/tex/latex/pfarrei/pfarrei.sty60
7 files changed, 958 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/pfarrei/pfarrei.pdf b/Master/texmf-dist/doc/latex/pfarrei/pfarrei.pdf
new file mode 100644
index 00000000000..03c944fe195
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/pfarrei/pfarrei.pdf
Binary files differ
diff --git a/Master/texmf-dist/scripts/pfarrei/a5toa4.tlu b/Master/texmf-dist/scripts/pfarrei/a5toa4.tlu
new file mode 100755
index 00000000000..25c7de5986e
--- /dev/null
+++ b/Master/texmf-dist/scripts/pfarrei/a5toa4.tlu
@@ -0,0 +1,37 @@
+#!/usr/bin/env texlua
+
+--
+-- This is file `a5toa4.tlu',
+-- generated with the docstrip utility.
+--
+-- The original source files were:
+--
+-- pfarrei.dtx (with options: `a5toa4,lua')
+--
+-- Copyright (c) 2013 Markus Kohm
+-- komascript at gmx info
+--
+-- This file was generated from file(s) of the work `pfarrei'.
+-- ------------------------------------------------------------------
+--
+-- It may be distributed under the conditions of the
+-- LaTeX Project Public License in the version distributed together
+-- with the work `pfarrei'. You may however distribute the work
+-- `pfarrei' without all such generated files. See also
+-- <http://www.latex-project.org/lppl.txt> for additional
+-- information.
+--
+-- This work has the LPPL maintenance status `maintained'.
+--
+-- The Current Maintainer of this work is Markus Kohm.
+--
+-- The list of files belonging to the work `pfarrei' is given in
+-- the file `pfarrei.dtx'.
+--
+-- $Id: pfarrei.dtx 20 2013-03-10 14:19:06Z mjk $
+
+kpse.set_program_name(arg[-1], 'a5toa4')
+require('pfarrei')
+--
+--
+-- End of file `a5toa4.tlu'.
diff --git a/Master/texmf-dist/scripts/pfarrei/pfarrei.tlu b/Master/texmf-dist/scripts/pfarrei/pfarrei.tlu
new file mode 100755
index 00000000000..ee5f0ed8d67
--- /dev/null
+++ b/Master/texmf-dist/scripts/pfarrei/pfarrei.tlu
@@ -0,0 +1,144 @@
+#!/usr/bin/env texlua
+
+--
+-- This is file `pfarrei.tlu',
+-- generated with the docstrip utility.
+--
+-- The original source files were:
+--
+-- pfarrei.dtx (with options: `pfarrei,lua')
+--
+-- Copyright (c) 2013 Markus Kohm
+-- komascript at gmx info
+--
+-- This file was generated from file(s) of the work `pfarrei'.
+-- ------------------------------------------------------------------
+--
+-- It may be distributed under the conditions of the
+-- LaTeX Project Public License in the version distributed together
+-- with the work `pfarrei'. You may however distribute the work
+-- `pfarrei' without all such generated files. See also
+-- <http://www.latex-project.org/lppl.txt> for additional
+-- information.
+--
+-- This work has the LPPL maintenance status `maintained'.
+--
+-- The Current Maintainer of this work is Markus Kohm.
+--
+-- The list of files belonging to the work `pfarrei' is given in
+-- the file `pfarrei.dtx'.
+--
+local version_number = string.sub( '$Revision: 20 $', 12, -2 )
+local action_version = ' r' .. version_number .. '\n' .. [[
+
+Copyright (c) 2013 Markus Kohm.
+License: lppl 1.3c or later. See <http://www.latex-project.org/lppl.txt>.
+]]
+local action_help = [[
+action options:
+
+ -h, --help Print this help message.
+ -V, --version Print the version information.
+
+processing options:
+ -b, --booklet Generate a booklet instead of only two pages side by
+ side onto one page. The whole booklet will be one
+ signature.
+ -s, --sidebyside Generate only two pages side by side onto one page
+ instead of a booklet.
+ -o, --overwrite Write the output to the <PDF file> instead of appending
+ "-sidebyside.pdf" or "--booklet.pdf" to the basename
+ of <PDF file>
+]]
+local action_opts = {
+ ['-h'] = 'help',
+ ['--help'] = 'help',
+ ['-V'] = 'version',
+ ['--version'] = 'version',
+}
+local processing_opts = {
+ ['-b'] = 'booklet',
+ ['--booklet'] = 'booklet',
+ ['-s'] = 'sidebyside',
+ ['--sidebyside'] = 'sidebyside',
+ ['-o'] = 'overwrite',
+ ['--overwrite'] = 'overwrite'
+}
+
+-- detect action options and do action
+local i = 1
+local action
+while arg[i] do
+ action = action_opts[arg[i]]
+ i = i+1
+ if action == 'help' then
+ print( arg[0]..action_version );
+ print( 'Usage: ' .. arg[0] .. ' <action option>' )
+ print( ' ' .. arg[0] .. ' [<processing options>] <PDF file> ...\n' )
+ print( action_help );
+ os.exit( 0 );
+ elseif action == 'version' then
+ print( arg[0] .. action_version );
+ os.exit( 0 );
+ end
+end
+
+-- process options and parameters
+local booklet = false
+local overwrite = false
+i = 1
+while arg[i] do
+ action = processing_opts[arg[i]]
+ if action == 'booklet' then booklet = true
+ elseif action == 'sidebyside' then booklet = false
+ elseif action == 'overwrite' then overwrite = true
+ elseif action == nil then
+ -- build the temporary tex file
+ local tmpdir = os.tmpdir("pfarrei.XXXXXX" )
+ local tmpfile = string.match( arg[i], '.*/(.*)$') or arg[i]
+ local basename = string.match( tmpfile,'(.*)%.[^.]*$') or tmpfile
+ tmpfile = tmpdir..'/'..basename..'.tex'
+ local file = assert( io.open( tmpfile, 'w' ) )
+ if booklet then assert( file:write("\\def\\Booklet{}\n") ) end
+ assert( file:write("\\def\\OriginalFile{",arg[i],"}\n") )
+ assert( file:write("\\input{a5toa4.tex}\n") )
+ assert( file:flush() )
+ file:close()
+ -- call pdflatex
+ assert( os.execute( 'pdflatex -interaction=batchmode -output-directory='..tmpdir..' '..tmpfile ) )
+ -- copy the resulting pdf file
+ local srcfile = assert( io.open( tmpdir..'/'..basename..'.pdf', 'rb' ) )
+ if overwrite
+ then
+ tmpfile = arg[i]
+ else
+ tmpfile = string.match( arg[i], '(.*)%.[^.]*$' ) or arg[i]
+ if booklet
+ then
+ tmpfile = tmpfile..'-booklet.pdf'
+ else
+ tmpfile = tmpfile..'-sidebyside.pdf'
+ end
+ end
+ local destfile = assert( io.open( tmpfile, 'wb' ) )
+ local buffer
+ while true do
+ buffer = srcfile:read(8388608)
+ if buffer==nil then break end
+ assert( destfile:write(buffer) )
+ end
+ assert( destfile:close() )
+ srcfile:close()
+ tmpfile=tmpdir..'/'..basename
+ os.remove( tmpfile..'.aux' )
+ os.remove( tmpfile..'.tex' )
+ os.remove( tmpfile..'.log' )
+ os.remove( tmpfile..'.pdf' )
+ os.remove( tmpdir )
+ overwrite = false
+ end
+ i=i+1
+end
+--
+--
+-- End of file `pfarrei.tlu'.
diff --git a/Master/texmf-dist/source/latex/pfarrei/README b/Master/texmf-dist/source/latex/pfarrei/README
new file mode 100644
index 00000000000..bcc6833233e
--- /dev/null
+++ b/Master/texmf-dist/source/latex/pfarrei/README
@@ -0,0 +1,47 @@
+$Id: README 19 2013-03-10 14:15:48Z mjk $
+============================================================================
+pfarrei - A bundle of executables, LaTeX documents and packages for priests
+----------------------------------------------------------------------------
+Maintainer: Markus Kohm
+E-Mail: komascript at gmx info
+Abstract: In "Die TeXnische Komödie" 1/2004 Christian Justen told
+ about his practise using LaTeX at his work as priest. One
+ point was to arrange A5 papers onto A4 landscape paper
+ either side-by-side or as a booklet. He made two bash
+ scripts for this. `pfarrei' provides one texlua script for
+ the same.
+ Other points would be, e.g, special limitations of the
+ page break. `pfarrei' should help there too, but currently
+ this hasn't been implemented due to the early implementation
+ state of the bundle.
+Requires: LaTeX2e, ifpdf, pdfpages
+License: LPPL 1.3c or later
+State: Maintained
+----------------------------------------------------------------------------
+Special installation note:
+ To extract all the files just call `tex pfarrei.dtx'. Note,
+ that you have to use tex NOT latex or pdflatex!
+ The manual may be done using `pdflatex pfarrei.dtx' two
+ times.
+ After this, you should copy the files like this into a valid
+ TEXMF tree (aka TDS tree):
+ a5toa4.tlu --> scripts/pfarrei/a5toa5.tlu
+ pfarrei.tlu --> scripts/pfarrei/pfarrei.tlu
+ a5toa4.tex --> tex/latex/pfarrei/a5toa4.tex
+ pfarrei.sty --> tex/latex/pfarrei/pfarrei.sty
+ pfarrei.pdf --> doc/latex/pfarrei/pfarrei.pdf
+ README --> source/latex/pfarrei/README
+ pfarrei.dtx --> source/latex/pfarrei/pfarrei.dtx
+ Users, that do not use Windows, should also copy a5toa4.tlu
+ to the binary directory of their TeX distribution and rename
+ that copy onto a5toa4 (without extension).
+ Windows users, at least using TeX Live, should make a copy
+ of runscript.exe with the name a5toa4 in the binary
+ directory of their TeX distribution.
+
+ Please note, that there's also a TDS distribution of
+ `pfarrei' that may be installed simply by extraction of
+ `pfarrei.tds.zip' at a TEXMF tree and additionally copying
+ `a5toa4.tlu' to the binary directory of the TeX distribution
+ as described above.
+============================================================================
diff --git a/Master/texmf-dist/source/latex/pfarrei/pfarrei.dtx b/Master/texmf-dist/source/latex/pfarrei/pfarrei.dtx
new file mode 100644
index 00000000000..a1deca6de9d
--- /dev/null
+++ b/Master/texmf-dist/source/latex/pfarrei/pfarrei.dtx
@@ -0,0 +1,623 @@
+% \CheckSum{36}
+% \iffalse^^A meta-comment
+% ======================================================================
+% pfarrei.dtx
+% Copyright (c) 2013 Markus Kohm
+% komascript at gmx info
+%
+% This work may be distributed and/or modified under the conditions of
+% the LaTeX Project Public License, version 1.3c of the license.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer and author of this work is Markus Kohm.
+%
+% This work consists of the files `README' and `pfarrei.dtx'.
+%
+% If you're missing the installation batch file `pfarrei.ins', try
+% tex pfarrei.dtx
+% to unpack all files.
+% The package documentation may be produced repeating
+% pdflatex pfarrei.dtx
+% at least three times.
+% ----------------------------------------------------------------------
+% pfarrei.dtx
+% Copyright (c) 2013 Markus Kohm
+% komascript at gmx info
+%
+% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
+% Version 1.3c.
+% Die neuste Version dieser Lizenz ist
+% http://www.latex-project.org/lppl.txt
+% und Version 1.3c ist Teil aller Verteilungen von LaTeX
+% Version 2005/12/01.
+%
+% Dieses Wert hat den LPPL-Verwaltungszustand `maintained' (verwaltet).
+%
+% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm.
+%
+% Das Werk besteht aus den Dateien `README' und `pfarrei.dtx'.
+%
+% Falls Sie die Installations-Batch-Datei `pfarrei.ins' vermissen,
+% probieren Sie einfach einmal
+% tex pfarrei.dtx
+% um alle Dateien auszupacken.
+% Die Anleitung erhalten Sie durch dreimalige Ausführung von:
+% pdflatex pfarrei.dtx
+% ======================================================================
+% \fi^^A meta-comment
+%
+% \CharacterTable
+% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+%
+% \iffalse^^A meta-comment
+%<*dtx|tex>
+\begingroup
+ \def\revisiondate$#1: #2-#3-#4 #5${%
+ \gdef\pfarreirevisiondate{#2/#3/#4}%
+ }\revisiondate$Date: 2013-03-10 15:19:06 +0100 (So, 10 Mär 2013) $
+ \def\revision$#1: #2 #3${%
+ \gdef\pfarreirevision{#2}%
+ }\revision$Revision: 20 $
+\endgroup
+%<*dtx>
+\def\LaTeXformat{LaTeX2e}
+\ifx\fmtname\LaTeXformat
+ \makeatletter
+ \let\saved@@end\@@end
+ \def\@@end{\csname fi\endcsname\saved@@end}
+ \makeatother
+ \ProvidesFile{pfarrei.dtx}
+%</dtx>
+%<package>\ProvidesPackage{pfarrei.sty}
+%<a5toa4>\ProvidesFile{a5toa4.tex}
+ [\pfarreirevisiondate\space r\pfarreirevision LaTeX2e package
+ (for priests)]
+%</dtx|tex>
+%<*driver>
+\documentclass{ltxdoc}
+\usepackage[english,ngerman]{babel}
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage{lmodern}
+\CodelineIndex
+\RecordChanges
+\GetFileInfo{pfarrei.dtx}
+\begin{document}
+\title{Das Pfarrei-Paket\footnote{%
+ \protect\foreignlanguage{english}{Sorry if you don't understand German,
+ but currently there's only a German manual, because the idea of this is
+ from a German article at ``Die \TeX nische Komödie''. But you may try to
+ call ``\texttt{a5toa4 --help}'' to get some useful information.%
+ }%
+ }%
+} \date{\filedate} \author{Markus Kohm}
+\maketitle
+\DocInput{pfarrei.dtx}
+\PrintChanges
+\PrintIndex
+\end{document}
+%</driver>
+%<*dtx>
+\fi
+%</dtx>
+%<*insfile>
+\def\batchfile{pfarrei.dtx}
+\input docstrip.tex
+\ifToplevel{%
+ \keepsilent
+ \askforoverwritefalse
+}
+
+\let\MetaPrefix\relax
+\declarepreamble\rawpreamble
+
+Copyright (c) 2013 Markus Kohm
+ komascript at gmx info
+
+This file was generated from file(s) of the work `pfarrei'.
+------------------------------------------------------------------
+
+It may be distributed under the conditions of the
+LaTeX Project Public License in the version distributed together
+with the work `pfarrei'. You may however distribute the work
+`pfarrei' without all such generated files. See also
+<http://www.latex-project.org/lppl.txt> for additional
+information.
+
+This work has the LPPL maintenance status `maintained'.
+
+The Current Maintainer of this work is Markus Kohm.
+
+The list of files belonging to the work `pfarrei' is given in
+the file `pfarrei.dtx'.
+
+\endpreamble
+
+\let\MetaPrefix\DoubleperCent
+\edef\texpreamble{\rawpreamble}
+
+\generate{%
+ \usepreamble\texpreamble
+ \file{pfarrei.sty}{%
+ \from{pfarrei.dtx}{package,tex}%
+ }%
+ \file{a5toa4.tex}{%
+ \from{pfarrei.dtx}{a5toa4,tex}%
+ }%
+}
+
+\ifToplevel{%
+ \generate{%
+ \usepreamble\texpreamble
+ \file{pfarrei.ins}{%
+ \from{pfarrei.dtx}{insfile,tex}%
+ }%
+ }%
+}
+
+\def\MetaPrefix{--}
+{
+ {
+ \catcode`\#=11
+ \gdef\Hash{#}%
+ }
+ \xdef\luapreamble{\Hash!/usr/bin/env texlua^^J%
+ ^^J%
+ \rawpreamble}
+}
+
+\declarepostamble\luapostamble
+
+\endpostamble
+
+\generate{%
+ \usepreamble\luapreamble\usepostamble\luapostamble
+ \file{a5toa4.tlu}{%
+ \from{pfarrei.dtx}{a5toa4,lua}%
+ }%
+ \file{pfarrei.tlu}{%
+ \from{pfarrei.dtx}{pfarrei,lua}%
+ }%
+}
+
+\ifToplevel{%
+ \Msg{+---------------------------------------------------------------}
+ \Msg{| To finish the installation copy the files into a TEXMF tree:}
+ \Msg{| \space\space a5toa4.tlu --> scripts/pfarrei/a5toa5.tlu}
+ \Msg{| \space\space pfarrei.tlu --> scripts/pfarrei/pfarrei.tlu}
+ \Msg{| \space\space a5toa4.tex --> tex/latex/pfarrei/a5toa4.tex}
+ \Msg{| \space\space pfarrei.sty --> tex/latex/pfarrei/pfarrei.sty}
+ \Msg{| If you are not using Windows, you should also copy a5toa4.tlu}
+ \Msg{| to the binary directory of your TeX distribution and rename}
+ \Msg{| it into a5toa4.}
+ \Msg{| If you are using Windows, you make a copy of runscript.exe at}
+ \Msg{| the binary directory of your TeX distribution and rename it}
+ \Msg{| into a5toa4.}
+ \Msg{+---------------------------------------------------------------}
+}
+%</insfile>
+%<*dtx|doc>
+\csname endinput\endcsname
+% \fi^^A meta-comment
+%
+% \begin{abstract}
+% In "`Die \TeX nische Kömdie"', Ausgabe 1/2013 hat Christian Justen über
+% seinen Einsatz von \LaTeX{} im Pfarrdienst berichtet. Einige der von ihm
+% verwendeten bash-Scripte und seine Schilderungen dazu haben mich dazu
+% inspiriert, eine Sammlung zu beginnen, die entsprechende Dinge leisten.
+% Allerdings habe ich mich dazu entschlossen, keine bash-Script zu
+% verwenden, sondern die Funktionalität derselben in lua-Scripte für die
+% Ausführung mit texlua zu realisieren, da texlua inzwischen Bestandteil
+% aller \TeX-Distributionen ist. Somit wurde das ganze besser vom
+% Betriebssystem unabhängig.
+% \end{abstract}
+%
+% \tableofcontents
+%
+% \section{Die Skripte-Seite}
+% \label{sec:skripte}
+%
+% In besagtem Artikel wurden zwei Skripte, "`a5toa4"' und "`a5toa4bogen"'
+% vorgestellt. Beide erzeugen aus PDF-Dateien, die im A5-Format vorliegen,
+% neue PDF-Dateien im A4-quer-Format.
+%
+% Das erste, "`a5toa4", arrangiert die A5-Seiten dabei so, dass jeweils zwei
+% aufeinander folgende A5-Seiten nebeneinandern ausgegeben werden. Das ist vor
+% allem dann praktisch, wenn man nur einseitig druckt und die Seiten später
+% geteilt werden sollen. Im folgenden wird diese Ausgabe \emph{side-by-side}
+% genannt.
+%
+% Das zweite, "`a5toa4bogen"', erzeugt hingegen ein sogenanntes Booklet. Dabei
+% werden die Seiten so angeordnet, dass nach dem beidseitigen Druck, der ganze
+% Stapel nur noch in der Mitte geknickt werden muss, um eine Art Heft zu
+% erhalten. Daher wird für diese Ausgabe im Weiteren die Bezeichnung
+% \emph{booklet} verwendet.
+%
+% Ich dacht mir, das könne man in ein einziges Programm gießen. Dieses heißt
+% bei mir dann schlicht "`a5toa4.tlu"' bzw. bei optimaler Installation kann es
+% zumindest unter Linux und OSX auch als "`a5toa4"' angesprochen werden.
+%
+% Ruft man das Programm mit der Option "`\texttt{-V}"' oder
+% "`\texttt{--version}"' auf, so gibt es lediglich eine Versionsinformation
+% aus.
+%
+% Beim Aufruf mit Option "`\texttt{-h}"' oder "`\texttt{--help}"' wird
+% hingegen eine ausführliche Hilfe zu den Aufrufmöglichkeiten und den Optionen
+% ausgegeben.
+%
+% Man kann es aber auch mit einer Reihe von Durchführungsoptionen und Namen
+% von PDF-Dateien aufrufen. In diesem Fall wird entweder eine booklet- oder
+% eine side-by-side-Ausgabe erzeugt. Die Wahl, ob eine booklet- oder eine
+% side-by-side-Ausgabe erfolgen soll, erfolgt über die Optionen
+% "`\texttt{-b}"' oder "`\texttt{--booklet}"' für booklet bzw. "`\texttt{-s}"'
+% oder "`\texttt{--sidebyside}"' für side-by-side. Voreingstellt ist die
+% side-by-side-Ausgabe.
+%
+% Für die Durchführung wurde auch ein Verbesserungsvorschlag von Christian
+% Justen selbst aufgegriffen. Bei ihm haben die Skripte mit einer
+% Zwischendateien mit dem festen Namen "`\texttt{cj.tmp}"' gearbeitet. Im
+% Extramfall konnte dies dazu führen, dass Dateien unerwünscht überschrieben
+% und so vernichtet wurden.
+%
+% In meiner Fassung als texlua-Skript wird mit einem temporären Verzeichnis im
+% aktuellen Arbeitsverzeichnis gearbeitet. Darin wird eine temporäre
+% \LaTeX-Datei erzeugt und alle Ausgabedateien eines PDF\LaTeX-Laufs
+% abgelegt. Das PDF-Ergebnis des PDF\LaTeX-Laufs wird dann wieder in das noch
+% immer aktuelle Arbeitsverzeichnis kopiert. Im Normalfall wird dabei der
+% Basisname (also ohne Extension) der Ursprungsdatei je nachdem, was erzeugt
+% wurde, entweder um "`\texttt{-booklet.pdf}"' oder
+% "`\texttt{-sidebyside.pdf}"' ergänzt. Auch dies ist eine Abweichung von
+% Christian Justens Original-Skripten, bei denen immer die Ursprungsdatei vom
+% Ergebnis überschrieben wurde. Dieses Verhalten ist aber ebenfalls zu
+% erreichen, indem man Option "`\texttt{-o}"' oder "`\texttt{--overwrite}"'
+% angibt. Nach erfolgreichem PDF\LaTeX-Lauf und dem Kopieren des Ergebnisses
+% ins aktuelle Arbeitsverzeichnis, wird das temporäre Verzeichnis samt Inhalt
+% wieder gelöscht.
+%
+% Eine weitere Änderung bei mir betrifft die Tatsache, dass man für die
+% Verarbeitung mehrerer Dateien nicht mehrere Aufrufe benötigt, man kann auch
+% in einem Aufruf beliebig oft Optionen und Dateien hintereinander anfügen,
+% die dann nacheinander verarbeitet werden. So würde beispielsweise mit dem
+% Aufruf:
+% \begin{verbatim}
+% a5toa4 -b foo.pdf -s bar.pdf -o bum.pdf
+% \end{verbatim}\unskip\ignorespaces
+% sowohl "`\texttt{foo-booklet.pdf}"' als auch "`\texttt{bar-sidebyside.pdf}"'
+% erzeugt und anschließend "`\texttt{bum.pdf}"' durch eine
+% side-by-side-Fassung von sich selbst überschrieben werden.
+%
+% Es ist zu beachten, dass nach jeder erzeugten Datei die
+% Überschreibeinstellung von Option "`\texttt{-o}"' oder
+% "`\texttt{--overwrite}"' aus Sicherheitsgründen wieder aufgehoben wird. Will
+% man also mehrere Dateien nacheinander bearbeiten und bei mehreren davon soll
+% die Ursprungsdatei überschrieben werden, so ist vor jeder dieser Dateien die
+% Option erneut zu setzen.
+%
+% Tatsächlich ist "`\texttt{a5toa4.tlu}"' aber nur ein Wrapper für
+% "`\texttt{pfarrei.tlu}"'. Das wurde deshalb so gemacht, damit das
+% eigentliche Programm leichter durch Versionen in \texttt{TEXMFLOCAL} oder
+% \texttt{TEXMFHOME} ersetzt werden kann, ohne dass jedes Mal das
+% \emph{Binary} ersetzt werden muss. Unter Windows muss man allerdings erst
+% einmal dafür sorgen, dass das Skript als Binary aufgerufen
+% wird.\footnote{Hierfür wird noch ein Windows-Batch-Jongleur gesucht.}
+%
+% Eine letzte kleine Änderung meiner Fassung betrifft die Anforderungen an das
+% Seitenformat der Quelldateien. Im Original wurde mit der \texttt{pdfpages}
+% Option \texttt{noautoscale} gearbeitet. Damit wurden die Seiten der
+% Quelldatei nicht an das Seitenformat der Zieldatei angepasst. War die
+% Quelldatei also nicht im Format A5, sondern beispielsweise A6, dann wurden
+% zwei A6-Seiten auf einer A4-quer-Seite platziert. War die Quelldatei im Format
+% A4, passten ihre Seiten nicht einmal auf die A4-quer-Seite. Ich habe diese
+% Option daher weggelassen. Nun werden die Seiten der Quelldatei automatisch
+% ins A5-Format gebracht, bevor sie auf der A4-quer-Seite platziert werden.
+%
+%
+% \subsection*{Zusammenfassung}
+%
+% Um aus einem Quell-PDF "`\texttt{foo.pdf}"' ein Ziel-PDF
+% "`\texttt{foo-sidebyside.pdf}"' zu erzeugen, bei dem die Seiten des
+% Quell-PDF aufeinander folgend, nebeneinander auf einer A4-quer-Seite
+% platziert sind, verwendet man:
+% \begin{verbatim}
+% a5toa4 -s foo.pdf
+% \end{verbatim}\unskip\ignorespaces
+% Soll die Ziel-PDF hingegen die Quell-PDF überschreiben, so gibt vor dem
+% Dateinamen zusätzlich Option "`\texttt{-o}"' an.
+%
+% Um aus einem Quell-PDF "`\texttt{foo.pdf}"' ein Ziel-PDF
+% "`\texttt{foo-sidebyside.pdf}"' zu erzeugen, bei dem die Seiten des
+% Quell-PDF so auf einer A4-quer-Seite platziert sind, dass durch Falten in
+% der Mitte ein Heft entsteht, verwendet man:
+% \begin{verbatim}
+% a5toa4 -b foo.pdf
+% \end{verbatim}\unskip\ignorespaces
+% Soll die Ziel-PDF hingegen die Quell-PDF überschreiben, so gibt vor dem
+% Dateinamen zusätzlich Option "`\texttt{-o}"' an.
+%
+% Informationen über die verwendete Version von "`\texttt{a5toa4}"' erhält man
+% mit:
+% \begin{verbatim}
+% a5toa4 --version
+% \end{verbatim}\unskip
+%
+% Eine Hilfe zum Programm erhält man mit:
+% \begin{verbatim}
+% a5toa4 --help
+% \end{verbatim}
+%
+%
+% \section{Die \LaTeX-Seite}
+% \label{sec:latex}
+%
+% Die \LaTeX-Seite zu den Skripten aus Abschnitt~\ref{sec:skripte} besteht
+% zunächst einmal aus dem \LaTeX-Dokument "`\texttt{a5ona4.tex}"'. Dieses
+% lädt wiederum das \LaTeX-Paket "`\texttt{pfarrei.sty}"'. Die eigentliche
+% Funktionalität verbirgt sich darin. Derzeit gibt es fast nur eine Anweisung
+% \cs{AvToAiv}. Diese erledigt die Hauptarbeit, wobei die erwartet, dass die
+% Original-PDF-Datei, die verarbeitet werden soll, im Makro \cs{OriginalFile}
+% abgelegt ist. Das Skript sorgt dafür, dass dies geschieht. Darüber hinaus
+% fällt die Entscheidung, ob eine booklet- oder eine side-by-side-Ausgabe
+% erfolgen soll, schlicht über die Frage, ob das Makro \cs{Booklet} für
+% \LaTeX{} definiert ist oder nicht.
+%
+% Eine weitere Funktionalität stellt "`\texttt{pfarrei}.sty"' derzeit noch
+% nicht bereit. Hier sollen allerdings in naher Zukunft einige Dinge
+% implementiert werden, die Christian Justen in seinem Artikel ebenfalls
+% erwähnt hat.
+%
+% \StopEventually{}
+%
+% \iffalse^^A meta-comment
+%</dtx|doc>
+% \fi^^A meta-comment
+%
+% \section{Implementierung der \LaTeX-Seite}
+%
+% \iffalse^^A meta-comment
+%<*tex>
+% \fi^^A meta-comment
+%
+% \subsection{Das \LaTeX-Dokument "`\texttt{a5toa4.tex}"'}
+%
+% \iffalse^^A meta-comment
+%<*a5toa4>
+% \fi^^A meta-comment
+%
+% Das ist wirklich geradezu trivial:
+% \begin{macrocode}
+\documentclass[a4paper,landscape]{article}
+\usepackage{pfarrei}
+\begin{document}
+\AvToAiv
+\end{document}
+% \end{macrocode}
+% Das war es schon.
+%
+% \iffalse^^A meta-comment
+%</a5toa4>
+% \fi^^A meta-comment
+%
+% \subsection{Das \LaTeX-Paket "`\texttt{pfarrei}"'}
+%
+% \iffalse^^A meta-comment
+%<*package>
+% \fi^^A meta-comment
+%
+% Als erstes werden die Optionen ausgeführt (obwohl es noch keine gibt):
+% \begin{macrocode}
+\ProcessOptions*
+% \end{macrocode}
+% Dann benötigen wir ein paar Pakete:
+% \begin{macrocode}
+\RequirePackage{ifpdf}
+\RequirePackage{pdfpages}
+% \end{macrocode}
+% \begin{macro}{\AvToAiv}
+% Der Name des Makros kommt von \texttt{a5toa4}. Es muss sichergestellt sein,
+% dass dies im PDF-Modus verwendet wird.
+% \begin{macrocode}
+\newcommand*{\AvToAiv}{%
+ \ifpdf\else
+ \PackageError{pfarrei}{PDF mode needed}{%
+ a5toa4 needs the direct PDF mode.\MessageBreak
+ Usually this may be activated using either pdflatex, lualatex or
+ xelatex.%
+ }%
+ \input{x.tex}
+ \fi
+ \@ifundefined{Booklet}{%
+ \includepdf[pages=-,nup=2x1]{\OriginalFile}%
+ }{%
+ \includepdf[pages=-,booklet]{\OriginalFile}%
+ }%
+}
+% \end{macrocode}
+% \end{macro}^^A \AvToAiv
+%
+% \iffalse^^A meta-comment
+%</package>
+% \fi^^A meta-comment
+%
+%
+% \iffalse^^A meta-comment
+%</tex>
+% \fi^^A meta-comment
+%
+% \section{Implementierung der Skripten}
+%
+% \iffalse^^A meta-comment
+%<*lua>
+% \fi^^A meta-comment
+%
+% \subsection{Der kleine Wrapper "`\texttt{a5toa4.tlu}"'}
+%
+% \iffalse^^A meta-comment
+%<*a5toa4>
+% \fi^^A meta-comment
+% \begin{macrocode}
+-- $Id: pfarrei.dtx 20 2013-03-10 14:19:06Z mjk $
+
+kpse.set_program_name(arg[-1], 'a5toa4')
+require('pfarrei')
+% \end{macrocode}
+% \iffalse^^A meta-comment
+%</a5toa4>
+% \fi^^A meta-comment
+%
+% \subsection{Das Haupt-Skript "`\texttt{pfarrei.tlu}"'}
+%
+% \iffalse^^A meta-comment
+%<*pfarrei>
+% \fi^^A meta-comment
+% \begin{macrocode}
+local version_number = string.sub( '$Revision: 20 $', 12, -2 )
+local action_version = ' r' .. version_number .. '\n' .. [[
+
+Copyright (c) 2013 Markus Kohm.
+License: lppl 1.3c or later. See <http://www.latex-project.org/lppl.txt>.
+]]
+local action_help = [[
+action options:
+
+ -h, --help Print this help message.
+ -V, --version Print the version information.
+
+processing options:
+ -b, --booklet Generate a booklet instead of only two pages side by
+ side onto one page. The whole booklet will be one
+ signature.
+ -s, --sidebyside Generate only two pages side by side onto one page
+ instead of a booklet.
+ -o, --overwrite Write the output to the <PDF file> instead of appending
+ "-sidebyside.pdf" or "--booklet.pdf" to the basename
+ of <PDF file>
+]]
+local action_opts = {
+ ['-h'] = 'help',
+ ['--help'] = 'help',
+ ['-V'] = 'version',
+ ['--version'] = 'version',
+}
+local processing_opts = {
+ ['-b'] = 'booklet',
+ ['--booklet'] = 'booklet',
+ ['-s'] = 'sidebyside',
+ ['--sidebyside'] = 'sidebyside',
+ ['-o'] = 'overwrite',
+ ['--overwrite'] = 'overwrite'
+}
+
+-- detect action options and do action
+local i = 1
+local action
+while arg[i] do
+ action = action_opts[arg[i]]
+ i = i+1
+ if action == 'help' then
+ print( arg[0]..action_version );
+ print( 'Usage: ' .. arg[0] .. ' <action option>' )
+ print( ' ' .. arg[0] .. ' [<processing options>] <PDF file> ...\n' )
+ print( action_help );
+ os.exit( 0 );
+ elseif action == 'version' then
+ print( arg[0] .. action_version );
+ os.exit( 0 );
+ end
+end
+
+-- process options and parameters
+local booklet = false
+local overwrite = false
+i = 1
+while arg[i] do
+ action = processing_opts[arg[i]]
+ if action == 'booklet' then booklet = true
+ elseif action == 'sidebyside' then booklet = false
+ elseif action == 'overwrite' then overwrite = true
+ elseif action == nil then
+ -- build the temporary tex file
+ local tmpdir = os.tmpdir("pfarrei.XXXXXX" )
+ local tmpfile = string.match( arg[i], '.*/(.*)$') or arg[i]
+ local basename = string.match( tmpfile,'(.*)%.[^.]*$') or tmpfile
+ tmpfile = tmpdir..'/'..basename..'.tex'
+ local file = assert( io.open( tmpfile, 'w' ) )
+ if booklet then assert( file:write("\\def\\Booklet{}\n") ) end
+ assert( file:write("\\def\\OriginalFile{",arg[i],"}\n") )
+ assert( file:write("\\input{a5toa4.tex}\n") )
+ assert( file:flush() )
+ file:close()
+ -- call pdflatex
+ assert( os.execute( 'pdflatex -interaction=batchmode -output-directory='..tmpdir..' '..tmpfile ) )
+ -- copy the resulting pdf file
+ local srcfile = assert( io.open( tmpdir..'/'..basename..'.pdf', 'rb' ) )
+ if overwrite
+ then
+ tmpfile = arg[i]
+ else
+ tmpfile = string.match( arg[i], '(.*)%.[^.]*$' ) or arg[i]
+ if booklet
+ then
+ tmpfile = tmpfile..'-booklet.pdf'
+ else
+ tmpfile = tmpfile..'-sidebyside.pdf'
+ end
+ end
+ local destfile = assert( io.open( tmpfile, 'wb' ) )
+ local buffer
+ while true do
+ buffer = srcfile:read(8388608)
+ if buffer==nil then break end
+ assert( destfile:write(buffer) )
+ end
+ assert( destfile:close() )
+ srcfile:close()
+ tmpfile=tmpdir..'/'..basename
+ os.remove( tmpfile..'.aux' )
+ os.remove( tmpfile..'.tex' )
+ os.remove( tmpfile..'.log' )
+ os.remove( tmpfile..'.pdf' )
+ os.remove( tmpdir )
+ overwrite = false
+ end
+ i=i+1
+end
+% \end{macrocode}
+% \iffalse^^A meta-comment
+%</pfarrei>
+% \fi^^A meta-comment
+%
+% \iffalse^^A meta-comment
+%</lua>
+% \fi^^A meta-comment
+%
+% \Finale
+%
+\endinput
+%
+% end of file `pfarrei.dtx'
+%
+%%% Local Variables:
+%%% mode: doctex
+%%% mode: flyspell
+%%% ispell-local-dictionary: "de_DE"
+%%% TeX-master: t
+%%% End:
+
diff --git a/Master/texmf-dist/tex/latex/pfarrei/a5toa4.tex b/Master/texmf-dist/tex/latex/pfarrei/a5toa4.tex
new file mode 100644
index 00000000000..6fda799e025
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/pfarrei/a5toa4.tex
@@ -0,0 +1,47 @@
+%%
+%% This is file `a5toa4.tex',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% pfarrei.dtx (with options: `a5toa4,tex')
+%%
+%% Copyright (c) 2013 Markus Kohm
+%% komascript at gmx info
+%%
+%% This file was generated from file(s) of the work `pfarrei'.
+%% ------------------------------------------------------------------
+%%
+%% It may be distributed under the conditions of the
+%% LaTeX Project Public License in the version distributed together
+%% with the work `pfarrei'. You may however distribute the work
+%% `pfarrei' without all such generated files. See also
+%% <http://www.latex-project.org/lppl.txt> for additional
+%% information.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Markus Kohm.
+%%
+%% The list of files belonging to the work `pfarrei' is given in
+%% the file `pfarrei.dtx'.
+%%
+\begingroup
+ \def\revisiondate$#1: #2-#3-#4 #5${%
+ \gdef\pfarreirevisiondate{#2/#3/#4}%
+ }\revisiondate$Date: 2013-03-10 15:19:06 +0100 (So, 10 M^^c3^^a4r 2013) $
+ \def\revision$#1: #2 #3${%
+ \gdef\pfarreirevision{#2}%
+ }\revision$Revision: 20 $
+\endgroup
+\ProvidesFile{a5toa4.tex}
+ [\pfarreirevisiondate\space r\pfarreirevision LaTeX2e package
+ (for priests)]
+\documentclass[a4paper,landscape]{article}
+\usepackage{pfarrei}
+\begin{document}
+\AvToAiv
+\end{document}
+\endinput
+%%
+%% End of file `a5toa4.tex'.
diff --git a/Master/texmf-dist/tex/latex/pfarrei/pfarrei.sty b/Master/texmf-dist/tex/latex/pfarrei/pfarrei.sty
new file mode 100644
index 00000000000..34b5cba0a26
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/pfarrei/pfarrei.sty
@@ -0,0 +1,60 @@
+%%
+%% This is file `pfarrei.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% pfarrei.dtx (with options: `package,tex')
+%%
+%% Copyright (c) 2013 Markus Kohm
+%% komascript at gmx info
+%%
+%% This file was generated from file(s) of the work `pfarrei'.
+%% ------------------------------------------------------------------
+%%
+%% It may be distributed under the conditions of the
+%% LaTeX Project Public License in the version distributed together
+%% with the work `pfarrei'. You may however distribute the work
+%% `pfarrei' without all such generated files. See also
+%% <http://www.latex-project.org/lppl.txt> for additional
+%% information.
+%%
+%% This work has the LPPL maintenance status `maintained'.
+%%
+%% The Current Maintainer of this work is Markus Kohm.
+%%
+%% The list of files belonging to the work `pfarrei' is given in
+%% the file `pfarrei.dtx'.
+%%
+\begingroup
+ \def\revisiondate$#1: #2-#3-#4 #5${%
+ \gdef\pfarreirevisiondate{#2/#3/#4}%
+ }\revisiondate$Date: 2013-03-10 15:19:06 +0100 (So, 10 M^^c3^^a4r 2013) $
+ \def\revision$#1: #2 #3${%
+ \gdef\pfarreirevision{#2}%
+ }\revision$Revision: 20 $
+\endgroup
+\ProvidesPackage{pfarrei.sty}
+ [\pfarreirevisiondate\space r\pfarreirevision LaTeX2e package
+ (for priests)]
+\ProcessOptions*
+\RequirePackage{ifpdf}
+\RequirePackage{pdfpages}
+\newcommand*{\AvToAiv}{%
+ \ifpdf\else
+ \PackageError{pfarrei}{PDF mode needed}{%
+ a5toa4 needs the direct PDF mode.\MessageBreak
+ Usually this may be activated using either pdflatex, lualatex or
+ xelatex.%
+ }%
+ \input{x.tex}
+ \fi
+ \@ifundefined{Booklet}{%
+ \includepdf[pages=-,nup=2x1]{\OriginalFile}%
+ }{%
+ \includepdf[pages=-,booklet]{\OriginalFile}%
+ }%
+}
+\endinput
+%%
+%% End of file `pfarrei.sty'.