diff options
Diffstat (limited to 'language/tibetan/pecha/pecha.cls')
-rw-r--r-- | language/tibetan/pecha/pecha.cls | 740 |
1 files changed, 740 insertions, 0 deletions
diff --git a/language/tibetan/pecha/pecha.cls b/language/tibetan/pecha/pecha.cls new file mode 100644 index 0000000000..0507186eff --- /dev/null +++ b/language/tibetan/pecha/pecha.cls @@ -0,0 +1,740 @@ +%\iffalse (Meta-Kommentar) +% Eine Klasse zur Erstellung von Tibetischen Texten mit \TibTeX +% \fi +% \title{Eine \LaTeX2e~Klasse zur Erstellung tibetischer Texte mit \TibTeX} +% \author{Dieter Jäger} +% Version 0.1 - 10.11.2004 +% Copyright 2004 by Dieter Jäger +% License: GPL + +\ProvidesClass{pecha}[2004/11/10 v0.1 Tibetan Pecha document class] +\NeedsTeXFormat{LaTeX2e} +% Tibetan language package +\RequirePackage{ctib} + +% This is needed to be able to do the margin texts +\RequirePackage{rotating} + + +% Set page dimensons +% All the page sizes from the standard classes +% But a5 or b5 may not be very usefull + +\DeclareOption{a4pecha3} + {\setlength\paperwidth {297mm} + \setlength\paperheight {70mm}} +\DeclareOption{a4pecha2} + {\setlength\paperwidth {297mm} + \setlength\paperheight {140mm}} +\DeclareOption{a4paper} + {\setlength\paperwidth {297mm}% + \setlength\paperheight {210mm}} +\DeclareOption{a5pecha3} + {\setlength\paperwidth {210mm}% + \setlength\paperheight {47mm}} +\DeclareOption{a5pecha2} + {\setlength\paperwidth {210mm}% + \setlength\paperheight {74mm}} +\DeclareOption{a5paper} + {\setlength\paperwidth {210mm}% + \setlength\paperheight {148mm}} +\DeclareOption{b5pecha3} + {\setlength\paperwidth {250mm}% + \setlength\paperheight {49.3mm}} +\DeclareOption{b5pecha2} + {\setlength\paperwidth {250mm}% + \setlength\paperheight {74mm}} +\DeclareOption{b5pecha3} + {\setlength\paperwidth {250mm}% + \setlength\paperheight {58.67mm}} +\DeclareOption{b5pecha2} + {\setlength\paperwidth {250mm}% + \setlength\paperheight {88mm}} +\DeclareOption{b5paper} + {\setlength\paperwidth {250mm}% + \setlength\paperheight {176mm}} +\DeclareOption{letterpecha3} + {\setlength\paperwidth {11in}% + \setlength\paperheight {2.83in}} +\DeclareOption{letterpecha2} + {\setlength\paperwidth {11in}% + \setlength\paperheight {4.25in}} +\DeclareOption{letterpaper} + {\setlength\paperwidth {11in}% + \setlength\paperheight {8.5in}} +\DeclareOption{legalpecha3} + {\setlength\paperwidth {14in}% + \setlength\paperheight {2.83in}} +\DeclareOption{legalpecha2} + {\setlength\paperwidth {14in}% + \setlength\paperheight {4.25in}} +\DeclareOption{legalpaper} + {\setlength\paperwidth {14in}% + \setlength\paperheight {8.5in}} +\DeclareOption{executivepaper} + {\setlength\paperwidth {10.5in}% + \setlength\paperheight {2.42in}} +\DeclareOption{executivepaper} + {\setlength\paperwidth {10.5in}% + \setlength\paperheight {3.625in}} +\DeclareOption{executivepaper} + {\setlength\paperwidth {10.5in}% + \setlength\paperheight {7.25in}} + +% This is from the book class +% May be changed in future ... +\newcommand\@ptsize{0} +\DeclareOption{8pt}{\renewcommand\@ptsize{8}} +\DeclareOption{9pt}{\renewcommand\@ptsize{9}} +\DeclareOption{10pt}{\renewcommand\@ptsize{0}} +\DeclareOption{11pt}{\renewcommand\@ptsize{1}} +\DeclareOption{12pt}{\renewcommand\@ptsize{2}} + +\@lowpenalty 51 +\@medpenalty 151 +\@highpenalty 301 + +%\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} +%\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} +%\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} +%\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} +%\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} +%\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} +%\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} +%\DeclareRobustCommand*\cal{\@fontswitch\relax\mathcal} +%\DeclareRobustCommand*\mit{\@fontswitch\relax\mathnormal} + + +% option "rotate", standard: do not do that +% If set the class will rotate the even pages by 180 degrees +\newif\if@pecharotate +\@pecharotatefalse + +% standard page frame, using double lines +\def\@pageframe#1{\@doubleframe{#1}} +\newif\if@fsingle +\@fsinglefalse +\newif\if@ffancy +\@ffancyfalse + +\newlength\@rulers + +\DeclareOption{rotate}{\@pecharotatetrue} +\DeclareOption{fancyframe}{ + \global\@fsingletrue\global\@ffancytrue + \global\def\@pageframe#1{\@fancyframe{#1}} +} +\DeclareOption{doubleframe}{\@fsinglefalse \global\@rulers=9.2pt \global\def\@pageframe#1{\@doubleframe{#1}}} +\DeclareOption{simplefram}{\global\@rulers=1.6pt \global\def\@pageframe#1{\@fsingletrue \@singleframe{#1}}} + +% The pageheight can be adjusted a little bit +\newlength\pecha@pheight +\DeclareOption{narrowpage}{\setlength\pecha@pheight{26ex}} +\DeclareOption{mediumpage}{\setlength\pecha@pheight{28ex}} +\DeclareOption{widepage}{\setlength\pecha@pheight{33ex}} +\DeclareOption{extrawide}{\setlength\pecha@pheight{36ex}} + +\newif\if@septitle +\@septitlefalse +\DeclareOption{septitle}{\global\@septitletrue} + +\ExecuteOptions{doubleframe,letterpaper,10pt,mediumpage} +\ProcessOptions + + +\renewcommand{\baselinestretch}{0.7} +\ifnum\@ptsize < 3 + \input{bk1\@ptsize.clo} + \setlength\lineskip{1\p@} + \setlength\normallineskip{1\p@} +% \renewcommand\baselinestretch{} + \setlength\parskip{0\p@ \@plus \p@} +\else + \input{size\@ptsize.clo} + \setlength\lineskip{\p@} + \setlength\normallineskip{\p@} +% \renewcommand\baselinestretch{} + \setlength\parskip{\p@} +\fi + + +\ifx\pdftexversion\undefined + \special{papersize=\the\paperwidth,\the\paperheight} + \special{! /landplus90 true store} +\else + \setlength\pdfpagewidth{\paperwidth} + \setlength\pdfpageheight{\paperheight} + \RequirePackage{times} +\fi + +\setlength{\textheight}{\pecha@pheight} + +\newlength{\@marginht} +\newlength{\@margindp} +\newlength{\@marginsep} + +\newlength{\@pechadim} +\newlength{\@titledim} +\newlength{\@pechawidth} +\newlength{\@@textwidth} % speichert Textbreit für fancy +\newlength{\@titlewidth} +\newlength{\pechamargin} +\setlength{\pechamargin}{0.6in} + +\newcounter{pechasheet} +\setcounter{pechasheet}{\@ne} +\@marginht 3ex +\@margindp 1ex + +\@pechadim 6em % Abstand zu den Rändern +\advance\@pechadim by \@rulers % Summe der dicke aller vertikalen Linien +\advance\@pechadim by 2\@marginht % Höhe der Randboxen +\advance\@pechadim by 2\@margindp % Tiefe der Randboxen + +\textwidth\paperwidth +\advance\textwidth by - 2\pechamargin % Abstand zu Papierrand, 0.6in beidseitig +\@pechawidth\textwidth +\@titledim 0.2\textwidth +\advance\textwidth by - \@pechadim + +\@titlewidth\textwidth +\advance\@titlewidth by - \@titledim + +\@@textwidth=\textwidth +\if@ffancy + \advance\textwidth by - 12em % fancy Rahmen haben breite Ränder +\fi + +\headheight 0pt +\headsep 0pt +\marginparsep 0pt +\marginparwidth 0pt +\footskip 0pt +\marginparpush 0pt + +\topmargin \paperheight +\advance\topmargin by - \textheight +\advance\topmargin by -0.5 \topmargin +\advance\topmargin by - 1.1in +%\advance\topmargin by - 1.2in + +\oddsidemargin \paperwidth +\advance \oddsidemargin by - \@pechawidth +\advance \oddsidemargin by - 0.5 \oddsidemargin +%\advance \oddsidemargin by - 1in +\advance \oddsidemargin by - 1.5\pechamargin +\evensidemargin \oddsidemargin + +\pagenumbering{arabic} +\sloppy +%\raggedright +\parindent=0pt +\parskip12pt + +% Some dimensons I will need + +\newbox\@pbox +\newbox\@obox + + + +% Some usefull and simple macros +\newcommand{\tibsmall}[1]{{\footnotesize \begin{tib} #1\end{tib}}} + + +% Translate numerals from 1 to 99 into words +% numeraly >=100 stay as is +\def\tibnumeral#1{ +\ifnum #1<100 + \ifcase #1 + % 1-10 + \or gcig \or gnyis \or gsum \or bzhi \or lnga + \or drug \or bdun \or b-rgyad \or dgu + \or bcu + % 11-20 + \or {bcu gcig} \or {bcu gnyis} \or {bcu gsum} \or {bcu bzhi} \or {bco lnga} + \or {bcu drug} \or {bcu bdun} \or {bco b-rgyad} \or {bcu dgu} \or {nyi zhu} + % 21 - 30 + \or {nyi zhu tsa gcig} \or {nyi zhu tsa gnyis} \or {nyi zhu tsa gsum} + \or {nyi zhu tsa bzhi} \or {nyi zhu tse lnga} \or {nyi zhu tsa drug} + \or {nyi zhu tsa bdun} \or {nyi zhu tsa b-rgyad} \or {nyi zhu tsa dgu} + \or {gsum bcu} + % 31 - 40 + \or {gsum bcu so gcig} \or {gsum bcu so gnyis} \or {gsum bcu so gsum} + \or {gsum bcu so bzhi} \or {gsum bcu so lnga} \or {gsum bcu so drug} + \or {gsum bcu so bdun} \or {gsum bcu so b-rgyad} \or {gsum bcu so dgu} + \or {bzhi bcu} + % 41 - 50 + \or {bzhi bcu zhe gcig} \or {bzhi bcu zhe gnyis} \or {bzhi bcu zhe gsum} + \or {bzhi bcu zhe bzhi} \or {bzhi bcu zhe lnga} \or {bzhi bcu zhe drug} + \or {bzhi bcu zhe bdun} \or {bzhi bcu zhe b-rgyad} \or {bzhi bcu zhe dgu} + \or {lnga bcu} + % 51 - 60 + \or {lnga bcu nga gcig} \or {lnga bcu nga gnyis} \or {lnga bcu nga gsum} + \or {lnga bcu nga bzhi} \or {lnga bcu nge lnga} \or {lnga bcu nga drug} + \or {lnga bcu nga bdun} \or {lnga bcu nga b-rgyad} \or {lnga bcu nga dgu} + \or {drug bcu} + % 61 - 70 + \or {drug bcu re gcig} \or {drug bcu re gnyis} \or {drug bcu re gsum} + \or {drug bcu re bzhi} \or {drug bcu re lnga} \or {drug bcu re drug} + \or {drug bcu re bdun} \or {drug bcu re b-rgyad} \or {drug bcu re dgu} + \or {bdun bcu} + % 71 - 80 + \or {bdun bcu don gcig} \or {bdun bcu don gnyis} \or {bdun bcu don gsum} + \or {bdun bcu don bzhi} \or {bdun bcu don lnga} \or {bdun bcu don drug} + \or {bdun bcu don bdun} \or {bdun bcu don b-rgyad} \or {bdun bcu don dgu} + \or {b-rgyad bcu} + % 81 -90 + \or {b-rgyad bcu rgya gcig} \or {b-rgyad bcu rgya gnyis} + \or {b-rgyad bcu rgya gsum} + \or {b-rgyad bcu rgya bzhi} \or {b-rgyad bcu rgya lnga} + \or {b-rgyad bcu rgya drug} + \or {b-rgyad bcu rgya bdun} \or {b-rgyad bcu rgya b-rgyad} + \or {b-rgyad bcu rgya dgu} + \or {dgu bcu} + % 91 - 99 + \or {dgu bcu go gcig} \or {dgu bcu go gnyis} \or {dgu bcu go gsum} + \or {dgu bcu go bzhi} \or {dgu bcu go lnga} \or {dgu bcu go drug} + \or {dgu bcu go bdun} \or {dgu bcu go b-rgyad} \or {dgu bcu go dgu} + \fi +\else + #1 +\fi +} + +% Makros to create the right and left margin texts + +\def\@oleft{} +\def\@@oleft{} +\def\@eleft{} +\def\@eright{} +\def\@oright{} +\def\@oddright{} +\def\@evenright{} +\def\@evenleft{} +\def\@oddleft{} +\def\@theleft{} +\def\@theright{} + +\newcommand{\oddleft}[2]{\global\def\@oleft{#1}\global\def\@@oleft{#2}} +\newcommand{\oddright}[1]{\global\def\@oright{#1}} +\newcommand{\evenleft}[1]{\global\def\@eleft{#1}} +\newcommand{\evenright}[1]{\global\def\@eright{#1}} + + +% Print a title page (default: none) +\newif\if@pechatitle +\@pechatitlefalse + + +% Title page (similar to book.cls) +\def\title#1{\gdef\@title{#1}} +\def\@title{\@latex@error{No \noexpand\title given}\@ehc} + +% vertical double line +\def\@doubleruler{\vrule\kern1.5pt\vrule} + + +% ignore standard chapter marks +\newcommand{\paragraph}[1]{} +\newcommand{\subparagraph}[1]{} +\newcommand{\section}[1]{\medskip} +\newcommand{\subsection}[1]{} +\newcommand{\subsubsection}[1]{} +\newcommand{\chapter}[1]{\bigskip} +\newcommand{\part}[1]{\bigskip} + +\newcommand{\newsheet}{\clearpage\ifodd\c@page\else + \hbox{}\newpage\fi} + +% Titlepage environment +\newenvironment{titlepage}{% + \newsheet + \setcounter{page}\@ne +}% +{% + \if@septitle + \newsheet + \setcounter{page}\@ne + \setcounter{pechasheet}{\@ne} + \else + \newpage + \fi +} + +% Print a title page with the typical frame +\newcommand{\maketitle} +{ + \global\@pechatitletrue + \setbox\@pbox\hbox{\parbox{\@titlewidth}{\begin{center}\@title\par\end{center}}} + % Beautify short titles + %\ifdim\ht\@pbox < 2.5ex \ht\@pbox=2.5ex \dp\@pbox=1.25ex\fi + % Calculate offsets to center the title page + \setlength\@tempdima{\textwidth} + \advance\@tempdima by - 12pt + \advance\@tempdima by - 10em + \advance\@tempdima by - \wd\@pbox + \advance\@tempdima by - 0.5\@tempdima + \ifdim\@tempdima < 0em \setlength\@tempdima{0em}\fi + \setlength\@tempdimb{\textheight} + \advance\@tempdimb - 4pt + \advance\@tempdimb - 5em + \advance\@tempdimb by - \ht\@pbox + \advance\@tempdimb by - \dp\@pbox + \advance\@tempdimb by - 0.5 \@tempdimb + \ifdim\@tempdimb < 0em \setlength\@tempdimb{0em}\fi + \begin{titlepage} + \hbox{ + \kern\@tempdima + \vbox{% + \kern\@tempdimb + \hrule + \hbox{% + \vrule\kern1.5pt + \vbox{\kern1.5pt\hrule + \hbox{\vrule + \if@septitle + \kern2em + \else + \pecha@numtitle + \fi + \vbox{\kern2.5em\hrule + \hbox{\vrule\kern1.5pt + \vbox{\kern1.5pt\hrule + \hbox{\vrule\kern4em\@doubleruler\kern2em\@doubleruler + \kern1em\box\@pbox\kern1ex + \@doubleruler\kern2em\@doubleruler\kern4em\vrule + } + \hrule\kern1.5pt}\kern1.5pt\vrule + }\hrule\kern2.5em + }\kern2.5em\vrule + }\hrule\kern1.5pt + }\kern1.5pt\vrule + }\hrule\vfill + }\hfill + } + \end{titlepage} +} + +% print sheet number on title page + +\def\pecha@numtitle{ + \setlength{\@tempdimc}{\textheight} + \advance \@tempdimc by - 2\@tempdimb + \advance \@tempdimc by - 1em + \if@septitle + \else + \setbox\@obox\hbox{ + \hbox to \@tempdimc{ + \scriptsize\tib\@oleft~\hss\tib\tibnumeral{\thepechasheet}\hss\@@oleft + }} + \ht\@obox=\@marginht + \dp\@obox=\@margindp + \kern\dp\@obox + \begin{turn}{-90} + \kern-\@tempdimc\kern-0.8em\box\@obox + \end{turn} + \fi +} + +\def\pecha@titlepage#1{ + \box#1 + \global\@pechatitlefalse +} + + +% The left "header" on odd pages +\def\@oddleft{% + \setbox\@pbox\hbox{ + \hbox to \textheight{ + \scriptsize\tib\@oleft\hss\tib\tibnumeral{\thepechasheet}\hss\@@oleft + }} + \ht\@pbox=\@marginht + \dp\@pbox=\@margindp + \begin{turn}{-90} + \kern-\textheight\kern-1em\box\@pbox + \end{turn} +} + +% the left "header" on even pages +\def\@evenleft{% + \setbox\@pbox\hbox{ + \hskip-\textheight\kern-1em\hbox to \textheight{ + \scriptsize\tib\hss\@eleft\hss + } + } + \ht\@pbox=\@marginht + \dp\@pbox=\@margindp + \begin{turn}{-90} + \box\@pbox + \end{turn} +} + +% The right "header" on odd pages +\def\@oddright{% + \setbox\@pbox\hbox{ + \hbox to \textheight{ + \footnotesize\hss\kern1em\@oright\hss}} + \ht\@pbox=\@marginht + \dp\@pbox=\@margindp + \begin{turn}{90} + \box\@pbox + \end{turn} +} + +% The right "header" on even pages +\def\@evenright{% + \setbox\@pbox\hbox{ + \hbox to \textheight + {\footnotesize\hss\kern1em\@eright\hss}} + \ht\@pbox=\@marginht + \dp\@pbox=\@margindp + \begin{turn}{90} + \box\@pbox + \end{turn} +} + +% The left "header" on odd pages +\def\@oddfancy{ + \setbox\@pbox\hbox{ + \hbox to \textheight{ + \footnotesize\tib\@oleft\hss\tibnumeral{\thepechasheet}\hss\@@oleft + }} + \ht\@pbox=\@marginht + \dp\@pbox=\@margindp + \begin{turn}{-90} + \hskip-\textheight\kern-1em\box\@pbox + \end{turn} +} + +% the left "header" on even pages +\def\@evenfancy{ + \setbox\@pbox\hbox{ + \hskip-\textheight\kern-1em\hbox to \textheight{ + \footnotesize\tib\hss\@eleft\hss\ + } + } + \ht\@pbox=\@marginht + \dp\@pbox=\@margindp + \begin{turn}{-90} + \box\@pbox + \end{turn} + +} + + +% section{Die Ausgabefunktionen} +% Um die Pecha-typischen Textrahmen zu erzeugen, wurde die +% LaTeX Ausgaberoutine umgeschrieben. +% Kopf- und Fußzeilen machen bei Pechas keinen Sinn, +% deshalb werden sie ausgelassen. +% Dafür übernehmen die linken und rechten Ränder +% eine ähnliche Funktion. +% +% Klassenoptionen: +% Seiten können derzeit in drei unterschiedlichen +% Stilen ausgegeben werden: +% Mit folgenden Klassenoptionen kann die Ausgabe +% beeinflußt werden: +% doubleframe +% Wird von dieser Klasse als Standardrahmen verwendet. +% Der Textrahmen besteht aus einer Doppellinie. +% singleframe +% Entspricht eher dem originalen tibetischen Stil: +% Der Text wird von einem einfachen Textrahmen umgeben. +% fancyframe +% Diese Option kann mit einer der vorangehenden Optionen +% kombiniert werden. Sie bewirkt, daß die ersten drei +% Seiten von einem besonderen Rahmen umgeben werden. +% Die restlichen Seiten werden mit doppeltem oder +% einfachen Rahmen ausgegeben. +% +% Die Seiten werden mit Hilfe des geometry-Pakets korrekt +% auf die Mitte des Blattes positioniert. +% Auch der linke Offset für die Buchbindung +% muß wieder abgezogen werden, damit die Seiten +% auf Vor- und Rückseite gleich positioniert werden. +% +% Das Paket "rotating" wird benutzt, um die +% Randzeilen hochkant darzustellen. +% Außerdem ermöglicht die Klassenoption "rotate" es, +% jede gerade Seite um 180 Grad gedreht darzustellen, +% was beim Ausdruck auf Duplexdruckern hilfreich sein kann. + +% |@doubleframe| +% Dieses Makro erzeugt einen pechatypischen Doppelrahmen +% um die Textbox in Argument #1 +\def\@doubleframe#1{ + \hbox{\vrule %left outer line + \vbox{\hrule\kern1.5pt % top outer line + \hbox{\kern1.5pt\vrule % left inner line + \vbox{\hrule % top inner line + \hbox{ + \vbox{ + \hbox{ + \@theleft % left box content + \@doubleruler\kern0.5em % left box inner margin + \vbox{ + \kern1.5ex + \box#1 + \kern1.5ex + } + %\kern0.5em + \@doubleruler % right box inner margin + \@theright} + } % right box content + }\hrule % right inner line + }\vrule\kern1.5pt % lower inner line + }\kern1.5pt\hrule % right outer line + }\vrule % lower outer line + } +} + +% |@singleframe| +% Dieses Makro erzeugt einen pechatypischen einfachen Rahmen +% um die Textbox in Argument #1 + +\def\@singleframe#1{ + \hbox{\vrule + \vbox{\hrule + \hbox{ + \vbox{ + \hbox{ + \@theleft + \vrule\kern0.5em + \vbox{ + \kern1.5ex + \box#1 + \kern1.5ex + } + %\kern0.5em + \vrule + \@theright}} + }\hrule + }\vrule + } +} + +% |@fancyframe| +% Dieses Makro erzeugt einen pechatypischen Rahmen +% um die Textbox in Argument #1. +% Hier wird auf den ersten ein besonderer Rahmen erstellt, +% alle folgenden Seiten werden je nach Option (simple,fancy oder +% standard,fancy) in einem einfachen oder einem doppelten Rahmen +% ausgegeben. +\def\@fancyframe#1{ +% \ifnum\thepage > 2 +% \global\@ffancyfalse +% \if@fsingle +% \global\def\@pageframe{\@singleframe#1} +% \else +% \global\def\@pageframe{\@doubleframe#1} +% \fi +% \global\addtolength\textwidth{-12em} +% \global\addtolength\linewidth{-12em} +% \fi + \hbox{\vrule + \vbox{\hrule\kern1.5pt + \hbox{\kern1.5pt\vrule + \vbox{\hrule\kern2em + \hbox{ + \ifodd\c@page + \@oddfancy + \else + \@evenfancy + \fi + \vrule + \vbox{\hrule\kern1.5pt + \hbox{\kern1.5pt + \vrule + \vbox{ + \hrule + \hbox{ + \kern4em\@doubleruler\kern2em\@doubleruler\kern0.5em + \vbox{ + %\kern0.5em + \box#1} + \@doubleruler\kern2em\@doubleruler\kern4em + } + \hrule + }\vrule\kern1.5pt + }\kern1.5pt\hrule + }\vrule\kern2em + }\kern2em\hrule + }\vrule\kern1.5pt + }\kern1.5pt\hrule + }\vrule + } +} + + +% |pecha@outputpage| +% Das ist die neu geschriebene Ausgaberoutine +% Derzeit kann sie folgendes: +% Ausgabe einer Titelseite (muß beim Pecha von hier aus geschehen) +% Ausgabe einer einfachen Textseite mit beliebigem Inhalt im +% Pecha-Doppelrahmen +% Ausgabe der linken Randzeilen im Pecha-Stil +% Ausgabe von rechten Randzeilen, voreingestellt +% auf die Seitennummer. Man kann geradseitige und +% ungeradseitige rechte können mit den Makros +% |\oddright| und |\evenright| unabhängig von einander +% eingestellt werden. + +\def\@outputpage{\pecha@outputpage} + +\def\pecha@outputpage{% + \begingroup + \let\protect\noexpand + \set@typeset@protect % otherwise fonts cannot be changed here + \reset@font + \normalsize + \normalsfcodes + \@parboxrestore + % a hack for empty pages: These need to be framed properly + \ifodd\count\z@ + \let\@themargin\oddsidemargin + \else + \let\@themargin\evensidemargin + \fi + \setbox\@outputbox\vbox{\hfil\box\@outputbox\hfil} + \if@pechatitle + \setbox\@outputbox\hbox{\pecha@titlepage{\@outputbox}} + \else + \ifodd\c@page + \let\@theleft\@oddleft + \let\@theright\@oddright + \setbox\@outputbox\hbox{\@pageframe{\@outputbox}} + \else + \let\@theleft\@evenleft + \let\@theright\@evenright + \if@pecharotate + \setbox\@outputbox\hbox{% + %\hskip3pt %I don't know why I do need this! + \begin{turn}{180} + \@pageframe{\@outputbox} + \end{turn} + } + \else + \setbox\@outputbox\hbox{\@pageframe{\@outputbox}} + \fi + \stepcounter{pechasheet} + \fi + \fi + \shipout\vbox{% + \let\label\@gobble + \let\index\@gobble + \let\glossary\@gobble + \baselineskip \footskip + \@begindvi + \vskip \topmargin + \moveright\@themargin + \box\@outputbox + } + \set@typeset@protect + \endgroup + \stepcounter{page}% +} + +\endinput + |