From d7dd51fd716e6c78e75e2e8bef4cade6ebaf58de Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Fri, 13 Jan 2006 00:02:16 +0000
Subject: pdfwin

git-svn-id: svn://tug.org/texlive/trunk@1185 c570f23f-e606-0410-a88d-b1316a301751
---
 Master/texmf-dist/tex/latex/pdfwin/pdfwin.sty | 2025 +++++++++++++++++++++++++
 1 file changed, 2025 insertions(+)
 create mode 100644 Master/texmf-dist/tex/latex/pdfwin/pdfwin.sty

(limited to 'Master/texmf-dist/tex/latex/pdfwin/pdfwin.sty')

diff --git a/Master/texmf-dist/tex/latex/pdfwin/pdfwin.sty b/Master/texmf-dist/tex/latex/pdfwin/pdfwin.sty
new file mode 100644
index 00000000000..36a140b3f6b
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/pdfwin/pdfwin.sty
@@ -0,0 +1,2025 @@
+%% -*- TeX -*-
+%% (top line is for WinEdt: TeX file)
+%%
+%% This is file `pdfwin.sty'. It provides three widely
+%% customizable windows for screen output of TeX documents.
+%%
+%% Copyright (C) 2001,02,03   Matthias M\"{u}hlich
+%%                            muehlich@iap.uni-frankfurt.de
+%%
+%% NOTES:
+%%  * I prefer readability to achieving maximum effectivity, i.e. I
+%%    tried to avoid macros like \hb@xt@, \z@, \p@ or \xixt@@n and
+%%    wrote \hbox to, 0, 1pt and 16 instead.
+%%  * The package "pdfscreen.sty" by C.V. Radhakrishnan provided a
+%%    nice inspiration of what is possible with pdf output - at least
+%%    if you use default configuration and are content with the
+%%    package and its many bugs.
+%%    The pdfwin package was completely coded from scratch and its
+%%    features and flexibility extend pdfscreen considerably. Only a
+%%    bug fix in "pdfscreen.sty" (provided by D. P. Story) and
+%%    some foreign language names were copied.
+%%
+%% This program may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.2
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%%   http://www.latex-project.org/lppl.txt
+%% and version 1.2 or later is part of all distributions of LaTeX
+%% version 1999/12/01 or later.
+%%
+%% History:
+%%   JAN-FEB 2001  1.0  MM  first version
+%%     JUL   2001  1.1  MM  I added some macros for a upcoming
+%%                          presentation at a conference
+%%   SEP-OCT 2001  1.2  MM  some cosmetics; adapted to a lecture script;
+%%                          chapterpanel functionality
+%%   MAR-APR 2003  1.3  MM  some functionality removed (temporarily);
+%%                          first official release
+%%
+%% =====================================================================
+%% This program package contains the following files:
+%%  * pdfwin.sty             style file
+%%                           (to be included with \UsePackage{pdfwin})
+%%  * pdfwin.cfg             configuration file (empty)
+%%  ------------------------------------------------------------------
+%%  * truncate.sty           style file not included in all LaTeX
+%%                           distributions; needed for panel TOC
+%%  ------------------------------------------------------------------
+%%  * Bucuresti2003.tex      sample document, main file
+%%  * Buc*.pdf               graphics for sample document
+%%  * marble.png             background graphics for sample document
+%%  * JWGU-Logo.png          logo of my university
+%%  * shortvec.tex           abbreviations for vectors and matrices
+%% =====================================================================
+%%
+%% feel free to experiment with the code! But remember:
+%% modification means change of filename (and be fair and give reference
+%% to the original author :-). See LaTeX Project Public
+%% License for details.
+%%
+%% please report bugs to: muehlich@iap.uni-frankfurt.de  Thanks!
+
+\NeedsTeXFormat{LaTeX2e}
+
+% ==============
+% identification
+% ==============
+%
+\ProvidesPackage{pdfwin}%
+  [2003/04/04 v1.3   This is package pdfwin. It provides widely %
+  customizable windows for screen output of TeX documents.]
+
+% =================
+% required packages
+% =================
+%
+% NOTE: all packages listed here are standard packages.
+% However, if paneltoc is activated you have to get
+% truncate.sty from CTAN (e.g. ftp://ftp.dante.de/tex-archive)
+\RequirePackage{amssymb}     % black triangles
+\RequirePackage{keyval}      % user interface
+\RequirePackage{graphicx}
+\RequirePackage{color}
+
+% ========================
+% preliminary declarations
+% ========================
+%
+\newif\if@nocfg            \@nocfgfalse
+\newif\if@paneltoc         \@paneltocfalse
+\newif\if@chapterpanel     \@chapterpanelfalse
+\newif\if@coloremph        \@coloremphfalse
+\newif\if@pdftexdriver     \@pdftexdriverfalse
+%
+\def\PDFWIN@Warning#1{\PackageWarning{pdfwin}{#1}}
+\def\PDFWIN@Info#1{\PackageInfo{pdfwin}{#1}}
+\def\PDFWIN@Error#1#2{\PackageError{pdfwin}{#1}{#2}}
+\def\PDFWIN@langwarn#1{\PackageWarningNoLine{pdfwin}{%
+    Sorry, language `#1' not supported\MessageBreak%
+    in this version. English strings are used instead.\MessageBreak%
+    However you can give all the strings in the pdfwin.cfg\MessageBreak%
+    file which will be read by the package. \MessageBreak\MessageBreak%
+    If you can suggest translations for this language,\MessageBreak%
+    please mail them to the author of this package}}
+%
+\def\paneltitlepagename#1{\gdef\@Paneltitlepagename{#1}}
+\def\panelabstractname#1{\gdef\@Panelabstractname{#1}}
+\def\panelcontentsname#1{\gdef\@Panelcontentsname{#1}}
+\def\panelindexname#1{\gdef\@Panelindexname{#1}}
+\def\panelhomepagename#1{\gdef\@Panelhomepagename{#1}}
+\def\panelfullscreenname#1{\gdef\@Panelfullscreenname{#1}}
+\def\panelgobackname#1{\gdef\@Panelgobackname{#1}}
+\def\panelgoforwardname#1{\gdef\@Panelgoforwardname{#1}}
+\def\panelsearchname#1{\gdef\@Panelsearchname{#1}}
+\def\panelquitname#1{\gdef\@Panelquitname{#1}}
+\def\panelclosename#1{\gdef\@Panelclosename{#1}}
+\def\panelpagename#1{\gdef\@Panelpagename{#1}}
+\def\panelofname#1{\gdef\@Panelofname{#1}}
+\let\@Paneltitlepagename\@empty
+\let\@Panelabstractname\@empty
+\let\@Panelcontentsname\@empty
+\let\@Panelindexname\@empty
+\let\@Panelhomepagename\@empty
+\let\@Panelfullscreenname\@empty
+\let\@Panelgobackname\@empty
+\let\@Panelgoforwardname\@empty
+\let\@Panelsearchname\@empty
+\let\@Panelquitname\@empty
+\let\@Panelclosename\@empty
+\let\@Panelpagename\@empty
+\let\@Panelofname\@empty
+
+% =================================
+% option declaration and processing
+% =================================
+%
+\DeclareOption{nocfg}{\@nocfgtrue}
+\DeclareOption{paneltoc}{\@paneltoctrue}
+\DeclareOption{chapterpanel}{\@chapterpaneltrue}
+\DeclareOption{coloremph}{\@coloremphtrue}
+\DeclareOption{pdftex}{\@pdftexdrivertrue}
+\DeclareOption{sectionbreak}{%
+  \let\org@section\section\def\section{\clearpage\org@section}%
+}
+%
+\DeclareOption{catalan}{%
+  \paneltitlepagename{Inici}
+  \panelabstractname{Resum}
+  \panelcontentsname{Contingut}
+  \panelindexname{Index} % ???
+  \panelfullscreenname{Full Screen}
+  \panelhomepagename{Plana personal}
+  \panelgobackname{Tornar}
+  \panelgoforwardname{->}
+  \panelclosename{Tancar}
+  \panelsearchname{???}
+  \panelquitname{Sortir}
+  \panelpagename{P\`agina}
+  \panelofname{de}
+}
+\DeclareOption{czech}{%
+  \paneltitlepagename{Tituln\'{\i} strana}
+  \panelabstractname{Abstrakt}
+  \panelcontentsname{Obsah}
+  \panelindexname{Index} % ???
+  \panelfullscreenname{Full Screen}
+  \panelhomepagename{\'Uvodn\'{\i} strana}
+  \panelgobackname{Zp\v{e}t}
+  \panelgoforwardname{->}
+  \panelclosename{Zav\v{r}\'{\i}t}
+  \panelsearchname{???}
+  \panelquitname{Konec}
+  \panelpagename{Strana}
+  \panelofname{z}
+}
+\DeclareOption{danish}{%
+  \paneltitlepagename{Forside}
+  \panelabstractname{Resum\'e}
+  \panelcontentsname{Indhold}
+  \panelindexname{Index} % ???
+  \panelfullscreenname{Full Screen}
+  \panelhomepagename{Hjemmeside}
+  \panelgobackname{G\aa\ tilbage}
+  \panelgoforwardname{->}
+  \panelclosename{Luk}
+  \panelsearchname{???}
+  \panelquitname{Afslut}
+  \panelpagename{Side}
+  \panelofname{af}
+}
+\DeclareOption{dutch}{
+  \paneltitlepagename{Titel Pagina}
+  \panelabstractname{Samenvatting}
+  \panelcontentsname{Inhoudsopgave}
+  \panelindexname{Index} % ???
+  \panelfullscreenname{Full Screen}
+  \panelhomepagename{Startpagina}
+  \panelgobackname{Ga terug}
+  \panelgoforwardname{->}
+  \panelclosename{Sluiten}
+  \panelsearchname{???}
+  \panelquitname{Be\"eindigen}
+  \panelpagename{Pagina}
+  \panelofname{van}
+}
+\DeclareOption{english}{%
+  \paneltitlepagename{Title Page}
+  \panelabstractname{Abstract}
+  \panelcontentsname{Contents}
+  \panelindexname{Index} % ???
+  \panelfullscreenname{Full Screen}
+  \panelhomepagename{Home Page}
+  \panelgobackname{Go Back}
+  \panelgoforwardname{Go Forward}
+  \panelclosename{Close}
+  \panelsearchname{Search}
+  \panelquitname{Quit}
+  \panelpagename{Page}
+  \panelofname{of}
+}
+\DeclareOption{french}{%
+  \paneltitlepagename{Page de Titre}
+  \panelabstractname{R\'esum\'e}
+  \panelcontentsname{Sommaire}
+  \panelindexname{Index} % ???
+  \panelfullscreenname{Full Screen}
+  \panelhomepagename{Page d\'accueil}
+  \panelgobackname{Retour}
+  \panelgoforwardname{->}
+  \panelclosename{Fermer}
+  \panelsearchname{???}
+  \panelquitname{Quitter}
+  \panelpagename{Page}
+  \panelofname{de}
+}
+\DeclareOption{german}{%
+  \paneltitlepagename{Titelseite}
+  \panelabstractname{Zusammenfassung}
+  \panelcontentsname{Inhalt}
+  \panelindexname{Index}
+  \panelfullscreenname{Vollbild}
+  \panelhomepagename{WWW-Startseite}
+  \panelgobackname{Zur\"uck}
+  \panelgoforwardname{Vor}
+  \panelclosename{Schlie\ss en}
+  \panelsearchname{Suchen}
+  \panelquitname{Beenden}
+  \panelpagename{Seite}
+  \panelofname{von}
+}
+\DeclareOption{norsk}{%
+  \paneltitlepagename{Forside}
+  \panelabstractname{Sammendrag}
+  \panelcontentsname{Innhold}
+  \panelindexname{Index} % ???
+  \panelfullscreenname{Full Screen}
+  \panelhomepagename{Hjemmeside}
+  \panelgobackname{G\aa\ tilbake}
+  \panelgoforwardname{->}
+  \panelclosename{Lukk}
+  \panelsearchname{???}
+  \panelquitname{Avslutt}
+  \panelpagename{Side}
+  \panelofname{av}
+}
+\DeclareOption{nynorsk}{%
+  \paneltitlepagename{Forside}
+  \panelabstractname{Samandrag}
+  \panelcontentsname{Innhald}
+  \panelindexname{Index} % ???
+  \panelfullscreenname{Full Screen}
+  \panelhomepagename{Heimeside}
+  \panelgobackname{G\aa\ tilbake}
+  \panelgoforwardname{->}
+  \panelclosename{Lat att}
+  \panelsearchname{???}
+  \panelquitname{Avslutt}
+  \panelpagename{Side}
+  \panelofname{av}
+}
+\DeclareOption{polish}{%
+  \paneltitlepagename{Strona tytu\l owa}
+  \panelabstractname{Streszczenie}
+  \panelcontentsname{Spis tre\'sci}
+  \panelindexname{Index} % ???
+  \panelfullscreenname{Full Screen}
+  \panelhomepagename{Strona g\l \'owna}
+  \panelgobackname{Powr\'ot}
+  \panelgoforwardname{->}
+  \panelclosename{Zamknij}
+  \panelsearchname{???}
+  \panelquitname{Koniec}
+  \panelpagename{Strona}
+  \panelofname{z}
+}
+\DeclareOption{portuges}{%
+  \paneltitlepagename{P\'agina de Rosto}
+  \panelabstractname{Sum\'ario}
+  \panelcontentsname{\'Indice Geral}
+  \panelindexname{Index} % ???
+  \panelfullscreenname{Full Screen}
+  \panelhomepagename{Homepage}
+  \panelgobackname{Voltar}
+  \panelgoforwardname{->}
+  \panelclosename{Fechar}
+  \panelsearchname{???}
+  \panelquitname{Desistir}
+  \panelpagename{P\'agina}
+  \panelofname{de}
+}
+\DeclareOption{russian}{%
+  \paneltitlepagename{\cyr\CYRT\cyri\cyrt\cyru\cyrl\cyrsftsn\cyrn\cyra\cyrya{}
+    \cyrs\cyrt\cyrr\cyra\cyrn\cyri\cyrc\cyra}
+  \panelabstractname{\cyr\CYRA\cyrn\cyrn\cyro\cyrt\cyra\cyrc\cyri\cyrya}
+  \panelcontentsname{\cyr\CYRS\cyro\cyrd\cyre\cyrr\cyrzh\cyra\cyrn\cyri\cyre}
+  \panelindexname{Index} % ???
+  \panelfullscreenname{Full Screen}
+  \panelhomepagename{Home Page}
+  \panelgobackname{\cyr\CYRN\cyra\cyrz\cyra\cyrd}
+  \panelgoforwardname{->}
+  \panelclosename{\cyr\CYRZ\cyra\cyrk\cyrr\cyrery\cyrt\cyrsftsn}
+  \panelsearchname{???}
+  \panelquitname{\cyr\CYRV\cyrery\cyrh\cyro\cyrd}
+  \panelpagename{\cyr\CYRS\cyrt\cyrr\cyra\cyrn\cyri\cyrc\cyra}
+  \panelofname{\cyr\cyri\cyrz}
+}
+\DeclareOption{slovak}{%
+  \paneltitlepagename{Tituln\'a strana}
+  \panelabstractname{Abstrakt}
+  \panelcontentsname{Obsah}
+  \panelindexname{Index} % ???
+  \panelfullscreenname{Full Screen}
+  \panelhomepagename{Domovsk\'a str\'anka}
+  \panelgobackname{Sp\"a\v t}
+  \panelgoforwardname{->}
+  \panelclosename{Zatvori\v t}
+  \panelsearchname{???}
+  \panelquitname{Koniec}
+  \panelpagename{Strana}
+  \panelofname{z}
+}
+\DeclareOption{slovene}{%
+  \paneltitlepagename{Naslovnica}
+  \panelabstractname{Povzetek}
+  \panelcontentsname{Kazalo}
+  \panelindexname{Index} % ???
+  \panelfullscreenname{Full Screen}
+  \panelhomepagename{Spletna stran}
+  \panelgobackname{Nazaj}
+  \panelgoforwardname{->}
+  \panelclosename{Zapri}
+  \panelsearchname{???}
+  \panelquitname{Kon\v{c}aj}
+  \panelpagename{Stran}
+  \panelofname{od}
+}
+\DeclareOption{spanish}{%
+  \paneltitlepagename{P\'agina de Abertura}
+  \panelabstractname{Resumen}
+  \panelcontentsname{Contenido}
+  \panelindexname{Index} % ???
+  \panelfullscreenname{Full Screen}
+  \panelhomepagename{P\'agina www}
+  \panelgobackname{Regresar}
+  \panelgoforwardname{->}
+  \panelclosename{Cerrar}
+  \panelsearchname{???}
+  \panelquitname{Abandonar}
+  \panelpagename{P\'agina}
+  \panelofname{de}
+}
+\DeclareOption{swedish}{%
+  \paneltitlepagename{F\"ors\"attsblad}
+  \panelabstractname{Sammanfattning}
+  \panelcontentsname{Inneh\aa{}ll}
+  \panelindexname{Index} % ???
+  \panelfullscreenname{Full Screen}
+  \panelhomepagename{Hemsida}
+  \panelgobackname{Tillbaka}
+  \panelgoforwardname{->}
+  \panelclosename{St\"ang}
+  \panelsearchname{???}
+  \panelquitname{Avsluta}
+  \panelpagename{Sida}
+  \panelofname{av}
+}
+% define all other languages of babel package as non existent
+\DeclareOption{bahasa}{\PDFSCR@langwarn{bahasa}\ExecuteOptions{english}}
+\DeclareOption{breton}{\PDFSCR@langwarn{breton}\ExecuteOptions{english}}
+\DeclareOption{croatian}{\PDFSCR@langwarn{croatian}\ExecuteOptions{english}}
+\DeclareOption{esperanto}{\PDFSCR@langwarn{esperanto}\ExecuteOptions{english}}
+\DeclareOption{finnish}{\PDFSCR@langwarn{finnish}\ExecuteOptions{english}}
+\DeclareOption{galician}{\PDFSCR@langwarn{galician}\ExecuteOptions{english}}
+\DeclareOption{greek}{\PDFSCR@langwarn{greek}\ExecuteOptions{english}}
+\DeclareOption{hebrew}{\PDFSCR@langwarn{hebrew}\ExecuteOptions{english}}
+\DeclareOption{hungarian}{\PDFSCR@langwarn{hungarian}\ExecuteOptions{english}}
+\DeclareOption{magyar}{\PDFSCR@langwarn{magyar}\ExecuteOptions{english}}
+\DeclareOption{irish}{\PDFSCR@langwarn{irish}\ExecuteOptions{english}}
+\DeclareOption{italian}{\PDFSCR@langwarn{italian}\ExecuteOptions{english}}
+\DeclareOption{lowersorbian}{\PDFSCR@langwarn{lowersorbian}\ExecuteOptions{english}}
+\DeclareOption{uppersorbian}{\PDFSCR@langwarn{uppersorbian}\ExecuteOptions{english}}
+\DeclareOption{romanian}{\PDFSCR@langwarn{romanian}\ExecuteOptions{english}}
+\DeclareOption{scottish}{\PDFSCR@langwarn{scottish}\ExecuteOptions{english}}
+\DeclareOption{turkish}{\PDFSCR@langwarn{turkish}\ExecuteOptions{english}}
+\DeclareOption{ukrainian}{\PDFSCR@langwarn{ukrainian}\ExecuteOptions{english}}
+\DeclareOption{welsh}{\PDFSCR@langwarn{welsh}\ExecuteOptions{english}}
+
+% some replacements
+\DeclareOption{american}{\ExecuteOptions{english}}
+\DeclareOption{USenglish}{\ExecuteOptions{english}}
+\DeclareOption{UKenglish}{\ExecuteOptions{english}}
+\DeclareOption{british}{\ExecuteOptions{english}}
+\DeclareOption{austrian}{\ExecuteOptions{german}}
+\DeclareOption{germanb}{\ExecuteOptions{german}}
+\DeclareOption{brazil}{\ExecuteOptions{portuges}}
+\DeclareOption{portuguese}{\ExecuteOptions{portuges}}
+\DeclareOption{brazilian}{\ExecuteOptions{portuges}}
+\DeclareOption{francais}{\ExecuteOptions{french}}
+\DeclareOption{ngerman}{\typeout{****** Igitt! Neue Beliebigkeits-Rechtschreibung!%
+  Na, meinetwegen... ;-) ******}\ExecuteOptions{german}}
+\DeclareOption{naustrian}{\typeout{****** Igitt! Neue Beliebigkeits-Rechtschreibung!%
+  Na, meinetwegen... ;-) ******}\ExecuteOptions{german}}
+\ExecuteOptions{english}
+\ProcessOptions\relax
+
+
+
+% =======================
+% BEGIN OF IMPLEMENTATION
+% =======================
+%
+% NOTE: all identifiers containing an '@' symbol are internal
+% identifiers. Please do not write code that relies on these
+% functions because they might change in future versions.
+
+% --------------------------------------------------------------
+% HYPERREF SETUP
+%
+\if@paneltoc\RequirePackage[breakall]{truncate}\fi
+%
+\@ifundefined{hyperref}{%
+  \if@pdftexdriver%
+    \RequirePackage[pdftex,backref,pagebackref,colorlinks,plainpages=false,%
+      menucolor=menucolor,%
+%      pdfpagemode=FullScreen,%
+      pdfmenubar=false,pdftoolbar=false,%
+      pdffitwindow=true,pdfcenterwindow=true,pdfwindowui=false,pdfview=Fit,%
+      pdfstartview=Fit]{hyperref}%
+  \else% (no pdftex => try to setup hyperref now)
+    \hypersetup{%
+      backref,pagebackref,colorlinks,plainpages=false,menucolor=menucolor,%
+      pdfpagemode=none,pdfmenubar=false,pdftoolbar=false,pdffitwindow=true,%
+      pdfcenterwindow=true,pdfwindowui=false,pdfview=Fit,pdfstartview=Fit%
+    }
+  \fi%
+}{ % (else hyperref undefined)
+  \PDFWIN@Error{Please load hyperref package first}{hyperref must be loaded before pdfwin}%
+}
+
+
+% --------------------------------------------------------------
+% COUNTERS
+%
+% window types
+%  0: disabled
+%  1: transparent
+%  2: colored background
+%  3: graphics
+%  4: colored background + graphics
+\newcount\@Screen@Type      \@Screen@Type=2
+\newcount\@Text@WinType     \@Text@WinType=2
+\newcount\@Panel@WinType    \@Panel@WinType=2
+\newcount\@User@WinType     \@User@WinType=0
+%
+% define chapter counter for small classes (!!!)
+\ifx\c@chapter\@undefined\newcount\c@chapter\fi
+%
+% RealPage is necessary to allow different page numberings,
+% e.g. roman for titlepage, abstract, contents and foreword
+% and arabic numbering (starting with 1!) for the rest
+\newcounter{RealPage}
+\setcounter{RealPage}{1}
+%
+% Three windows are predefined - text, panel, user. Additional windows
+% can be defined by the user if he/she needs them.
+\newcounter{WindowCount}
+\setcounter{WindowCount}{3}
+%
+% PanelTocLine is a counter for the lines in the panel TOC
+\newcounter{PanelTocLine}[page]
+\newcounter{TocChapterCount}[page]
+\newcounter{ptocsection}\setcounter{ptocsection}{0}
+
+
+% --------------------------------------------------------------
+% BOOLEANS
+%
+\newif\if@PanelTocHighlight   \@PanelTocHighlightfalse
+\newif\if@PTocNTransparent    \@PTocNTransparentfalse
+\newif\if@PTocHTransparent    \@PTocHTransparentfalse
+\newif\if@InPreamble          \@InPreambletrue
+\AtBeginDocument{\@InPreamblefalse}
+
+
+% --------------------------------------------------------------
+% COLORS  ---  these colors can be modified (i.e. redefined) by the user
+%
+% screen and window colors
+\definecolor{ScreenBackgroundColor}{rgb}{.0,.2,.8}
+\definecolor{TextBackgroundColor}{rgb}{.8,.9,1.0}
+\definecolor{PanelBackgroundColor}{rgb}{.7,.75,.8}
+\definecolor{UserBackgroundColor}{rgb}{1.0,1.0,1.0}
+\definecolor{TextBorderColor}{rgb}{.0,.0,.0}
+\definecolor{PanelBorderColor}{rgb}{.0,.0,.0}
+\definecolor{UserBorderColor}{rgb}{.0,.0,.0}
+% button colors
+\definecolor{ButtonTextColor}{rgb}{.0,.0,.3}
+\definecolor{ButtonHighlightedTextColor}{rgb}{.8,.0,.2}
+\definecolor{ButtonDisabledTextColor}{rgb}{.5,.55,.6}
+\definecolor{ButtonBackgroundColor}{rgb}{.7,.75,.8}
+\definecolor{ButtonUpperShadowColor}{rgb}{.85,.9,.95}
+\definecolor{ButtonShadowColor}{rgb}{.5,.55,.6}
+% logo colors
+\definecolor{LogoShadowColor}{rgb}{.85,.9,.95}
+\definecolor{LogoUpperShadowColor}{rgb}{.5,.55,.6}
+% panel toc colors
+\definecolor{PanelTocNormalTextColor}{rgb}{.0,.0,.3}
+\definecolor{PanelTocNormalBackgroundColor}{rgb}{.7,.75,.8}
+\definecolor{PanelTocHighlightedTextColor}{rgb}{.8,.8,.0}
+\definecolor{PanelTocHighlightedBackgroundColor}{rgb}{.0,.0,.3}
+% text colors
+\definecolor{TextEmphColor}{rgb}{.0,.0,.8}%
+\definecolor{TextGrayedOutColor}{rgb}{.5,.5,.5}%
+\definecolor{TextHighlightedColor}{rgb}{.9,.0,.2}%
+\definecolor{TextRevealedColor}{rgb}{.0,.0,.5}%
+% section headings
+\definecolor{Section0Color}{rgb}{.7,.7,.0}
+\definecolor{Section1Color}{rgb}{.75,.6,.1}
+\definecolor{Section2Color}{rgb}{.7,.4,.2}
+\definecolor{Section3Color}{rgb}{.65,.2,.3}
+\definecolor{Section4Color}{rgb}{.6,.1,.5}
+\definecolor{Section5Color}{rgb}{.55,.0,.7}
+% chapter panel colors: 0 - title, contents, index, ...
+%                       1 - normal chapters
+% a/b/c/d: background/text/upper shadow/lower shadow
+\definecolor{ChapterPanelColor0a}{rgb}{.9,.9,.9}
+\definecolor{ChapterPanelColor0b}{rgb}{0,0,0}
+\definecolor{ChapterPanelColor0c}{rgb}{1,1,1}
+\definecolor{ChapterPanelColor0d}{rgb}{.4,.4,.4}
+\definecolor{ChapterPanelColor1a}{rgb}{.15,.2,.5}
+\definecolor{ChapterPanelColor1b}{rgb}{.95,.95,.95}
+\definecolor{ChapterPanelColor1c}{rgb}{.6,.7,.95}
+\definecolor{ChapterPanelColor1d}{rgb}{.0,.05,.3}
+
+% --------------------------------------------------------------
+% LENGTHS
+%
+\setlength{\headheight}{0pt}
+\setlength{\headsep}{0pt}
+\setlength{\footskip}{0pt}
+\hoffset=0pt
+\voffset=0pt
+\paperwidth=20cm
+\paperheight=15cm
+\pagestyle{empty}
+%
+% NOTE:
+% We will use the \put command for displaying graphics. Therefore,%
+% the origin is in the LOWER left corner at (0pt/0pt).
+%
+% - text window position (lower left corner) and size
+\newlength{\@Text@LLX}          \setlength{\@Text@LLX}{.02\paperwidth}
+\newlength{\@Text@LLY}          \setlength{\@Text@LLY}{.02\paperheight}
+\newlength{\@Text@DimX}         \setlength{\@Text@DimX}{.79\paperwidth}
+\newlength{\@Text@DimY}         \setlength{\@Text@DimY}{.96\paperheight}
+% - panel position (lower left corner) and size
+\newlength{\@Panel@LLX}         \setlength{\@Panel@LLX}{.83\paperwidth}
+\newlength{\@Panel@LLY}         \setlength{\@Panel@LLY}{.02\paperheight}
+\newlength{\@Panel@DimX}        \setlength{\@Panel@DimX}{.15\paperwidth}
+\newlength{\@Panel@DimY}        \setlength{\@Panel@DimY}{.96\paperheight}
+% - user window position (lower left corner) and size
+\newlength{\@User@LLX}          \setlength{\@User@LLX}{.02\paperwidth}
+\newlength{\@User@LLY}          \setlength{\@User@LLY}{.92\paperheight}
+\newlength{\@User@DimX}         \setlength{\@User@DimX}{.79\paperwidth}
+\newlength{\@User@DimY}         \setlength{\@User@DimY}{.06\paperheight}
+% - window borders
+\newlength{\@Text@BorderThickness}  \setlength{\@Text@BorderThickness}{2.0pt}
+\newlength{\@Text@BorderArcRadius}  \setlength{\@Text@BorderArcRadius}{12pt}
+\newlength{\@Panel@BorderThickness} \setlength{\@Panel@BorderThickness}{2.0pt}
+\newlength{\@Panel@BorderArcRadius} \setlength{\@Panel@BorderArcRadius}{12pt}
+\newlength{\@User@BorderThickness}  \setlength{\@User@BorderThickness}{2.0pt}
+\newlength{\@User@BorderArcRadius}  \setlength{\@User@BorderArcRadius}{12pt}
+% - margins (apply for text window)
+\newlength{\@LeftMargin}       \setlength{\@LeftMargin}{1cm}
+\newlength{\@RightMargin}      \setlength{\@RightMargin}{1cm}
+\newlength{\@TopMargin}        \setlength{\@TopMargin}{1cm}
+\newlength{\@BottomMargin}     \setlength{\@BottomMargin}{1cm}
+% - button shape
+\newlength{\@ButtonShadowDepth}\setlength{\@ButtonShadowDepth}{2pt}
+\newlength{\@ButtonWidth}      \setlength{\@ButtonWidth}{.8\@Panel@DimX}
+\newlength{\@SmallButtonWidth} \setlength{\@SmallButtonWidth}{.4\@Panel@DimX}
+\addtolength{\@SmallButtonWidth}{-\@ButtonShadowDepth}
+% - logo shape
+\newlength{\@LogoWidth}        \setlength{\@LogoWidth}{.7\@Panel@DimX}
+\newlength{\@LogoShadowDepth}  \setlength{\@LogoShadowDepth}{3.0pt}
+% - panel toc height (usually automatic; fixed only if >0)
+\newlength{\@PanelTOCHeight}   \setlength{\@PanelTOCHeight}{0cm}
+%
+% temporary help registers
+\newdimen\Win@DimX
+\newdimen\Win@DimY
+\newdimen\Win@LLX
+\newdimen\Win@LLY
+\newdimen\Win@BT
+\newdimen\Win@BR
+
+% --------------------------------------------------------------
+% LAYOUT
+%
+\newcommand{\InitLayout}{%
+  % NOTE: both \oddsidemargin and \evensidemargin define
+  %       LEFT margins (on odd/even pages). In one-sided
+  %       documents only \oddsidemargin is used.
+  \if@InPreamble%
+  \else%
+    \PDFWIN@Warning{***** Page Layout changed outside of %
+     Preamble - this might not work as expected! *****}
+  \fi%
+  \global\setlength{\textwidth}{\@Text@DimX}%
+  \global\addtolength{\textwidth}{-\@LeftMargin}%
+  \global\addtolength{\textwidth}{-\@RightMargin}%
+  \global\setlength{\textheight}{\@Text@DimY}%
+  \global\addtolength{\textheight}{-\@TopMargin}%
+  \global\addtolength{\textheight}{-\@BottomMargin}%
+  \global\addtolength{\textheight}{-\headheight}%
+  \global\addtolength{\textheight}{-\headsep}%
+  \global\addtolength{\textheight}{-\footskip}%
+  \global\setlength{\oddsidemargin}{\@LeftMargin}%
+  \global\addtolength{\oddsidemargin}{\@Text@LLX}%
+  \global\addtolength{\oddsidemargin}{-1in}%
+  \global\setlength{\evensidemargin}{\@LeftMargin}%
+  \global\addtolength{\evensidemargin}{\@Text@LLX}%
+  \global\addtolength{\evensidemargin}{-1in}%
+  \global\setlength{\topmargin}{\@TopMargin}%
+  \global\addtolength{\topmargin}{\paperheight}%
+  \global\addtolength{\topmargin}{-\@Text@DimY}%
+  \global\addtolength{\topmargin}{-\@Text@LLY}%
+  \global\addtolength{\topmargin}{-1in}%
+}
+\InitLayout  % initialize with default values
+
+% --------------------------------------------------------------
+% GENERAL DEFINITIONS
+%
+\renewcommand\floatpagefraction{1}
+\renewcommand\textfraction{0}
+%
+% Overwrite page styles. Can be modified by user to make use of
+% explicit or implicit (e.g. "empty" for title page or "plain" for
+% first page of chapters) page style modifications
+\def\ps@plain{}
+\def\ps@empty{}
+\def\ps@firstpage{}
+\def\ps@headings{}
+\def\ps@myheadings{}
+\def\ps@title{}
+%
+\def\@linkcolor{red}
+\def\@anchorcolor{blue}
+\def\@citecolor{red}
+\def\@filecolor{red}
+\def\@urlcolor{magenta}
+\def\@menucolor{red}
+\def\@pagecolor{red}
+%
+\def\Top@Text@{\relax}
+\def\@Text@{\relax}
+\def\@Panel@{\relax}
+\def\@User@{\relax}
+%
+\let\@Screen@Overlay\@empty
+\let\@Text@Overlay\@empty
+\let\@Panel@Overlay\@empty
+\let\@User@Overlay\@empty
+%
+\def\emptystring{empty}
+\edef\@paneltext{\emptystring}
+\edef\@LogoFile{\emptystring}
+\def\@LogoWidth{2cm}
+\edef\@HomepageURL{\emptystring}
+\edef\@LogoURL{\emptystring}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%
+% USER INTERFACE
+%
+\long\def\SetUnderTextWin#1{\gdef\@Text@{#1}}
+\long\def\SetOverTextWin#1{\gdef\Top@Text@{#1}}
+\long\def\SetPanelContents#1{\gdef\@Panel@{#1}}
+\long\def\SetUserContents#1{\gdef\@User@{#1}}
+%
+\newcommand{\SetMargins}[4]{%
+  \global\setlength{\@LeftMargin}{#1}%
+  \global\setlength{\@RightMargin}{#2}%
+  \global\setlength{\@TopMargin}{#3}%
+  \global\setlength{\@BottomMargin}{#4}%
+  \InitLayout%
+}
+\newcommand{\SetPaneltext}[1]{\gdef\@paneltext{#1}}
+%
+\expandafter\def\csname WindowName1\endcsname{Text}
+\expandafter\def\csname WindowName2\endcsname{Panel}
+\expandafter\def\csname WindowName3\endcsname{User}
+\expandafter\def\csname WindowRef1\endcsname{text}
+\expandafter\def\csname WindowRef2\endcsname{panel}
+\expandafter\def\csname WindowRef3\endcsname{user}
+%
+% MACROS USING KEYVAL PACKAGE
+\def\SetScreen#1{\setkeys{pdfwinScreen}{#1}}
+\def\SetLogo#1{\setkeys{pdfwinLogo}{#1}}
+\def\SetButtons#1{\setkeys{pdfwinButtons}{#1}}
+\def\SetPanelTOC#1{\setkeys{pdfwinPanelTOC}{#1}}
+\def\SetWindow#1#2{%
+  \def\@WinName{error}%
+  \@tempcnta=\c@WindowCount%
+  \loop%
+  \ifnum\@tempcnta>0%
+    \def\tempa{#1}%
+    \edef\tempb{\csname WindowRef\number\@tempcnta\endcsname}%
+    \ifx\tempa\tempb%
+      \xdef\@WinName{\csname WindowName\number\@tempcnta\endcsname}%
+    \fi%
+    \advance\@tempcnta by -1%
+  \repeat%
+  \def\tempb{error}%
+  \ifx\@WinName\tempb%
+    \PDFWIN@Error{SetWindow called with wrong window name specifier '#1'}%
+    {you can only use 'text', 'panel' or 'user' (or your user-created%
+    additional specifiers) as window identifiers %
+    (first argument of SetWindow command)}%
+  \fi%
+  \setkeys{pdfwin}{#2}%
+}
+%
+% SCREEN KEYS
+\define@key{pdfwinScreen}{width}{\global\paperwidth=#1}
+\define@key{pdfwinScreen}{height}{\global\paperheight=#1\InitLayout}
+\define@key{pdfwinScreen}{filename}{\xdef\@Screen@Overlay{#1}}
+\define@key{pdfwinScreen}{backgroundcolor}%
+  {\definecolor{ScreenBackgroundColor}{rgb}{#1}}
+\define@key{pdfwinScreen}{type}{%
+  \def\tempa{#1}%
+  \def\tempb{disabled}%
+  \ifx\tempa\tempb\PDFWIN@Error{Disabling screen?! NO!}{\PDFWIN@ScreenErr}%
+  \else\def\tempb{transparent}%
+  \ifx\tempa\tempb\PDFWIN@Error{transparent screen?! NO!}{\PDFWIN@ScreenErr}%
+  \else\def\tempb{colored}%
+  \ifx\tempa\tempb\global\@Screen@Type=2%
+  \else\def\tempb{graphics}%
+  \ifx\tempa\tempb\global\@Screen@Type=3%
+  \else\def\tempb{extended}%
+  \ifx\tempa\tempb\global\@Screen@Type=4%
+  \else\def\tempb{wallpaper}%
+  \ifx\tempa\tempb\global\@Screen@Type=5%
+  \else\PDFWIN@Error{SetScreen called with wrong type specifier '#1'}{\PDFWIN@ScreenErr}%
+  \fi\fi\fi\fi\fi\fi%
+}
+\def\PDFWin@ScreenErr{Only 'colored', 'graphics', 'extended' and 'wallpaper' are %
+  allowed for the screen type. In contrast to windows, 'disabled' and %
+  'transparent' are forbidden.}
+%
+% LOGO KEYS
+\define@key{pdfwinLogo}{shadowcolor}%
+  {\definecolor{LogoShadowColor}{rgb}{#1}}
+\define@key{pdfwinLogo}{uppershadowcolor}%
+  {\definecolor{LogoUpperShadowColor}{rgb}{#1}}
+\define@key{pdfwinLogo}{filename}{\xdef\@LogoFile{#1}}
+\define@key{pdfwinLogo}{width}{\xdef\@LogoWidth{#1}}
+\define@key{pdfwinLogo}{shadowdepth}{\global\@LogoShadowDepth=#1}
+\define@key{pdfwinLogo}{url}{\xdef\@LogoURL{#1}}
+%
+% BUTTONS KEYS
+\def\Init@Buttons{%
+  \global\setlength{\@SmallButtonWidth}{.5\@ButtonWidth}%
+  \global\addtolength{\@SmallButtonWidth}{-\@ButtonShadowDepth}}
+\define@key{pdfwinButtons}{width}{\global\@ButtonWidth=#1\Init@Buttons}
+\define@key{pdfwinButtons}{shadowdepth}%
+  {\global\@ButtonShadowDepth=#1\Init@Buttons}
+\define@key{pdfwinButtons}{backgroundcolor}%
+  {\definecolor{ButtonBackgroundColor}{rgb}{#1}}
+\define@key{pdfwinButtons}{textcolor}%
+  {\definecolor{ButtonTextColor}{rgb}{#1}}
+\define@key{pdfwinButtons}{htextcolor}%
+  {\definecolor{ButtonHighlightedTextColor}{rgb}{#1}}
+\define@key{pdfwinButtons}{dtextcolor}%
+ {\definecolor{ButtonDisabledTextColor}{rgb}{#1}}
+\define@key{pdfwinButtons}{shadowcolor}%
+  {\definecolor{ButtonShadowColor}{rgb}{#1}}
+\define@key{pdfwinButtons}{uppershadowcolor}%
+  {\definecolor{ButtonUpperShadowColor}{rgb}{#1}}
+\define@key{pdfwinButtons}{url}{\xdef\@HomepageURL{#1}}
+%
+% PANELTOC KEYS
+\define@key{pdfwinPanelTOC}{textcolor}%
+  {\definecolor{PanelTocNormalTextColor}{rgb}{#1}}
+\define@key{pdfwinPanelTOC}{backgroundcolor}%
+  {\definecolor{PanelTocNormalBackgroundColor}{rgb}{#1}}
+\define@key{pdfwinPanelTOC}{htextcolor}%
+  {\definecolor{PanelTocHighlightedTextColor}{rgb}{#1}}
+\define@key{pdfwinPanelTOC}{hbackgroundcolor}%
+  {\definecolor{PanelTocHighlightedBackgroundColor}{rgb}{#1}}
+\define@key{pdfwinPanelTOC}{height}%
+  {\global\@PanelTOCHeight=#1}
+\define@key{pdfwinPanelTOC}{transparency}{%
+  \def\tempa{#1}%
+  \def\tempb{none}%
+  \ifx\tempa\tempb\@PTocNTransparentfalse\@PTocHTransparentfalse%
+  \else\def\tempb{normal}%
+  \ifx\tempa\tempb\@PTocNTransparenttrue\@PTocHTransparentfalse%
+  \else\def\tempb{highlighted}%
+  \ifx\tempa\tempb\@PTocNTransparentfalse\@PTocHTransparenttrue%
+  \else\def\tempb{both}%
+  \ifx\tempa\tempb\@PTocNTransparenttrue\@PTocHTransparenttrue%
+  \else\PDFWIN@Error{wrong specifier '#1' for panel TOC transparency mode}%
+    {Only the transparency modes 'none', 'normal', 'highlighted' and%
+    'both' are possible}%
+  \fi\fi\fi\fi%
+}
+%
+% WINDOW KEYS
+\def\Adjust@Text@Win{\InitLayout}
+\def\Adjust@Panel@Win{}
+\def\Adjust@User@Win{}
+\define@key{pdfwin}{basex}{\global\csname @\@WinName @LLX\endcsname=#1%
+  \csname Adjust@\@WinName @Win\endcsname}
+\define@key{pdfwin}{basey}{\global\csname @\@WinName @LLY\endcsname=#1%
+  \csname Adjust@\@WinName @Win\endcsname}
+\define@key{pdfwin}{width}{\global\csname @\@WinName @DimX\endcsname=#1%
+  \csname Adjust@\@WinName @Win\endcsname}
+\define@key{pdfwin}{height}{\global\csname @\@WinName @DimY\endcsname=#1%
+  \csname Adjust@\@WinName @Win\endcsname}
+\define@key{pdfwin}{borderthickness}%
+  {\global\csname @\@WinName @BorderThickness\endcsname=#1}
+\define@key{pdfwin}{borderradius}%
+  {\global\csname @\@WinName @BorderArcRadius\endcsname=#1}
+\define@key{pdfwin}{filename}%
+  {\expandafter\xdef\csname @\@WinName @Overlay\endcsname{#1}}
+\define@key{pdfwin}{backgroundcolor}%
+  {\definecolor{\@WinName BackgroundColor}{rgb}{#1}}
+\define@key{pdfwin}{bordercolor}%
+  {\definecolor{\@WinName BorderColor}{rgb}{#1}}
+\define@key{pdfwin}{type}{%
+  \def\tempa{#1}%
+  \def\tempb{disabled}%
+  \ifx\tempa\tempb\global\csname @\@WinName @WinType\endcsname=0%
+  \else\def\tempb{transparent}%
+  \ifx\tempa\tempb\global\csname @\@WinName @WinType\endcsname=1%
+  \else\def\tempb{colored}%
+  \ifx\tempa\tempb\global\csname @\@WinName @WinType\endcsname=2%
+  \else\def\tempb{graphics}%
+  \ifx\tempa\tempb\global\csname @\@WinName @WinType\endcsname=3%
+  \else\def\tempb{extended}%
+  \ifx\tempa\tempb\global\csname @\@WinName @WinType\endcsname=4%
+  \else\PDFWIN@Error{SetWindow called with wrong window type specifier '#1'}%
+   {Only the window types 'disabled', 'transparent', 'colored',%
+   'graphics' and 'extended' are allowed.}%
+  \fi\fi\fi\fi\fi%
+}
+%           --- user interface finished ---
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+
+%==========================================================
+%
+%    --- internal realization part starts here ---
+%
+% NOTE: the following commands will be written to aux-file;
+% the initial value defined here is overwritten when aux-file is read.
+% NOTE: \LastPageString is not necessarily an arabic number
+\newcommand*{\LastPageString}{?}      % for page <x> of <y>
+\newcommand*{\ChapterNumber}{10}      % for chapter panel
+\newcommand*{\LastPage}{999}          % for disabling this button
+\newcommand*{\AbstractPage}{0}        % for disabling this button
+\newcommand*{\ContentsPage}{0}        % for disabling this button
+\newcommand*{\IndexPage}{0}           % for disabling this button
+%
+% chapter-specific version of \LastPageString:
+\expandafter\def\csname LastPageC0String\endcsname{???}
+\expandafter\def\csname LastPageC1String\endcsname{???}
+\expandafter\def\csname LastPageC2String\endcsname{???}
+\expandafter\def\csname LastPageC3String\endcsname{???}
+\expandafter\def\csname LastPageC4String\endcsname{???}
+\expandafter\def\csname LastPageC5String\endcsname{???}
+\expandafter\def\csname LastPageC6String\endcsname{???}
+\expandafter\def\csname LastPageC7String\endcsname{???}
+\expandafter\def\csname LastPageC8String\endcsname{???}
+\expandafter\def\csname LastPageC9String\endcsname{???}
+\expandafter\def\csname LastPageC10String\endcsname{???}
+\expandafter\def\csname LastPageC11String\endcsname{???}
+\expandafter\def\csname LastPageC12String\endcsname{???}
+\expandafter\def\csname LastPageC13String\endcsname{???}
+\expandafter\def\csname LastPageC14String\endcsname{???}
+\expandafter\def\csname LastPageC15String\endcsname{???}
+%
+% WARNING: AN EVIL HACK WILL FOLLOW NOW ... CONTINUE READING AT OWN RISK ;-)
+% we have to fight a fierce battle against the babel package here:
+% babel writes a \select@language command at the begin of the aux-file
+% (and toc, lof, lot files, if they exist). This command overwrites
+% \contentsname and \abstractname. Thus, a simple definition would
+% not work.
+% We have to change it \emph{at the beginning of the document}.
+% And additionally, we have to modify \select@language (this is
+% executed at the beginning of every toc, lof, lot or aux file!).
+\newcommand*{\PDFWinFightsBabelSuccessfully}{%
+  \renewcommand*{\contentsname}{%
+    \protect\hypertarget{contents}{\@Panelcontentsname}%
+    \immediate\write\@auxout{\string\gdef\string\ContentsPage{\number\c@RealPage}}%
+  }%
+  \renewcommand*{\abstractname}{%
+    \protect\hypertarget{abstract}{\@Panelabstractname}%
+    \immediate\write\@auxout{\string\gdef\string\AbstractPage{\number\c@RealPage}}%
+  }%
+  \renewcommand*{\indexname}{%
+    \protect\hypertarget{index}{\@Panelindexname}%
+    \immediate\write\@auxout{\string\gdef\string\IndexPage{\number\c@RealPage}}%
+  }%
+}
+\AtBeginDocument{%
+  \PDFWinFightsBabelSuccessfully%
+  \let\org@select@language\select@language%
+  \def\select@language#1{%
+    \org@select@language{#1}\PDFWinFightsBabelSuccessfully}%
+}
+
+
+% --------------------------------------------------------------
+% NEW WINDOWS
+%
+\def\NewWindow#1#2{%
+  % increase window counter
+  \global\advance\c@WindowCount by 1\relax%
+  %
+  % window name and reference
+  \expandafter\gdef\csname WindowName\number\c@WindowCount\endcsname{#1}%
+  \expandafter\gdef\csname WindowRef\number\c@WindowCount\endcsname{#2}%
+  %
+  % append to \Draw@PDFWinWindows
+  \g@addto@macro\Draw@PDFWinWindows{\@ShowWindow{#1}}%
+  %
+  % new colors and variables
+  \definecolor{#1BackgroundColor}{rgb}{1.0,1.0,1.0}%
+  \definecolor{#1BorderColor}{rgb}{.0,.0,.0}%
+  \expandafter\newcount\csname @#1@WinType\endcsname%
+  \csname @#1@WinType\endcsname=0%
+  \expandafter\newlength\csname @#1@LLX\endcsname%
+  \csname @#1@LLX\endcsname=.02\paperwidth%
+  \expandafter\newlength\csname @#1@LLY\endcsname%
+  \csname @#1@LLY\endcsname=.92\paperheight%
+  \expandafter\newlength\csname @#1@DimX\endcsname%
+  \csname @#1@DimX\endcsname=.79\paperwidth%
+  \expandafter\newlength\csname @#1@DimY\endcsname%
+  \csname @#1@DimY\endcsname=.06\paperheight%
+  \expandafter\newlength\csname @#1@BorderThickness\endcsname%
+  \csname @#1@BorderThickness\endcsname=2.0pt%
+  \expandafter\newlength\csname @#1@BorderArcRadius\endcsname%
+  \csname @#1@BorderArcRadius\endcsname=12pt%
+  %
+  % misc
+  \expandafter\def\csname Adjust@#1@Win\endcsname{}%
+  \expandafter\def\csname @#1@\endcsname{\relax}%
+  \long\expandafter\def\csname Set#1Contents\endcsname##1{%
+    \expandafter\gdef\csname @#1@\endcsname{##1}%
+  }%
+}
+
+
+% --------------------------------------------------------------
+% INCREMENTAL PAGE NUMBERING (e.g. 10 - 11a - 11b - 11c - 12)
+%
+% mechanism: in order to avoid changes on internal functions as far
+% as possible, two new counters are introduced. The first one
+% memorizes the basic page number (i.e. 11 in the example given
+% above) and the second one is computed as the difference between
+% the normal page counter (not touched!) and the first counter,
+% plus offset of one.
+% NOTE: no \stepcounter or \addtocounter before/after page break
+% necessary for new counters; normal page counter does the job!
+%
+% define new counters for incremental page counting
+\newcount\c@incpagea
+\newcount\c@incpageb
+%
+% redefine (i.e. patch) \pagenumbering:
+% \pagenumbering{incremental} starts incremental numbering
+% \pagenumbering{restore} restores old setting
+% else: old \pagenumbering definition from latex.ltx
+\def\pagenumbering#1{%
+  \def\tempa{#1}%
+  \def\tempb{incremental}%
+  \ifx\tempa\tempb
+    \global\c@incpagea=\c@page%
+    \let\org@thepage\thepage%
+    % NOTE: \thepage can be modified by user after \pagenumbering{incremental}
+    \gdef\thepage{\arabic{incpagea}\alph{incpageb}}%
+    \let\org@newpage\newpage%
+    \def\newpage{\org@newpage\computeincpage}%
+    \computeincpage
+  \else
+    \def\tempb{restore}%
+    \ifx\tempa\tempb
+      \let\newpage\org@newpage%
+      \let\thepage\org@thepage%
+      \global\c@page=\c@incpagea%
+      \stepcounter{page}
+    \else
+      \global\c@page \@ne \gdef\thepage{\csname @#1\endcsname\c@page}
+    \fi
+  \fi
+}
+\def\computeincpage{%
+  \c@incpageb=\c@page%
+  \advance\c@incpageb\@ne%
+  \advance\c@incpageb -\c@incpagea%
+}
+
+
+% --------------------------------------------------------------
+% FONTS (can be redefined by user)
+%
+% setting button text font and style (button height)
+%\newcommand{\SetButtonTextStyle}{\rule[-4pt]{0pt}{13pt}%
+% \footnotesize\sffamily\itshape\mdseries}
+\newcommand{\SetButtonTextStyle}{\rule[-3pt]{0pt}{11pt}%
+ \scriptsize\sffamily\itshape\mdseries}
+%
+% setting page info ("page x of y") font and style
+% (usually the same as button text)
+%\newcommand{\SetPageInfoStyle}{\rule[-4pt]{0pt}{13pt}%
+% \footnotesize\sffamily\itshape\mdseries}
+\newcommand{\SetPageInfoStyle}{\rule[-3pt]{0pt}{11pt}%
+ \scriptsize\sffamily\itshape\mdseries}
+%
+% setting panel toc text font and style (button height)
+%\newcommand{\SetTocNTextStyle}{\rule[-3pt]{0pt}{11pt}%
+% \scriptsize\sffamily\itshape\mdseries}
+%\newcommand{\SetTocHTextStyle}{\rule[-3pt]{0pt}{11pt}%
+% \scriptsize\sffamily\itshape\bfseries}
+\newcommand{\SetTocNTextStyle}{\rule[-2pt]{0pt}{7pt}%
+ \tiny\sffamily\itshape\mdseries}
+\newcommand{\SetTocHTextStyle}{\rule[-2pt]{0pt}{7pt}%
+ \tiny\sffamily\itshape\bfseries}
+%
+% setting font and style of the chapter panel
+\newcommand{\SetChapterTextStyle}{\rule[-2pt]{0pt}{9pt}%
+ \sffamily\bfseries\scriptsize}
+\newcommand{\SetChapterTitelStyle}{\rule[-2pt]{0pt}{7pt}%
+ \sffamily\bfseries\tiny}
+
+
+% --------------------------------------------------------------
+% SECTION AND \EMPH COLORING
+%
+\if@coloremph\renewcommand{\emph}[1]{\textcolor{TextEmphColor}{#1}}\fi
+%
+\let\org@startsection\@startsection
+\renewcommand{\@startsection}[6]{%
+ \org@startsection{#1}{#2}{#3}{#4}{#5}{#6\color{Section#2Color}}}
+%
+% normally redefining \@startsection should be sufficient.
+% But unfortunately, it's not. Sometimes, the internal color stack
+% gets mixed up and the beginning of a new page is written in a
+% wrong color. The color is fixed once a differently colored text
+% is printed. A work-around for section headings (which are likely to
+% be affected by this bug) is printing the section number in the
+% correct color.
+\let\org@seccntformat\@seccntformat
+\def\@seccntformat#1{\protect\textcolor{Section\thesection@level Color}%
+   {\org@seccntformat{#1}}\quad}%
+
+
+% --------------------------------------------------------------
+% DYNAMIC PAGES
+%
+% NOTE: if you are looking at this section in order to define new
+% dynamic environments and you don't really understand what's
+% going on here, then I have to apologize, but some things I need
+% are only possible in plain TeX and not in LaTeX, e.g. global
+% (and not local) counter settings. Notice that the LaTeX counter
+% abc is equivalent to the TeX counter \c@abc.
+%
+\newcounter{dynamicpage}      \setcounter{dynamicpage}{0}
+\newcounter{maxdynamicpages}  \setcounter{maxdynamicpages}{5}
+%
+\newcommand*{\copycolor}[2]{\expandafter\let\csname\string\color @#2%
+  \expandafter\endcsname\csname\string\color @#1\endcsname}
+%
+\newcommand{\store}[1]{\long\gdef\recall{#1}\global\c@dynamicpage=0}
+%
+\newcommand*{\revealnext}{%
+  \newpage%
+  \global\advance\c@dynamicpage by 1%
+  \relax%   %% otherwise the FIRST color would not be changed. Mysterious...
+  \copycolor{TextRevealedColor}{color\number\c@dynamicpage}%
+  \recall%
+}
+\newcommand{\initreveal}[1]{%
+  \@tempcnta=\c@maxdynamicpages%
+  \loop \ifnum\@tempcnta>0%
+    \copycolor{TextBackgroundColor}{color\number\@tempcnta}%
+    \advance\@tempcnta by -1%
+  \repeat%
+  \store{#1}%
+}
+\newcommand*{\highlightnext}{%
+  \newpage%
+  \@tempcnta=\c@maxdynamicpages%
+  \loop \ifnum\@tempcnta>0%
+    \copycolor{TextGrayedOutColor}{color\number\@tempcnta}%
+    \advance\@tempcnta by -1%
+  \repeat%
+  \global\advance\c@dynamicpage by 1%
+  \relax%
+  \copycolor{TextHighlightedColor}{color\number\c@dynamicpage}%
+  \recall%
+}
+\newcommand{\inithighlight}[1]{\store{#1}}
+
+
+% --------------------------------------------------------------
+% BUTTON MACROS
+%
+% setting button color
+\newcommand{\NormalButtonCol}{\color{ButtonTextColor}}
+\newcommand{\FirstButtonCol}{\ifnum\number\c@RealPage=1%
+  \color{ButtonDisabledTextColor}\else\NormalButtonCol\fi}
+\newcommand{\LastButtonCol}{\ifnum\number\c@RealPage=\number\LastPage%
+  \color{ButtonDisabledTextColor}\else\NormalButtonCol\fi}
+\newcommand{\AbstractButtonCol}{\ifnum\number\c@RealPage=\number\AbstractPage%
+  \color{ButtonDisabledTextColor}\else\NormalButtonCol\fi}
+\newcommand{\ContentsButtonCol}{\ifnum\number\c@RealPage=\number\ContentsPage%
+  \color{ButtonDisabledTextColor}\else\NormalButtonCol\fi}
+\newcommand{\IndexButtonCol}{\ifnum\number\c@RealPage=\number\IndexPage%
+  \color{ButtonDisabledTextColor}\else\NormalButtonCol\fi}
+%
+% #1: box contents  #2,#3 : upper/lower border colors
+% \fboxrule determines the thickness of the shadow
+\newcommand*{\ThreeDimBox}[3]{\bgroup%
+  \fboxsep0pt%
+  \color{#2}%
+  \setbox\@tempboxa\hbox{\fbox{#1}}%
+  \copy\@tempboxa%
+  \@tempcnta=10%
+  \@tempdimc=\fboxrule%         %% increment
+  \divide\@tempdimc by \@tempcnta%
+  \color{#3}%
+  \@tempdima=0pt%               %% width
+  \@tempdimb=\ht\@tempboxa%     %% height
+  \loop%
+    \ifnum\@tempcnta>0%
+    \advance\@tempcnta by -1%
+    \advance\@tempdimb by -\@tempdimc%
+    \advance\@tempdima by \@tempdimc%
+    \hbox to 0pt{\hss\vrule \@width\@tempdima \@height\@tempdimb \@depth\dp\@tempboxa}%
+  \repeat%
+  \@tempcnta=10%
+  \@tempdima=\wd\@tempboxa%     %% width
+  \@tempdimb=-\dp\@tempboxa%    %% -depth -> height
+  \loop%
+    \ifnum\@tempcnta>0%
+    \advance\@tempcnta by -1%
+    \advance\@tempdimb by \@tempdimc%
+    \advance\@tempdima by -\@tempdimc%
+    \hbox to 0pt{\hss\vrule \@width\@tempdima \@height\@tempdimb \@depth\dp\@tempboxa}%
+  \repeat%
+\egroup}
+%
+% [#1]: width (optional; default: \@ButtonWidth)    #2:  button text
+\newcommand{\AddButton}[2][\@ButtonWidth]{\bgroup%
+  \fboxrule=\@ButtonShadowDepth%
+  \ThreeDimBox{\colorbox{ButtonBackgroundColor}%
+   {\hbox to #1{\hfil\NormalButtonCol\SetButtonTextStyle#2\hfil}}}%
+   {ButtonUpperShadowColor}{ButtonShadowColor}%
+\egroup}
+
+
+% --------------------------------------------------------------
+% PANEL MACROS
+%
+\newcommand*{\btl}{\ensuremath{\blacktriangleleft}}
+\newcommand*{\btr}{\ensuremath{\blacktriangleright}}
+%
+% The default panel consists of four parts:
+%   [graphical logo]
+%   [panel TOC]
+%   navigation buttons
+%   [some text]
+% parts in square brackets are optional.
+%
+% The panel contents are composed vertically to build a minipage
+% NOTE: background color is set later
+\SetPanelContents{%
+  \begin{minipage}[t][\@Panel@DimY][c]{\@Panel@DimX}%
+    \normalcolor%
+    \normalfont%
+    \PanelContents%
+  \end{minipage}%
+}
+% \PanelContents can be modified by user. The user does not need
+% to know anything about the internal realization of \@Panel@
+% or \Draw<Something>. The \PanelContents level is encapsulated.
+% NOTE: all \Draw<Something> commands should end with \vfill
+\newcommand{\PanelContents}{%
+  \centering%
+  \vspace*{5pt}\vfill%
+  \DrawLogo%
+  \DrawPanelTOC%
+  \DrawNavigationPanel%
+  \DrawPanelText%
+  \vspace*{5pt}%
+}
+%
+\def\DrawLogo{\ifx\emptystring\@LogoFile\else%
+  \setbox0=\hbox{\bgroup%
+    \fboxrule=\@LogoShadowDepth%
+    \ThreeDimBox{\includegraphics[width=\@LogoWidth]%
+     {\@LogoFile}}{LogoUpperShadowColor}{LogoShadowColor}%
+  \egroup}%
+  \ifx\emptystring\@LogoURL\mbox{\box0}\else\href{\@LogoURL}{\box0}\fi%
+  \par\vfill\fi%
+}
+%
+\def\DrawPanelTOC{%
+  \if@paneltoc%
+    \ifdim\@PanelTOCHeight>0cm%  fixed size?
+      \begin{minipage}[t][1.5cm][t]{\@Panel@DimX}%
+        \@panel@toc%
+      \end{minipage}%
+    \else%
+      \@panel@toc%
+    \fi%
+    \vfill%
+  \else%
+    \relax%
+  \fi%
+}
+%
+\def\DrawPanelText{\ifx\emptystring\@paneltext\else%
+ \parbox{.98\@Panel@DimX}{\centering \@paneltext}\par\vfill\fi}
+%
+% You can change \DrawNavigationPanel with \renewcommand.
+% Just copy this definition here and (un)comment and reorder
+% the items in the way you like.
+\newcommand{\DrawNavigationPanel}{
+%  \ShowPageInfo\par\vfill
+  \GoToPageButton\par\vfill
+%  \HomePageButton\par\vfill
+%  \TitlePageButton\par\vfill
+%  \AbstractPageButton\par\vfill
+%  \IndexPageButton\par\vfill
+%  \ContentsPageButton\par\vfill
+  \FirstLastButton\par\vfill
+  \PrevNextButton\par\vfill
+  \BackForwardButton\par\vfill
+%  \BackButton\par\vfill
+%  \ForwardButton\par\vfill
+  \FullScreenButton\par\vfill
+  \SearchButton\par\vfill
+  \CloseButton\par\vfill
+%  \QuitButton\par\vfill
+}
+%
+% \ShowEmptyPageInfo needs exactly the same space as \ShowPageInfo. Use this
+% if you want to turn off page info for certain pages without changing the
+% positions of the other panel elements
+\def\ShowEmptyPageInfo{%
+  \bgroup%
+    \SetPageInfoStyle%
+  \egroup%
+}
+\def\ShowPageInfo{%
+  \bgroup%
+    \SetPageInfoStyle%
+    \textcolor{ButtonTextColor}{\@Panelpagename}\space%
+    \textcolor{ButtonHighlightedTextColor}{\thepage}%
+    \space\textcolor{ButtonTextColor}{\@Panelofname}\space%
+    \if@chapterpanel%
+      \textcolor{ButtonHighlightedTextColor}%
+       {\csname LastPageC\arabic{chapter}String\endcsname}%
+    \else%
+      \textcolor{ButtonHighlightedTextColor}{\LastPageString}%
+    \fi%
+  \egroup%
+}
+\def\GoToPageButton{%
+  \Acrobatmenu{GoToPage}{\AddButton%
+    {\textcolor{ButtonTextColor}{\@Panelpagename}\space%
+    \textcolor{ButtonHighlightedTextColor}{\thepage}\space%
+    \textcolor{ButtonTextColor}{\@Panelofname}\space%
+    \if@chapterpanel%
+      \textcolor{ButtonHighlightedTextColor}%
+       {\csname LastPageC\arabic{chapter}String\endcsname}%
+    \else%
+      \textcolor{ButtonHighlightedTextColor}{\LastPageString}%
+    \fi%
+  }}%
+}
+\def\HomePageButton{%
+  \href{\@HomepageURL}{\AddButton{\@Panelhomepagename}}
+}
+\def\TitlePageButton{%
+  \Acrobatmenu{FirstPage}{\AddButton{\FirstButtonCol\@Paneltitlepagename}}%
+}
+\def\AbstractPageButton{%
+  \ifnum\number\AbstractPage=0%
+    \PDFWIN@Warning{no abstract! abstract page button not possible}%
+  \else%
+    \hyperlink{abstract}{\AddButton{\AbstractButtonCol\@Panelabstractname}}%
+  \fi%
+}
+\def\ContentsPageButton{%
+  \ifnum\number\ContentsPage=0%
+    \PDFWIN@Warning{no TOC found! contents page button not possible}%
+  \else%
+    \hyperlink{contents}{\AddButton{\ContentsButtonCol\@Panelcontentsname}}%
+  \fi%
+}
+\def\IndexPageButton{%
+  \ifnum\number\IndexPage=0%
+    \PDFWIN@Warning{no index found! index button not possible}%
+  \else%
+    \hyperlink{index}{\AddButton{\ContentsButtonCol\@Panelindexname}}%
+  \fi%
+}
+\def\FirstLastButton{%
+  \Acrobatmenu{FirstPage}{\AddButton[\@SmallButtonWidth]%
+   {\FirstButtonCol\scalebox{.8}[1.4]{\btl\btl}}}%
+  \Acrobatmenu{LastPage}{\AddButton[\@SmallButtonWidth]%
+   {\LastButtonCol\scalebox{.8}[1.4]{\btr\btr}}}%
+}
+\def\PrevNextButton{%
+  \Acrobatmenu{PrevPage}{\AddButton[\@SmallButtonWidth]%
+   {\FirstButtonCol\scalebox{.8}[1.4]{\btl}}}%
+  \Acrobatmenu{NextPage}{\AddButton[\@SmallButtonWidth]%
+   {\LastButtonCol\scalebox{.8}[1.4]{\btr}}}%
+}
+\def\BackForwardButton{%
+  \Acrobatmenu{GoBack}{\AddButton[\@SmallButtonWidth]%
+   {\raisebox{-2pt}{\scalebox{2}{$\hookleftarrow$}}}}%
+  \Acrobatmenu{GoForward}{\AddButton[\@SmallButtonWidth]%
+   {\raisebox{-2pt}{\scalebox{2}{$\hookrightarrow$}}}}%
+}
+\def\BackButton{%
+  \Acrobatmenu{GoBack}{\AddButton{\@Panelgobackname}}%
+}
+\def\ForwardButton{%
+  \Acrobatmenu{GoForward}{\AddButton{\@Panelgoforwardname}}%
+}
+\def\FullScreenButton{%
+  \Acrobatmenu{FullScreen}{\AddButton{\@Panelfullscreenname}}%
+}
+\def\SearchButton{%
+  \Acrobatmenu{Find}{\AddButton{\@Panelsearchname}}%
+}
+\def\CloseButton{%
+  \Acrobatmenu{Close}{\AddButton{\@Panelclosename}}%
+}
+\def\QuitButton{%
+  \Acrobatmenu{Quit}{\AddButton{\@Panelquitname}}%
+}
+
+
+% --------------------------------------------------------------
+% PANEL TOC SECTION COUNTING
+%
+\def\sectionstring{section}
+\def\chapterstring{chapter}
+%
+\def\AddPanelTocEntry#1{%
+  \stepcounter{ptocsection}%
+  \hypertarget{ptoctarget\number\c@ptocsection}{}%
+  \addtocontents{toc}{\protect\PTocEntry{#1}{ptoctarget\number\c@ptocsection}}%
+}%
+%
+\let\PTocEntry\@gobbletwo
+
+
+% --------------------------------------------------------------
+% PANEL TOC MACROS
+%
+% for a panel TOC we have to modify:
+%  * the input of the *.toc file
+%  * the generation of the *.toc file
+% the last thing is necessary because usually the \tableofcontents
+% command does BOTH jobs: the display and the generation. And
+% therefore, it must only be called once in a normal LaTeX
+% document.
+% But for a panel TOC (i.e. a TOC an EVERY page) we have to separate
+% both tasks.
+%
+% The original \tableofcontents is (in article class):
+%  \newcommand\tableofcontents{%
+%    \section*{\contentsname\@mkboth{\MakeUppercase\contentsname}%
+%    {\MakeUppercase\contentsname}}\@starttoc{toc}%
+%  }
+% and \@starttoc does (latex base):
+%  \def\@starttoc#1{%
+%    \begingroup
+%      \makeatletter
+%      \@input{\jobname.#1}%
+%      \if@filesw
+%        \expandafter\newwrite\csname tf@#1\endcsname
+%        \immediate\openout \csname tf@#1\endcsname \jobname.#1\relax
+%      \fi
+%      \@nobreakfalse
+%    \endgroup}
+%
+% We separate this in two parts: \tableofcontents is redefined to
+% only SHOW the toc and the WRITE command is given at the end of
+% the document.
+% NOTE: \makeatletter is necessary if e.g. the babel package is used:
+% this package writes a \select@language command via the *.aux file
+% of the last LaTeX run. Without \makeatletter, a "undefined command"
+% would result because '@' is no letter anymore.
+\renewcommand{\tableofcontents}{%
+  \section*{\contentsname\@mkboth{\MakeUppercase\contentsname}%
+    {\MakeUppercase\contentsname}}%
+  \begingroup%
+    \makeatletter%
+    \@input{\jobname.toc}%
+  \endgroup%
+}
+%
+\AtEndDocument{%
+  \if@filesw%
+    \clearpage% <-- otherwise the panel toc on the last page would be lost
+    \newwrite\tf@toc%
+    \immediate\openout\tf@toc\jobname.toc\relax%
+  \fi
+}
+% On reading the *.toc file for the panel TOC, we must modify the
+% display (locally, of course!):
+%  - disable \numberline which would produce a dotted line with
+%    the page number at the end.
+%  - count the sections in order to switch between normal and
+%    highlighted display
+\def\@panel@toc{%
+  \IfFileExists{\jobname.toc}{\vbox%
+  \bgroup%
+    \rightskip0pt plus 1fill%
+    \hbadness=10000%
+    \let\numberline\@gobble%
+    \let\contentsline\PanelTOC@ContentsLine%
+    \let\PTocEntry\PanelTOC@PTocEntry%
+    \makeatletter%
+    \@input{\jobname.toc}%
+    \PDFWIN@Info{TOC file read}%
+  \egroup}%
+  % ELSE (file does not exist)
+  {\PDFWIN@Warning{TOC file not available}}%
+}
+%
+\long\def\PanelTOC@ContentsLine#1#2#3#4{%
+  \edef\temp{#1}%
+  \ifx\temp\chapterstring%
+    \stepcounter{TocChapterCount}%
+  \fi%
+  \ifnum\c@TocChapterCount=\c@chapter%
+    \ifx\temp\sectionstring%
+      \stepcounter{PanelTocLine}%
+      \@tempcnta=\c@section%
+      \advance\@tempcnta by \c@ptocsection%
+      \ifnum\@tempcnta=\c@PanelTocLine%
+        \global\@PanelTocHighlighttrue%
+      \else%
+        \global\@PanelTocHighlightfalse%
+      \fi%
+      \hyperlink{#4}{\makebox[\@Panel@DimX]%
+        {\TOC@Button{.97\@Panel@DimX}{\truncate{.96\@Panel@DimX}{#2}}}}%
+      \par%
+    \fi% section entry detected
+  \fi% in actual chapter
+}
+%
+\long\def\PanelTOC@PTocEntry#1#2{%
+  \stepcounter{PanelTocLine}%
+  \@tempcnta=\c@section%
+  \advance\@tempcnta by \c@ptocsection%
+  \ifnum\@tempcnta=\c@PanelTocLine%
+    \global\@PanelTocHighlighttrue%
+  \else%
+    \global\@PanelTocHighlightfalse%
+  \fi%
+  \hyperlink{#2}{\makebox[\@Panel@DimX]%
+    {\TOC@Button{.97\@Panel@DimX}{\truncate{.96\@Panel@DimX}{#1}}}}%
+  \par%
+}
+%
+% displaying the panel TOC buttons
+\def\TOC@Button#1#2{\begingroup%
+  \fboxsep0pt
+  \fboxrule0pt%
+  \if@PanelTocHighlight%
+    \if@PTocHTransparent%
+      {\hbox to #1{\color{PanelTocHighlightedTextColor}%
+      \SetTocHTextStyle\hfill#2\hfill}}%
+    \else%
+      {\colorbox{PanelTocHighlightedBackgroundColor}{\hbox to #1%
+      {\color{PanelTocHighlightedTextColor}\SetTocHTextStyle\hfill#2\hfill}}}%
+    \fi%
+  \else%
+    \if@PTocNTransparent%
+      {\hbox to #1{\color{PanelTocNormalTextColor}%
+      \SetTocNTextStyle\hfill#2\hfill}}%
+    \else%
+      {\colorbox{PanelTocNormalBackgroundColor}{\hbox to #1%
+      {\color{PanelTocNormalTextColor}\SetTocNTextStyle\hfill#2\hfill}}}%
+    \fi%
+  \fi%
+\endgroup}
+
+
+% --------------------------------------------------------------
+% CHAPTER PANEL MACROS
+%
+% (!!!) einige Sachen noch fest verdrahtet!
+%
+\newcommand{\ChapterBox}{%
+  \normalfont\normalsize%
+  \bgroup%
+  \fboxrule1pt%
+  \@tempcnta=0%
+  \@tempcntb=\number\ChapterNumber%
+  \advance\@tempcntb by 1%
+  \loop%
+  \ifnum\@tempcnta<\@tempcntb%
+    \ifnum\c@chapter=\@tempcnta%
+      \ifnum\@tempcnta=0%
+        \Acrobatmenu{FirstPage}{\Big@NoChapterButton{\@Paneltitlepagename}}
+      \else \ifnum\@tempcnta=16%
+        \hyperlink{index}{\Big@NoChapterButton{\@Panelindexname}}
+      \else%
+        \hyperlink{chapter.\number\@tempcnta}{\Big@ChapterButton{\chaptertitle}}
+      \fi\fi%
+    \else % chapter not selected
+      \ifnum\@tempcnta=0%
+        \Acrobatmenu{FirstPage}{\Small@NoChapterButton{T}}
+      \else\ifnum\@tempcnta=16%
+        \hyperlink{index}{\Small@NoChapterButton{I}}
+      \else%
+        \hyperlink{chapter.\number\@tempcnta}{\Small@ChapterButton}
+      \fi\fi
+    \fi % chapter selected?
+    \advance\@tempcnta by 1%
+  \repeat
+  \egroup
+}
+%
+\newcommand{\Big@NoChapterButton}[1]{%
+  \ThreeDimBox{\colorbox{ChapterPanelColor0a}{%
+    \begin{minipage}[c][5mm]{22mm}%
+      \centering\SetChapterTextStyle\color{ChapterPanelColor0b}#1%
+    \end{minipage}%
+  }}{ChapterPanelColor0c}{ChapterPanelColor0d}%
+}
+\newcommand{\Big@ChapterButton}[1]{%
+  \ThreeDimBox{\colorbox{ChapterPanelColor1a}{%
+    \begin{minipage}[c][5mm]{22mm}%
+      \offinterlineskip\centering\SetChapterTextStyle\color{ChapterPanelColor1b}%
+      \@chapapp\space\@Roman\@tempcnta\\ \SetChapterTitelStyle #1\\ %
+    \end{minipage}%
+  }}{ChapterPanelColor1c}{ChapterPanelColor1d}%
+}
+\newcommand{\Small@NoChapterButton}[1]{%
+  \ThreeDimBox{\colorbox{ChapterPanelColor0a}{%
+    \begin{minipage}[c][3mm]{3mm}%
+      \centering\SetChapterTextStyle\color{ChapterPanelColor0b}#1%
+    \end{minipage}%
+  }}{ChapterPanelColor0c}{ChapterPanelColor0d}%
+}
+\newcommand{\Small@ChapterButton}{%
+  \ThreeDimBox{\colorbox{ChapterPanelColor1a}{%
+    \begin{minipage}[c][3mm]{3mm}%
+      \centering\SetChapterTextStyle\color{ChapterPanelColor1b}%
+      \@Roman\@tempcnta%
+    \end{minipage}%
+  }}{ChapterPanelColor1c}{ChapterPanelColor1d}%
+}
+%
+\if@chapterpanel\SetUserContents{\ChapterBox}\fi
+
+% --------------------------------------------------------------
+% OVERLAY MACROS
+%
+% TeX assembles a page and calls \shipout{...} then.
+% Therefore, we have to interrupt \shipout
+\AtBeginDocument{%
+  \let\org@shipout\shipout
+  \let\shipout\my@shipout
+}
+%
+% now we have to steal shipout's argument in order
+% to modify it as we like
+\def\my@shipout{%
+  \afterassignment\Test@OutBox%
+  \global\setbox\@cclv= %
+}
+\newcommand{\Test@OutBox}{%
+  \ifvoid\@cclv%
+     \relax\aftergroup\My@Output%
+  \else%
+     \My@Output%
+  \fi%
+}
+
+% --------------------------------------------------------------
+% PAGE COMPOSITION
+% (original page is in box 255 [or \box\@cclv])
+%
+\newcommand{\My@Output}{%
+  \bgroup%
+    \@tempdima=1in%
+    \@tempcnta=\@tempdima%   % => unit: scaled points
+    \@tempcntb=\paperheight%
+    \advance\@tempcntb by -\@tempdima%
+    \global\setbox\@cclv\vbox{%
+      \offinterlineskip%
+      \vbox{%
+        \let\protect\relax%
+        \unitlength=1sp%
+        \pictur@(0,0)(\@tempcnta,\@tempcntb)%
+          {\bgroup%
+            \setlength{\unitlength}{1pt}%
+            % draw background
+            \Draw@ScreenBackground%
+            % draw other windows
+            \Draw@PDFWinWindows%
+          \egroup}%
+        \endpicture%
+      }%
+      \vbox to 0mm{\hbox to 0mm{\box\@cclv\hss}\vss}%
+      \vbox{%
+        \let\protect\relax%
+        \unitlength=1sp%
+        \pictur@(0,0)(\@tempcnta,\@tempcntb)%
+          {\bgroup%
+            \setlength{\unitlength}{1pt}
+            \Draw@TopTextWindow%
+          \egroup}%
+        \endpicture%
+      }%
+    }%
+  \egroup%
+  \addtocounter{RealPage}{1}%
+  \org@shipout\box\@cclv%
+}
+
+
+% --------------------------------------------------------------
+% WINDOW DRAWING
+%
+\def\Draw@PDFWinWindows{%
+  \normalcolor%
+  \normalfont%
+  \@ShowWindow{Text}%
+  \@ShowWindow{Panel}%
+  \@ShowWindow{User}%
+}
+
+\def\Draw@ScreenBackground{%
+  \ifcase\@Screen@Type%
+  \or%
+  \or%
+    % 2 = colored
+    \put(0,0){\bgroup\color{ScreenBackgroundColor}\vrule%
+      height\paperheight depth0pt width\paperwidth\egroup}%
+  \or%
+    % 3 = graphics
+    \put(0,0){\includegraphics[width=\paperwidth,height=\paperheight]%
+      {\@Screen@Overlay}}%
+  \or%
+    % 4 = extended
+    \put(0,0){\bgroup\color{ScreenBackgroundColor}\vrule%
+      height\paperheight depth0pt width\paperwidth\egroup}%
+    \put(0,0){\includegraphics[width=\paperwidth,height=\paperheight]%
+      {\@Screen@Overlay}}%
+  \or%
+    % 5 = wallpaper
+    \bgroup%
+      \setbox0=\hbox{\includegraphics{\@Screen@Overlay}}%
+      \setlength{\unitlength}{1sp}%
+      \@tempcnta=\paperwidth%
+      \count255=\wd0%
+      \divide\@tempcnta by \count255%
+      \setbox2=\hbox{\count255=-1%
+        \loop\ifnum\count255<\@tempcnta\advance\count255 by 1\copy0\repeat\hss}
+      \@tempcntb=\paperheight%
+      \count255=\ht0%
+      \divide\@tempcntb by \count255%
+      \advance\@tempcntb by 1%
+      \multiput(0,0)(0,\count255){\@tempcntb}{\copy2}%
+    \egroup%
+  \fi%
+}
+%
+% show window procedure
+\def\@ShowWindow#1{%
+  \expandafter\Win@DimX\csname @#1@DimX\endcsname%
+  \expandafter\Win@DimY\csname @#1@DimY\endcsname%
+  \expandafter\Win@LLX\csname @#1@LLX\endcsname%
+  \expandafter\Win@LLY\csname @#1@LLY\endcsname%
+  \expandafter\Win@BT\csname @#1@BorderThickness\endcsname%
+  \expandafter\Win@BR\csname @#1@BorderArcRadius\endcsname%
+  \ifcase\csname @#1@WinType\endcsname%
+    % 0 = disabled
+    \relax%
+  \or%
+    % 1 = transparent => frame+contents
+    \ShowWindow@Frame{#1}%
+    \ShowWindow@Contents{#1}%
+  \or%
+    % 2 = colored => frame+box+contents
+    \ShowWindow@FrameBox{#1}%
+    \ShowWindow@Contents{#1}%
+  \or%
+    % 3 = graphics => graphics+contents
+    \ShowWindow@Frame{#1}%
+    \ShowWindow@Graphics{#1}%
+    \ShowWindow@Contents{#1}%
+  \or%
+    % 4 = extended => frame+box+graphics+contents
+    \ShowWindow@FrameBox{#1}%
+    \ShowWindow@Graphics{#1}%
+    \ShowWindow@Contents{#1}%
+  \fi%
+}
+%
+\def\ShowWindow@Frame#1{%
+  \bgroup
+    \color{#1BorderColor}%
+    \@tempdimb=\Win@DimY  \advance\@tempdimb by \Win@BT%
+    \put(\strip@pt\Win@LLX,\strip@pt\Win@LLY)%
+     {\vrule width\Win@DimX height\@tempdimb depth-\Win@DimY}%
+    \put(\strip@pt\Win@LLX,\strip@pt\Win@LLY)%
+     {\vrule width\Win@DimX height0pt depth\Win@BT}%
+    \@tempdima=\Win@LLX  \advance\@tempdima by -\Win@BT%
+    \@tempdimc=\Win@LLX  \advance\@tempdimc by \Win@DimX%
+    \put(\strip@pt\@tempdima,\strip@pt\Win@LLY)%
+     {\vrule width\Win@BT height\@tempdimb depth\Win@BT}%
+    \put(\strip@pt\@tempdimc,\strip@pt\Win@LLY)%
+     {\vrule width\Win@BT height\@tempdimb depth\Win@BT}%
+  \egroup
+}
+\def\ShowWindow@FrameBox#1{%
+  \ifdim\Win@BR=0pt%
+    \ShowWindow@Frame{#1}%
+    \put(\strip@pt\Win@LLX,\strip@pt\Win@LLY)%
+     {\color{#1BackgroundColor}\vrule height\Win@DimY%
+     depth0pt width\Win@DimX}%
+  \else
+    \@tempdima=\Win@LLX  \advance\@tempdima by -\Win@BT%
+    \@tempdimb=\Win@LLY  \advance\@tempdimb by \Win@BR%
+    \@tempdimc=\Win@DimX  \advance\@tempdimc by -2.0\Win@BR%
+    % bottom line: corners and bottom border
+    \dimen0\Win@BR  \advance\dimen0\Win@BT   % big radius
+    \put(\strip@pt\@tempdima,\strip@pt\@tempdimb){%
+      \color{#1BorderColor}%
+      \Left@Corner{\@height}{\@depth}%
+      \vrule width\@tempdimc height0pt depth\dimen0%
+      \Right@Corner{\@height}{\@depth}%
+    }%
+    \dimen0\Win@BR  \advance\dimen0 by -0.3pt%
+    \put(\strip@pt\Win@LLX,\strip@pt\@tempdimb){%
+      \color{#1BackgroundColor}%
+      \Left@Corner{\@height}{\@depth}%
+      \vrule width\@tempdimc height0pt depth\dimen0%
+      \Right@Corner{\@height}{\@depth}%
+    }%
+    % top line: corners and top border
+    \@tempdimb=\Win@LLY  \advance\@tempdimb by -\Win@BR%
+    \advance\@tempdimb by \Win@DimY%
+    \dimen0\Win@BR  \advance\dimen0\Win@BT   % big radius
+    \put(\strip@pt\@tempdima,\strip@pt\@tempdimb){%
+      \color{#1BorderColor}%
+      \Left@Corner{\@depth}{\@height}%
+      \vrule width\@tempdimc height\dimen0 depth0pt%
+      \Right@Corner{\@depth}{\@height}%
+    }%
+    \dimen0\Win@BR%
+    \dimen0\Win@BR  \advance\dimen0 by -0.3pt%
+    \put(\strip@pt\Win@LLX,\strip@pt\@tempdimb){%
+      \color{#1BackgroundColor}%
+      \Left@Corner{\@depth}{\@height}%
+      \vrule width\@tempdimc height\dimen0 depth0pt%
+      \Right@Corner{\@depth}{\@height}%
+    }%
+    % middle line: side borders and center
+    \@tempdimb=\Win@LLY  \advance\@tempdimb by .93\Win@BR%
+    \@tempdimc=\Win@DimY  \advance\@tempdimc by -1.86\Win@BR%
+    \put(\strip@pt\@tempdima,\strip@pt\@tempdimb){%
+      \color{#1BorderColor}%
+      \vrule width\Win@BT height\@tempdimc depth0pt%
+      \color{#1BackgroundColor}%
+      \vrule width\Win@DimX height\@tempdimc depth0pt%
+      \color{#1BorderColor}%
+      \vrule width\Win@BT height\@tempdimc depth0pt%
+    }%
+  \fi%
+}
+\def\ShowWindow@Graphics#1{%
+  \edef\tempFileName{\csname @#1@Overlay\endcsname}%
+  \put(\strip@pt\Win@LLX,\strip@pt\Win@LLY)%
+   {\includegraphics[width=\Win@DimX,height=\Win@DimY]{\tempFileName}}%
+}
+\def\ShowWindow@Contents#1{%
+  \put(\strip@pt\Win@LLX,\strip@pt\Win@LLY)%
+   {\makebox(\strip@pt\Win@DimX,\strip@pt\Win@DimY)%
+   {\csname @#1@\endcsname}}%
+}
+%
+\def\Draw@TopTextWindow{%
+  \put(\strip@pt\@Text@LLX,\strip@pt\@Text@LLY)%
+   {\makebox(\strip@pt\@Text@DimX,\strip@pt\@Text@DimY)%
+   {\Top@Text@}}%
+}
+
+
+% --------------------------------------------------------------
+% CORNER DRAWING: drawing a few black rectangles, because
+% (La)TeX's graphical features are very limited...
+%
+% NOTE: overlap of bars is necessary to avoid white
+% lines due to alialising effects.
+% The straight forward method, namely putting together simple
+% adjacent bars, does not work properly.
+% NOTE: \p@ means 0pt. \@width, \@height, \@depth are macros for
+% the strings width, height, depth. 120 calls save enough memory
+% space to justify that in this section.
+\def\Right@Corner#1#2{
+  \vrule \@width.070\dimen0 #1 \p@ #2 1.0\dimen0  \kern-.070\dimen0%
+  \vrule \@width.170\dimen0 #1 \p@ #2 .99\dimen0  \kern-.170\dimen0%
+  \vrule \@width.221\dimen0 #1 \p@ #2 .98\dimen0  \kern-.221\dimen0%
+  \vrule \@width.262\dimen0 #1 \p@ #2 .97\dimen0  \kern-.262\dimen0%
+  \vrule \@width.296\dimen0 #1 \p@ #2 .96\dimen0  \kern-.296\dimen0%
+  \vrule \@width.327\dimen0 #1 \p@ #2 .95\dimen0  \kern-.327\dimen0%
+  \vrule \@width.354\dimen0 #1 \p@ #2 .94\dimen0  \kern-.354\dimen0%
+  \vrule \@width.380\dimen0 #1 \p@ #2 .93\dimen0  \kern-.380\dimen0%
+  \vrule \@width.403\dimen0 #1 \p@ #2 .92\dimen0  \kern-.403\dimen0%
+  \vrule \@width.425\dimen0 #1 \p@ #2 .91\dimen0  \kern-.425\dimen0%
+  \vrule \@width.446\dimen0 #1 \p@ #2 .90\dimen0  \kern-.446\dimen0%
+  \vrule \@width.465\dimen0 #1 \p@ #2 .89\dimen0  \kern-.465\dimen0%
+  \vrule \@width.484\dimen0 #1 \p@ #2 .88\dimen0  \kern-.484\dimen0%
+  \vrule \@width.502\dimen0 #1 \p@ #2 .87\dimen0  \kern-.502\dimen0%
+  \vrule \@width.519\dimen0 #1 \p@ #2 .86\dimen0  \kern-.519\dimen0%
+  \vrule \@width.535\dimen0 #1 \p@ #2 .85\dimen0  \kern-.535\dimen0%
+  \vrule \@width.550\dimen0 #1 \p@ #2 .84\dimen0  \kern-.550\dimen0%
+  \vrule \@width.565\dimen0 #1 \p@ #2 .83\dimen0  \kern-.565\dimen0%
+  \vrule \@width.579\dimen0 #1 \p@ #2 .82\dimen0  \kern-.579\dimen0%
+  \vrule \@width.593\dimen0 #1 \p@ #2 .81\dimen0  \kern-.593\dimen0%
+  \vrule \@width.606\dimen0 #1 \p@ #2 .80\dimen0  \kern-.606\dimen0%
+  \vrule \@width.619\dimen0 #1 \p@ #2 .79\dimen0  \kern-.619\dimen0%
+  \vrule \@width.632\dimen0 #1 \p@ #2 .78\dimen0  \kern-.632\dimen0%
+  \vrule \@width.644\dimen0 #1 \p@ #2 .77\dimen0  \kern-.644\dimen0%
+  \vrule \@width.656\dimen0 #1 \p@ #2 .76\dimen0  \kern-.656\dimen0%
+  \vrule \@width.668\dimen0 #1 \p@ #2 .75\dimen0  \kern-.668\dimen0%
+  \vrule \@width.679\dimen0 #1 \p@ #2 .74\dimen0  \kern-.679\dimen0%
+  \vrule \@width.689\dimen0 #1 \p@ #2 .73\dimen0  \kern-.689\dimen0%
+  \vrule \@width.699\dimen0 #1 \p@ #2 .72\dimen0  \kern-.699\dimen0%
+  \vrule \@width.709\dimen0 #1 \p@ #2 .71\dimen0  \kern-.709\dimen0%
+  %
+  \vrule #2 .070\dimen0 #1 \p@ \@width1.0\dimen0  \kern-1.0\dimen0%
+  \vrule #2 .170\dimen0 #1 \p@ \@width.99\dimen0  \kern-.99\dimen0%
+  \vrule #2 .221\dimen0 #1 \p@ \@width.98\dimen0  \kern-.98\dimen0%
+  \vrule #2 .262\dimen0 #1 \p@ \@width.97\dimen0  \kern-.97\dimen0%
+  \vrule #2 .296\dimen0 #1 \p@ \@width.96\dimen0  \kern-.96\dimen0%
+  \vrule #2 .327\dimen0 #1 \p@ \@width.95\dimen0  \kern-.95\dimen0%
+  \vrule #2 .354\dimen0 #1 \p@ \@width.94\dimen0  \kern-.94\dimen0%
+  \vrule #2 .380\dimen0 #1 \p@ \@width.93\dimen0  \kern-.93\dimen0%
+  \vrule #2 .403\dimen0 #1 \p@ \@width.92\dimen0  \kern-.92\dimen0%
+  \vrule #2 .425\dimen0 #1 \p@ \@width.91\dimen0  \kern-.91\dimen0%
+  \vrule #2 .446\dimen0 #1 \p@ \@width.90\dimen0  \kern-.90\dimen0%
+  \vrule #2 .465\dimen0 #1 \p@ \@width.89\dimen0  \kern-.89\dimen0%
+  \vrule #2 .484\dimen0 #1 \p@ \@width.88\dimen0  \kern-.88\dimen0%
+  \vrule #2 .502\dimen0 #1 \p@ \@width.87\dimen0  \kern-.87\dimen0%
+  \vrule #2 .519\dimen0 #1 \p@ \@width.86\dimen0  \kern-.86\dimen0%
+  \vrule #2 .535\dimen0 #1 \p@ \@width.85\dimen0  \kern-.85\dimen0%
+  \vrule #2 .550\dimen0 #1 \p@ \@width.84\dimen0  \kern-.84\dimen0%
+  \vrule #2 .565\dimen0 #1 \p@ \@width.83\dimen0  \kern-.83\dimen0%
+  \vrule #2 .579\dimen0 #1 \p@ \@width.82\dimen0  \kern-.82\dimen0%
+  \vrule #2 .593\dimen0 #1 \p@ \@width.81\dimen0  \kern-.81\dimen0%
+  \vrule #2 .606\dimen0 #1 \p@ \@width.80\dimen0  \kern-.80\dimen0%
+  \vrule #2 .619\dimen0 #1 \p@ \@width.79\dimen0  \kern-.79\dimen0%
+  \vrule #2 .632\dimen0 #1 \p@ \@width.78\dimen0  \kern-.78\dimen0%
+  \vrule #2 .644\dimen0 #1 \p@ \@width.77\dimen0  \kern-.77\dimen0%
+  \vrule #2 .656\dimen0 #1 \p@ \@width.76\dimen0  \kern-.76\dimen0%
+  \vrule #2 .668\dimen0 #1 \p@ \@width.75\dimen0  \kern-.75\dimen0%
+  \vrule #2 .679\dimen0 #1 \p@ \@width.74\dimen0  \kern-.74\dimen0%
+  \vrule #2 .689\dimen0 #1 \p@ \@width.73\dimen0  \kern-.73\dimen0%
+  \vrule #2 .699\dimen0 #1 \p@ \@width.72\dimen0  \kern-.72\dimen0%
+  \vrule #2 .709\dimen0 #1 \p@ \@width.71\dimen0  \kern-.71\dimen0%
+}
+\def\Left@Corner#1#2{
+  \vrule #2 .070\dimen0 #1 \p@ \@width1.0\dimen0  \kern-.99\dimen0%
+  \vrule #2 .170\dimen0 #1 \p@ \@width.99\dimen0  \kern-.98\dimen0%
+  \vrule #2 .221\dimen0 #1 \p@ \@width.98\dimen0  \kern-.97\dimen0%
+  \vrule #2 .262\dimen0 #1 \p@ \@width.97\dimen0  \kern-.96\dimen0%
+  \vrule #2 .296\dimen0 #1 \p@ \@width.96\dimen0  \kern-.95\dimen0%
+  \vrule #2 .327\dimen0 #1 \p@ \@width.95\dimen0  \kern-.94\dimen0%
+  \vrule #2 .354\dimen0 #1 \p@ \@width.94\dimen0  \kern-.93\dimen0%
+  \vrule #2 .380\dimen0 #1 \p@ \@width.93\dimen0  \kern-.92\dimen0%
+  \vrule #2 .403\dimen0 #1 \p@ \@width.92\dimen0  \kern-.91\dimen0%
+  \vrule #2 .425\dimen0 #1 \p@ \@width.91\dimen0  \kern-.90\dimen0%
+  \vrule #2 .446\dimen0 #1 \p@ \@width.90\dimen0  \kern-.89\dimen0%
+  \vrule #2 .465\dimen0 #1 \p@ \@width.89\dimen0  \kern-.88\dimen0%
+  \vrule #2 .484\dimen0 #1 \p@ \@width.88\dimen0  \kern-.87\dimen0%
+  \vrule #2 .502\dimen0 #1 \p@ \@width.87\dimen0  \kern-.86\dimen0%
+  \vrule #2 .519\dimen0 #1 \p@ \@width.86\dimen0  \kern-.85\dimen0%
+  \vrule #2 .535\dimen0 #1 \p@ \@width.85\dimen0  \kern-.84\dimen0%
+  \vrule #2 .550\dimen0 #1 \p@ \@width.84\dimen0  \kern-.83\dimen0%
+  \vrule #2 .565\dimen0 #1 \p@ \@width.83\dimen0  \kern-.82\dimen0%
+  \vrule #2 .579\dimen0 #1 \p@ \@width.82\dimen0  \kern-.81\dimen0%
+  \vrule #2 .593\dimen0 #1 \p@ \@width.81\dimen0  \kern-.80\dimen0%
+  \vrule #2 .606\dimen0 #1 \p@ \@width.80\dimen0  \kern-.79\dimen0%
+  \vrule #2 .619\dimen0 #1 \p@ \@width.79\dimen0  \kern-.78\dimen0%
+  \vrule #2 .632\dimen0 #1 \p@ \@width.78\dimen0  \kern-.77\dimen0%
+  \vrule #2 .644\dimen0 #1 \p@ \@width.77\dimen0  \kern-.76\dimen0%
+  \vrule #2 .656\dimen0 #1 \p@ \@width.76\dimen0  \kern-.75\dimen0%
+  \vrule #2 .668\dimen0 #1 \p@ \@width.75\dimen0  \kern-.74\dimen0%
+  \vrule #2 .679\dimen0 #1 \p@ \@width.74\dimen0  \kern-.73\dimen0%
+  \vrule #2 .689\dimen0 #1 \p@ \@width.73\dimen0  \kern-.72\dimen0%
+  \vrule #2 .699\dimen0 #1 \p@ \@width.72\dimen0  \kern-.71\dimen0%
+  \vrule #2 .709\dimen0 #1 \p@ \@width.71\dimen0  \kern-.709\dimen0%
+  %
+  \vrule \@width.709\dimen0 #1 \p@ #2 .71\dimen0  \kern-.699\dimen0%
+  \vrule \@width.699\dimen0 #1 \p@ #2 .72\dimen0  \kern-.689\dimen0%
+  \vrule \@width.689\dimen0 #1 \p@ #2 .73\dimen0  \kern-.679\dimen0%
+  \vrule \@width.679\dimen0 #1 \p@ #2 .74\dimen0  \kern-.668\dimen0%
+  \vrule \@width.668\dimen0 #1 \p@ #2 .75\dimen0  \kern-.656\dimen0%
+  \vrule \@width.656\dimen0 #1 \p@ #2 .76\dimen0  \kern-.644\dimen0%
+  \vrule \@width.644\dimen0 #1 \p@ #2 .77\dimen0  \kern-.632\dimen0%
+  \vrule \@width.632\dimen0 #1 \p@ #2 .78\dimen0  \kern-.619\dimen0%
+  \vrule \@width.619\dimen0 #1 \p@ #2 .79\dimen0  \kern-.606\dimen0%
+  \vrule \@width.606\dimen0 #1 \p@ #2 .80\dimen0  \kern-.593\dimen0%
+  \vrule \@width.593\dimen0 #1 \p@ #2 .81\dimen0  \kern-.579\dimen0%
+  \vrule \@width.579\dimen0 #1 \p@ #2 .82\dimen0  \kern-.565\dimen0%
+  \vrule \@width.565\dimen0 #1 \p@ #2 .83\dimen0  \kern-.550\dimen0%
+  \vrule \@width.550\dimen0 #1 \p@ #2 .84\dimen0  \kern-.535\dimen0%
+  \vrule \@width.535\dimen0 #1 \p@ #2 .85\dimen0  \kern-.519\dimen0%
+  \vrule \@width.519\dimen0 #1 \p@ #2 .86\dimen0  \kern-.502\dimen0%
+  \vrule \@width.502\dimen0 #1 \p@ #2 .87\dimen0  \kern-.484\dimen0%
+  \vrule \@width.484\dimen0 #1 \p@ #2 .88\dimen0  \kern-.465\dimen0%
+  \vrule \@width.465\dimen0 #1 \p@ #2 .89\dimen0  \kern-.446\dimen0%
+  \vrule \@width.446\dimen0 #1 \p@ #2 .90\dimen0  \kern-.425\dimen0%
+  \vrule \@width.425\dimen0 #1 \p@ #2 .91\dimen0  \kern-.403\dimen0%
+  \vrule \@width.403\dimen0 #1 \p@ #2 .92\dimen0  \kern-.380\dimen0%
+  \vrule \@width.380\dimen0 #1 \p@ #2 .93\dimen0  \kern-.354\dimen0%
+  \vrule \@width.354\dimen0 #1 \p@ #2 .94\dimen0  \kern-.327\dimen0%
+  \vrule \@width.327\dimen0 #1 \p@ #2 .95\dimen0  \kern-.296\dimen0%
+  \vrule \@width.296\dimen0 #1 \p@ #2 .96\dimen0  \kern-.262\dimen0%
+  \vrule \@width.262\dimen0 #1 \p@ #2 .97\dimen0  \kern-.221\dimen0%
+  \vrule \@width.221\dimen0 #1 \p@ #2 .98\dimen0  \kern-.170\dimen0%
+  \vrule \@width.170\dimen0 #1 \p@ #2 .99\dimen0  \kern-.070\dimen0%
+  \vrule \@width.070\dimen0 #1 \p@ #2 1.0\dimen0%
+}
+
+
+%-------------- Verbatim fix -------------
+% This code is provided by DP Story
+\newdimen\@PDFspaceleft
+\def\@PDFpagespace{%
+  \ifdim\pagetotal=0pt
+     \@PDFspaceleft=\vsize
+   \else
+     \@PDFspaceleft=\pagegoal
+     \advance\@PDFspaceleft by-\pagetotal
+ \fi}
+\let\@PDFverbatim\verbatim
+\let\@PDFendverbatim\endverbatim
+\AtBeginDocument{%
+   \def\verbatim{\begingroup\setbox0=\vbox\bgroup
+         \hsize=\linewidth%
+         \@PDFverbatim\verbatim@font}
+   \def\endverbatim{\@PDFendverbatim\egroup
+    \@PDFpagespace\ifdim\@PDFspaceleft>\ht0
+       \else
+        \setbox1=\vsplit0 to\@PDFspaceleft
+        \verbatim@font\unvbox1 \penalty\@M
+       \fi
+    \ifvoid0\relax\else\verbatim@font\unvbox0\fi
+    \endgroup}
+  \def\@verb{\@vobeyspaces \frenchspacing\@sverb}
+}
+% end of DPS' code
+%-------------- end of Verbatim fix -------------
+
+
+% --------------------------------------------------------------
+% FINAL STUFF: \AtEndDocument settings and config file input
+%
+\AtEndDocument{%
+  \clearpage%
+  \addtocounter{page}{-1}%
+  \addtocounter{RealPage}{-1}%
+  \immediate\write\@auxout{\string\gdef\string\LastPageString{\thepage}}%
+  \immediate\write\@auxout{\string\expandafter\string\gdef%
+   \string\csname\space LastPageC\arabic{chapter}String\string\endcsname{\thepage}}%
+  \immediate\write\@auxout{\string\gdef\string\LastPage{\arabic{RealPage}}}%
+  \immediate\write\@auxout{\string\gdef\string\ChapterNumber{\arabic{chapter}}}%
+  \addtocounter{page}{1}%
+}
+
+\if@nocfg%
+  \relax%
+\else%
+  \IfFileExists{pdfwin.cfg}{\input pdfwin.cfg}%
+  {\PDFWIN@Warning{pdfwin.cfg does not exist!}}%
+\fi
+
+\endinput
+
+%%%%%%%%%%%%%%%%%%% EOF
-- 
cgit v1.2.3

