diff options
author | Karl Berry <karl@freefriends.org> | 2020-01-02 22:08:24 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2020-01-02 22:08:24 +0000 |
commit | d71cc75f7e13c0f078222e7349195589b44ce586 (patch) | |
tree | 28ef6480842eb5fda57b2bd89861eab5f4302966 /Master/texmf-dist | |
parent | 79e89a073f8fabfdab0d1feecb0207249a8a1504 (diff) |
rm geometry-de, merged into geometry
git-svn-id: svn://tug.org/texlive/trunk@53300 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r-- | Master/texmf-dist/doc/latex/geometry-de/README | 53 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/geometry-de/README-DE | 53 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/geometry-de/geometry-de.dtx | 3844 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/geometry-de/geometry-de.pdf | bin | 470378 -> 0 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/geometry-de/geometry.ins | 81 |
5 files changed, 0 insertions, 4031 deletions
diff --git a/Master/texmf-dist/doc/latex/geometry-de/README b/Master/texmf-dist/doc/latex/geometry-de/README deleted file mode 100644 index 8ca697a7e3b..00000000000 --- a/Master/texmf-dist/doc/latex/geometry-de/README +++ /dev/null @@ -1,53 +0,0 @@ -This package, geometry-de.dtx, is a modified version of the geometry package -in version 5.6 2010/09/12 -by Hideo Umeki. - -With the file you can create a documentation in german language but it's possible -to build all other geometry files. - -Files: - * README-DE - this file - * geometry.ins - for installation to get .sty from .dtx - * geometry-de.dtx - including sources and documentation - * geometry-de.pdf - print-ready german documentation - -Use - tex geometry-de.tex -to get the geometry.ins, the geometry-de.drv and the geometry.sty files. - -Use - latex geometry-de.dtx or - latex geometry-de.drv or - pdflatex geometry-de.dtx or - pdflatex geometry-de.drv -to create the german documentation. - -The geometry.sty is the same which is provided by the original .dtx file from -Hideo Ukmeki. - -How to install geometry: -Quoted from Hideo Umeki's README file. Little modifications by Hans-Martin Haase. -"Installation: -[manual installation] - * To get geometry.sty out of geometry.dtx - $ tex geometry-de.dtx - or $ (la)tex geometry.ins - * To build documentation - $ latex geometry-de.dtx - or $ latex geometry-de.drv - * Put the derived files in the proper directories: - - tex/latex/geometry/geometry.sty - - doc/latex/geometry/geometry-de.pdf - - source/latex/geometry/geometry-de.dtx - -[TeXLive] - * Use 'tlmgr' command - $ tlmgr show geometry -- to check the package info - $ sudo tlmgr update geometry -- to update the package - * You can use 'TeX Live Utility' instead of 'tlmgr', if on MacOSX. - -[MikTeX] - * Use the MikTeX Update Wizard to update geometry package." - - -The translation was create by Hans-Martin Haase.
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/geometry-de/README-DE b/Master/texmf-dist/doc/latex/geometry-de/README-DE deleted file mode 100644 index 855c355eb62..00000000000 --- a/Master/texmf-dist/doc/latex/geometry-de/README-DE +++ /dev/null @@ -1,53 +0,0 @@ -Dieses Paket, geometry-de.dtx, ist eine geänderte Version des geometry Pakets -in Version 5.6 2010/09/12 -von Hideo Umeki. - -Mit der Datei können Sie eine deutsche Dokumentation erzeugen, es ist aber -auch möglich alle anderen geometry Dateien zu kompilieren. - -Dateien: - * README-DE - diese Datei - * geometry.ins - für die Installation, um die .sty Datei aus der .dtx zu erzeugen - * geometry-de.dtx - beinhaltet den Quelltext und die Dokumentation - * geometry-de.pdf - druckfertige deutsche Dokumentation - -Benutzen sie - tex geometry-de.tex -um die geometry.ins, die geometry-de.drv und die geometry.sty Dateien zu kompilieren. - -Benutzen sie - latex geometry-de.dtx oder - latex geometry-de.drv oder - pdflatex geometry-de.dtx oder - pdflatex geometry-de.drv -um die deutsche Dokumentation zu erzeugen. - -Die geometry.sty ist die gleiche, wie sie von der originalen .dtx Datei von -Hideo Ukmeki angeboten wird. - -Wie man geometry installiert: -Partielle Übersetzung der README Datei von Hideo Umeki -Installation: -[manuelle Installation] - * Um geometry.sty aus geometry.dtx zu bekommen - $ tex geometry-de.dtx - oder $ (la)tex geometry.ins - * Um die Dokumentation zu erzeugen - $ latex geometry-de.dtx - oder $ latex geometry-de.drv - * Platzieren sie die abgeleiteten Dateien in den folgenden Verzeichnissen: - - tex/latex/geometry/geometry.sty - - doc/latex/geometry/geometry-de.pdf - - source/latex/geometry/geometry-de.dtx - -[TeXLive] - * Benutzen sie das 'tlmgr' Kommando - $ tlmgr show geometry -- um die Paketinformationen zu prüfen - $ sudo tlmgr update geometry -- um das Paket zu aktualisieren - * Sie können das 'TeX Live Utility' anstelle von 'tlmgr' benutzen, wenn sie mit MacOSX arbeiten. - -[MikTeX] - * Benutzen sie den MikTeX Update Wizard, um das geometry Paket zu aktualisieren. - - -Die Übersetzung wurde von Hans-Martin Haase angefertigt.
\ No newline at end of file diff --git a/Master/texmf-dist/doc/latex/geometry-de/geometry-de.dtx b/Master/texmf-dist/doc/latex/geometry-de/geometry-de.dtx deleted file mode 100644 index 2a69683ac1c..00000000000 --- a/Master/texmf-dist/doc/latex/geometry-de/geometry-de.dtx +++ /dev/null @@ -1,3844 +0,0 @@ -% \iffalse meta-comment -% -% Copyright 1996-2010 by Hideo Umeki <latexgeometry@gmail.com> -% -% LaTeX Package: Geometry -% ----------------------- -% -% This work may be distributed and/or modified under the conditions of -% the LaTeX Project Public License, either version 1.3c 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.3c or later is part of all distributions of LaTeX -% version 2005/12/01 or later. -% -% This work is "maintained" (as per the LPPL maintenance status) -% by Hideo Umeki. -% -% This work consists of the files geometry.dtx and -% the derived files: geometry.{sty,ins,drv}, geometry-samples.tex. -% -% * Distribution -% CTAN: macros/latex/contrib/geometry/README -% CTAN: macros/latex/contrib/geometry/changes.txt -% CTAN: macros/latex/contrib/geometry/geometry.ins -% CTAN: macros/latex/contrib/geometry/geometry.dtx -% CTAN: macros/latex/contrib/geometry/geometry.pdf -% -% * See README for installation. -% -%<*ignore> -\begingroup - \def\x{LaTeX2e} -\expandafter\endgroup -\ifcase 0\ifx\install y1\fi\expandafter - \ifx\csname processbatchFile\endcsname\relax\else1\fi - \ifx\fmtname\x\else 1\fi\relax -\else\csname fi\endcsname -%</ignore> -%<package|driver>\NeedsTeXFormat{LaTeX2e} -%<package>\ProvidesPackage{geometry} -%<package> [2010/09/12 v5.6 Page Geometry] -%<*install> -\input docstrip.tex -\Msg{************************************************************************} -\Msg{* Installation} -\Msg{* Package: geometry 2010/09/12 v5.6 Page Geometry} -\Msg{************************************************************************} - -\keepsilent -\askforoverwritefalse -\preamble - -Copyright (C) 1996-2010 -by Hideo Umeki <latexgeometry@gmail.com> - -This work may be distributed and/or modified under the conditions of -the LaTeX Project Public License, either version 1.3c 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.3c or later is part of all distributions of LaTeX -version 2005/12/01 or later. - -This work is "maintained" (as per the LPPL maintenance status) -by Hideo Umeki. - -This work consists of the files geometry.dtx and -the derived files: geometry.{sty,ins,drv}, geometry-samples.tex. - -\endpreamble - -\generate{% - \file{geometry.ins}{\from{geometry-de.dtx}{install}}% - \file{geometry-de.drv}{\from{geometry-de.dtx}{driver}}% - \usedir{tex/latex/geometry}% - \file{geometry.sty}{\from{geometry-de.dtx}{package}}% - \file{geometry.cfg}{\from{geometry-de.dtx}{config}}% - \file{geometry-samples-de.tex}{\from{geometry-de.dtx}{samples}}% -} - -\obeyspaces -\Msg{************************************************************************} -\Msg{*} -\Msg{* To finish the installation you have to move the following} -\Msg{* file into a directory searched by LaTeX:} -\Msg{*} -\Msg{* \space\space geometry.sty} -\Msg{*} -\Msg{* To produce the documentation run the file `geometry.drv'} -\Msg{* through LaTeX.} -\Msg{*} -\Msg{* Happy TeXing!} -\Msg{*} -\Msg{************************************************************************} -\endbatchfile -%</install> -%<*ignore> -\fi -%</ignore> -%<*driver> -\ProvidesFile{geometry.drv} -\documentclass{ltxdoc} -\usepackage[colorlinks, linkcolor=blue]{hyperref} -\usepackage{graphicx} -\usepackage[T1]{fontenc} -\usepackage[utf8]{inputenc} -\usepackage[ngerman]{babel} -\usepackage[a4paper, hmargin=2.5cm, vmargin=1cm, includeheadfoot]{geometry} -\usepackage{charter} -\DeclareRobustCommand\XeTeX{% - X\lower.5ex\hbox{\kern-.07em\reflectbox{E}}% - \kern-.15em\TeX} -\DeclareRobustCommand\XeLaTeX{% - X\lower.5ex\hbox{\kern-.07em\reflectbox{E}}% - \kern-.15em\LaTeX} -\begin{document} - \DocInput{geometry-de.dtx} -\end{document} -%</driver> -% \fi -% -% \CheckSum{2680} -% -% \CharacterTable -% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z -% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z -% Digits \0\1\2\3\4\5\6\7\8\9 -% Exclamation \! Double quote \" Hash (number) \# -% Dollar \$ Percent \% Ampersand \& -% Acute accent \' Left paren \( Right paren \) -% Asterisk \* Plus \+ Comma \, -% Minus \- Point \. Solidus \/ -% Colon \: Semicolon \; Less than \< -% Equals \= Greater than \> Question mark \? -% Commercial at \@ Left bracket \[ Backslash \\ -% Right bracket \] Circumflex \^ Underscore \_ -% Grave accent \` Left brace \{ Vertical bar \| -% Right brace \} Tilde \~} -% -% \GetFileInfo{geometry.sty} -% -% \title{Das \textsf{geometry} Paket} -% \date{\filedate\ \fileversion} -% \author{Hideo Umeki\\\texttt{latexgeometry@gmail.com}\\\begin{small}Die Übersetzung wurde angefertigt von Hans-Martin Haase -% (\texttt{hmhaase@pclinuxosusers.de})\end{small}} -% -% \MakeShortVerb{|} -% -% \def\OpenB{{\ttfamily\char`\{}} -% \def\Comma{{\ttfamily\char`,}} -% \def\CloseB{{\ttfamily\char`\}}} -% \def\Gm{\textsf{geometry}} -% \newcommand\argii[2]{\OpenB\meta{#1}\Comma\meta{#2}\CloseB} -% \newcommand\argiii[3]{\OpenB\meta{#1}\Comma\meta{#2}\Comma\meta{#3}\CloseB} -% \newcommand\vargii[2]{\OpenB#1\Comma#2\CloseB} -% \newcommand\vargiii[3]{\OpenB#1\Comma#2\Comma#3\CloseB} -% \newcommand\OR{\ \strut\vrule width .4pt\ } -% \newcommand\gpart[1]{\textsf{\textsl{\color[rgb]{.0,.45,.7}#1}}}% -% \newcommand\glen[1]{\textsf{#1}} -% \newenvironment{key}[2]{\expandafter\macro\expandafter{`#2'}}{\endmacro} -% \newenvironment{Options}% -% {\begin{list}{}{% -% \renewcommand{\makelabel}[1]{\texttt{##1}\hfil}% -% \setlength{\itemsep}{-.5\parsep} -% \settowidth{\labelwidth}{\texttt{xxxxxxxxxxx\space}}% -% \setlength{\leftmargin}{\labelwidth}% -% \addtolength{\leftmargin}{\labelsep}}% -% \raggedright} -% {\end{list}} -% \newenvironment{Spec}% -% {\begin{list}{}{% -% \renewcommand{\makelabel}[1]{\fbox{##1}\hfil}% -% \setlength{\itemsep}{-.5\parsep} -% \settowidth{\labelwidth}{\texttt{S(x,x)}}% -% \setlength{\leftmargin}{\labelwidth}% -% \addtolength{\leftmargin}{\labelsep}% -% \addtolength{\leftmargin}{2em}% -% \setlength{\rightmargin}{2em}}% -% \raggedright} -% {\end{list}} -% \def\Ss(#1,#2){\textsf{S(#1,#2)}}% -% \def\Sp(#1,#2,#3){\mbox{|(#1,#2,#3)|}}% -% \def\onlypre{\llap{$^{\dagger\:}$}}% -% -% \maketitle -% -% \begin{abstract} -% Dieses Paket bietet einen flexiblen und einfachen Weg die Seitenmaße zu verändern. -% Sie können das Seitenlayout mit intuitiven Parametern verändern. Ein Beispiel, -% wenn Sie den Abstand von jedem Rand der Seite auf 2\,cm setzen möchten, -% können Sie einfach |\usepackage[margin=2cm]{geometry}| eingeben. -% Das Seitenlayout kann in der Mitte des Dokuments verändert werden, mit dem Befehl -% |\newgeometry|. -% \end{abstract} -% -% \section{Vorwort zu Version 5} -% -% \begin{itemize} -% \item \textbf{Das Seitenlayout in der Mitte des Dokuments ändern.}\par -% Die neuen Befehle \cs{newgeometry\{$\cdots$\}} und -% \cs{restoregeometry} erlauben es dem Benutzer, die Seitenmaße in der Mitte -% des Dokuments zu verändern. \cs{newgeometry} stimmt fast mit -% \cs{geometry} überein, ausgenommen das \cs{newgeometry} alle Optionen, -% die in der Präambel spezifiziert sind, deaktiviert und überspringt die Optionen, die sich auf die Seitengröße beziehen: -% |landscape|, |portrait| und die Seitengrößenoptionen (solche wie -% |papersize|, |paper=a4paper| und andere). -% \item \textbf{Eine neue Reihe von Optionen, um den Layoutbereich zu spezifizieren.}\par -% Die Optionen, die für den Bereich angegeben wurden, in dem die Seitenmaße -% berechnet werden, sind hinzugefügt wurden: \textsf{layout}, \textsf{layoutsize}, -% \textsf{layoutwidth}, \textsf{layoutheight} und weitere. -% Diese Möglichkeiten sind hilfreich, falls das angegebene Layout auf eine andere -% Papiergröße angewendet soll. Wenn beispielsweise |a4paper| -% und |layout=a5paper| verwendet wird, dann benutzt das \Gm\ Paket das `A5' statt `A4' Layout, um -% die Ränder für die Papiergröße zu berechen. -% \item \textbf{Eine neue Treiberoption |xetex|.}\par -% Die neue Treiberoption |xetex| wurde hinzugefügt. Die Routine für die automatische Treiberdetektion -% ist überarbeitet worden, sodass ein Fehler mit einer nicht definierten -% Kontrollsequenz vermieden werden konnte. Beachte, dass `geometry.cfg' in \TeX{} Live, welches -% die Autodetektionsroutine deaktiviert und |pdftex| benutzt, nicht mehr -% nötig ist und es keine Probleme gibt, obwohl dies dennoch existiert. -% Um |xetex| einzustellen, ist es dringend empfohlen \XeLaTeX{} zu verwenden. -% \item \textbf{Neue Papiergröße für JIS B-Serien und ISO C-Serien.}\par -% Die Papiergrößenvoreinstellungen |b0j| bis |b6j| für JIS (Japanese Industrial Standards) B-Serien und -% |c0paper| bis |c6paper| für ISO C-Serien -% (v5.4$\sim$) wurden hinzugefügt. -% \item \textbf{Veränderung des Standards für nicht angegebenen Rand.}\par -% In der Vorversion wurde dann, wenn man nur einen Rand angab, z.\,B. -% |bottom=1cm|, von \Gm\ der andere Rand mit -% diesem Randverhältnis (1:1 standardmäßig für die vertikalen Maße) gesetzt -% und man bekam in diesem Fall |top=1cm|. -% Die Version 5 stellt die Textkörpergröße auf den |scale| -% ($=0.7$) ein und bestimmt den nicht angegebenen Rand. (Siehe Kapitel~\ref{sec:rules}) -% \item \textbf{Die Optionen |showframe| und |showcrop| arbeiten auf jeder Seite.}\par -% Mit der |showframe| Option werden die Seitenränder auf jeder Seite angezeigt. -% Des Weiteren druckt die neue |showcrop| Option Schittmarken auf jede Ecke des -% Layoutbereichs auf jeder Seite. Bedenken sie, dass die Marken unsichtbar sein werden, -% solange die Layoutgröße nicht schmaler wie die Papiergröße gemacht wird. -% Version 5.4 führt einen neuen |\shipout| Überladeprozess ein, der das -% \textsf{atbegshi} Paket benutzt, so wird das \textsf{atbegshi} Paket -% benötigt, wenn die showframe oder showcrop Option angegeben wird. -% \item \textbf{Laden von geometry.cfg vor der Verarbeitung der Klassenoptionen.}\par -% In der Vorgängerversion wurde \textsf{geometry.cfg} nach dem -% Verarbeiten der Dokumentklassenoptionen geladen. Jetzt, da die Konfigurationsdatei vor der Abarbeitung der -% Klassenoptionen geladen wird, können sie das Verhalten, -% wie es in \textsf{geometry.cfg} angegeben ist, durch das Hinzufügen von -% Optionen in der |\documentclass| oder genauso gut in |\usepackage| und |\geometry| verändern. -% \item \textbf{Beseitigte Optionen: |compat2| und |twosideshift|.} -% Die Version 5 ist nicht länger mit den Vorgängerversionen kompatibel. -% |compat2| und |twisideshift| wurden zur Vereinfachung entfernt. -% \end{itemize} -% -% \section{Einführung} -% -% Die Maße für das Seitenlayout in \LaTeX\ einzustellen ist nicht so einfach. -% Sie müssen dafür verschiedene ursprüngliche \LaTeX -Maße anpassen, um einen Textbereich -% dort zu platzieren, wo sie ihn angezeigt haben möchten. -% Wenn sie einen Textbereich ihres Dokuments zentrieren wollen, -% dann müssen sie beispielsweise die systemeigenen Maße wie folgt angeben: -% \begin{quote} -% |\usepackage{calc}|\\ -% |\setlength\textwidth{7in}|\\ -% |\setlength\textheight{10in}|\\ -% |\setlength\oddsidemargin{(\paperwidth-\textwidth)/2 - 1in}|\\ -% |\setlength\topmargin{(\paperheight-\textheight|\\ -% | -\headheight-\headsep-\footskip)/2 - 1in}|. -% \end{quote} -% Ohne das Paket \texttt{calc} würde das obere Beispiel noch -% schwierigere Einstellungen benötigen. Das Paket \Gm\ bietet einen einfachen -% Weg, die Parameter des Seitenlayouts zu konfigurieren. In diesem Fall müssen sie nur -% dies einstellen: -% \begin{quote} -% |\usepackage[text={7in,10in},centering]{geometry}|. -% \end{quote} -% Neben dem Zentrierungsproblem, ist das Einstellen der Ränder von jeder Kante des Blattes aus -% ebenso problematisch. Aber \Gm\ erledigt dies ebenso einfach. -% Wenn sie jeden Rand auf 1.5\,in setzen wollen, dann können sie -% \begin{quote} -% |\usepackage[margin=1.5in]{geometry}| -% \end{quote} -% eingeben. -% Weil das geometry Paket eine Autovervollständigung besitzt, -% werden nicht angegebene Maße automatisch festgelegt. -% Das \Gm\ Paket wird auch nützlich sein, wenn sie das Seitenlayout beispielsweise nach -% den folgenden strikten Instruktionen einstellen müssen: -% \begin{quote}\slshape -% Die vollständig erlaubte Breite des Textbereiches ist $6.5$, bei einer Höhe von $8.75$ -% Inches (englische Zoll). Der obere Rand auf jeder Seite soll $1.2$ Inches von -% der oberen Kante der Seite aus betragen. Der linke Rand sollte $0.9$ Inch von der linken Kante entfernt sein. -% Die Fußzeile mit der Seitenzahl sollte am unteren Ende des Textbereiches sein. -% \end{quote} -% In diesem Fall können sie bei der Benutzung von \Gm\ -% \begin{quote} -% |\usepackage[total={6.5in,8.75in},|\\ -% | top=1.2in, left=0.9in, includefoot]{geometry}|. -% \end{quote} -% eingeben. -% -% Die Konfiguration eines Textbereiches in einem Schriftstück mit dem Textsatzprogramm hat einige -% Ähnlichkeiten mit dem Platzieren eines Fensters auf dem Hintergrund beim Fenstermanager des Betriebssystems. -% Der Name `geometry' kommt von der |geometry|-Option, die genutzt wird, um die Größe und Lokalisierung eines Fensters -% beim X-Window-System anzugeben. -% -% \section{Seitengeometrie} -% -% Abbildung~\ref{fig:layout} zeigt die Seitenlayoutsmaße , die -% im \Gm\ Paket definiert sind. -% Das Seitenlayout beinhaltet einen \gpart{total body} (druckbaren Bereich) und \gpart{margins} (Ränder). -% Der \gpart{total body} besteht aus einem \gpart{body} (Textbereich) mit einem optionalen -% \gpart{header} (Kopf), \gpart{footer} (Fuß) und Randbemerkungen (\gpart{marginpar}). -% Es gibt vier Ränder: \gpart{left} (links), \gpart{right} (rechts), \gpart{top} (oben) und -% \gpart{bottom} (unten). Für zweiseitige Dokumente, sollten horizontale Ränder \gpart{inner} (innen) und \gpart{outer} -% (außen) genannt werden. -% \begin{quote} -% \begin{tabular}{rcl} -% \gpart{paper}&:&\gpart{total body} und -% \gpart{margins}\\ -% \gpart{total body}&:&\gpart{body} (Textbereich)\quad -% (optionaler \gpart{head}, \gpart{foot} und \gpart{marginpar})\\ -% \gpart{margins}&:&\gpart{left} (\gpart{inner}), -% \gpart{right} (\gpart{outer}), \gpart{top} und \gpart{bottom} -% \end{tabular} -% \end{quote} -% Jeder Rand wird von der korrespondierenden Kante des Blattes gemessen. -% Zum Beispiel, linker Rand (innerer Rand) meint eine horizontale Entfernung -% zwischen der linken (inneren) Kante des Blattes und der des \emph{total body} (druckbaren Bereichs). -% Deshalb sind der linke und obere Rand in \Gm\ anders als das natürliche Maß -% \cs{leftmargin} und \cs{topmargin} definiert. -% Die Größe eines Body (Textbereichs) kann durch \cs{textwidth} (Textbreite) und -% \cs{textheight} (Texthöhe) angepasst werden. -% Die Maße für die Seite, den druckbaren Bereich und die Ränder stehen in folgenden Beziehungen. -% \begin{eqnarray} -% \label{eq:paperwidth} -% |paperwidth (Seitenbreite)| &=& |left (links)|+|width (Breite)|+|right (rechts)| \\ -% |paperheight (Seitenhöhe)| &=& |top (oben)|+|height (Höhe)|+|bottom (unten)| -% \label{eq:paperheight} -% \end{eqnarray} -% -% \begin{figure}[h] -% \centering\small -% {\unitlength=.65pt -% \begin{picture}(450,250)(0,-10) -% \put(20,0){\framebox(170,230){}} -% \put(20,235){\makebox(170,230)[br]{\gpart{Seite}}} -% \begingroup\thicklines -% \put(40,30){\framebox(120,170){}}\endgroup -% \put(40,30){\makebox(120,165)[tr]{\gpart{druckbarer Bereich}~}} -% \put(45,30){\makebox(0,170)[l]{|Höhe|}} -% \put(40,35){\makebox(120,0)[bc]{|Breite|}} -% \put(50,-20){\makebox(120,0)[bc]{|Seitenbreite|}} -% \put(10,45){\makebox(0,170)[r]{|Seitenhöhe|}} -% \put(90,200){\makebox(0,30)[lc]{|oben|}} -% \put(90,0){\makebox(0,30)[lc]{|unten|}} -% \put(10,70){\makebox(0,0)[r]{|links|}} -% \put(10,55){\makebox(0,0)[r]{(|innen|)}} -% \put(200,70){\makebox(0,0)[l]{|rechts|}} -% \put(200,55){\makebox(0,0)[l]{(|außen|)}} -% \put(80,230){\vector(0,-1){30}}\put(80,30){\vector(0,-1){30}} -% \put(80,200){\vector(0,1){30}}\put(80,0){\vector(0,1){30}} -% \put(20,70){\vector(1,0){20}}\put(40,70){\vector(-1,0){20}} -% \put(160,70){\vector(1,0){30}}\put(190,70){\vector(-1,0){30}} -% \multiput(160,30)(5,0){24}{\line(1,0){2}} -% \multiput(160,200)(5,0){24}{\line(1,0){2}} -% \begingroup\thicklines -% \put(280,30){\framebox(120,170){}}\endgroup -% \put(283,133){\makebox(0,12)[l]{|Texthöhe|}} -% \put(295,130){\vector(0,-1){100}}\put(295,150){\vector(0,1){50}} -% \multiput(280,220)(5,0){24}{\line(1,0){3}} -% \put(280,208){\makebox(120,20)[bc]{\gpart{Kopf}}} -% \multiput(280,207)(5,0){24}{\line(1,0){3}} -% \put(420,225){\makebox(0,0)[l]{|Kopfhöhe|}} -% \put(418,225){\line(-2,-1){20}} -% \put(420,213){\makebox(0,0)[l]{|Kopftrennung|}} -% \put(418,213){\line(-2,-1){20}} -% \put(420,12){\makebox(0,0)[l]{|Fußbereich|}} -% \put(418,12){\line(-2,1){20}} -% \put(280,40){\makebox(120,140)[c]{\gpart{Textkörper}}} -% \put(305,45){\vector(-1,0){25}}\put(375,45){\vector(1,0){25}} -% \put(80,230){\vector(0,-1){30}}\put(80,30){\vector(0,-1){30}} -% \put(280,48){\makebox(120,0)[c]{|Textbreite|}} -% \put(280,15){\makebox(120,10)[c]{\gpart{Fuß}}} -% \multiput(280,14)(5,0){24}{\line(1,0){2}} -% \put(410,30){\dashbox{3}(30,170){}} -% \put(415,30){\makebox(30,170)[l]{\gpart{Randnotiz}}} -% \put(425,45){\vector(-1,0){15}}\put(425,45){\vector(1,0){15}} -% \put(450,70){\makebox(0,0)[l]{|Randnotiztrennung|}} -% \put(448,70){\line(-3,-1){43}} -% \put(450,45){\makebox(0,0)[l]{|Randnotizbreite|}} -% \end{picture}} -% \caption[Namen der Maße für \Gm]{% -% \begin{minipage}[t]{.8\textwidth}\raggedright\small -% Namen von Maßen, die im \Gm\ Paket genutzt werden: -% |width| $=$ |textwidth (Textbreite)| und |height| $=$ |textheight (Texthöhe)| sind Standard. -% |left (links)|, |right (rechts)|, |top (oben)| und |bottom (unten)| sind Ränder. -% Wenn die Ränder auf der Rückseite durch die |twoside (Zweiseitigkeit)| Option getauscht werden, -% dann werden die Ränder, die mit |left| und |right| angegeben wurden, für die inneren und äußeren Ränder genutzt. -% |inner (innen)| und |outer (außen)| sind Pseudonyme für |left| und |right|. -% \end{minipage}} -% \label{fig:layout} -% \end{figure} -% -% \begin{figure}[h] -% \centering\small -% {\unitlength=.65pt -% \begin{picture}(490,280)(0,-10) -% \put(60,250){\makebox(120,0)[bl]{\textbf{(a)}~\textit{Standard}}}% -% \put(20,0){\framebox(170,230){}} -% \put(20,230){\makebox(170,15)[r]{\gpart{Seite}}} -% \begingroup\thicklines -% \put(40,30){\framebox(120,165){}}\endgroup -% \put(70,165){\vector(0,1){30}} -% \put(55,145){\makebox(0,20)[lc]{|Texthöhe|}} -% \put(70,145){\vector(0,-1){115}} -% \multiput(40,203)(5,0){24}{\line(1,0){3}} -% \multiput(40,213)(5,0){24}{\line(1,0){3}} -% \multiput(40,10)(5,0){24}{\line(1,0){3}} -% \put(40,203){\makebox(120,20)[bc]{\gpart{Kopf}}} -% \put(40,40){\makebox(120,140)[c]{\gpart{Textkörper}}} -% \put(40,11){\makebox(120,10)[c]{\gpart{Fuß}}} -% \put(150,230){\vector(0,-1){35}}\put(150,30){\vector(0,-1){30}} -% \put(150,195){\vector(0,1){35}}\put(150,0){\vector(0,1){30}} -% \put(160,197){\makebox(0,30)[lc]{|oben|}} -% \put(160,0){\makebox(0,30)[lc]{|unten|}} -% \multiput(160,30)(5,0){24}{\line(1,0){2}} -% \multiput(160,195)(5,0){24}{\line(1,0){2}} -% \put(255,250){\makebox(120,0)[bl] -% {\textbf{(b)}~|includehead| und |includefoot|}}% -% \put(260,0){\framebox(170,230){}} -% \put(260,230){\makebox(170,15)[r]{\gpart{Seite}}} -% \begingroup\thicklines -% \put(280,30){\framebox(120,165){}}\endgroup -% \put(310,152){\vector(0,1){25}} -% \put(295,130){\makebox(0,20)[lc]{|Texthöhe|}} -% \put(310,130){\vector(0,-1){80}} -% \multiput(280,184)(5,0){24}{\line(1,0){3}} -% \multiput(280,177)(5,0){24}{\line(1,0){3}} -% \multiput(280,50)(5,0){24}{\line(1,0){3}} -% \put(280,184){\makebox(120,10)[c]{\gpart{Kopf}}} -% \put(280,40){\makebox(120,140)[c]{\gpart{Textkörper}}} -% \put(400,140){\line(1,1){45}} -% \put(437,187){\makebox(50,10)[l]{\gpart{druckbarer Bereich}}} -% \put(280,31){\makebox(120,10)[c]{\gpart{Fuß}}} -% \put(370,230){\vector(0,-1){35}}\put(370,30){\vector(0,-1){30}} -% \put(370,195){\vector(0,1){35}}\put(370,0){\vector(0,1){30}} -% \put(380,197){\makebox(0,30)[lc]{|oben|}} -% \put(380,0){\makebox(0,30)[lc]{|unten|}} -% \end{picture}} -% \caption[Ein Effekt von \texttt{includehead} und \texttt{includefoot}.]{% -% \begin{minipage}[t]{.8\textwidth}\raggedright\small -% |includehead| und |includefoot| schließen den Kopf und den Fuß mit -% in den \gpart{total body} (druckbaren Bereich) ein. \textbf{(a)} |height| $=$ |textheight| (Standard). -% \textbf{(b)} |height| $=$ |textheight| $+$ |headheight| $+$ |headsep| $+$ -% |footskip|, wenn |includehead| und |includefoot| aktiv. Wenn der obere und untere Rand angegeben ist -% führt |includehead| und |includefoot| dazu, dass die |Texthöhe| verringert wird. -% \end{minipage}} -% \label{fig:includes} -% \end{figure} -% -% Die |Breite| und |Höhe| des druckbaren Bereichs wird definiert: -% \begin{eqnarray} -% \label{eq:width} -% |width| &:=& |textwidth| \quad( +\> |marginparsep|* + |marginparwidth|** )\\ -% |height| &:=& |textheight| \quad(+\> |headheight|*** + |headsep|**** + |footskip|***** ) -% \label{eq:height} -% \end{eqnarray} -% * Randnotiztrennung -% ** Randnotizbreite -% *** Kopfhöhe -% **** Kopftrennung -% ***** Fußbereich\\ -% In Gleichung (\ref{eq:width}) ist standardmäßig |width:=textwidth|, -% während |marginparsep| und |marginparwidth| nur in der |width (Breite)| enthalten sind, -% wenn die |includemp| Option auf |true| gesetzt ist. -% In Gleichung (\ref{eq:height}) ist standardmäßig |height:=textheight|. -% Falls |includehead| auf |true| gesetzt ist, dann werden |headheight| und |headsep| -% als Teil der Höhe (|height|) betrachtet. -% Auf dem selben Weg, nimmt |includefoot| |footskip| in |height| auf. -% Abbildung~\ref{fig:includes} zeigt, wie diese Optionen -% in der vertikalen Richtung arbeiten. -% -% Folglich besteht das Seitenlayout aus drei Teilen (Längen) in jeder -% Richtung: ein Textkörper und zwei Ränder. Wenn zwei der Ränder explizit angegeben sind, -% dann sind die anderen offensichtlich und müssen nicht angegeben werden. -% Abbildung~\ref{fig:Labc} zeigt ein einfaches Modell der Seitenmaße. -% Falls eine Länge |L| gegeben ist und eingeteilt ist in den Textkörper |b|, die Ränder |a| und |c|, dann ist offensichtlich, -% dass -% \begin{equation} -% |L|=|a|+|b|+|c| \label{eq:Labc} -% \end{equation} -% Die Spezifikation mit zwei von drei (|a|, |b| und |c|) festgelegten, ist explizit lösbar. -% Wenn zwei oder mehr der übrigen nicht angegeben sind, kann -% Gleichung~(\ref{eq:Labc}) nicht ohne eine andere Beziehung zwischen ihnen gelöst werden. -% Falls alle Werte angegeben sind, dann muss überprüft werden, ob diese Gleichung ~(\ref{eq:Labc}) genügen, -% da es zu viele Angaben sind oder es ist `überspezifiziert'. -% -% \begin{figure}[h] -% \centering -% {\unitlength=0.8pt -% \begin{picture}(300,60)(0,-5) -% \begingroup\linethickness{5pt} -% \put(0,5){\textcolor{green}{\line(1,0){60}}} -% \put(60,5){\textcolor{black}{\line(1,0){160}}} -% \put(220,5){\textcolor{green}{\line(1,0){80}}} -% \endgroup -% \put(0,15){\makebox(60,10)[b]{|a|}} -% \put(60,0){\line(0,1){20}} -% \put(60,15){\makebox(160,10)[b]{|b|}} -% \put(220,0){\line(0,1){20}} -% \put(220,15){\makebox(80,10)[b]{|c|}} -% \put(0,0){\line(0,1){50}} -% \put(150,35){\vector(-1,0){150}} -% \put(0,40){\makebox(300,10){|L|}} -% \put(150,35){\vector(1,0){150}} -% \put(300,0){\line(0,1){50}} -% \end{picture}} -% \caption{Ein einfaches Modell der Seitenmaße.} -% \label{fig:Labc} -% \end{figure} -% -% Das \Gm\ Paket besitzt einen Autovervollständigungsmechanismus, der vor dem -% Ärger der Angabe von Seitenlayoutmaßen schützt. Zum Beispiel -% können sie das Folgende -% \begin{quote} -% |\usepackage[width=14cm, left=3cm]{geometry}| -% \end{quote} -% auf A4-Papier einstellen. In diesem Fall müssen sie den rechten Rand nicht angeben. -% Die Details der Autovervollständigung werden in Kapitel~\ref{sec:rules} beschrieben. -% -% -% -% -% -% \section{Benutzerschnittstelle} -% -% \subsection{Befehle} -% -% Das \Gm\ Paket unterstützt die folgenden Befehle: -% \begin{itemize}\setlength{\itemsep}{-.5\parsep} -% \item |\geometry{|\meta{Optionen}|}| -% \item |\newgeometry{|\meta{Optionen}|}| und |\restoregeometry| -% \item |\savegeometry{|\meta{Name}|}| und |\loadgeometry{|\meta{Name}|}| -% \end{itemize} -% -% |\geometry{|\meta{Optionen}|}| -% verändert das Seitenlayout entsprechend den angegebenen Optionen im Argument. -% Dieser Befehl, wenn überhaupt, sollte nur in der Präambel platziert werden -% (vor |\begin{document}|). -% -% Das \Gm\ Paket kann als Teil einer Klasse oder eines weiteren Pakets, das sie im Dokument benutzen, -% genutzt werden. Der Befehl \cs{geometry} kann einige der Einstellungen in der Präambel -% überschreiben. Eine mehrfache Nutzung von \cs{geometry} -% ist erlaubt und wird dann mit den verbundenen Optionen ausgeführt. -% Wenn \Gm\ noch nicht geladen ist, können sie nur -% |\usepackage[|\meta{Optionen}|]{geometry}| anstelle von \cs{geometry} nutzen. -% -% \medskip -% |\newgeometry{|\meta{Optionen}|}| -% verändert das Seitenlayout innerhalb des Dokuments. \cs{newgeometry} ist fast -% gleich mit \cs{geometry}, ausgenommen, dass \cs{newgeometry} alle Optionen, -% die von \cs{usepackage} und \cs{geometry} in -% der Präambel vorgenommen wurden, deaktiviert. -% \cs{restoregeometry} -% stellt das Seitenlayout, wie es in der Präambel angegeben ist, wieder her. Dieser Befehl -% besitzt keine Argumente. Lesen sie Kapitel~\ref{sec:midchange} für Details. -% -% \medskip -% |\savegeometry{|\meta{Name}|}| -% speichert die Seitenmaße als \meta{Name}, wo sie -% diesen Befehl nutzen.\\ -% |\loadgeometry{|\meta{Name}|}| -% lädt die Seitenmaße, die als \meta{Name} gespeichert wurden. Lesen sie -% Kapitel~\ref{sec:midchange} für Details. -% -% \subsection{Optionales Argument} -% -% Das \Gm\ Paket übernimmt die \textsf{keyval} Schnittstelle -% `\meta{Schlüssel}=\meta{Wert}' für das optionale Argument von -% \cs{usepackage}, \cs{geometry} und \cs{newgeometry}. -% -% Das Argument beinhaltet eine Liste von kommaseparierten \textsf{keyval} -% Optionen und besitzt folgende Grundregeln: -% \begin{itemize}\setlength{\itemsep}{-.5\parsep} -% \item Mehrfache Zeilen sind erlaubt, während es leere nicht sind. -% \item Jedes Leerzeichen zwischen den Wörtern wird ignoriert. -% \item Die Reihenfolge der Optionen ist grundlegend unabhängig. -% (Es gibt einige Ausnahmen. Lesen sie Kapitel~\ref{sec:optionorder} für Details.) -% \end{itemize} -% Zum Beispiel ist -% \begin{quote} -% |\usepackage[ a5paper , hmargin = { 3cm,|\\ -% | .8in } , height|\\ -% | = 10in ]{geometry}| -% \end{quote} -% äquivalent zu -% \begin{quote} -% |\usepackage[height=10in,a5paper,hmargin={3cm,0.8in}]{geometry}| -% \end{quote} -% Einigen Optionen ist es erlaubt, Unterlisten zu haben, z.\,B. |{3cm,0.8in}|. -% Beachten sie, dass die Reihenfolge der Werte in der Liste bedeutsam ist. -% Die obere Einstellung ist ebenso äquivalent zu Folgendem: -% \begin{quote} -% |\usepackage{geometry}|\\ -% |\geometry{height=10in,a5paper,hmargin={3cm,0.8in}}| -% \end{quote} -% oder -% \begin{quote} -% |\usepackage[a5paper]{geometry}|\\ -% |\geometry{hmargin={3cm,0.8in},height=8in}|\\ -% |\geometry{height=10in}|. -% \end{quote} -% Folglich hängt die mehrfache Nutzung von \cs{geometry} die Optionen aneinander. -% -% \Gm\ unterstützt das Paket -% \textsl{calc}\footnote{CTAN:~\texttt{macros/latex/required/tools}}. -% Zum Beispiel, -% \begin{quote} -% |\usepackage{calc}|\\ -% |\usepackage[textheight=20\baselineskip+10pt]{geometry}| -% \end{quote} -% -% \subsection{Optionstypen} -% \Gm\ Optionen sind in vier Typen eingeteilt: -% -% \begin{enumerate}\itemsep=0pt -% \item \textbf{Wahrheitswerttyp} -% -% Er nimmt einen Wahrheitswert an (|true (wahr)| oder |false (falsch)|). Falls kein Wert angegeben ist, -% wird standardmäßig |true (wahr)| eingesetzt. -% \begin{quote} -% \meta{Schlüssel}|=true|\OR|false|.\\ -% \meta{Schlüssel} ohne Wert ist äquivalent zu -% \meta{Schlüssel}|=true|. -% \end{quote} -% \textit{Beispiele:}~ |verbose=true|, |includehead|, -% |twoside=false|.\\ -% Der Papiername ist eine Ausnahme. Der bevorzugte Papiername sollte ohne Wert -% angegeben werden. Welcher Wert auch immer gegeben ist er wird ignoriert. Zum -% Beispiel ist |a4paper=XXX| äquivalent zu |a4paper|. -% -% \item \textbf{Typ mit einzelnem Wert} -% -% Man benötigt einen zwingenden Wert. -% \begin{quote} -% \meta{Schlüssel}|=|\meta{Wert}. -% \end{quote} -% \textit{Beispiele:}~ |width=7in|, |left=1.25in|, -% |footskip=1cm|, |height=.86\paperheight|. -% -% \item \textbf{Typ mit zwei Werten} -% -% Man benötigt ein Paar von kommagetrennten Werten in geschweiften Klammern. Die zwei Werte können -% zu einem gekürzt werden, wenn beide identisch sind. -% \begin{quote} -% \meta{Schlüssel}|=|\argii{Wert1}{Wert2}.\\ -% \meta{Schlüssel}|=|\meta{Wert} ist äquivalent zu -% \meta{Schlüssel}|=|\argii{Wert}{Wert}. -% \end{quote} -% \textit{Beispiele:}~ |hmargin={1.5in,1in}|, |scale=0.8|, -% |body={7in,10in}|. -% -% \item \textbf{Typ mit drei Werten} -% -% Man benötigt drei zwingende Werte, kommagetrennte Werte in geschweiften Klammern. -% \begin{quote} -% \meta{Schlüssel}|=|\argiii{Wert1}{Wert2}{Wert3} -% \end{quote} -% Jeder Wert muss ein Maß sein oder Null. Falls sie einen leeren Wert angeben -% oder `|*|', dies bedeutet Null, dann wird der übergebene Wert dem Autovervollständigungsmechanismus zugeführt. -% Sie müssen mindestens ein Maß angeben, typischerweise aber zwei. -% Sie können für alle Werte Null einsetzen, -% aber das macht keinen Sinn. -% \textit{Beispiele:}\\ -% \hspace*{2em} |hdivide={2cm,*,1cm}|, |vdivide={3cm,19cm, }|, -% |divide={1in,*,1in}|. -% \end{enumerate} -% -% \section{Details zu Optionen} -% -% Dieses Kapitel beschreibt alle Optionen, die in \Gm{} verfügbar sind. -% Optionen mit einem Dolch $^\dagger$ sind nicht vorhanden -% als Argumente von \cs{newgeometry} (Lesen sie Kapitel~\ref{sec:midchange}). -% -% \subsection{Papiergröße}\label{sec:paper} -% -% Die Optionen unten dienen zum Einstellen der Größe des Papiers/Mediums und der Orientierung. -% \begin{Options} -% \item[\onlypre paper (Papier)\OR papername (Papiername)] ~\\ -% gibt die Papiergröße anhand des Namens an. |paper=|\meta{Papiername}. -% Für besseren Komfort können sie den Papiernamen ohne |paper=| angeben. -% |a4paper| ist beispielsweise äquivalent zu |paper=a4paper|. -% \item[\onlypre \vtop{ -% \hbox{a0paper, a1paper, a2paper, a3paper, a4paper, a5paper, a6paper,} -% \hbox{b0paper, b1paper, b2paper, b3paper, b4paper, b5paper, b6paper,} -% \hbox{c0paper, c1paper, c2paper, c3paper, c4paper, c5paper, c6paper,} -% \hbox{b0j, b1j, b2j, b3j, b4j, b5j, b6j,} -% \hbox{ansiapaper, ansibpaper, ansicpaper, ansidpaper, ansiepaper,} -% \hbox{letterpaper, executivepaper, legalpaper}}]~\\[1ex] -% gibt den Papiernamen an. Der Wert wird ignoriert, sogar wenn einer angegeben wird. -% Beispielsweise hat das Folgende den gleichen Effekt: -% |a5paper|, |a5paper=true|, |a5paper=false| und so weiter. -% |a[0-6]paper|, |b[0-6]paper| und |c[0-6]paper| sind ISO A, B und C -% Serien von Papiergrößen. -% Die JIS (Japanischer Industriestandard) A-Serien ist identisch zu den -% ISO A-Serien, aber die JIS B-Serien sind von den ISO B-Serien verschieden. -% |b[0-6]j| sollte für die JIS B-Serien genutzt werden. -% \item[\onlypre screen] eine spezielle Papiergröße mit (B,H) = (225\,mm,180\,mm). -% Für Präsentationen mit dem PC und einem Beamer kann ``|screen,centering|'', -% in Verbindung mit `slide' in der Dokumentklasse nützlich sein. -% \item[\onlypre paperwidth] Breite des Papiers. |paperwidth=|\meta{Länge}. -% \item[\onlypre paperheight] Höhe des Papiers. |paperheight=|\meta{Länge}. -% \item[\onlypre papersize] Breite und Höhe des Papiers. -% |papersize=|\argii{Breite}{Höhe} oder |papersize=|\meta{Länge}. -% \item[\onlypre landscape] wechselt die Papierorientierung in den Landschaftsmodus. -% \item[\onlypre portrait] wechselt die Papierorientierung in den Portraitsmodus. -% Dies ist das Gleiche wie |landscape=false|. -% \end{Options} -% -% Die Optionen für den Papiernamen (z.\,B., |a4paper|) und die Orientierung -% (|portrait| und |landscape|) können als Dokumentklassenoptionen benutzt werden. -% Zum Beispiel können sie\\ |\documentclass[a4paper,landscape]{article}| eingeben, -% dann werden |a4paper| und |landscape| auch in \Gm\ abgearbeitet. -% Dies ist ebenso im Fall von |twoside (zweiseitig)| und |twocolumn (zweispaltig)| -% (Lesen sie auch Kapitel~\ref{sec:dimension}). -% -% \subsection{Layoutgröße} -% -% Sie können den Layoutbereich mit den Optionen, die in diesem Kapitel beschrieben sind, ungeachtet der Papiergröße, angeben. -% Die Optionen helfen das angegebene Layout auf unterschiedlichen -% Papiergrößen zu drucken. Wenn sie beispielsweise |a4paper| und |layout=a5paper| nutzen, dann -% benutzt das Paket das `A5' Layout, um die Ränder auf dem `A4' Papier zu berechnen. -% Die Layoutgröße wird genauso groß wie die des Papiers. -% Die Optionen für die Layoutgröße sind mittels \cs{newgeometry} erreichbar, -% sodass sie die Layoutgröße in der Mitte des Dokuments verändern können. -% Die Papiergröße selbst kann so nicht geändert werden. -% Abbildung~\ref{fig:layoutandpaper} zeigt, was die Unterschiede zwischen -% |layout| und |paper| sind. -% \begin{Options} -% \item[layout] gibt die Layoutgröße vom Papiernamen an. -% |layout=|\meta{Papiername}. Alle Papiernamen, die in \Gm\ definiert sind, sind wählbar. -% Lesen sie auch Kapitel~\ref{sec:paper} für mehr Details. -% \item[layoutwidth] Breite des Layouts. |layoutwidth=|\meta{Länge}. -% \item[layoutheight] Höhe des Layouts. |layoutheight=|\meta{Länge}. -% \item[layoutsize] Breite und Höhe des Layouts. -% |layoutsize=|\argii{Breite}{Höhe} oder |layoutsize=|\meta{Länge}. -% \item[layouthoffset] gibt den horizontalen Versatz von der linken Kante des Papiers an. -% |layouthoffset=|\meta{Länge}. -% \item[layoutvoffset] gibt den vertikalen Versatz von der oberen Kante des Papiers an. -% |layoutvoffset=|\meta{Länge}. -% \item[layoutoffset] gibt beides, horizontalen und vertikalen Versatz an. -% |layoutoffset=|\argii{hoffset}{voffset} oder |layoutsize=|\meta{Länge}. -% \end{Options} -% \begin{figure}[h] -% \centering\small -% {\unitlength=.6pt -% \begin{picture}(450,250)(0,-10) -% \put(20,0){\makebox(168,12)[r]{\gpart{Papier}}} -% \put(20,0){\framebox(170,230){}} -% \put(21,40){\dashbox{3}(140,189){}} -% \put(21,28){\makebox(140,12)[r]{\gpart{Layout}}} -% \put(40,50){\makebox(100,10){\gpart{Fuß}}} -% \put(40,50){\line(1,0){100}} -% \put(40,65){\framebox(100,125){\gpart{Textbereich}}} -% \put(40,200){\framebox(100,10){\gpart{Kopf}}} -% \put(20,230){\makebox(140,20){|Layoutbreite|}} -% \put(40,240){\vector(-1,0){20}} -% \put(140,240){\vector(1,0){20}} -% \put(10,145){\vector(0,1){85}} -% \put(15,125){\makebox(0,20)[r]{|Layouthöhe|}} -% \put(10,125){\vector(0,-1){85}} -% \put(280,0){\makebox(168,12)[r]{\gpart{Papier}}} -% \put(280,0){\framebox(170,230){}} -% \put(293,35){\dashbox{3}(140,189){}} -% \put(293,23){\makebox(140,12)[r]{\gpart{Layout}}} -% \put(312,45){\makebox(100,10){\gpart{Fuß}}} -% \put(312,45){\line(1,0){100}} -% \put(312,60){\framebox(100,125){\gpart{Textbereich}}} -% \put(312,195){\framebox(100,10){\gpart{Kopf}}} -% \put(235,230){\makebox(80,20)[l]{|layouthoffset|}} -% \put(260,210){\vector(1,0){20}} -% \put(308,210){\vector(-1,0){15}} -% \put(260,210){\line(-1,2){10}} -% \put(355,230){\makebox(100,20){|layoutvoffset|}} -% \put(350,250){\vector(0,-1){20}} -% \put(350,209){\vector(0,1){15}} -% \end{picture}} -% \caption[Layout und Papier]{% -% \begin{minipage}[t]{.7\textwidth}\raggedright\small -% Die Maße sind mit denen der Layoutgröße verwandt. Beachte, dass die Layoutgrößenvorgaben -% zu der Größe des Papiers korrespondieren, sodass sie die meisten layoutbezogenen Optionen -% nicht explizit angeben müssen. -% \end{minipage}} -% \label{fig:layoutandpaper} -% \end{figure} -% -% \subsection{Größe des Textbereichs}\label{sec:body} -% -% Die Optionen, die die Größe des \gpart{druckbaren Bereichs} angeben, werden in diesem Kapitel beschrieben. -% -% \begin{Options} -% \item[hscale] -% Verhältnis der Breite des \gpart{druckbaren Bereichs} zur \cs{paperwidth (Papierbreite)}. -% |hscale=|\meta{h-scale}, z.\,B. |hscale=0.8| ist äquivalent zu -% |width=0.8|\cs{paperwidth (Papierbreite)}. (|0.7| ist der Standard) -% \item[vscale] -% Verhältnis der Höhe des \gpart{druckbaren Bereichs} zur \cs{paperheight (Papierhöhe)}, z.\,B. -% |vscale=|\meta{v-scale}. (|0.7| ist der Standard) |vscale=0.9| ist äquivalent -% zu |height=0.9|\cs{paperheight (Papierhöhe)}. -% \item[scale] Verhältnis des \gpart{druckbaren Bereichs} zum Papier. -% |scale=|\argii{h-scale}{v-scale} oder |scale=|\meta{scale}. -% (|0.7| ist der Standard) -% \item[width\OR totalwidth] ~\\ -% Breite des \gpart{druckbaren Bereichs}. |width=|\meta{Länge} oder -% |totalwidth=|\meta{Länge}. Dieses Maß korrespondiert zur |textwidth (Textbreite)|, -% aber wenn |includemp| auf |true| gesetzt ist, dann ist die |Breite| $\ge$ |Textbreite|, -% weil die |Breite| die Breite der Randnotizen beinhaltet. -% Wenn die |Textbreite| und die |Breite| gleichzeitig angegeben werden, -% dann hat die |Textbreite| eine höhere Priorität als die |Breite|. -% \item[height\OR totalheight] ~\\ -% Höhe des \gpart{druckbaren Bereichs}, wobei Kopf und Fuß standardmäßig ausgeschlossen sind. -% Wenn |includehead| oder |includefoot| gesetzt ist, dann beinhaltet die |height (Höhe)| -% den Kopf oder den Fuß der Seite sowie die |textheight (Texthöhe)|. -% |height=|\meta{Länge} oder |totalheight=|\meta{Länge}. Falls beide, -% |textheight (Texthöhe)| und |height (Höhe)|, angegeben sind, wird die |height (Höhe)| ignoriert werden. -% \item[total] Breite und Höhe des \gpart{druckbaren Bereichs}.\\ -% |total=|\argii{Breite}{Höhe} oder |total=|\meta{Länge}. -% \item[textwidth] gibt die \cs{textwidth (Textbreite)}, die Breite des \gpart{Körpers} -% (der Textbereich) an. |textwidth=|\meta{Länge}. -% \item[textheight] gibt die \cs{textheight (Texthöhe)}, die Höhe des -% \gpart{Körpers} (der Textkörper) an. |textheight=|\meta{Länge}. -% \item[text\OR body] gibt beides, die \cs{textwidth (Textbreite)} und \cs{textheight (Texthöhe)} -% des Körpers der Seite an. |body=|\argii{Breite}{Höhe} oder -% |text=|\meta{Länge}. -% \item[lines] erlaubt dem Benutzer, die \cs{textheight (Texthöhe)} durch die Anzahl -% der Zeilen anzugeben. |lines|=\meta{ganzzahliger Wert}. -% \item[includehead] schließt den Kopf der Seite, die \cs{headheight (Kopfhöhe)} -% und \cs{headsep (Kopftrennung)} in den \gpart{druckbaren Bereich} ein. Diese Option ist in den Voreinstellungen durch -% |false| deaktiviert. Es ist das Gegenteil von |ignorehead|. Betrachten sie auch -% Abbildung~\ref{fig:includes} und Abbildung~\ref{fig:modes}. -% \item[includefoot] schließt den Fuß der Seite, \cs{footskip (Fußbereich)}, -% in den \gpart{druckbaren Bereich} ein. Es ist das Gegenteil von |ignorefoot|. -% Die Voreinstellung ist |false| (deaktiviert). Betrachten sie auch Abbildung~\ref{fig:includes} und -% Abbildung~\ref{fig:modes}. -% \item[includeheadfoot]~\\ -% setzt beides, |includehead| und |includefoot|, auf |true|, dies ist das Gegenteil -% von |ignoreheadfoot|. Betrachten sie auch Abbildung~\ref{fig:includes} und -% Abbildung~\ref{fig:modes}. -% \item[includemp] schließt die Randnotizen, die \cs{marginparwidth (Randnotizbreite)} -% und \cs{marginparsep (Randnotiztrennung)} in den \gpart{Körper} ein, wenn die horizontalen Maße -% berechnet werden. -% \item[includeall] setzt beides, |includeheadfoot| und |includemp| auf -% |true| (aktiv). Betrachten sie auch Abbildung~\ref{fig:modes}. -% \item[ignorehead] missachtet den Kopf der Seite, -% |headheight (Kopfhöhe)| und |headsep (Kopftrennung)|, sind ausschlaggebend für das vertikale Layout, aber diese ändern -% dessen Längen nichts. Es ist äquivalent zu |includehead=false|. Diese Option ist mit -% |true| voreingestellt. Lesen sie auch |includehead|. -% \item[ignorefoot] missachtet den Fuß der Seite, der |footskip (Fußbereich)|, -% ist ausschlaggebend für das vertikale Layout, aber dies ändert die Länge nicht. -% Diese Voreinstellung der Option ist |true|. Lesen sie auch |includefoot|. -% \item[ignoreheadfoot]~\\ setzt beides, |ignorehead| und |ignorefoot| -% auf |true|. Lesen sie auch |includeheadfoot|. -% \item[ignoremp] vernachlässigt die Randnotizen bei der Berechnung der horizontalen -% Ränder (der Standard ist |true|). Wenn die Randnotizen die Seite überfüllen, -% dann wird eine Warnmeldung angezeigt werden, wenn |verbose=true| aktiviert ist. -% Sehen sie auch |includemp| und Abbildung~\ref{fig:modes}. -% \item[ignoreall] setzt beides, |ignoreheadfoot| und |ignoremp| auf |true|. -% Lesen sie auch |includeall|. -% \item[heightrounded]~\\ -% Diese Option rundet die \cs{textheight (Texthöhe)}, um \textit{n}-Mal mehr (\textit{n}: -% ist eine ganze Zahl) \cs{baselineskip} plus \cs{topskip}, um -% ``underfull vbox'' in manchen Fällen zu vermeiden. Zum Beispiel, wenn die \cs{textheight (Texthöhe)} -% 486pt ist, mit \cs{baselineskip} 12pt und \cs{topskip} 10pt, dann -% \begin{quote} -% $(39\times12\textrm{pt}+10\textrm{pt}=)\: 478\textrm{pt} -% < 486\textrm{pt} < -% 490\textrm{pt} \:(=40\times12\textrm{pt}+10\textrm{pt})$, -% \end{quote} -% als Ergebnis wird die \cs{textheight (Texthöhe)} auf 490\,pt aufgerundet. |heightrounded=false| -% ist voreingestellt. -% \end{Options} -% -% Abbildung~\ref{fig:modes} illustriert die verschiedenen Layouttypen mit den verschiedenen Layoutmodi. -% Die Maße für einen Kopf und einen Fuß können durch den -% |nohead|- oder |nofoot|-Modus kontrolliert werden, dies setzt jede Länge auf 0\,pt. -% Auf der anderen Seite verändern Optionen mit dem Präfix |ignore| \textit{nicht} -% die korrespondierenden, ursprünglichen Maße. -% -% -% Die folgenden Optionen können den Körper und die Ränder gleichzeitig angeben, mit -% drei kommagetrennten Werten in geschweiften Klammern. -% -% \begin{figure}[h] -% \centering\small -% {\unitlength=.65pt -% \begin{picture}(460,525)(0,0) -% \put( 20,310){\framebox(120,170){}} -% \put( 20,507){\makebox(120,0)[bl]% -% {\textbf{(a)}~|includeheadfoot|}} -% \put( 20,460){\line(1,0){120}}\put( 20,450){\line(1,0){120}} -% \put( 20,330){\line(1,0){120}} -% \put( 20,485){\makebox(120,0)[br]{\gpart{druckbarer Bereich}}} -% \put( 20,335){\makebox(120,0)[bc]{|Textbreite|}} -% \put(150,470){\makebox(0,0)[l]{|headheight|}} -% \put(150,450){\makebox(0,0)[l]{|headsep|}} -% \put(150,390){\makebox(0,0)[l]{|textheight|}} -% \put(150,320){\makebox(0,0)[l]{|Fußbereich|}} -% \put( 10,460){\makebox(120,20)[bc]{\gpart{Kopf}}} -% \put( 10,320){\makebox(120,140)[c]{\gpart{Körper}}} -% \put( 10,310){\makebox(120,10)[c]{\gpart{Fuß}}} -% \put(250,310){\framebox(120,170){}} -% \put(250,507){\makebox(120,0)[bl]% -% {\textbf{(b)}~|includeall|}} -% \put(250,460){\line(1,0){95}}\put(250,450){\line(1,0){95}} -% \put(250,330){\line(1,0){95}}\put(345,330){\line(0,1){120}} -% \put(350,330){\line(0,1){120}}\put(350,450){\line(1,0){20}} -% \put(350,330){\line(1,0){20}} -% \put(250,485){\makebox(120,0)[br]{\gpart{druckbarer Bereich}}} -% \put(250,460){\makebox(95,20)[bc]{\gpart{Kopf}}} -% \put(250,320){\makebox(95,140)[c]{\gpart{Fuß}}} -% \put(385,390){\makebox(95,0)[cl]% -% {\gpart{\shortstack[l]{Rand-\\notiz}}}} -% \put(250,310){\makebox(95,10)[c]{\gpart{Fuß}}} -% \put(250,335){\makebox(95,0)[bc]{|textwidth|}} -% \multiput(360, 390)(4,0){6}{\line(1,0){2}} -% \multiput(348,333)(0,-4){12}{\line(0,1){2}} -% \multiput(360,333)(0,-4){8}{\line(0,1){2}} -% \put(355,292){\makebox(0,0)[bl]{|marginparwidth|}} -% \put(345,275){\makebox(0,0)[bl]{|marginparsep|}} -% \put( 20, 40){\framebox(120,170){}} -% \put( 20,237){\makebox(120,0)[bl]% -% {\textbf{(c)}~|includefoot|}} -% \put( 20, 60){\line(1,0){120}} -% \put( 20,215){\makebox(120,0)[br]{\gpart{druckbarer Bereich}}} -% \put(150,130){\makebox(0,0)[l]{|textheight|}} -% \put(150, 50){\makebox(0,0)[l]{|footskip|}} -% \put( 20, 50){\makebox(120,160)[c]{\gpart{Körper}}} -% \put( 20, 40){\makebox(120,10)[c]{\gpart{Fuß}}} -% \put( 20, 65){\makebox(120,10)[c]{|textwidth|}} -% \put(250, 40){\framebox(120,170){}} -% \put(250,237){\makebox(120,0)[bl]% -% {\textbf{(d)}~|includefoot,includemp|}} -% \put(250, 60){\line(1,0){95}}\put(350, 60){\line(1,0){20}} -% \put(250,215){\makebox(120,0)[br]{\gpart{druckbarer Bereich}}} -% \put(250, 50){\makebox(95,160)[c]{\gpart{Körper}}} -% \put(385,130){\makebox(95,0)[cl]% -% {\gpart{\shortstack[l]{Rand-\\notiz}}}} -% \put(250, 40){\makebox(95,10)[c]{\gpart{Fuß}}} -% \put(250, 65){\makebox(95,0)[bc]{|textwidth|}} -% \put(345, 60){\line(0,1){150}}\put(350, 60){\line(0,1){150}} -% \multiput(360, 130)(4,0){6}{\line(1,0){2}} -% \multiput(348, 63)(0,-4){12}{\line(0,1){2}} -% \multiput(360, 63)(0,-4){8}{\line(0,1){2}} -% \put(355,22){\makebox(0,0)[bl]{|marginparwidth|}} -% \put(345, 5){\makebox(0,0)[bl]{|marginparsep|}} -% \end{picture}} -% \caption[Musterlayout für den \gpart{druckbaren Bereich} mit verschiedenen -% Layoutmodi]{% -% \begin{minipage}[t]{.8\textwidth}\small -% Musterlayouts für den \gpart{druckbaren Bereich} mit verschiedenen Veränderungen. -% (a) |includeheadfoot|, (b) |includeall|, (c) |includefoot| -% und (d) |includefoot,includemp|. -% Wenn |reversemp| auf |true| gesetzt ist, dann werden die Orte -% für die Randnotizen auf jeder Seite getauscht. -% Die Option |twoside| tauscht beides, die Ränder und die Randnotizen auf der Rückseite. -% Beachten sie, dass die Randnotiz gedruckt wird, falls vorhanden, trotz das -% |ignoremp| oder |includemp=false| und Überlauf der Seite, in einigen Fällen. -% \end{minipage}} -% \label{fig:modes} -% \end{figure} -% -% \begin{Options} -% \item[hdivide] horizontale Aufteilung (links,Breite,rechts). -% |hdivide=|\argiii{linker Rand}{Breite}{rechter Rand}. -% Beachten sie, dass sie nicht alle drei Parameter eingeben sollten. -% Die beste Möglichkeit der Nutzung dieser Option ist die Angabe von zwei der drei Parameter und -% das Freilassen des verbliebenen mit Null(nichts) oder `|*|'. Zum Beispiel, wenn sie -% |hdivide={2cm,15cm, }| einstellen, dann wird der Rand von der rechtsseitigen Kante der Seite -% die Rechnung bestimmen |paperwidth-2cm-15cm|. -% \item[vdivide] vertikale Aufteilung (oben,Höhe,unten). -% |vdivide=|\argiii{oberer Rand}{Höhe}{unterer Rand}. -% \item[divide] |divide=|\vargiii{$A$}{$B$}{$C$} wird interpretiert als -% |hdivide=|\vargiii{$A$}{$B$}{$C$} und |vdivide=|\vargiii{$A$}{$B$}{$C$}. -% \end{Options} -% -% \subsection{Randgröße}\label{sec:margin} -% -% Die Optionen zum Spezifizieren der Größe der Ränder sind unten aufgelistet. -% -% \begin{Options} -% \item[left\OR lmargin\OR inner]~\\ -% linker Rand (für einseitige Dokumente) oder innerer Rand (für zweiseitige Dokumente) des -% \gpart{druckbaren Bereichs}. Mit anderen Worten, es ist die Distanz zwischen der linken (inneren) -% Kante des Papiers und der des \gpart{druckbaren Bereichs}. |left=|\meta{Länge}. -% |inner (innen)| hat keine besondere Bedeutung, nur eine alternative für |left| und |lmargin|. -% \item[right\OR rmargin\OR outer]~\\ -% rechter oder äußerer Rand des \gpart{druckbaren Bereichs}. |right=|\meta{Länge}. -% \item[top\OR tmargin] oberer Rand der Seite. |top=|\meta{Länge}. -% Beachten sie, dass diese Option nichts mit dem ursprünglichen Maß -% \cs{topmargin} zu tun hat. -% \item[bottom\OR bmargin]~\\ -% unterer Rand der Seite. |bottom=|\meta{Länge}. -% \item[hmargin] linker und rechter Rand. -% |hmargin=|\argii{linker Rand}{rechter Rand} oder |hmargin=|\meta{Länge}. -% \item[vmargin] oberer und unterer Rand. -% |vmargin=|\argii{oberer Rand}{unterer Rand} oder |vmargin=|\meta{Länge}. -% \item[margin] |margin=|\vargii{$A$}{$B$} ist äquivalent zu -% |hmargin=|\vargii{$A$}{$B$} und |vmargin=|\vargii{$A$}{$B$}. -% |margin=|$A$ wird automatisch erweitert zu |hmargin=|$A$ und |vmargin=|$A$. -% \item[hmarginratio] -% Verhältnis des horizontalen Rands des |linken| (inneren) zum |rechten| (äußeren). -% Der Wert des \meta{Verhältnisses} sollte mit zwei Werten, die durch einen Doppelpunkt getrennt sind, -% angegeben werden. Jeder Wert sollte eine positive ganze Zahl kleiner 100 sein, -% um einen arithmetischen Überlauf zu verhindern, z.\,B. |2:3| anstatt |1:1.5|. -% Das Standardverhältnis ist |1:1| für einseitige Dokumente, |2:3| für zweiseitige. -% \item[vmarginratio] -% Verhältnis des vertikalen Randes, des |oberen| Randes zum |unteren|. Das Standardverhältnis ist |2:3|. -% \item[marginratio\OR ratio]~\\ -% horizontale und vertikale Randverhältnisse. -% |marginratio=|\argii{horizontales Verhältnis}{vertikales Verhältnis} oder -% |marginratio=|\meta{Verhältnis}. -% \item[hcentering] aktiviert die automatische horizontale Zentrierung und ist -% äquivalent zu |hmarginratio=1:1|. Es ist für die Option oneside auf |true| gesetzt. -% Lesen sie auch |hmarginratio|. -% \item[vcentering] aktiviert die automatische vertikale Zentrierung und ist -% äquivalent zu |vmarginratio=1:1|. Diese Option ist standardmäßig auf |false| gesetzt. -% Lesen sie auch |vmarginratio|. -% \item[centering] aktiviert die automatische Zentrierung und ist äquivalent zu -% |marginratio=1:1|. Lesen sie auch |marginratio|. Der Standard ist |false|. -% \item[twoside] wechselt das Layout in den twoside (zweiseitigen) Modus, wobei der linke und der rechte Rand auf der -% Rückseite vertauscht wird. Die Option setzt einen \cs{@twoside} und \cs{@mparswitch} -% Schalter. Lesen sie auch |asymmetric|. -% \item[asymmetric] führt ein zweiseitiges Layout ein, wobei die Ränder nicht getauscht werden -% auf alternativen Seiten (durch die Einstellung \cs{oddsidemargin} zu -% \cs{evensidemargin} |+| |bindingoffset|) und die Randnotizen -% immer auf der selben Seite bleiben. Diese Option kann als Alternative für die -% twoside Option genutzt werden. Lesen sie auch |twoside|. -% \item[bindingoffset]~\\ entfernt einen angegeben Raum -% von der linken Seite bei oneside oder der inneren Seite bei -% twoside. |bindingoffset=|\meta{Länge}. Dies ist nützlich, wenn die Seiten durch eine -% Pressbindung verbunden sind (glued, stitched, stapled \ldots). -% Betrachten sie auch Abbildung~\ref{fig:bindingoffset}. -% \item[hdivide] Siehe Beschreibung im Kapitel~\ref{sec:body}. -% \item[vdivide] Siehe Beschreibung im Kapitel~\ref{sec:body}. -% \item[divide] Siehe Beschreibung im Kapitel~\ref{sec:body}. -% \end{Options} -% \begin{figure}[h] -% \centering\small -% {\unitlength=.65pt -% \begin{picture}(500,270)(0,0) -% \put(20,0){\framebox(170,230){}} -% \put(20,255){\makebox(80,20)[l]{\textbf{a)}~jede Seite für oneside oder}} -% \put(20,240){\makebox(80,20)[l]{\hspace{3ex}eine einzelne Seite für twoside}} -% \put(110,225){\makebox(80,20)[r]{\gpart{Papier}}} -% \put(55,37){\framebox(110,170)[tc]{\gpart{druckbarer Bereich}}} -% \multiput(38,0)(0,7){33}{\line(0,1){4}} -% \put(38,100){\vector(1,0){17}}\put(55,100){\vector(-1,0){17}} -% \put(60,95){\makebox(80,10)[l]{|left|}} -% \put(60,80){\makebox(80,10)[l]{(|inner|)}} -% \put(165,100){\vector(1,0){25}}\put(190,100){\vector(-1,0){25}} -% \put(195,95){\makebox(80,10)[l]{|right|}} -% \put(195,80){\makebox(80,10)[l]{(|outer|)}} -% \put(20,16){\vector(1,0){18}} -% \put(45,10){\makebox(80,10)[bl]{|bindingoffset|}} -% \put(280,255){\makebox(80,20)[l]{\textbf{b)}~ (Rück-) Seiten für twoside}} -% \put(280,0){\framebox(170,230){}} -% \put(370,225){\makebox(80,20)[r]{\gpart{Papier}}} -% \put(305,37){\framebox(110,170)[tc]{\gpart{druckbarer Bereich}}} -% \multiput(432,0)(0,7){33}{\line(0,1){4}} -% \put(280,100){\vector(1,0){25}}\put(305,100){\vector(-1,0){25}} -% \put(310,95){\makebox(80,10)[l]{|outer|}} -% \put(310,80){\makebox(80,10)[l]{(|right|)}} -% \put(415,100){\vector(1,0){17}}\put(432,100){\vector(-1,0){17}} -% \put(373,95){\makebox(80,10)[l]{|inner|}} -% \put(373,80){\makebox(80,10)[l]{(|left|)}} -% \put(450,16){\vector(-1,0){18}} -% \put(330,10){\makebox(80,10)[bl]{|bindingoffset|}} -% \end{picture}} -% \caption[\texttt{bindingoffset} Option]{% -% \begin{minipage}[t]{.8\textwidth}\raggedright\small -% Die Option |bindingoffset| fügt eine angegebene Länge zum inneren Rand hinzu. -% Beachten sie, dass die |twoside| Option die horizontalen Ränder und die Randnotizen -% zusammen mit |bindingoffset| auf jeder Seite tauscht (siehe -% \textbf{b)}), aber die |asymmetric| Option unterdrücke den Tausch der Ränder und der Randnotizen -% (aber |bindingoffset| wird dennoch getauscht). -% \end{minipage}} -% \label{fig:bindingoffset} -% \end{figure} -% -% \subsection{Ursprüngliche Maße}\label{sec:dimension} -% -% Die unteren Optionen überschreiben die ursprünglichen Maße von \LaTeX\ und die Veränderungen für das Seitenlayout -% (Betrachten sie auch die rechte Seite in Abbildung~\ref{fig:layout}). -% -% \begin{Options} -% \item[headheight\OR head]~\\ -% modifiziert die \cs{headheight}, die Höhe des Kopfes. -% |headheight=|\meta{Länge} oder |head=|\meta{Länge}. -% \item[headsep] modifiziert die \cs{headsep}, die Abtrennung zwischen dem Kopfbereich und dem Text -% (body). |headsep=|\meta{Länge}. -% \item[footskip\OR foot]~\\ modifiziert den \cs{footskip}, die Distanzabtrennung zwischen -% der Grundlinie der letzten Zeile des Textes und der Grundlinie des Fußes. -% |footskip=|\meta{Länge} oder |foot=|\meta{Länge}. -% \item[nohead] entfernt den Platz für den Kopf der Seite, dies ist äquivalent zu -% \cs{headheight}|=0pt| und \cs{headsep}|=0pt|. -% \item[nofoot] entfernt den Platz für den Fuß der Seite, dies ist äquivalent zu -% \cs{footskip}|=0\,pt|. -% \item[noheadfoot] ist äquivalent zu |nohead| und |nofoot|, dies bedeutet, dass -% \cs{headheight}, \cs{headsep} und \cs{footskip} alle auf |0pt| eingestellt werden. -% \item[footnotesep] verändert die Maße \cs{skip}\cs{footins}, die Abtrennung zwischen -% dem unteren Ende des Textkörpers und dem oberen Ende des Fußnotentextes. -% \item[marginparwidth\OR marginpar]~\\ -% modifiziert die \cs{marginparwidth}, die Breite der Randnotizen. -% |marginparwidth=|\meta{Länge}. -% \item[marginparsep] modifiziert die \cs{marginparsep}, die Abtrennung zwischen -% dem Körper und den Randnotizen. |marginparsep=|\meta{Länge}. -% \item[nomarginpar] schrumpft den Platz für die Randnotizen auf 0\,pt, dies -% ist äquivalent zu \cs{marginparwidth}|=0pt| und \cs{marginparsep}|=0pt|. -% \item[columnsep] modifiziert die \cs{columnsep}, die Abtrennung zwischen zwei -% Spalten im |twocolumn| Modus. -% \item[hoffset] modifiziert \cs{hoffset}. |hoffset=|\meta{Länge}. -% \item[voffset] modifiziert \cs{voffset}. |voffset=|\meta{Länge}. -% \item[offset] horizontaler und vertikaler Versatz.\\ -% |offset=|\argii{hoffset}{voffset} oder |offset=|\meta{Länge}. -% \item[twocolumn] aktiviert den |twocolumn| Modus mit \cs{@twocolumntrue}. -% |twocolumn=false| bezeichnet den onecolumn Modus (Modus mit einer Spalte) mit \cs{@twocolumnfalse}. -% Anstatt |twocolumn=false|, können sie |onecolumn| angeben (die Vorgabe ist -% |true|) -% \item[onecolumn] arbeitet als |twocolumn=false|. Auf der anderen Seite ist -% |onecolumn=false| äquivalent zu |twocolumn|. -% \item[twoside] aktiviert beides, \cs{@twosidetrue} und \cs{@mparswitchtrue}. -% Lesen sie auch Kapitel~\ref{sec:margin}. -% \item[textwidth] lässt sie die \cs{textwidth (Textbreite)} direkt einstellen. Lesen sie auch Kapitel~\ref{sec:body}. -% \item[textheight] lässt sie die \cs{textheight (Texthöhe)} direkt einstellen. Lesen sie auch Kapitel~\ref{sec:body}. -% \item[reversemp\OR reversemarginpar]~\\ -% sorgt dafür, dass die Randnotizen am (inneren) linken Rand erscheinen, mit -% \cs{@reversemargintrue}. Die Option verändert nichts am |includemp| Modus. -% Diese Option ist mit |false| voreingestellt. -% \end{Options} -% -% \subsection{Treiber}\label{sec:drivers} -% -% Dieses Paket unterstützt die Treiber |dvips|, |dvipdfm|, |pdftex|, |xetex| und -% |vtex|. Sie können auch |dvipdfm| für \textsf{dvipdfmx} einstellen und -% \textsf{xdvipdfmx}. |pdftex| für \textsf{pdflatex}, und |vtex| für die -% V\TeX{} Umgebung. -% Die Treiberoptionen sind exklusiv. Der Treiber kann durch beides eingestellt werden, -% |driver=|\meta{Treibername} oder die direkte Angabe eines Treibers wie |pdftex|. -% Standardmäßig nimmt \Gm\ den Treiber, der am besten zum benutzten System passt. -% Deshalb müssen sie in den meisten Fällen keinen Treiber angeben. -% Wie auch immer, wenn sie |dvipdfm| benutzen wollen, dann sollten sie dies explizit angeben. -% -% \begin{Options} -% \item[\onlypre driver] gibt den Treibernamen mit |driver=|\meta{Treibername} an. -% |dvips|, |dvipdfm|, |pdftex|, |vtex|, |xetex|, |auto| und |none| sind -% als Treibername einsetzbar. Außer den Namen für |auto| und |none| können -% alle Treiber direkt mit dem Namen, ohne |driver=|, angegeben werden. -% |driver=auto| schaltet die automatische Detektion ein, egal was die vorherigen Einstellungen waren. -% |driver=none| schaltet die automatische Detektion ab und es wird kein Treiber gewählt. Dies -% könnte nützlich sein, wenn sie wollen, dass andere Pakete die Treibereinstellungen herausfinden sollen. -% Ein Beispiel: Wenn sie das \textsf{crop} Paket mit \Gm{} nutzen wollen, -% dann sollten sie |\usepackage[driver=none]{geometry}| aufrufen, bevor -% sie das \textsf{crop} Paket aufrufen. -% \item[\onlypre dvips] schreibt die Papiergröße in die dvi Ausgabe, mit dem \cs{special} -% Makro. Wenn sie \textsl{dvips} als DVI-zu-PS Treiber nutzen, dann -% brauchen sie, wenn sie beispielsweise ein Dokument mit |\geometry{a3paper,landscape}| -% auf A3-Papier mit der landscape Orientierung drucken wollen, die Optionen -% ``|-t a3 -t landscape|'' für \textsl{dvips} nicht. -% \item[\onlypre dvipdfm] arbeitet wie |dvips|, ausgenommen die landscape Korrektur. -% Sie können diese Option einschalten, wenn sie \textsf{dvipdfmx} nutzen und -% \textsf{xdvipdfmx}, um die dvi Ausgabe zu erzeugen. -% \item[\onlypre pdftex] setzt \cs{pdfpagewidth} und \cs{pdfpageheight} -% intern. -% \item[\onlypre xetex] ist dasselbe wie |pdftex|, ausgenommen das Ignorieren von -% |\pdf{h,v}origin|, das in \XeLaTeX{} nicht definiert ist. Diese Option wurde in 5. Version eingeführt. -% Beachten sie, dass die `geometry.cfg' in \TeX{} Live, welche die -% automatische Detektionsroutine deaktiviert und |pdftex| einstellt, nicht länger notwendig ist. -% Trotzdem gibt es keine Probleme, sogar wenn die Datei nicht gelöscht wird. -% Anstatt |xetex|, können sie |dvipdfm| angeben, mit \XeLaTeX{}, -% wenn sie die Besonderheiten von dvipdfm nutzen wollen, die \XeTeX{} unterstützt. -% \item[\onlypre vtex] setzt die Maße \cs{mediawidth} und \cs{mediaheight} -% für V\TeX. Wenn dieser Treiber ausgewählt ist (explizit oder automatisch), -% wird \Gm\ den Ausgabemodus (DVI, PDF oder PS), der in V\TeX gewählt ist, selbstständig herausfinden -% und die richtigen Einstellungen für ihn machen. -% \end{Options} -% Wenn der explizit angegebene Treiber nicht zum benutzten Textsatzprogramm passt, -% dann wird der Standardtreiber |dvips| ausgewählt. -% -% \subsection{Sonstige Optionen} -% -% Die sonstigen nützlichen Optionen werden jetzt beschrieben. -% -% \begin{Options} -% \item[\onlypre verbose] zeigt die Parameterergebnisse im Terminal an. -% |verbose=false| (Standard) schreibt diese nur in die Log-Datei. -% \item[\onlypre reset] setzt die Layoutmaße zurück und nimmt die Einstellungen an, -% die vor dem Laden von \Gm\ vorgegeben waren. Die Optionen, die in -% |geometry.cfg| angegeben sind, werden auch entfernt. -% Beachten sie, dass dies nicht |pass| und |mag| mit |truedimen| zurücksetzen kann. -% |reset=false| hat keine Auswirkungen und kann ein vorheriges -% |reset|(|=true|), falls es dies gibt, nicht aufheben. Zum Beispiel, wenn sie -% \begin{quote} -% |\documentclass[landscape]{article}|\\ -% |\usepackage[twoside,reset,left=2cm]{geometry}| -% \end{quote} -% eingeben, mit |\ExecuteOptions{scale=0.9}| in |geometry.cfg|, -% dann bleiben |landscape| und |left=2cm| wirksam -% und |scale=0.9| und |twoside| sind unwirksam. -% \item[\onlypre mag] setzt den Vergrößerungswert (\cs{mag}) und modifiziert automatisch -% \cs{hoffset} und \cs{voffset} entsprechend der Vergrößerung. -% |mag=|\meta{Wert}. Beachten sie, dass \meta{Wert} ein ganzzahliger Wert sein sollte, -% wobei 1000 die Normalgröße ist. Ein Beispiel: |mag=1414| mit |a4paper| -% bietet eine erweiterte Druckgröße in |a3paper|, welches $1.414$ -% (=$\sqrt{2}$) mal größer als |a4paper| ist. Die Vergrößerung der Schriftart benötigt extra -% Speicherplatz. \textbf{Beachten sie, dass die Einstellung über jeder anderen -% Einstellung mit `true' Maßen stehen sollte, solchen Maßen wie |1.5truein|, |2truecm| -% und so weiter.} Lesen sie auch die |truedimen| Option. -% \item[\onlypre truedimen] verändert alle internen expliziten Maßwerte in -% \textit{true} Maße, z.\,B. wird |1in| zu |1truein|. -% Typischerweise wird diese Option zusammen mit der |mag| Option genutzt. Beachten sie, dass -% dies unwirksam gegenüber extern angegebenen Maßen ist. Ein Beispiel: -% Wenn sie ``\texttt{mag=1440, margin=10pt, truedimen}'' einstellen, dann sind die Ränder nicht -% `true' aber vergrößert. Wenn sie exakte Ränder wollen, dann sollten sie stattdessen wie folgt definieren -% ``\texttt{mag=1440, margin=10truept, truedimen}''. -% \item[\onlypre pass] deaktiviert alle geometry Optionen und Berechnungen, -% ausgenommen |verbose| und |showframe|. Es ist unabhängig von der Reihenfolge und kann -% für das Überprüfen des Seitenlayouts der Dokumentklasse, sonstiger Pakete -% und manuellen Einstellungen ohne \Gm\ genutzt werden. -% \item[\onlypre showframe] zeigt sichtbare Ränder um den Textbereich und die Seite -% und die Linien für den Kopf und den Fuß auf der ersten Seite. -% \item[\onlypre showcrop] druckt Schnittmarken auf jede Ecke des benutzerdefinierten -% Layoutbereichs. -% \end{Options} -% -% \section{Verarbeitungsoptionen}\label{sec:process} -% -% \subsection{Reihenfolge des Ladens}\label{sec:loadorder} -% -% Wenn es eine |geometry.cfg| gibt, irgendwo wo es \TeX{} finden kann, dann lädt \Gm\ diese -% zuerst. Ein Beispiel: In |geometry.cfg| können sie -% |\ExecuteOptions{a4paper}| schreiben, welches A4-Format als das Standardpapier angibt. -% Grundlegend können sie alle Optionen, die in \Gm\ definiert sind, mit -% |\ExecuteOptions{}| nutzen. -% -% Die Reihenfolge des Ladens in der Präambel ihres Dokuments ist wie folgt: -% \begin{enumerate} -% \item |geometry.cfg|, wenn sie existiert. -% \item Optionen, die mit |\documentclass[|\meta{Optionen}|]{...}| angegeben werden. -% \item Optionen, die mit |\usepackage[|\meta{Optionen}|]{geometry}| angegeben werden. -% \item Optionen, die mit |\geometry{|\meta{Optionen}|}| angegeben werden. Die jeweilige Option -% kann mehrfach aufgerufen werden. (Die |reset| Option wird alle Optionen, -% die in |\usepackage{geometry}| oder |\geometry| angegeben wurden, -% zurücksetzen.) -% \end{enumerate} -% -% \subsection{Reihenfolge der Optionen}\label{sec:optionorder} -% -% Die Spezifikation der \Gm\ Optionen ist unabhängig von der Reihenfolge -% und überschreibt die vorherigen gleichartigen Einstellungen. -% Ein Beispiel: -% \begin{center} -% |[left=2cm, right=3cm]| ist äquivalent zu -% |[right=3cm, left=2cm]|. -% \end{center} -% Der mehrfache Aufruf der Optionen überschreibt die jeweiligen vorherigen -% Einstellungen. Auch hier ein Beispiel: -% \begin{center} -% |[verbose=true, verbose=false]| das Ergebnis ist |verbose=false|. -% \end{center} -% |[hmargin={3cm,2cm}, left=1cm]| ist das Gleiche wie |hmargin={1cm,2cm}|, -% wobei der linke (oder innere) Rand durch |left=1cm| überschrieben wird. -% -% |reset| und |mag| sind Ausnahmen. -% Die |reset| Option entfernt alle geometry Optionen (ausgenommen |pass|) -% davor. Wenn sie -% \begin{quote} -% |\documentclass[landscape]{article}|\\ -% |\usepackage[margin=1cm,twoside]{geometry}|\\ -% |\geometry{a5paper, reset, left=2cm}| -% \end{quote} -% einstellen, dann werden |margin=1cm| (Rand), |twoside| und |a5paper| entfernt und -% ist gelegentlich äquivalent zu -% \begin{quote} -% |\documentclass[landscape]{article}|\\ -% |\usepackage[left=2cm]{geometry}| -% \end{quote} -% -% Die |mag| Option sollte vor jeder anderen Einstellungen mit -% `true' Länge, solche wie |left=1.5truecm|, |width=5truein| und so weiter, stehen. -% Die |\mag| Option kann vor dem Aufruf dieses Pakets stehen. -% -% \subsection{Priorität}\label{sec:priority} -% -% Es gibt verschiedene Wege die Maße des \gpart{Körpers} einzustellen: -% |scale|, |total|, |text| und |lines|. Das \Gm\ Paket gibt den konkreteren Spezifikationen -% eine höhere Priorität. Hier ist die Prioritätsregel -% für den \gpart{Textkörper}. -% \[\begin{array}{c} -% \textrm{Priorität:}\qquad\textrm{niedrig}\quad -% \longrightarrow\quad\textrm{hoch}\\[1em] -% \left\{\begin{array}{l}|hscale|\\|vscale|\\|scale| -% \end{array}\right\} < -% \left\{\begin{array}{l}|width|\\|height|\\|total| -% \end{array}\right\} < -% \left\{\begin{array}{l}|textwidth|\\|textheight| -% \\|text|\end{array}\right\} < |lines|. -% \end{array}\] -% Ein Beispiel: -% \begin{quote} -% |\usepackage[hscale=0.8, textwidth=7in, width=18cm]{geometry}| -% \end{quote} -% ist das Gleiche wie |\usepackage[textwidth=7in]{geometry}|. Ein weiteres Beispiel: -% \begin{quote} -% |\usepackage[lines=30, scale=0.8, text=7in]{geometry}| -% \end{quote} -% resultiert in \texttt{[lines=30, textwidth=7in]}. -% -% \subsection{Standards}\label{sec:defaults} -% -% Dieses Kapitel summiert die Standardeinstellungen für die automatische Vervollständigung, -% die später beschrieben wird. -% -% Das Standardverhältnis für den vertikalen Rand ist $2/3$, namentlich, -% \begin{equation} -% |top| : |bottom| = 2 : 3 \qquad\textit{Standard}. -% \end{equation} -% Was den horizontalen Rand betrifft, hängen die Standardwerte davon ab, -% ob das Dokument einseitig oder zweiseitig ist, -% \begin{equation} -% |left|\;(|inner|) : |right|\;(|outer|) -% = \left\{ \begin{array}{ll} -% 1 : 1 \qquad\textit{Standard für oneside},\\ -% 2 : 3 \qquad\textit{Standard für twoside}. -% \end{array}\right. -% \end{equation} -% Offensichtlich ist, dass der Standard für den horizontalen Rand für einseitig (oneside) `centering' ist. -% -% Das \Gm\ Paket besitzt folgende Standardeinstellungen für -% \textit{onesided (einseitige)} Dokumente: -% \begin{itemize}\setlength{\itemsep}{-.5\parsep} -% \item |scale=0.7| (\gpart{Textkörper} ist $0.7 \times \gpart{Papier}$) -% \item |marginratio={1:1, 2:3}| (1:1 für horizontal und 2:3 für vertikale Ränder) -% \item |ignoreall| (der Kopf, der Fuß, die Randnotizen sind ausgeschlossen, -% wenn die Größe des \gpart{Körpers (body)} berechnet wird.) -% \end{itemize} -% Für \textit{twosided (zweiseitige)} Dokumente mit der |twoside| Option, ist die Standardeinstellung -% die gleiche, wie bei \textit{onesided (einseitigen)}, ausgenommen, dass das horizontale Randverhältnis -% auf |2:3| gesetzt wird. -% -% Zusätzliche Optionen überschreiben die vorher angegebenen Maße.\\ -% -% \subsection{Autovervollständigung} \label{sec:rules} -% -% Abbildung~\ref{fig:specrule} zeigt schematisch, wie viele Spezifikationsmuster -% existieren und wie sie die Zweideutigkeiten der Spezifikationen lösen können. -% Jede Achse zeigt die Anzahl der Längen, -% die explizit für den Körper und die Ränder angegeben werden müssen. \Ss($m$,$b$) zeigt die -% Spezifikation mit einer Menge an Zahlen $(\gpart{Rand},\gpart{Körper})=(m,b)$. -% -% Ein Beispiel: Die Spezifikation |width=14cm, left=3cm| ist kategorisiert in -% \Ss(1,1), welches eine ad\-äquate Spezifikation ist. Wenn sie -% |right=4cm| hinzufügen, dann wird es \Ss(2,1) sein und überspezifiziert. -% Wenn nur |width=14cm| gegeben ist, dann ist es in \Ss(0,1) unterspezifiziert. -% -% Das \Gm\ Paket besitzt einen Autovervollständigungsmechanismus, der, wenn -% die Layoutparameter unter- oder überspezifiziert sind, -% die Unstimmigkeiten herausarbeitet und dann die Standards nutzt und andere -% Verhältnisse. Hier sind die Spezifikationen und die Vervollständigungsregeln. -% -% \begin{figure}[h] -% \centering -% {\unitlength=1pt -% \begin{picture}(400,150)(40,0) -% \put(1,49){\makebox(90,49)[r]{\large 0}} -% \put(1,1){\makebox(70,99)[r]{\large \gpart{Textkörper}}} -% \put(1,1){\makebox(90,49)[r]{\large 1}} -% \put(100,100){\makebox(99,20){\large 0}} -% \put(100,50){\framebox(99,49){}} -% \put(100,80){\makebox(99,15){\Ss(0,0)}} -% \put(100,50){\makebox(99,49){benutze |scale|}} -% {\linethickness{1pt}% -% \put(150,35){\line(0,1){30}} -% \put(150,35){\line(-1,3){4}} -% \put(150,35){\line(1,3){4}}} -% \put(100,0){\framebox(99,49){}} -% \put(100,2){\makebox(99,15){\Ss(0,1)}} -% \put(100,0){\makebox(99,49){nutze |marginratio|}} -% \put(200,120){\makebox(99,12){\large \gpart{Rand}}} -% \put(200,100){\makebox(99,20){\large 1}} -% \put(200,50){\framebox(99,49){benutze |scale|}} -% \put(200,55){\makebox(89,10)[r]{\scriptsize\shortstack[l]{wenn |ratio|\\angegeben}}} -% \put(200,2){\makebox(99,15){\Ss(1,1)}} -% {\linethickness{1pt}% -% \put(250,35){\line(0,1){30}} -% \put(250,35){\line(-1,3){4}} -% \put(250,35){\line(1,3){4}}} -% {\linethickness{1pt}% -% \put(225,25){\line(-1,0){35}} -% \put(225,25){\line(-3,-1){12}} -% \put(225,25){\line(-3,1){12}}} -% \put(200,80){\makebox(99,15){\Ss(1,0)}} -% \put(200,0){\framebox(99,49){\textcolor{red}{\textit{lösbar}}}} -% \put(300,100){\makebox(99,20){\large 2}} -% \put(300,80){\makebox(99,15){\Ss(2,0)}} -% \put(300,50){\framebox(99,49){\textcolor{red}{\textit{lösbar}}}} -% \put(300,0){\framebox(99,49){vergesse den |body|}} -% \put(300,2){\makebox(99,15){\Ss(2,1)}} -% {\linethickness{1pt}% -% \multiput(290,65)(5,0){6}{\line(1,0){3}} -% \put(320,65){\line(-3,-1){12}} -% \put(320,65){\line(-3,1){12}}} -% {\linethickness{1pt}% -% \put(350,65){\line(0,-1){30}} -% \put(350,65){\line(-1,-3){4}} -% \put(350,65){\line(1,-3){4}}} -% \end{picture}} -% \caption[Spezifikationen und Komplettierungsregeln]{% -% \begin{minipage}[t]{.7\textwidth}\raggedright\small -% Die Spezifikationen \Ss(0,0) zu \Ss(2,1) und die Komplettierungsregeln -% (Pfeile). Spalten- und Zeilennummern bezeichnen die Anzahl der explizit -% angegebenen Längen für den Rand und den Körper. \Ss($m$,$b$) bezeichnet eine -% Spezifikation mit einer Menge an Zahlen $(\gpart{Rand},\gpart{Körper})=(m,b)$. -% \end{minipage}} -% \label{fig:specrule} -% \end{figure} -% -% \begin{Spec} -% \item[\Ss(0,0)] -% Es ist nichts angegeben. Das \Gm\ Paket gibt für den \gpart{body (Körper)} den -% Standard |scale| ($=0.7$) vor. \\ Ein Beispiel: |width (Breite)| wird auf -% $|0.7|\times|layoutwidth|$ eingestellt. Beachten sie, dass standardmäßig die |layoutwidth| -% und |layoutheight| (Layoutbreite und -höhe) gleich der |\paperwidth| und |\paperheight| (Papierbreite und -höhe) -% sein werden. -% Demnach wird \Ss(0,0) zu \Ss(0,1). Siehe auch \Ss(0,1). -% \bigskip -% -% \item[\Ss(0,1)] -% Nur der \gpart{body} ist angegeben, wie z.\,B. |width=7in|, |lines=20|, -% |body={20cm,24cm}|, |scale=0.9| und so weiter. -% Dann setzt \Gm\ die Ränder mithilfe des Randverhältnisses. -% Falls kein Verhältnis angegeben ist, wird das Standardverhältnis genutzt. -% Das Standardverhältnis für das vertikale Randverhältnis ist wie folgt definiert: -% \begin{equation} -% |top| : |bottom| = 2 : 3 \qquad\textit{Standard}. -% \end{equation} -% Was das horizontale Verhältnis betrifft, hängt das Standardverhältnis davon ab, -% ob das Dokument einseitig oder zweiseitig ist. -% \begin{equation} -% |left|\;(|inner|) : |right|\;(|outer|) -% = \left\{ \begin{array}{ll} -% 1 : 1 \qquad\textit{Der Standard bei einseitig},\\ -% 2 : 3 \qquad\textit{Der Standard bei zweiseitig}. -% \end{array}\right. -% \end{equation} -% Wenn zum Beispiel auf A4-Papier die |height=22cm| angegeben ist, -% dann berechnet \Gm\ den |top (oberen)| Rand wie folgt: -% \begin{equation} -% \begin{array}{ll} -% |top| &= ( |layoutheight| - |height| ) \times 2/5 \\ -% &= (29.7-22)\times2/5 = 3.08\textrm{(cm)} -% \end{array} -% \end{equation} -% Demnach sind der |top (obere)| Rand und die |height (Höhe)| des Körpers bestimmt wurden, die -% Spezifikation für die Vertikale wird also zu \Ss(1,1) und -% alle Parameter können gelöst werden. -% \bigskip -% -% \item[\Ss(1,0)] -% Nur ein Rand ist angegeben, wie |bottom=2cm|, |left=1in|, -% |top=3cm| und so weiter. -% -% \begin{itemize} -% \item \textbf{Wenn das Randverhältnis \textit{nicht} angegeben ist}, dann nimmt \Gm\ -% den Standard für |scale| ($=0.7$) für den \gpart{body} an. -% Wenn beispielsweise |top=2.4cm| angegeben ist, dann setzt \Gm\ -% \begin{center} -% $|height|= |0.7|\times|layoutheight|$ -% ~~($=|0.7\paperheight|$ by default), -% \end{center} -% dann wird \Ss(1,0) zu \Ss(1,1), wobei der |bottom| mit -% $|layoutheight|-(|height|+|top|)$ berechnet wird und in 6.51\,cm auf A4-Papier resultiert, -% wenn die Layoutgröße gleich der Papiergröße ist. -% \medskip -% \item \textbf{Wenn das Randverhältnis angegeben ist}, wie -% |hmarginratio={1:2}|, |vratio={3:4}| und so weiter, -% dann setzt \Gm\ die anderen% Ränder mit dem gegebenen Randverhältnis. -% Falls z.\,B. eine Menge an Optionen ``|top=2.4cm,vratio={3:4}|'' spezifiziert wurde, -% dann setzt \Gm\ den |bottom| auf den berechneten Wert von |3.2cm| -% \begin{center} -% $|bottom|= |top|/3\times4 = 3.2\textrm{cm}$ -% \end{center} -% Demnach wird \Ss(1,0) zu \Ss(2,0). -% \end{itemize} -% -% Beachten sie, dass in der Version 4 oder früher das Berechnungsverfahren ein anderes war. -% Deshalb wird, wenn sie in Version 5 und 4 die gleichen Werte eingeben, -% das Ergebnis nicht gleich sein. -% Wenn nur |top=2.4cm| gegeben ist, -% dann bekommen sie in Version 4 oder früher |bottom=2.4cm|, aber sie werden -% |bottom=6.51cm| bei Version 5 erhalten. -% \bigskip -% -% \item[\Ss(2,1)] -% Der \gpart{body (Körper)} und zwei \gpart{margins (Ränder)} sind angegeben, wie z.\,B. -% |vdivide={1in,8in,1.5in}|, ``|left=3cm,width=13cm,right=4cm|'' und -% so weiter. Seit \Gm\ grundsätzlich die Priorität an die \gpart{margins} gibt, -% wenn die Maße überspezifiziert sind, vergisst \Gm\ den \gpart{body} und setzt diesen zurück. -% Ein Beispiel: Wenn sie -% \begin{center} -% |\usepackage[a4paper,left=3cm,width=13cm,right=4cm]{geometry}|, -% \end{center} -% angeben, dann wird die |width (Breite)| auf 14\,cm zurückgesetzt, da die Breite von A4-Papier 21\,cm -% ist. -% \end{Spec} -% -% \section{Verändern des Layouts innerhalb des Dokuments}\label{sec:midchange} -% -% Die Version 5 bietet die neuen Befehle \cs{newgeometry\{$\cdots$\}} und -% und \cs{restoregeometry} an, welche es ihnen erlauben, das Seitenlayout im Dokuments zu verändern. -% Nicht wie \cs{geometry} in der Präambel, -% ist \cs{newgeometry} nur nach |\begin{document}| verfügbar. -% Es setzt alle Optionen zurück, ausgenommen die, -% die sich auf die Papiergröße beziehen -- |landscape|, |portrait| -- und Papiergrößenoptionen -% (wie |papersize|, |paper=a4paper| und so weiter), die nicht -% durch \cs{newgeometry} geändert werden können. -% -% Der Befehl \cs{restoregeometry} sichert das in der Präambel (vor |\begin{document}|) angegebene Seitenlayout, -% welches mit |\usepackage{geometry}|, \cs{geometry} und deren Optionen erzeugt wurde. -% -% Beachten sie, dass beide, \cs{newgeometry} und \cs{restoregeometry}, ein -% |\clearpage| einfügen, da wo sie aufgerufen werden. -% -% Es folgt ein Beispiel für das Verändern des Layouts im Dokument. Das Layout L1 wird wie folgt angegeben: -% |hmargin=3cm| (|left (linker)| und |right (rechter)| Rand sind |3cm| -% lang), dies wird in L2 in |left=3cm|, |right=1cm| und -% |bottom=0.1cm| geändert. Das Layout L1 wird mit \cs{restoregeometry} -% gesichert. -% \begin{center} -% \begin{minipage}{.8\textwidth} -% |\usepackage[hmargin=3cm]{geometry}|\\ -% |\begin{document}|\\ -% \medskip -% \hspace{1cm}\fbox{Layout L1}\\ -% \medskip -% |\newgeometry{left=3cm,right=1cm,bottom=0.1cm}|\\ -% \medskip -% \hspace{1cm}\fbox{Layout L2 (neu)}\\ -% \medskip -% |\restoregeometry|\\ -% \medskip -% \hspace{1cm}\fbox{Layout L1 (wiederhergestellt)}\\ -% \medskip -% |\newgeometry{margin=1cm,includefoot}|\\ -% \medskip -% \hspace{1cm}\fbox{Layout L3 (neu)}\\ -% \medskip -% |\end{document}| -% \end{minipage}% -% \end{center} -% \begin{center} -% \centering\small -% {\unitlength=.8pt -% \begin{picture}(450,180)(0,0) -% \put(0,165){\makebox(95,12){(gesichert)}} -% \put(15,135){\framebox(65,10){\gpart{Kopf}}} -% \put(15,60){\framebox(65,70){\gpart{Textkörper}}} -% \put(15,45){\makebox(65,12){\gpart{Fuß}}} -% \put(15,45){\line(1,0){65}} -% \put(0,20){\framebox(95,140){}} -% \put(0,0){\makebox(95,20){L1}} -% \put(104,90){\circle*{4}} -% \put(110,90){\circle*{4}} -% \put(116,90){\circle*{4}} -% \put(125,165){\makebox(95,12){\cs{newgeometry}}} -% \put(140,135){\framebox(71,10){\gpart{Kopf}}} -% \put(140,33){\framebox(71,97){\gpart{Textkörper}}} -% \put(140,21){\makebox(71,12){\gpart{Fuß}}} -% \put(125,20){\framebox(95,140){}} -% \put(125,0){\makebox(95,20){L2 (neu)}} -% \put(229,90){\circle*{4}} -% \put(235,90){\circle*{4}} -% \put(241,90){\circle*{4}} -% \put(250,165){\makebox(95,12){\cs{restoregeometry}}} -% \put(265,135){\framebox(65,10){\gpart{Kopf}}} -% \put(265,60){\framebox(65,70){\gpart{Textkörper}}} -% \put(265,45){\makebox(65,12){\gpart{Fuß}}} -% \put(265,45){\line(1,0){65}} -% \put(250,20){\framebox(95,140){}} -% \put(250,0){\makebox(95,20){L1 (wiederhergestellt)}} -% \put(354,90){\circle*{4}} -% \put(360,90){\circle*{4}} -% \put(366,90){\circle*{4}} -% \put(375,165){\makebox(95,12){\cs{newgeometry}}} -% \put(383,41){\framebox(80,111){\gpart{Textkörper}}} -% \put(383,29){\makebox(80,12){\gpart{Fuß}}} -% \put(383,29){\line(1,0){80}} -% \put(375,20){\framebox(95,140){}} -% \put(375,0){\makebox(95,20){L3 (neu)}} -% \end{picture}} -% \end{center} -% -% Eine Menge von Befehlen |\savegeometry{|\meta{Name}|}| und -% |\loadgeometry{|\meta{Name}|}| ist nützlich, wenn sie mehrere -% verschiedene Layouts in ihrem Dokument nutzen wollen. -% Ein Beispiel: -% \begin{center} -% \begin{verbatim} -% \usepackage[hmargin=3cm]{geometry} -% \begin{document} -% L1 -% \newgeometry{left=3cm,right=1cm,bottom=0.1cm} -% \savegeometry{L2} -% L2 (neu, gespeichert) -% \restoregeometry -% L1 (wiederhergestellt) -% \newgeometry{margin=1cm,includefoot} -% L3 (neu) -% \loadgeometry{L2} -% L2 (geladen) -% \end{document} -% \end{verbatim} -% \end{center} -% -% \section{Beispiele} -% -% \begin{enumerate} -% \item Ein einseitiges Seitenlayout mit einem zentrierten Textbereich auf dem Papier:\\ -% Das sich anschließende Beispiel hat das gleiche Ergebnis, weil das horizontale Randverhältnis -% auf |1:1| gesetzt ist, wie es bei einseitigen Dokumenten der Standard ist. -% \begin{itemize} -% \item |centering| -% \item |marginratio=1:1| -% \item |vcentering| -% \end{itemize} -% -% \item Ein zweiseitiges Layout mit einem Versatz von 1\,cm für das Binden auf der Innenseite:\\ -% \begin{itemize} -% \item |twoside, bindingoffset=1cm| -% \end{itemize} -% In diesem Fall ist die |textwidth (Textbreite)| kürzer als der Standard bei zweiseitigen Dokumenten -% $0.7\times|1cm|$ ($=|0.7cm|$), weil die Standardbreite des -% \gpart{body (Körpers)} mit |scale=0.7| eingestellt ist, was bedeutet, -% $|width|=|0.7|\times|layoutwidth|$ ($=|0.7\paperwidth|$ standardmäßig). -% -% \item Ein Layout mit linkem, rechtem und oberem Rand (3\,cm, 2\,cm und -% 2.5\,in), mit einer Texthöhe von 40 Zeilen und der Einbeziehung des Kopfes -% und des Fußes auf der Seite in den \gpart{druckbaren Bereich}:\\ -% Die zwei Beispiele haben das gleiche Ergebnis. -% \begin{itemize} -% \item |left=3cm, right=2cm, lines=40, top=2.5in, includeheadfoot| -% \item |hmargin={3cm,2cm}, tmargin=2.5in, lines=40, includeheadfoot| -% \end{itemize} -% -% \item Ein Layout mit einer Höhe des \gpart{druckbaren Bereichs} von 10\,in, einem unteren Rand von -% 2\,cm und der Standardbreite:\\ Der obere Rand wird automatisch berechnet. -% Jede der unteren Lösungen erzeugt das gleiche Layout. -% \begin{itemize} -% \item |vdivide={*, 10in, 2cm}| -% \item |bmargin=2cm, height=10in| -% \item |bottom=2cm, textheight=10in| -% \end{itemize} -% Beachten sie, dass die Maße für \gpart{Kopf} and \gpart{Fuß} von der |Höhe| -% des \gpart{druckbaren Bereichs} ausgeschlossen sind. Ein zusätzliches |includefoot| sorgt dafür, -% dass der \cs{footskip (Fußbereich)} in die |totalheight (Gesamthöhe)| einbezogen wird. Deshalb ist in den unteren zwei -% Fällen die |textheight (Texthöhe)| im vorhergehenden Layout kürzer als in letzterem -% (mit exakt 10\,in) über dem \cs{footskip}. In anderen Worten, -% |height| = |textheight| + |footskip| falls |includefoot=true| ist, in diesem Falle. -% \begin{itemize} -% \item |bmargin=2cm, height=10in, includefoot| -% \item |bottom=2cm, textheight=10in, includefoot| -% \end{itemize} -% -% \item Ein Layout mit einer \glen{textwidth (Textbreite)} und \glen{textheight (Texthöhe)} von 90\% des -% Papiers und einem zentrierten \gpart{body}: -% Jede der unteren Lösungen erzeugt das gleiche Seitenlayout, sofern -% die |layoutwidth (Layoutbreite)| und die |layoutheight (Layouthöhe)| nicht geändert werden, also der Standard beibehalten -% wird. -% \begin{itemize} -% \item |scale=0.9, centering| -% \item |text={.9\paperwidth,.9\paperheight}, ratio=1:1| -% \item |width=.9\paperwidth, vmargin=.05\paperheight, marginratio=1:1| -% \item |hdivide={*,0.9\paperwidth,*}, vdivide={*,0.9\paperheight,*}| -% (für einseitige Dokumente) -% \item |margin={0.05\paperwidth,0.05\paperheight}| -% \end{itemize} -% Sie können ein |heightrounded| hinzufügen, um eine ``underfull vbox warning'' (Warnmeldung) wie -% \begin{quote}\small -% |Underfull \vbox (badness 10000) has occurred while \output is active|. -% \end{quote} -% zu vermeiden. -% Lesen sie auch Kapitel~\ref{sec:body} für eine detaillierte Beschreibung zu |heightrounded|. -% -% \item Ein Layout, bei dem die Breite für die Randnotizen auf 3\,cm eingestellt ist und in -% die Breite des \gpart{druckbaren Bereichs} einbezogen ist:\\ Die folgenden Beispiele erzeugen das Gleiche. -% \begin{itemize} -% \item |marginparwidth=3cm, includemp| -% \item |marginpar=3cm, ignoremp=false| -% \end{itemize} -% -% \item Ein Layout, bei dem der \gpart{body} das ganze Papier (A5-Papier im |landscape| Modus) einnimmt:\\ -% Die folgenden Beispiele sind gleich. -% \begin{itemize} -% \item |a5paper, landscape, scale=1.0| -% \item |landscape=TRUE, paper=a5paper, margin=0pt| -% \end{itemize} -% -% \item Ein Bildschirmgrößenlayout, verwendbar für Präsentationen mit dem PC oder dem Beamer: -% \begin{verbatim} -% \documentclass{slide} -% \usepackage[screen,margin=0.8in]{geometry} -% ... -% \begin{slide} -% ... -% \end{slide}\end{verbatim} -% \item Ein Layout mit vergrößerter Schrift und Zwischenräumen, von A4 auf A3:\\ -% Im unteren Fall ist die sich ergebende Papiergröße A3. -% \begin{itemize} -% \item |a4paper, mag=1414|. -% \end{itemize} -% Wenn sie ein Layout mit doppelt so großer Schriftgröße, aber ohne das -% Verändern der Papiergröße wollen, dann tippen sie -% \begin{itemize} -% \item |letterpaper, mag=2000, truedimen|. -% \end{itemize} -% Sie können die |dvips| Option hinzufügen, das ist nützlich, um eine Vorschau der eigenen -% Papiergröße zu betrachten, die durch |dviout| oder |xdvi| erzeugt wird. -% -% \item Verändern des Layouts auf der ersten Seite und Beibehalten der anderen Einstellungen -% vor dem Laden von \Gm:\\ Benutzen sie die |pass| Option, |\newgeometry| -% und |\restoregeometry|. -% \begin{verbatim} -% \documentclass{book} -% \usepackage[pass]{geometry} -% % 'pass' vernachlässigt das Paketlayout, -% % so wird das originale 'book' Layout gespeichert. -% \begin{document} -% \newgeometry{margin=1cm}% Verändert die Maße der ersten Seite. -% Seite 1 -% \restoregeometry % stellt das 'book' Layout wieder her. -% Seite 2 und folgende -% \end{document}\end{verbatim} -% -% \item Ein komplexes Seitenlayout: -% \begin{verbatim} -% \usepackage[a5paper, landscape, twocolumn, twoside, -% left=2cm, hmarginratio=2:1, includemp, marginparwidth=43pt, -% bottom=1cm, foot=.7cm, includefoot, textheight=11cm, heightrounded, -% columnsep=1cm, dvips, verbose]{geometry}\end{verbatim} -% Probieren sie das Layoutsetzen selbst und überprüfen sie, wie das Ergebnis ist. |:-)| -% \end{enumerate} -% -% \section{Bekannte Probleme} -% \begin{itemize} -% \item Mit |mag| $\neq 1000$ und |truedimen|, -% |paperwidth| und |paperheight| ist die Anzeige im verbose-Modus verschieden von der -% wirklichen Größe der resultierenden PDF. Die PDF ist aber korrekt. -% -% \item Mit |mag| $\neq 1000$, \textit{no} |truedimen| -% und \textsf{hyperref} sollte \textsf{hyperref} vor \Gm\ geladen werden. -% Andernfalls wird die PDF-Größe fehlerhaft. -% -% \item Mit dem \textsf{crop} Paket und |mag| $\neq 1000$ -% arbeitet die |center|-Option von \textsf{crop} nicht gut. -% -% \end{itemize} -% -% \section{Danksagungen} -% Der Autor würdigt hiermit die hilfreichen Vorschläge und Kommentare Vieler (in alphabetischer Reihenfolge ihrer -% Familennamen): -% Jean-Bernard Addor, -% Frank Bennett, -% Alexis Dimitriadis, -% Friedrich Flender, -% Adrian Heathcote, -% Stephan Hennig, -% Morten H\o{}gholm, -% Jonathan Kew, -% James Kilfiger, -% Yusuke Kuroki, -% Jean-Marc Lasgouttes, -% Wlodzimierz Macewicz, -% Frank Mittelbach, -% Eckhard Neber, -% Rolf Niepraschk, -% Hans Fr.~Nordhaug, -% Heiko Oberdiek, -% Keith Reckdahl, -% Peter Riocreux, -% Will Robertson, -% Pablo Rodriguez, -% Nico Schlöemer, -% Perry C.~Stearns, -% Frank Stengel, -% Plamen Tanovski, -% Petr Uher, -% Piet van Oostrum, -% Vladimir Volovich, -% Michael Vulis. -% -% \StopEventually{% -% } -% -% \newgeometry{hmargin={4.8cm,1.2cm}, vmargin={1cm,1cm}, includeheadfoot, marginpar=3.8cm} -% \section{Implementierung} -% \begin{macrocode} -%<*package> -% \end{macrocode} -% This package requires the following packages: -% \textsf{keyval}, \textsf{ifpdf}, \textsf{ifvtex} and \textsf{ifxetex}. -% \begin{macrocode} -\RequirePackage{keyval}% -\RequirePackage{ifpdf}% -\RequirePackage{ifvtex}% -\RequirePackage{ifxetex}% -% \end{macrocode} -% -% Internal switches are declared here. -% \begin{macrocode} -\newif\ifGm@verbose -\newif\ifGm@landscape -\newif\ifGm@swap@papersize -\newif\ifGm@includehead -\newif\ifGm@includefoot -\newif\ifGm@includemp -\newif\ifGm@hbody -\newif\ifGm@vbody -\newif\ifGm@heightrounded -\newif\ifGm@showframe -\newif\ifGm@showcrop -\newif\ifGm@pass -\newif\ifGm@resetpaper -\newif\ifGm@layout -\newif\ifGm@newgm -% \end{macrocode} -% \begin{macro}{\Gm@cnth} -% \begin{macro}{\Gm@cntv} -% The counters for horizontal and vertical partitioning patterns. -% \begin{macrocode} -\newcount\Gm@cnth -\newcount\Gm@cntv -% \end{macrocode} -% \end{macro}\end{macro} -% \begin{macro}{\c@Gm@tempcnt} -% The counter is used to set number with \textsf{calc}. -% \begin{macrocode} -\newcount\c@Gm@tempcnt -% \end{macrocode} -% \end{macro} -% \begin{macro}{\Gm@bindingoffset} -% The binding offset for the inner margin. -% \begin{macrocode} -\newdimen\Gm@bindingoffset -% \end{macrocode} -% \end{macro} -% \begin{macro}{\Gm@wd@mp} -% \begin{macro}{\Gm@odd@mp} -% \begin{macro}{\Gm@even@mp} -% Correction lengths for \cs{textwidth}, \cs{oddsidemargin} and -% \cs{evensidemargin} in |includemp| mode. -% \begin{macrocode} -\newdimen\Gm@wd@mp -\newdimen\Gm@odd@mp -\newdimen\Gm@even@mp -% \end{macrocode} -% \end{macro}\end{macro}\end{macro} -% \begin{macro}{\Gm@layoutwidth} -% \begin{macro}{\Gm@layoutheight} -% \begin{macro}{\Gm@layouthoffset} -% \begin{macro}{\Gm@layoutvoffset} -% The dimensions for the layout area. -% \begin{macrocode} -\newdimen\Gm@layoutwidth -\newdimen\Gm@layoutheight -\newdimen\Gm@layouthoffset -\newdimen\Gm@layoutvoffset -% \end{macrocode} -% \end{macro}\end{macro}\end{macro}\end{macro} -% \begin{macro}{\Gm@dimlist} -% The token in which \LaTeX{} native dimensions can be stored. -% \begin{macrocode} -\newtoks\Gm@dimlist -% \end{macrocode} -% \end{macro} -% \begin{macro}{\Gm@warning} -% The macro to print warning messages. -% \begin{macrocode} -\def\Gm@warning#1{\PackageWarningNoLine{geometry}{#1}}% -% \end{macrocode} -% \end{macro} -% \begin{macro}{\ifGm@preamble} -% The macro executes the option given as an argument -% only if it's specified in the preamble, as the options of -% |\usepackage| and/or the argument of |\geometry|. Otherwise, -% the macro would print the warning message and ignores -% the option setting. -% \begin{macrocode} -\def\ifGm@preamble#1{% - \ifGm@newgm - \Gm@warning{`#1': not available in `\string\newgeometry'; skipped}% - \else - \expandafter\@firstofone - \fi}% -% \end{macrocode} -% \end{macro} -% \begin{macro}{\Gm@Dhratio} -% \begin{macro}{\Gm@Dhratiotwo} -% \begin{macro}{\Gm@Dvratio} -% The default values for the horizontal and vertical -% \textsl{marginalratio} are defined. \cs{Gm@Dhratiotwo} denotes the -% default value of horizontal \textsl{marginratio} for twoside -% page layout with left and right margins swapped on verso pages, -% which is set by |twoside|. -% \begin{macrocode} -\def\Gm@Dhratio{1:1}% = left:right default for oneside -\def\Gm@Dhratiotwo{2:3}% = inner:outer default for twoside. -\def\Gm@Dvratio{2:3}% = top:bottom default -% \end{macrocode} -% \end{macro}\end{macro}\end{macro} -% \begin{macro}{\Gm@Dhscale} -% \begin{macro}{\Gm@Dvscale} -% The default values for the horizontal and vertical \textsl{scale} -% are defined with $0.7$. -% \begin{macrocode} -\def\Gm@Dhscale{0.7}% -\def\Gm@Dvscale{0.7}% -% \end{macrocode} -% \end{macro}\end{macro} -% \begin{macro}{\Gm@dvips}% -% \begin{macro}{\Gm@dvipdfm}% -% \begin{macro}{\Gm@pdftex}% -% \begin{macro}{\Gm@xetex}% -% \begin{macro}{\Gm@vtex}% -% The driver names. -% \begin{macrocode} -\def\Gm@dvips{dvips}% -\def\Gm@dvipdfm{dvipdfm}% -\def\Gm@pdftex{pdftex}% -\def\Gm@xetex{xetex}% -\def\Gm@vtex{vtex}% -% \end{macrocode} -% \end{macro}\end{macro}\end{macro}\end{macro}\end{macro} -% \begin{macro}{\Gm@true}% -% \begin{macro}{\Gm@false}% -% The macros for |true| and |false|. -% \begin{macrocode} -\def\Gm@true{true}% -\def\Gm@false{false}% -% \end{macrocode} -% \end{macro}\end{macro} -% \begin{macro}{\Gm@orgpw} -% \begin{macro}{\Gm@orgph} -% These macros keep original paper (media) size intact. -% \begin{macrocode} -\edef\Gm@orgpw{\the\paperwidth}% -\edef\Gm@orgph{\the\paperheight}% -% \end{macrocode} -% \end{macro}\end{macro} -% \begin{macro}{\Gm@savelength} -% The macro saves the specified length to |\Gm@restore|. -% \begin{macrocode} -\def\Gm@savelength#1{% - \g@addto@macro\Gm@restore{\expandafter\noexpand\expandafter\csname - #1\endcsname\expandafter=\expandafter\the\csname #1\endcsname\relax}}% -% \end{macrocode} -% \end{macro} -% \begin{macro}{\Gm@saveboolean} -% The macro saves the specified boolean to |\Gm@restore|. -% \begin{macrocode} -\def\Gm@saveboolean#1{% - \csname if#1\endcsname - \g@addto@macro\Gm@restore{\expandafter\noexpand\csname #1true\endcsname}% - \else - \g@addto@macro\Gm@restore{\expandafter\noexpand\csname #1false\endcsname}% - \fi}% -% \end{macrocode} -% \end{macro} -% \begin{macro}{\Gm@restore} -% The initialization for |\Gm@restore|. -% \begin{macrocode} -\def\Gm@restore{}% -% \end{macrocode} -% \end{macro} -% \begin{macro}{\Gm@save} -% The definition of the macro saving the real lengths -% \LaTeX\ options. -% \begin{macrocode} -\def\Gm@save{% - \Gm@savelength{paperwidth}% - \Gm@savelength{paperheight}% - \Gm@savelength{textwidth}% - \Gm@savelength{textheight}% - \Gm@savelength{evensidemargin}% - \Gm@savelength{oddsidemargin}% - \Gm@savelength{topmargin}% - \Gm@savelength{headheight}% - \Gm@savelength{headsep}% - \Gm@savelength{topskip}% - \Gm@savelength{footskip}% - \Gm@savelength{baselineskip}% - \Gm@savelength{marginparwidth}% - \Gm@savelength{marginparsep}% - \Gm@savelength{columnsep}% - \Gm@savelength{hoffset}% - \Gm@savelength{voffset} - \Gm@savelength{Gm@layoutwidth}% - \Gm@savelength{Gm@layoutheight}% - \Gm@savelength{Gm@layouthoffset}% - \Gm@savelength{Gm@layoutvoffset}% - \Gm@saveboolean{@twocolumn}% - \Gm@saveboolean{@twoside}% - \Gm@saveboolean{@mparswitch}% - \Gm@saveboolean{@reversemargin}}% -% \end{macrocode} -% \end{macro} -% \begin{macro}{\Gm@initnewgm} -% The macro initializes the parameters for layout -% in |\newgeometry|. -% \begin{macrocode} -\def\Gm@initnewgm{% - \Gm@passfalse - \Gm@swap@papersizefalse - \Gm@dimlist={} - \Gm@hbodyfalse - \Gm@vbodyfalse - \Gm@heightroundedfalse - \Gm@includeheadfalse - \Gm@includefootfalse - \Gm@includempfalse - \let\Gm@width\@undefined - \let\Gm@height\@undefined - \let\Gm@textwidth\@undefined - \let\Gm@textheight\@undefined - \let\Gm@lines\@undefined - \let\Gm@hscale\@undefined - \let\Gm@vscale\@undefined - \let\Gm@hmarginratio\@undefined - \let\Gm@vmarginratio\@undefined - \let\Gm@lmargin\@undefined - \let\Gm@rmargin\@undefined - \let\Gm@tmargin\@undefined - \let\Gm@bmargin\@undefined - \Gm@layoutfalse - \Gm@layouthoffset\z@ - \Gm@layoutvoffset\z@ - \Gm@bindingoffset\z@}% -% \end{macrocode} -% \end{macro} -% \begin{macro}{\Gm@initall} -% This initialization is called as soon as the package is load -% It's also called as soon as |reset| option is specified. -% \begin{macrocode} -\def\Gm@initall{% - \let\Gm@driver\@empty - \let\Gm@truedimen\@empty - \let\Gm@paper\@undefined - \Gm@resetpaperfalse - \Gm@landscapefalse - \Gm@verbosefalse - \Gm@showframefalse - \Gm@showcropfalse - \Gm@newgmfalse - \Gm@initnewgm}% -% \end{macrocode} -% \end{macro} -% \begin{macro}{\Gm@setdriver} -% The macro sets the specified driver. -% \begin{macrocode} -\def\Gm@setdriver#1{% - \expandafter\let\expandafter\Gm@driver\csname Gm@#1\endcsname}% -% \end{macrocode} -% \end{macro} -% \begin{macro}{\Gm@unsetdriver} -% The macro unsets the specified driver if it has been set. -% \begin{macrocode} -\def\Gm@unsetdriver#1{% - \expandafter\ifx\csname Gm@#1\endcsname\Gm@driver\let\Gm@driver\@empty\fi}% -% \end{macrocode} -% \end{macro} -% \begin{macro}{\Gm@setbool} -% \begin{macro}{\Gm@setboolrev} -% The macros for boolean option processing. -% \begin{macrocode} -\def\Gm@setbool{\@dblarg\Gm@@setbool}% -\def\Gm@setboolrev{\@dblarg\Gm@@setboolrev}% -\def\Gm@@setbool[#1]#2#3{\Gm@doif{#1}{#3}{\csname Gm@#2\Gm@bool\endcsname}}% -\def\Gm@@setboolrev[#1]#2#3{\Gm@doifelse{#1}{#3}% - {\csname Gm@#2\Gm@false\endcsname}{\csname Gm@#2\Gm@true\endcsname}}% -% \end{macrocode} -% \end{macro}\end{macro} -% \begin{macro}{\Gm@doif} -% \begin{macro}{\Gm@doifelse} -% \cs{Gm@doif} excutes the third argument |#3| using a boolean value -% |#2| of a option |#1|. \cs{Gm@doifelse} executes the third -% argument |#3| if a boolean option |#1| with its value |#2| |true|, -% and executes the fourth argument |#4| if |false|. -% \begin{macrocode} -\def\Gm@doif#1#2#3{% - \lowercase{\def\Gm@bool{#2}}% - \ifx\Gm@bool\@empty - \let\Gm@bool\Gm@true - \fi - \ifx\Gm@bool\Gm@true - \else - \ifx\Gm@bool\Gm@false - \else - \let\Gm@bool\relax - \fi - \fi - \ifx\Gm@bool\relax - \Gm@warning{`#1' should be set to `true' or `false'}% - \else - #3 - \fi}% -\def\Gm@doifelse#1#2#3#4{% - \Gm@doif{#1}{#2}{\ifx\Gm@bool\Gm@true #3\else #4\fi}}% -% \end{macrocode} -% \end{macro}\end{macro} -% \begin{macro}{\Gm@reverse} -% The macro reverses a bool value. -% \begin{macrocode} -\def\Gm@reverse#1{% - \csname ifGm@#1\endcsname - \csname Gm@#1false\endcsname\else\csname Gm@#1true\endcsname\fi}% -% \end{macrocode} -% \end{macro} -% \begin{macro}{\Gm@defbylen} -% \begin{macro}{\Gm@defbycnt} -% Macros \cs{Gm@defbylen} and \cs{Gm@defbycnt} can be used to define -% \cs{Gm@xxxx} variables by length and counter respectively -% with \textsf{calc} package. -% \begin{macrocode} -\def\Gm@defbylen#1#2{% - \begingroup\setlength\@tempdima{#2}% - \expandafter\xdef\csname Gm@#1\endcsname{\the\@tempdima}\endgroup}% -\def\Gm@defbycnt#1#2{% - \begingroup\setcounter{Gm@tempcnt}{#2}% - \expandafter\xdef\csname Gm@#1\endcsname{\the\value{Gm@tempcnt}}\endgroup}% -% \end{macrocode} -% \end{macro}\end{macro} -% \begin{macro}{\Gm@set@ratio} -% The macro parses the value of options specifying marginal ratios, -% which is used in \cs{Gm@setbyratio} macro. -% \begin{macrocode} -\def\Gm@sep@ratio#1:#2{\@tempcnta=#1\@tempcntb=#2}% -% \end{macrocode} -% \end{macro} -% \begin{macro}{\Gm@setbyratio} -% The macro determines the dimension specified by |#4| calculating -% |#3|$\times a / b$, where $a$ and $b$ are given by \cs{Gm@mratio} -% with $a:b$ value. If |#1| in brackets is |b|, $a$ and $b$ are swapped. -% The second argument with |h| or |v| denoting horizontal or vertical -% is not used in this macro. -% \begin{macrocode} -\def\Gm@setbyratio[#1]#2#3#4{% determine #4 by ratio - \expandafter\Gm@sep@ratio\Gm@mratio\relax - \if#1b - \edef\@@tempa{\the\@tempcnta}% - \@tempcnta=\@tempcntb - \@tempcntb=\@@tempa\relax - \fi - \expandafter\setlength\expandafter\@tempdimb\expandafter - {\csname Gm@#3\endcsname}% - \ifnum\@tempcntb>\z@ - \multiply\@tempdimb\@tempcnta - \divide\@tempdimb\@tempcntb - \fi - \expandafter\edef\csname Gm@#4\endcsname{\the\@tempdimb}}% -% \end{macrocode} -% \end{macro} -% \begin{macro}{\Gm@detiv} -% This macro determines the fourth length(|#4|) from |#1|(\glen{layoutwidth} -% or \glen{layoutheight}), |#2| and |#3|. It is used in -% \cs{Gm@detall} macro. -% \begin{macrocode} -\def\Gm@detiv#1#2#3#4{% determine #4. - \expandafter\setlength\expandafter\@tempdima\expandafter - {\csname Gm@layout#1\endcsname}% - \expandafter\setlength\expandafter\@tempdimb\expandafter - {\csname Gm@#2\endcsname}% - \addtolength\@tempdima{-\@tempdimb}% - \expandafter\setlength\expandafter\@tempdimb\expandafter - {\csname Gm@#3\endcsname}% - \addtolength\@tempdima{-\@tempdimb}% - \ifdim\@tempdima<\z@ - \Gm@warning{`#4' results in NEGATIVE (\the\@tempdima).% - ^^J\@spaces `#2' or `#3' should be shortened in length}% - \fi - \expandafter\edef\csname Gm@#4\endcsname{\the\@tempdima}}% -% \end{macrocode} -% \end{macro} -% \begin{macro}{\Gm@detiiandiii} -% This macro determines |#2| and |#3| from |#1| with the first argument -% (|#1|) can be |width| or |height|, which is expanded into dimensions -% of paper and total body. It is used in \cs{Gm@detall} macro. -% \begin{macrocode} -\def\Gm@detiiandiii#1#2#3{% determine #2 and #3. - \expandafter\setlength\expandafter\@tempdima\expandafter - {\csname Gm@layout#1\endcsname}% - \expandafter\setlength\expandafter\@tempdimb\expandafter - {\csname Gm@#1\endcsname}% - \addtolength\@tempdima{-\@tempdimb}% - \ifdim\@tempdima<\z@ - \Gm@warning{`#2' and `#3' result in NEGATIVE (\the\@tempdima).% - ^^J\@spaces `#1' should be shortened in length}% - \fi - \ifx\Gm@mratio\@undefined - \expandafter\Gm@sep@ratio\Gm@Dmratio\relax - \else - \expandafter\Gm@sep@ratio\Gm@mratio\relax - \ifnum\@tempcntb>\z@\else - \Gm@warning{margin ratio a:b should be non-zero; default used}% - \expandafter\Gm@sep@ratio\Gm@Dmratio\relax - \fi - \fi - \@tempdimb=\@tempdima - \advance\@tempcntb\@tempcnta - \divide\@tempdima\@tempcntb - \multiply\@tempdima\@tempcnta - \advance\@tempdimb-\@tempdima - \expandafter\edef\csname Gm@#2\endcsname{\the\@tempdima}% - \expandafter\edef\csname Gm@#3\endcsname{\the\@tempdimb}}% -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\Gm@detall} -% This macro determines partition of each direction. -% The first argument (|#1|) should be |h| or |v|, the second (|#2|) -% |width| or |height|, the third (|#3|) |lmargin| or |top|, and -% the last (|#4|) |rmargin| or |bottom|. -% \begin{macrocode} -\def\Gm@detall#1#2#3#4{% - \@tempcnta\z@ - \if#1h - \let\Gm@mratio\Gm@hmarginratio - \edef\Gm@Dmratio{\if@twoside\Gm@Dhratiotwo\else\Gm@Dhratio\fi}% - \else - \let\Gm@mratio\Gm@vmarginratio - \edef\Gm@Dmratio{\Gm@Dvratio}% - \fi -% \end{macrocode} -% \cs{@tempcnta} is treated as a three-digit binary value with -% top, middle and bottom denoted |left|(|top|), |width|(|height|) -% and |right|(|bottom|) margins user specified respectively. -% \begin{macrocode} - \if#1h - \ifx\Gm@lmargin\@undefined\else\advance\@tempcnta4\relax\fi - \ifGm@hbody\advance\@tempcnta2\relax\fi - \ifx\Gm@rmargin\@undefined\else\advance\@tempcnta1\relax\fi - \Gm@cnth\@tempcnta - \else - \ifx\Gm@tmargin\@undefined\else\advance\@tempcnta4\relax\fi - \ifGm@vbody\advance\@tempcnta2\relax\fi - \ifx\Gm@bmargin\@undefined\else\advance\@tempcnta1\relax\fi - \Gm@cntv\@tempcnta - \fi -% \end{macrocode} -% Case the value is |000| (=0) with nothing fixed (default): -% \begin{macrocode} - \ifcase\@tempcnta - \if#1h - \Gm@defbylen{width}{\Gm@Dhscale\Gm@layoutwidth}% - \else - \Gm@defbylen{height}{\Gm@Dvscale\Gm@layoutheight}% - \fi - \Gm@detiiandiii{#2}{#3}{#4}% -% \end{macrocode} -% Case |001| (=1) with |right|(|bottom|) fixed: -% \begin{macrocode} - \or - \ifx\Gm@mratio\@undefined - \if#1h - \Gm@defbylen{width}{\Gm@Dhscale\Gm@layoutwidth}% - \else - \Gm@defbylen{height}{\Gm@Dvscale\Gm@layoutheight}% - \fi - \setlength\@tempdimc{\@nameuse{Gm@#4}}% - \Gm@detiiandiii{#2}{#3}{#4}% - \expandafter\let\csname Gm@#2\endcsname\@undefined - \Gm@defbylen{#4}{\@tempdimc}% - \else - \Gm@setbyratio[f]{#1}{#4}{#3}% - \fi - \Gm@detiv{#2}{#3}{#4}{#2}% -% \end{macrocode} -% Case |010| (=2) with |width|(|height|) fixed: -% \begin{macrocode} - \or\Gm@detiiandiii{#2}{#3}{#4}% -% \end{macrocode} -% Case |011| (=3) with both |width|(|height|) and |right|(|bottom|) fixed: -% \begin{macrocode} - \or\Gm@detiv{#2}{#2}{#4}{#3}% -% \end{macrocode} -% Case |100| (=4) with |left|(|top|) fixed: -% \begin{macrocode} - \or - \ifx\Gm@mratio\@undefined - \if#1h - \Gm@defbylen{width}{\Gm@Dhscale\Gm@layoutwidth}% - \else - \Gm@defbylen{height}{\Gm@Dvscale\Gm@layoutheight}% - \fi - \setlength\@tempdimc{\@nameuse{Gm@#3}}% - \Gm@detiiandiii{#2}{#4}{#3}% - \expandafter\let\csname Gm@#2\endcsname\@undefined - \Gm@defbylen{#3}{\@tempdimc}% - \else - \Gm@setbyratio[b]{#1}{#3}{#4}% - \fi - \Gm@detiv{#2}{#3}{#4}{#2}% -% \end{macrocode} -% Case |101| (=5) with both |left|(|top|) and |right|(|bottom|) fixed: -% \begin{macrocode} - \or\Gm@detiv{#2}{#3}{#4}{#2}% -% \end{macrocode} -% Case |110| (=6) with both |left|(|top|) and |width|(|height|) fixed: -% \begin{macrocode} - \or\Gm@detiv{#2}{#2}{#3}{#4}% -% \end{macrocode} -% Case |111| (=7) with all fixed though it is over-specified: -% \begin{macrocode} - \or\Gm@warning{Over-specification in `#1'-direction.% - ^^J\@spaces `#2' (\@nameuse{Gm@#2}) is ignored}% - \Gm@detiv{#2}{#3}{#4}{#2}% - \else\fi}% -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\Gm@clean} -% The macro for setting unspecified dimensions to be \cs{@undefined}. -% This is used by \cs{geometry} macro. -% \begin{macrocode} -\def\Gm@clean{% - \ifnum\Gm@cnth<4\let\Gm@lmargin\@undefined\fi - \ifodd\Gm@cnth\else\let\Gm@rmargin\@undefined\fi - \ifnum\Gm@cntv<4\let\Gm@tmargin\@undefined\fi - \ifodd\Gm@cntv\else\let\Gm@bmargin\@undefined\fi - \ifGm@hbody\else - \let\Gm@hscale\@undefined - \let\Gm@width\@undefined - \let\Gm@textwidth\@undefined - \fi - \ifGm@vbody\else - \let\Gm@vscale\@undefined - \let\Gm@height\@undefined - \let\Gm@textheight\@undefined - \fi - }% -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\Gm@parse@divide} -% The macro parses (|h|,|v|)|divide| options. -% \begin{macrocode} -\def\Gm@parse@divide#1#2#3#4{% - \def\Gm@star{*}% - \@tempcnta\z@ - \@for\Gm@tmp:=#1\do{% - \expandafter\KV@@sp@def\expandafter\Gm@frag\expandafter{\Gm@tmp}% - \edef\Gm@value{\Gm@frag}% - \ifcase\@tempcnta\relax\edef\Gm@key{#2}% - \or\edef\Gm@key{#3}% - \else\edef\Gm@key{#4}% - \fi - \@nameuse{Gm@set\Gm@key false}% - \ifx\empty\Gm@value\else - \ifx\Gm@star\Gm@value\else - \setkeys{Gm}{\Gm@key=\Gm@value}% - \fi\fi - \advance\@tempcnta\@ne}% - \let\Gm@star\relax}% -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\Gm@branch} -% The macro splits a value into the same two values. -% \begin{macrocode} -\def\Gm@branch#1#2#3{% - \@tempcnta\z@ - \@for\Gm@tmp:=#1\do{% - \KV@@sp@def\Gm@frag{\Gm@tmp}% - \edef\Gm@value{\Gm@frag}% - \ifcase\@tempcnta\relax% cnta == 0 - \setkeys{Gm}{#2=\Gm@value}% - \or% cnta == 1 - \setkeys{Gm}{#3=\Gm@value}% - \else\fi - \advance\@tempcnta\@ne}% - \ifnum\@tempcnta=\@ne - \setkeys{Gm}{#3=\Gm@value}% - \fi}% -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\Gm@magtooffset} -% This macro is used to adjust offsets by \cs{mag}. -% \begin{macrocode} -\def\Gm@magtooffset{% - \@tempdima=\mag\Gm@truedimen sp% - \@tempdimb=1\Gm@truedimen in% - \divide\@tempdimb\@tempdima - \multiply\@tempdimb\@m - \addtolength{\hoffset}{1\Gm@truedimen in}% - \addtolength{\voffset}{1\Gm@truedimen in}% - \addtolength{\hoffset}{-\the\@tempdimb}% - \addtolength{\voffset}{-\the\@tempdimb}}% -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\Gm@setlength} -% This macro stores \LaTeX{} native dimensions, which are stored and -% set afterwards. -% \begin{macrocode} -\def\Gm@setlength#1#2{% - \let\Gm@len=\relax\let\Gm@td=\relax - \edef\addtolist{\noexpand\Gm@dimlist=% - {\the\Gm@dimlist \Gm@len{#1}{#2}}}\addtolist}% -% \end{macrocode} -% \end{macro} -% \begin{macro}{\Gm@expandlengths} -% This macro processes \cs{Gm@dimlist}. -% \begin{macrocode} -\def\Gm@expandlengths{% - \def\Gm@td{\Gm@truedimen}% - \def\Gm@len##1##2{\setlength{##1}{##2}}% - \the\Gm@dimlist}% -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\Gm@setsize} -% The macro sets |paperwidth| and |paperheight| dimensions -% using \cs{Gm@setlength} macro. -% \begin{macrocode} -\def\Gm@setsize#1(#2,#3)#4{% - \let\Gm@td\relax - \expandafter\Gm@setlength\csname #1width\endcsname{#2\Gm@td #4}% - \expandafter\Gm@setlength\csname #1height\endcsname{#3\Gm@td #4}% - \ifGm@landscape\Gm@swap@papersizetrue\else\Gm@swap@papersizefalse\fi}% -% \end{macrocode} -% \end{macro} -% \begin{macro}{\Gm@setpaper@ifpre} -% The macro changes the paper size. -% \begin{macrocode} -\def\Gm@setpaper@ifpre#1{% - \ifGm@preamble{#1}{\def\Gm@paper{#1}\@nameuse{Gm@#1}{paper}}}% -% \end{macrocode} -% \end{macro} -% Various paper size are defined here. -% \begin{macrocode} -\@namedef{Gm@a0paper}#1{\Gm@setsize{#1}(841,1189){mm}}% ISO A0 -\@namedef{Gm@a1paper}#1{\Gm@setsize{#1}(594,841){mm}}% ISO A1 -\@namedef{Gm@a2paper}#1{\Gm@setsize{#1}(420,594){mm}}% ISO A2 -\@namedef{Gm@a3paper}#1{\Gm@setsize{#1}(297,420){mm}}% ISO A3 -\@namedef{Gm@a4paper}#1{\Gm@setsize{#1}(210,297){mm}}% ISO A4 -\@namedef{Gm@a5paper}#1{\Gm@setsize{#1}(148,210){mm}}% ISO A5 -\@namedef{Gm@a6paper}#1{\Gm@setsize{#1}(105,148){mm}}% ISO A6 -\@namedef{Gm@b0paper}#1{\Gm@setsize{#1}(1000,1414){mm}}% ISO B0 -\@namedef{Gm@b1paper}#1{\Gm@setsize{#1}(707,1000){mm}}% ISO B1 -\@namedef{Gm@b2paper}#1{\Gm@setsize{#1}(500,707){mm}}% ISO B2 -\@namedef{Gm@b3paper}#1{\Gm@setsize{#1}(353,500){mm}}% ISO B3 -\@namedef{Gm@b4paper}#1{\Gm@setsize{#1}(250,353){mm}}% ISO B4 -\@namedef{Gm@b5paper}#1{\Gm@setsize{#1}(176,250){mm}}% ISO B5 -\@namedef{Gm@b6paper}#1{\Gm@setsize{#1}(125,176){mm}}% ISO B6 -\@namedef{Gm@c0paper}#1{\Gm@setsize{#1}(917,1297){mm}}% ISO C0 -\@namedef{Gm@c1paper}#1{\Gm@setsize{#1}(648,917){mm}}% ISO C1 -\@namedef{Gm@c2paper}#1{\Gm@setsize{#1}(458,648){mm}}% ISO C2 -\@namedef{Gm@c3paper}#1{\Gm@setsize{#1}(324,458){mm}}% ISO C3 -\@namedef{Gm@c4paper}#1{\Gm@setsize{#1}(229,324){mm}}% ISO C4 -\@namedef{Gm@c5paper}#1{\Gm@setsize{#1}(162,229){mm}}% ISO C5 -\@namedef{Gm@c6paper}#1{\Gm@setsize{#1}(114,162){mm}}% ISO C6 -\@namedef{Gm@b0j}#1{\Gm@setsize{#1}(1030,1456){mm}}% JIS B0 -\@namedef{Gm@b1j}#1{\Gm@setsize{#1}(728,1030){mm}}% JIS B1 -\@namedef{Gm@b2j}#1{\Gm@setsize{#1}(515,728){mm}}% JIS B2 -\@namedef{Gm@b3j}#1{\Gm@setsize{#1}(364,515){mm}}% JIS B3 -\@namedef{Gm@b4j}#1{\Gm@setsize{#1}(257,364){mm}}% JIS B4 -\@namedef{Gm@b5j}#1{\Gm@setsize{#1}(182,257){mm}}% JIS B5 -\@namedef{Gm@b6j}#1{\Gm@setsize{#1}(128,182){mm}}% JIS B6 -\@namedef{Gm@ansiapaper}#1{\Gm@setsize{#1}(8.5,11){in}}% -\@namedef{Gm@ansibpaper}#1{\Gm@setsize{#1}(11,17){in}}% -\@namedef{Gm@ansicpaper}#1{\Gm@setsize{#1}(17,22){in}}% -\@namedef{Gm@ansidpaper}#1{\Gm@setsize{#1}(22,34){in}}% -\@namedef{Gm@ansiepaper}#1{\Gm@setsize{#1}(34,44){in}}% -\@namedef{Gm@letterpaper}#1{\Gm@setsize{#1}(8.5,11){in}}% -\@namedef{Gm@legalpaper}#1{\Gm@setsize{#1}(8.5,14){in}}% -\@namedef{Gm@executivepaper}#1{\Gm@setsize{#1}(7.25,10.5){in}}% -\@namedef{Gm@screen}#1{\Gm@setsize{#1}(225,180){mm}}% -% \end{macrocode} -% -% \begin{key}{Gm}{paper} -% |paper| takes a paper name as its value. -% \begin{macrocode} -\define@key{Gm}{paper}{\setkeys{Gm}{#1}}% -\let\KV@Gm@papername\KV@Gm@paper -% \end{macrocode} -% \end{key} -% \begin{key}{Gm}{a[0-6]paper} -% \begin{key}{Gm}{b[0-6]paper} -% \begin{key}{Gm}{b[0-6]j} -% \begin{key}{Gm}{ansi[a-e]paper} -% \begin{key}{Gm}{letterpaper} -% \begin{key}{Gm}{legalpaper} -% \begin{key}{Gm}{executivepaper} -% \begin{key}{Gm}{screen} -% The following paper names are available. -% \begin{macrocode} -\define@key{Gm}{a0paper}[true]{\Gm@setpaper@ifpre{a0paper}}% -\define@key{Gm}{a1paper}[true]{\Gm@setpaper@ifpre{a1paper}}% -\define@key{Gm}{a2paper}[true]{\Gm@setpaper@ifpre{a2paper}}% -\define@key{Gm}{a3paper}[true]{\Gm@setpaper@ifpre{a3paper}}% -\define@key{Gm}{a4paper}[true]{\Gm@setpaper@ifpre{a4paper}}% -\define@key{Gm}{a5paper}[true]{\Gm@setpaper@ifpre{a5paper}}% -\define@key{Gm}{a6paper}[true]{\Gm@setpaper@ifpre{a6paper}}% -\define@key{Gm}{b0paper}[true]{\Gm@setpaper@ifpre{b0paper}}% -\define@key{Gm}{b1paper}[true]{\Gm@setpaper@ifpre{b1paper}}% -\define@key{Gm}{b2paper}[true]{\Gm@setpaper@ifpre{b2paper}}% -\define@key{Gm}{b3paper}[true]{\Gm@setpaper@ifpre{b3paper}}% -\define@key{Gm}{b4paper}[true]{\Gm@setpaper@ifpre{b4paper}}% -\define@key{Gm}{b5paper}[true]{\Gm@setpaper@ifpre{b5paper}}% -\define@key{Gm}{b6paper}[true]{\Gm@setpaper@ifpre{b6paper}}% -\define@key{Gm}{c0paper}[true]{\Gm@setpaper@ifpre{c0paper}}% -\define@key{Gm}{c1paper}[true]{\Gm@setpaper@ifpre{c1paper}}% -\define@key{Gm}{c2paper}[true]{\Gm@setpaper@ifpre{c2paper}}% -\define@key{Gm}{c3paper}[true]{\Gm@setpaper@ifpre{c3paper}}% -\define@key{Gm}{c4paper}[true]{\Gm@setpaper@ifpre{c4paper}}% -\define@key{Gm}{c5paper}[true]{\Gm@setpaper@ifpre{c5paper}}% -\define@key{Gm}{c6paper}[true]{\Gm@setpaper@ifpre{c6paper}}% -\define@key{Gm}{b0j}[true]{\Gm@setpaper@ifpre{b0j}}% -\define@key{Gm}{b1j}[true]{\Gm@setpaper@ifpre{b1j}}% -\define@key{Gm}{b2j}[true]{\Gm@setpaper@ifpre{b2j}}% -\define@key{Gm}{b3j}[true]{\Gm@setpaper@ifpre{b3j}}% -\define@key{Gm}{b4j}[true]{\Gm@setpaper@ifpre{b4j}}% -\define@key{Gm}{b5j}[true]{\Gm@setpaper@ifpre{b5j}}% -\define@key{Gm}{b6j}[true]{\Gm@setpaper@ifpre{b6j}}% -\define@key{Gm}{ansiapaper}[true]{\Gm@setpaper@ifpre{ansiapaper}}% -\define@key{Gm}{ansibpaper}[true]{\Gm@setpaper@ifpre{ansibpaper}}% -\define@key{Gm}{ansicpaper}[true]{\Gm@setpaper@ifpre{ansicpaper}}% -\define@key{Gm}{ansidpaper}[true]{\Gm@setpaper@ifpre{ansidpaper}}% -\define@key{Gm}{ansiepaper}[true]{\Gm@setpaper@ifpre{ansiepaper}}% -\define@key{Gm}{letterpaper}[true]{\Gm@setpaper@ifpre{letterpaper}}% -\define@key{Gm}{legalpaper}[true]{\Gm@setpaper@ifpre{legalpaper}}% -\define@key{Gm}{executivepaper}[true]{\Gm@setpaper@ifpre{executivepaper}}% -\define@key{Gm}{screen}[true]{\Gm@setpaper@ifpre{screen}}% -% \end{macrocode} -% \end{key}\end{key}\end{key}\end{key}\end{key} -% \end{key}\end{key}\end{key} -% \begin{key}{Gm}{paperwidth} -% \begin{key}{Gm}{paperheight} -% \begin{key}{Gm}{papersize} -% Direct specification for paper size is also possible. -% \begin{macrocode} -\define@key{Gm}{paperwidth}{\ifGm@preamble{paperwidth}{% - \def\Gm@paper{custom}\Gm@setlength\paperwidth{#1}}}% -\define@key{Gm}{paperheight}{\ifGm@preamble{paperheight}{% - \def\Gm@paper{custom}\Gm@setlength\paperheight{#1}}}% -\define@key{Gm}{papersize}{\ifGm@preamble{papersize}{% - \def\Gm@paper{custom}\Gm@branch{#1}{paperwidth}{paperheight}}}% -% \end{macrocode} -% \end{key}\end{key}\end{key} -% \begin{key}{Gm}{layout} -% \begin{key}{Gm}{layoutwidth} -% \begin{key}{Gm}{layoutheight} -% \begin{key}{Gm}{layoutsize} -% Direct specification for layout size is also possible. -% \begin{macrocode} -\define@key{Gm}{layout}{\Gm@layouttrue\@nameuse{Gm@#1}{Gm@layout}}% -\let\KV@Gm@layoutname\KV@Gm@layout -\define@key{Gm}{layoutwidth}{\Gm@layouttrue\Gm@setlength\Gm@layoutwidth{#1}}% -\define@key{Gm}{layoutheight}{\Gm@layouttrue\Gm@setlength\Gm@layoutheight{#1}}% -\define@key{Gm}{layoutsize}{\Gm@branch{#1}{layoutwidth}{layoutheight}}% -% \end{macrocode} -% \end{key}\end{key}\end{key}\end{key} -% \begin{key}{Gm}{landscape} -% \begin{key}{Gm}{portrait} -% Paper orientation setting. -% \begin{macrocode} -\define@key{Gm}{landscape}[true]{\ifGm@preamble{landscape}{% - \Gm@doifelse{landscape}{#1}% - {\ifGm@landscape\else\Gm@landscapetrue\Gm@reverse{swap@papersize}\fi}% - {\ifGm@landscape\Gm@landscapefalse\Gm@reverse{swap@papersize}\fi}}}% -\define@key{Gm}{portrait}[true]{\ifGm@preamble{portrait}{% - \Gm@doifelse{portrait}{#1}% - {\ifGm@landscape\Gm@landscapefalse\Gm@reverse{swap@papersize}\fi}% - {\ifGm@landscape\else\Gm@landscapetrue\Gm@reverse{swap@papersize}\fi}}}% -% \end{macrocode} -% \end{key}\end{key} -% \begin{key}{Gm}{hscale} -% \begin{key}{Gm}{vscale} -% \begin{key}{Gm}{scale} -% These options can determine the length(s) of \gpart{total body} -% giving \textit{scale(s)} against the paper size. -% \begin{macrocode} -\define@key{Gm}{hscale}{\Gm@hbodytrue\edef\Gm@hscale{#1}}% -\define@key{Gm}{vscale}{\Gm@vbodytrue\edef\Gm@vscale{#1}}% -\define@key{Gm}{scale}{\Gm@branch{#1}{hscale}{vscale}}% -% \end{macrocode} -% \end{key}\end{key}\end{key} -% \begin{key}{Gm}{width} -% \begin{key}{Gm}{height} -% \begin{key}{Gm}{total} -% \begin{key}{Gm}{totalwidth} -% \begin{key}{Gm}{totalheight} -% These options give concrete dimension(s) of \gpart{total body}. -% |totalwidth| and |totalheight| are aliases of |width| and |height| -% respectively. -% \begin{macrocode} -\define@key{Gm}{width}{\Gm@hbodytrue\Gm@defbylen{width}{#1}}% -\define@key{Gm}{height}{\Gm@vbodytrue\Gm@defbylen{height}{#1}}% -\define@key{Gm}{total}{\Gm@branch{#1}{width}{height}}% -\let\KV@Gm@totalwidth\KV@Gm@width -\let\KV@Gm@totalheight\KV@Gm@height -% \end{macrocode} -% \end{key}\end{key}\end{key}\end{key}\end{key} -% \begin{key}{Gm}{textwidth} -% \begin{key}{Gm}{textheight} -% \begin{key}{Gm}{text} -% \begin{key}{Gm}{body} -% These options directly sets the dimensions \cs{textwidth} and -% \cs{textheight}. |body| is an alias of |text|. -% \begin{macrocode} -\define@key{Gm}{textwidth}{\Gm@hbodytrue\Gm@defbylen{textwidth}{#1}}% -\define@key{Gm}{textheight}{\Gm@vbodytrue\Gm@defbylen{textheight}{#1}}% -\define@key{Gm}{text}{\Gm@branch{#1}{textwidth}{textheight}}% -\let\KV@Gm@body\KV@Gm@text -% \end{macrocode} -% \end{key}\end{key}\end{key}\end{key} -% \begin{key}{Gm}{lines} -% The option sets \cs{textheight} with the number of lines. -% \begin{macrocode} -\define@key{Gm}{lines}{\Gm@vbodytrue\Gm@defbycnt{lines}{#1}}% -% \end{macrocode} -% \end{key} -% \begin{key}{Gm}{includehead} -% \begin{key}{Gm}{includefoot} -% \begin{key}{Gm}{includeheadfoot} -% \begin{key}{Gm}{includemp} -% \begin{key}{Gm}{includeall} -% The options take the corresponding dimensions as part of -% \gpart{body}. -% \begin{macrocode} -\define@key{Gm}{includehead}[true]{\Gm@setbool{includehead}{#1}}% -\define@key{Gm}{includefoot}[true]{\Gm@setbool{includefoot}{#1}}% -\define@key{Gm}{includeheadfoot}[true]{\Gm@doifelse{includeheadfoot}{#1}% - {\Gm@includeheadtrue\Gm@includefoottrue}% - {\Gm@includeheadfalse\Gm@includefootfalse}}% -\define@key{Gm}{includemp}[true]{\Gm@setbool{includemp}{#1}}% -\define@key{Gm}{includeall}[true]{\Gm@doifelse{includeall}{#1}% - {\Gm@includeheadtrue\Gm@includefoottrue\Gm@includemptrue}% - {\Gm@includeheadfalse\Gm@includefootfalse\Gm@includempfalse}}% -% \end{macrocode} -% \end{key}\end{key}\end{key}\end{key}\end{key} -% \begin{key}{Gm}{ignorehead} -% \begin{key}{Gm}{ignorefoot} -% \begin{key}{Gm}{ignoreheadfoot} -% \begin{key}{Gm}{ignoremp} -% \begin{key}{Gm}{ignoreall} -% These options exclude \gpart{head}, \gpart{foot} -% and \gpart{marginpars} when determining \gpart{body}. -% \begin{macrocode} -\define@key{Gm}{ignorehead}[true]{% - \Gm@setboolrev[ignorehead]{includehead}{#1}}% -\define@key{Gm}{ignorefoot}[true]{% - \Gm@setboolrev[ignorefoot]{includefoot}{#1}}% -\define@key{Gm}{ignoreheadfoot}[true]{\Gm@doifelse{ignoreheadfoot}{#1}% - {\Gm@includeheadfalse\Gm@includefootfalse}% - {\Gm@includeheadtrue\Gm@includefoottrue}}% -\define@key{Gm}{ignoremp}[true]{% - \Gm@setboolrev[ignoremp]{includemp}{#1}}% -\define@key{Gm}{ignoreall}[true]{\Gm@doifelse{ignoreall}{#1}% - {\Gm@includeheadfalse\Gm@includefootfalse\Gm@includempfalse}% - {\Gm@includeheadtrue\Gm@includefoottrue\Gm@includemptrue}}% -% \end{macrocode} -% \end{key}\end{key}\end{key}\end{key}\end{key} -% \begin{key}{Gm}{heightrounded} -% The option rounds \cs{textheight} to n-times of \cs{baselineskip} -% plus \cs{topskip}. -% \begin{macrocode} -\define@key{Gm}{heightrounded}[true]{\Gm@setbool{heightrounded}{#1}}% -% \end{macrocode} -% \end{key} -% \begin{key}{Gm}{hdivide} -% \begin{key}{Gm}{vdivide} -% \begin{key}{Gm}{divide} -% The options are useful to specify partitioning -% in each direction of the paper. -% \begin{macrocode} -\define@key{Gm}{hdivide}{\Gm@parse@divide{#1}{lmargin}{width}{rmargin}}% -\define@key{Gm}{vdivide}{\Gm@parse@divide{#1}{tmargin}{height}{bmargin}}% -\define@key{Gm}{divide}{\Gm@parse@divide{#1}{lmargin}{width}{rmargin}% - \Gm@parse@divide{#1}{tmargin}{height}{bmargin}}% -% \end{macrocode} -% \end{key}\end{key}\end{key} -% -% \begin{key}{Gm}{lmargin} -% \begin{key}{Gm}{rmargin} -% \begin{key}{Gm}{tmargin} -% \begin{key}{Gm}{bmargin} -% \begin{key}{Gm}{left} -% \begin{key}{Gm}{inner} -% \begin{key}{Gm}{innermargin} -% \begin{key}{Gm}{right} -% \begin{key}{Gm}{outer} -% \begin{key}{Gm}{outermargin} -% \begin{key}{Gm}{top} -% \begin{key}{Gm}{bottom} -% These options set \gpart{margins}. -% |left|, |inner|, |innermargin| are aliases of |lmargin|. -% |right|, |outer|, |outermargin| are aliases of |rmargin|. -% |top| and |bottom| are aliases of |tmargin| and |bmargin| respectively. -% \begin{macrocode} -\define@key{Gm}{lmargin}{\Gm@defbylen{lmargin}{#1}}% -\define@key{Gm}{rmargin}{\Gm@defbylen{rmargin}{#1}}% -\let\KV@Gm@left\KV@Gm@lmargin -\let\KV@Gm@inner\KV@Gm@lmargin -\let\KV@Gm@innermargin\KV@Gm@lmargin -\let\KV@Gm@right\KV@Gm@rmargin -\let\KV@Gm@outer\KV@Gm@rmargin -\let\KV@Gm@outermargin\KV@Gm@rmargin -\define@key{Gm}{tmargin}{\Gm@defbylen{tmargin}{#1}}% -\define@key{Gm}{bmargin}{\Gm@defbylen{bmargin}{#1}}% -\let\KV@Gm@top\KV@Gm@tmargin -\let\KV@Gm@bottom\KV@Gm@bmargin -% \end{macrocode} -% \end{key}\end{key}\end{key}\end{key}\end{key} -% \end{key}\end{key}\end{key}\end{key}\end{key} -% \end{key}\end{key} -% \begin{key}{Gm}{hmargin} -% \begin{key}{Gm}{vmargin} -% \begin{key}{Gm}{margin} -% These options are shorthands for setting \gpart{margins}. -% \begin{macrocode} -\define@key{Gm}{hmargin}{\Gm@branch{#1}{lmargin}{rmargin}}% -\define@key{Gm}{vmargin}{\Gm@branch{#1}{tmargin}{bmargin}}% -\define@key{Gm}{margin}{\Gm@branch{#1}{lmargin}{tmargin}% - \Gm@branch{#1}{rmargin}{bmargin}}% -% \end{macrocode} -% \end{key}\end{key}\end{key} -% \begin{key}{Gm}{hmarginratio} -% \begin{key}{Gm}{vmarginratio} -% \begin{key}{Gm}{marginratio} -% \begin{key}{Gm}{hratio} -% \begin{key}{Gm}{vratio} -% \begin{key}{Gm}{ratio} -% Options specifying the margin ratios. -% \begin{macrocode} -\define@key{Gm}{hmarginratio}{\edef\Gm@hmarginratio{#1}}% -\define@key{Gm}{vmarginratio}{\edef\Gm@vmarginratio{#1}}% -\define@key{Gm}{marginratio}{\Gm@branch{#1}{hmarginratio}{vmarginratio}}% -\let\KV@Gm@hratio\KV@Gm@hmarginratio -\let\KV@Gm@vratio\KV@Gm@vmarginratio -\let\KV@Gm@ratio\KV@Gm@marginratio -% \end{macrocode} -% \end{key}\end{key}\end{key} -% \end{key}\end{key}\end{key} -% \begin{key}{Gm}{hcentering} -% \begin{key}{Gm}{vcentering} -% \begin{key}{Gm}{centering} -% Useful shorthands to place \gpart{body} centered. -% \begin{macrocode} -\define@key{Gm}{hcentering}[true]{\Gm@doifelse{hcentering}{#1}% - {\def\Gm@hmarginratio{1:1}}{}}% -\define@key{Gm}{vcentering}[true]{\Gm@doifelse{vcentering}{#1}% - {\def\Gm@vmarginratio{1:1}}{}}% -\define@key{Gm}{centering}[true]{\Gm@doifelse{centering}{#1}% - {\def\Gm@hmarginratio{1:1}\def\Gm@vmarginratio{1:1}}{}}% -% \end{macrocode} -% \end{key}\end{key}\end{key} -% \begin{key}{Gm}{twoside} -% If |twoside=true|, \cs{@twoside} and \cs{@mparswitch} is set to |true|. -% \begin{macrocode} -\define@key{Gm}{twoside}[true]{\Gm@doifelse{twoside}{#1}% - {\@twosidetrue\@mparswitchtrue}{\@twosidefalse\@mparswitchfalse}}% -% \end{macrocode} -% \end{key} -% \begin{key}{Gm}{asymmetric} -% |asymmetric| sets \cs{@mparswitchfalse} and \cs{@twosidetrue} -% A |asymmetric=false| has no effect. -% \begin{macrocode} -\define@key{Gm}{asymmetric}[true]{\Gm@doifelse{asymmetric}{#1}% - {\@twosidetrue\@mparswitchfalse}{}}% -% \end{macrocode} -% \end{key} -% \begin{key}{Gm}{bindingoffset} -% The macro adds the specified space to the inner margin. -% \begin{macrocode} -\define@key{Gm}{bindingoffset}{\Gm@setlength\Gm@bindingoffset{#1}}% -% \end{macrocode} -% \end{key} -% \begin{key}{Gm}{headheight} -% \begin{key}{Gm}{headsep} -% \begin{key}{Gm}{footskip} -% \begin{key}{Gm}{head} -% \begin{key}{Gm}{foot} -% The direct settings of \gpart{head} and/or \gpart{foot} dimensions. -% \begin{macrocode} -\define@key{Gm}{headheight}{\Gm@setlength\headheight{#1}}% -\define@key{Gm}{headsep}{\Gm@setlength\headsep{#1}}% -\define@key{Gm}{footskip}{\Gm@setlength\footskip{#1}}% -\let\KV@Gm@head\KV@Gm@headheight -\let\KV@Gm@foot\KV@Gm@footskip -% \end{macrocode} -% \end{key}\end{key}\end{key}\end{key}\end{key} -% \begin{key}{Gm}{nohead} -% \begin{key}{Gm}{nofoot} -% \begin{key}{Gm}{noheadfoot} -% They are only shorthands to set \gpart{head} and/or \gpart{foot} -% to be |0pt|. -% \begin{macrocode} -\define@key{Gm}{nohead}[true]{\Gm@doifelse{nohead}{#1}% - {\Gm@setlength\headheight\z@\Gm@setlength\headsep\z@}{}}% -\define@key{Gm}{nofoot}[true]{\Gm@doifelse{nofoot}{#1}% - {\Gm@setlength\footskip\z@}{}}% -\define@key{Gm}{noheadfoot}[true]{\Gm@doifelse{noheadfoot}{#1}% - {\Gm@setlength\headheight\z@\Gm@setlength\headsep - \z@\Gm@setlength\footskip\z@}{}}% -% \end{macrocode} -% \end{key}\end{key}\end{key} -% \begin{key}{Gm}{footnotesep} -% The option directly sets a native dimension \cs{footnotesep}. -% \begin{macrocode} -\define@key{Gm}{footnotesep}{\Gm@setlength{\skip\footins}{#1}}% -% \end{macrocode} -% \end{key} -% \begin{key}{Gm}{marginparwidth} -% \begin{key}{Gm}{marginpar} -% \begin{key}{Gm}{marginparsep} -% They directly set native dimensions \cs{marginparwidth} and -% \cs{marginparsep}. -% \begin{macrocode} -\define@key{Gm}{marginparwidth}{\Gm@setlength\marginparwidth{#1}}% -\let\KV@Gm@marginpar\KV@Gm@marginparwidth -\define@key{Gm}{marginparsep}{\Gm@setlength\marginparsep{#1}}% -% \end{macrocode} -% \end{key}\end{key}\end{key} -% \begin{key}{Gm}{nomarginpar} -% The macro is a shorthand for \cs{marginparwidth}|=0pt| and -% \cs{marginparsep}|=0pt|. -% \begin{macrocode} -\define@key{Gm}{nomarginpar}[true]{\Gm@doifelse{nomarginpar}{#1}% - {\Gm@setlength\marginparwidth\z@\Gm@setlength\marginparsep\z@}{}}% -% \end{macrocode} -% \end{key} -% \begin{key}{Gm}{columnsep} -% The option sets a native dimension \cs{columnsep}. -% \begin{macrocode} -\define@key{Gm}{columnsep}{\Gm@setlength\columnsep{#1}}% -% \end{macrocode} -% \end{key} -% \begin{key}{Gm}{hoffset} -% \begin{key}{Gm}{voffset} -% \begin{key}{Gm}{offset} -% The former two options set native dimensions \cs{hoffset} and -% \cs{voffset}. |offset| can set both of them with the same value. -% \begin{macrocode} -\define@key{Gm}{hoffset}{\Gm@setlength\hoffset{#1}}% -\define@key{Gm}{voffset}{\Gm@setlength\voffset{#1}}% -\define@key{Gm}{offset}{\Gm@branch{#1}{hoffset}{voffset}}% -% \end{macrocode} -% \end{key}\end{key}\end{key} -% \begin{key}{Gm}{layouthoffset} -% \begin{key}{Gm}{layoutvoffset} -% \begin{key}{Gm}{layoutoffset} -% \begin{macrocode} -\define@key{Gm}{layouthoffset}{\Gm@setlength\Gm@layouthoffset{#1}}% -\define@key{Gm}{layoutvoffset}{\Gm@setlength\Gm@layoutvoffset{#1}}% -\define@key{Gm}{layoutoffset}{\Gm@branch{#1}{layouthoffset}{layoutvoffset}}% -% \end{macrocode} -% \end{key}\end{key}\end{key} -% \begin{key}{Gm}{twocolumn} -% The option sets \cs{twocolumn} switch. -% \begin{macrocode} -\define@key{Gm}{twocolumn}[true]{% - \Gm@doif{twocolumn}{#1}{\csname @twocolumn\Gm@bool\endcsname}}% -% \end{macrocode} -% \end{key} -% \begin{key}{Gm}{onecolumn} -% This option has the reverse effect of |twocolumn| option. -% \begin{macrocode} -\define@key{Gm}{onecolumn}[true]{% - \Gm@doifelse{onecolumn}{#1}{\@twocolumnfalse}{\@twocolumntrue}}% -% \end{macrocode} -% \end{key} -% \begin{key}{Gm}{reversemp} -% \begin{key}{Gm}{reversemarginpar} -% The both options set \cs{reversemargin}. -% \begin{macrocode} -\define@key{Gm}{reversemp}[true]{% - \Gm@doif{reversemp}{#1}{\csname @reversemargin\Gm@bool\endcsname}}% -\define@key{Gm}{reversemarginpar}[true]{% - \Gm@doif{reversemarginpar}{#1}{\csname @reversemargin\Gm@bool\endcsname}}% -% \end{macrocode} -% \end{key}\end{key} -% \begin{key}{Gm}{dviver} -% \begin{macrocode} -\define@key{Gm}{driver}{\ifGm@preamble{driver}{% - \edef\@@tempa{#1}\edef\@@auto{auto}\edef\@@none{none}% - \ifx\@@tempa\@empty\let\Gm@driver\relax\else - \ifx\@@tempa\@@none\let\Gm@driver\relax\else - \ifx\@@tempa\@@auto\let\Gm@driver\@empty\else - \setkeys{Gm}{#1}\fi\fi\fi\let\@@auto\relax\let\@@none\relax}}% -% \end{macrocode} -% \end{key} -% \begin{key}{Gm}{dvips} -% \begin{key}{Gm}{dvipdfm} -% \begin{key}{Gm}{pdftex} -% \begin{key}{Gm}{xetex} -% \begin{key}{Gm}{vtex} -% The \Gm\ package supports |dvips|, |dvipdfm|, -% |pdflatex| and |vtex|. |dvipdfm| works like |dvips|. -% \begin{macrocode} -\define@key{Gm}{dvips}[true]{\ifGm@preamble{dvips}{% - \Gm@doifelse{dvips}{#1}{\Gm@setdriver{dvips}}{\Gm@unsetdriver{dvips}}}}% -\define@key{Gm}{dvipdfm}[true]{\ifGm@preamble{dvipdfm}{% - \Gm@doifelse{dvipdfm}{#1}{\Gm@setdriver{dvipdfm}}{\Gm@unsetdriver{dvipdfm}}}}% -\define@key{Gm}{pdftex}[true]{\ifGm@preamble{pdftex}{% - \Gm@doifelse{pdftex}{#1}{\Gm@setdriver{pdftex}}{\Gm@unsetdriver{pdftex}}}}% -\define@key{Gm}{xetex}[true]{\ifGm@preamble{xetex}{% - \Gm@doifelse{xetex}{#1}{\Gm@setdriver{xetex}}{\Gm@unsetdriver{xetex}}}}% -\define@key{Gm}{vtex}[true]{\ifGm@preamble{vtex}{% - \Gm@doifelse{vtex}{#1}{\Gm@setdriver{vtex}}{\Gm@unsetdriver{vtex}}}}% -% \end{macrocode} -% \end{key}\end{key}\end{key}\end{key}\end{key} -% \begin{key}{Gm}{verbose} -% The verbose mode. -% \begin{macrocode} -\define@key{Gm}{verbose}[true]{\ifGm@preamble{verbose}{\Gm@setbool{verbose}{#1}}}% -% \end{macrocode} -% \end{key} -% \begin{key}{Gm}{reset} -% The option cancels all the options specified before |reset|, -% except |pass|. |mag| ($\neq1000$) with |truedimen| cannot be also -% reset. -% \begin{macrocode} -\define@key{Gm}{reset}[true]{\ifGm@preamble{reset}{% - \Gm@doifelse{reset}{#1}{\Gm@restore@org\Gm@initall - \ProcessOptionsKV[c]{Gm}\Gm@setdefaultpaper}{}}}% -% \end{macrocode} -% \end{key} -% \begin{key}{Gm}{resetpaper} -% If |resetpaper| is set to |true|, the paper size redefined in the package -% is discarded and the original one is restored. This option may be useful -% to print nonstandard sized documents with normal printers and papers. -% \begin{macrocode} -\define@key{Gm}{resetpaper}[true]{\ifGm@preamble{resetpaper}{% - \Gm@setbool{resetpaper}{#1}}}% -% \end{macrocode} -% \end{key} -% \begin{key}{Gm}{mag} -% |mag| is expanded immediately when it is specified. So |reset| can't -% reset |mag| when it is set with |truedimen|. -% \begin{macrocode} -\define@key{Gm}{mag}{\ifGm@preamble{mag}{\mag=#1}}% -% \end{macrocode} -% \end{key} -% \begin{key}{Gm}{truedimen} -% If |truedimen| is set to |true|, all of the internal -% explicit dimensions is changed to \textit{true} dimensions, -% e.g., |1in| is changed to |1truein|. -% \begin{macrocode} -\define@key{Gm}{truedimen}[true]{\ifGm@preamble{truedimen}{% - \Gm@doifelse{truedimen}{#1}{\let\Gm@truedimen\Gm@true}% - {\let\Gm@truedimen\@empty}}}% -% \end{macrocode} -% \end{key} -% \begin{key}{Gm}{pass} -% The option makes all the options specified ineffective except -% verbose switch. -% \begin{macrocode} -\define@key{Gm}{pass}[true]{\ifGm@preamble{pass}{\Gm@setbool{pass}{#1}}}% -% \end{macrocode} -% \end{key} -% \begin{key}{Gm}{showframe} -% The showframe option prints page frames to help you understand -% what the resulting layout is like. -% \begin{macrocode} -\define@key{Gm}{showframe}[true]{\Gm@setbool{showframe}{#1}}% -% \end{macrocode} -% \end{key} -% \begin{key}{Gm}{showcrop} -% The showcrop option prints crop marks at each corner of the layout area. -% \begin{macrocode} -\define@key{Gm}{showcrop}[true]{\Gm@setbool{showcrop}{#1}}% -% \end{macrocode} -% \end{key} -% \begin{macro}{\Gm@setdefaultpaper} -% The macro stores paper dimensions. -% This macro should be called after |\ProcessOptionsKV[c]{Gm}|. -% If the |landscape| option in |\documentclass| is -% specified, the class immediately swaps the paper dimensions. -% \begin{macrocode} -\def\Gm@setdefaultpaper{% - \ifx\Gm@paper\@undefined - \Gm@setsize{paper}(\strip@pt\paperwidth,\strip@pt\paperheight){pt}% - \Gm@setsize{Gm@layout}(\strip@pt\paperwidth,\strip@pt\paperheight){pt}% - \Gm@swap@papersizefalse - \fi}% -% \end{macrocode} -% \end{macro} -% \begin{macro}{\Gm@adjustpaper} -% The macro checks if paperwidth/height is larger than 0pt, -% which is used in \cs{Gm@process}. -% The paper dimensions can be swapped when paper orientation -% is changed over by |landscape| and |portrait| options. -% \begin{macrocode} -\def\Gm@adjustpaper{% - \ifdim\paperwidth>\p@\else - \PackageError{geometry}{% - \string\paperwidth\space(\the\paperwidth) too short}{% - Set a paper type (e.g., `a4paper').}% - \fi - \ifdim\paperheight>\p@\else - \PackageError{geometry}{% - \string\paperheight\space(\the\paperheight) too short}{% - Set a paper type (e.g., `a4paper').}% - \fi - \ifGm@swap@papersize - \setlength\@tempdima{\paperwidth}% - \setlength\paperwidth{\paperheight}% - \setlength\paperheight{\@tempdima}% - \fi - \ifGm@layout\else - \setlength\Gm@layoutwidth{\paperwidth}% - \setlength\Gm@layoutheight{\paperheight}% - \fi}% -% \end{macrocode} -% \end{macro} -% \begin{macro}{\Gm@checkmp} -% The macro checks whether or not the marginpars overrun the page. -% \begin{macrocode} -\def\Gm@checkmp{% - \ifGm@includemp\else - \@tempcnta\z@\@tempcntb\@ne - \if@twocolumn - \@tempcnta\@ne - \else - \if@reversemargin - \@tempcnta\@ne\@tempcntb\z@ - \fi - \fi - \@tempdima\marginparwidth - \advance\@tempdima\marginparsep - \ifnum\@tempcnta=\@ne - \@tempdimc\@tempdima - \setlength\@tempdimb{\Gm@lmargin}% - \advance\@tempdimc-\@tempdimb - \ifdim\@tempdimc>\z@ - \Gm@warning{The marginal notes overrun the paper edge.^^J - \@spaces Add \the\@tempdimc\space and more to the left margin}% - \fi - \fi - \ifnum\@tempcntb=\@ne - \@tempdimc\@tempdima - \setlength\@tempdimb{\Gm@rmargin}% - \advance\@tempdimc-\@tempdimb - \ifdim\@tempdimc>\z@ - \Gm@warning{The marginal notes overrun the paper.^^J - \@spaces Add \the\@tempdimc\space and more to the right margin}% - \fi - \fi - \fi}% -% \end{macrocode} -% \end{macro} -% \begin{macro}{\Gm@adjustmp} -% The macro sets marginpar correction when |includemp| is set, -% which is used in \cs{Gm@process}. The variables \cs{Gm@wd@mp}, -% \cs{Gm@odd@mp} and \cs{Gm@even@mp} are set here. -% Note that \cs{Gm@even@mp} should be used only for twoside layout. -% \begin{macrocode} -\def\Gm@adjustmp{% - \ifGm@includemp - \@tempdimb\marginparwidth - \advance\@tempdimb\marginparsep - \Gm@wd@mp\@tempdimb - \Gm@odd@mp\z@ - \Gm@even@mp\z@ - \if@twocolumn - \Gm@wd@mp2\@tempdimb - \Gm@odd@mp\@tempdimb - \Gm@even@mp\@tempdimb - \else - \if@reversemargin - \Gm@odd@mp\@tempdimb - \if@mparswitch\else - \Gm@even@mp\@tempdimb - \fi - \else - \if@mparswitch - \Gm@even@mp\@tempdimb - \fi - \fi - \fi - \fi}% -% \end{macrocode} -% \end{macro} -% \begin{macro}{\Gm@adjustbody} -% If the horizontal dimension of \gpart{body} is specified by user, -% \cs{Gm@width} is set properly here. -% \begin{macrocode} -\def\Gm@adjustbody{ - \ifGm@hbody - \ifx\Gm@width\@undefined - \ifx\Gm@hscale\@undefined - \Gm@defbylen{width}{\Gm@Dhscale\Gm@layoutwidth}% - \else - \Gm@defbylen{width}{\Gm@hscale\Gm@layoutwidth}% - \fi - \fi - \ifx\Gm@textwidth\@undefined\else - \setlength\@tempdima{\Gm@textwidth}% - \ifGm@includemp - \advance\@tempdima\Gm@wd@mp - \fi - \edef\Gm@width{\the\@tempdima}% - \fi - \fi -% \end{macrocode} -% If the vertical dimension of \gpart{body} is specified by user, -% \cs{Gm@height} is set properly here. -% \begin{macrocode} - \ifGm@vbody - \ifx\Gm@height\@undefined - \ifx\Gm@vscale\@undefined - \Gm@defbylen{height}{\Gm@Dvscale\Gm@layoutheight}% - \else - \Gm@defbylen{height}{\Gm@vscale\Gm@layoutheight}% - \fi - \fi - \ifx\Gm@lines\@undefined\else -% \end{macrocode} -% \cs{topskip} has to be adjusted so that the formula -% ``$\cs{textheight} = (lines - 1) \times \cs{baselineskip} + \cs{topskip}$'' -% to be correct even if large font sizes are specified by users. -% If \cs{topskip} is smaller than \cs{ht}\cs{strutbox}, then \cs{topskip} -% is set to \cs{ht}\cs{strutbox}. -% \begin{macrocode} - \ifdim\topskip<\ht\strutbox - \setlength\@tempdima{\topskip}% - \setlength\topskip{\ht\strutbox}% - \Gm@warning{\noexpand\topskip was changed from \the\@tempdima\space - to \the\topskip}% - \fi - \setlength\@tempdima{\baselineskip}% - \multiply\@tempdima\Gm@lines - \addtolength\@tempdima{\topskip}% - \addtolength\@tempdima{-\baselineskip}% - \edef\Gm@textheight{\the\@tempdima}% - \fi - \ifx\Gm@textheight\@undefined\else - \setlength\@tempdima{\Gm@textheight}% - \ifGm@includehead - \addtolength\@tempdima{\headheight}% - \addtolength\@tempdima{\headsep}% - \fi - \ifGm@includefoot - \addtolength\@tempdima{\footskip}% - \fi - \edef\Gm@height{\the\@tempdima}% - \fi - \fi}% -% \end{macrocode} -% \end{macro} -% \begin{macro}{\Gm@process} -% The main macro processing the specified dimensions is defined. -% \begin{macrocode} -\def\Gm@process{% -% \end{macrocode} -% If |pass| is set, the original dimensions and switches are restored -% and process is ended here. -% \begin{macrocode} - \ifGm@pass - \Gm@restore@org - \else - \Gm@@process - \fi}% -% \end{macrocode} -% The main processing macro. -% \begin{macrocode} -\def\Gm@@process{% - \Gm@expandlengths - \Gm@adjustpaper - \addtolength\Gm@layoutwidth{-\Gm@bindingoffset}% - \Gm@adjustmp - \Gm@adjustbody - \Gm@detall{h}{width}{lmargin}{rmargin}% - \Gm@detall{v}{height}{tmargin}{bmargin}% -% \end{macrocode} -% The real dimensions are set properly according to the result -% of the auto-completion calculation. -% \begin{macrocode} - \setlength\textwidth{\Gm@width}% - \setlength\textheight{\Gm@height}% - \setlength\topmargin{\Gm@tmargin}% - \setlength\oddsidemargin{\Gm@lmargin}% - \addtolength\oddsidemargin{-1\Gm@truedimen in}% -% \end{macrocode} -% If |includemp| is set to |true|, \cs{textwidth} and \cs{oddsidemargin} -% are adjusted. -% \begin{macrocode} - \ifGm@includemp - \advance\textwidth-\Gm@wd@mp - \advance\oddsidemargin\Gm@odd@mp - \fi -% \end{macrocode} -% Determining \cs{evensidemargin}. -% In the twoside page layout, the right margin value \cs{Gm@rmargin} is used. -% If the marginal note width is included, -% \cs{evensidemargin} should be corrected by \cs{Gm@even@mp}. -% \begin{macrocode} - \if@mparswitch - \setlength\evensidemargin{\Gm@rmargin}% - \addtolength\evensidemargin{-1\Gm@truedimen in}% - \ifGm@includemp - \advance\evensidemargin\Gm@even@mp - \fi - \else - \evensidemargin\oddsidemargin - \fi -% \end{macrocode} -% The bindingoffset correction for \cs{oddsidemargin}. -% \begin{macrocode} - \advance\oddsidemargin\Gm@bindingoffset - \addtolength\topmargin{-1\Gm@truedimen in}% -% \end{macrocode} -% If the head of the page is included in \gpart{total body}, -% \cs{headheight} and \cs{headsep} are removed from \cs{textheight}, -% otherwise from \cs{topmargin}. -% \begin{macrocode} - \ifGm@includehead - \addtolength\textheight{-\headheight}% - \addtolength\textheight{-\headsep}% - \else - \addtolength\topmargin{-\headheight}% - \addtolength\topmargin{-\headsep}% - \fi -% \end{macrocode} -% If the foot of the page is included in \gpart{total body}, -% \cs{footskip} is removed from \cs{textheight}. -% \begin{macrocode} - \ifGm@includefoot - \addtolength\textheight{-\footskip}% - \fi -% \end{macrocode} -% If |heightrounded| is set, \cs{textheight} is rounded. -% \begin{macrocode} - \ifGm@heightrounded - \setlength\@tempdima{\textheight}% - \addtolength\@tempdima{-\topskip}% - \@tempcnta\@tempdima - \@tempcntb\baselineskip - \divide\@tempcnta\@tempcntb - \setlength\@tempdimb{\baselineskip}% - \multiply\@tempdimb\@tempcnta - \advance\@tempdima-\@tempdimb - \multiply\@tempdima\tw@ - \ifdim\@tempdima>\baselineskip - \addtolength\@tempdimb{\baselineskip}% - \fi - \addtolength\@tempdimb{\topskip}% - \textheight\@tempdimb - \fi -% \end{macrocode} -% The paper width is set back by adding \cs{Gm@bindingoffset}. -% \begin{macrocode} - \advance\oddsidemargin\Gm@layouthoffset% - \advance\evensidemargin\Gm@layouthoffset% - \advance\topmargin\Gm@layoutvoffset% - \addtolength\Gm@layoutwidth{\Gm@bindingoffset}% - }% end of \Gm@@process -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\Gm@detectdriver} -% The macro checks the typeset environment and changes the driver option -% if necessary. To make the engine detection more robust, the macro is -% rewritten with packages \textsf{ifpdf}, \textsf{ifvtex} and -% \textsf{ifxetex}. -% \begin{macrocode} -\def\Gm@detectdriver{% -% \end{macrocode} -% If the driver option is not specified explicitly, then driver -% auto-detection works. -% \begin{macrocode} - \ifx\Gm@driver\@empty - \typeout{*geometry* driver: auto-detecting}% -% \end{macrocode} -% \cs{ifpdf} is defined in \textsf{ifpdf} package in `oberdiek' bundle. -% \begin{macrocode} - \ifpdf - \Gm@setdriver{pdftex}% - \else - \Gm@setdriver{dvips}% - \fi -% \end{macrocode} -% \cs{ifvtex} is defined in \textsf{ifvtex} package in `oberdiek' -% bundle. -% \begin{macrocode} - \ifvtex - \Gm@setdriver{vtex}% - \fi -% \end{macrocode} -% \cs{ifxetex} is defined in \textsf{ifxetex} package written by -% Will Robertson. -% \begin{macrocode} - \ifxetex - \Gm@setdriver{xetex} - \fi -% \end{macrocode} -% When the driver option is set by the user, check if it is valid or not. -% \begin{macrocode} - \else - \ifx\Gm@driver\Gm@xetex %% - \ifxetex\else - \Gm@warning{Wrong driver setting: `xetex'; trying `pdftex' driver}% - \Gm@setdriver{pdftex} - \fi - \fi - \ifx\Gm@driver\Gm@vtex - \ifvtex\else - \Gm@warning{Wrong driver setting: `vtex'; trying `dvips' driver}% - \Gm@setdriver{dvips}% - \fi - \fi - \fi - \ifx\Gm@driver\relax - \typeout{*geometry* detected driver: <none>}% - \else - \typeout{*geometry* detected driver: \Gm@driver}% - \fi}% -% \end{macrocode} -% \end{macro} -% \begin{macro}{\Gm@showparams} -% Prints the resulted parammeters and dimensions to STDOUT -% if |verbose| is true. -% |\Gm@width| and |\Gm@height| are expanded to get the real size. -% \begin{macrocode} -\def\Gm@showparams#1{% - \ifGm@verbose\expandafter\typeout\else\expandafter\wlog\fi - {\Gm@logcontent{#1}}}% -\def\Gm@showdim#1{* \string#1=\the#1^^J}% -\def\Gm@showbool#1{\@nameuse{ifGm@#1}#1\space\fi}% -% \end{macrocode} -% \end{macro} -% \begin{macro}{\Gm@logcontent} -% The content of geometry paramenters and native dimensions for the -% page layout. -% \begin{macrocode} -\def\Gm@logcontent#1{% - *geometry* verbose mode - [ #1 ] result:^^J% - \ifGm@pass * pass: disregarded the geometry package!^^J% - \else - * driver: \if\Gm@driver<none>\else\Gm@driver\fi^^J% - * paper: \ifx\Gm@paper\@undefined<default>\else\Gm@paper\fi^^J% - * layout: \ifGm@layout<custom>\else<same size as paper>\fi^^J% - \ifGm@layout - * layout(width,height): (\the\Gm@layoutwidth,\the\Gm@layoutheight)^^J% - \fi - * layoutoffset:(h,v)=(\the\Gm@layouthoffset,\the\Gm@layoutvoffset)^^J% - \@ifundefined{Gm@lines}{}{* lines: \Gm@lines^^J}% - \@ifundefined{Gm@hmarginratio}{}{* hratio: \Gm@hmarginratio^^J}% - \@ifundefined{Gm@vmarginratio}{}{* vratio: \Gm@vmarginratio^^J}% - \ifdim\Gm@bindingoffset=\z@\else - * bindingoffset: \the\Gm@bindingoffset^^J\fi - * modes: % - \Gm@showbool{landscape}% - \Gm@showbool{includehead}% - \Gm@showbool{includefoot}% - \Gm@showbool{includemp}% - \if@twoside twoside\space\fi% - \if@mparswitch\else\if@twoside asymmetric\space\fi\fi% - \Gm@showbool{heightrounded}% - \ifx\Gm@truedimen\@empty\else truedimen\space\fi% - \Gm@showbool{showframe}% - \Gm@showbool{showcrop}% - ^^J% - * h-part:(L,W,R)=(\Gm@lmargin, \Gm@width, \Gm@rmargin)^^J% - * v-part:(T,H,B)=(\Gm@tmargin, \Gm@height, \Gm@bmargin)^^J% - \fi - \Gm@showdim{\paperwidth}% - \Gm@showdim{\paperheight}% - \Gm@showdim{\textwidth}% - \Gm@showdim{\textheight}% - \Gm@showdim{\oddsidemargin}% - \Gm@showdim{\evensidemargin}% - \Gm@showdim{\topmargin}% - \Gm@showdim{\headheight}% - \Gm@showdim{\headsep}% - \Gm@showdim{\topskip}% - \Gm@showdim{\footskip}% - \Gm@showdim{\marginparwidth}% - \Gm@showdim{\marginparsep}% - \Gm@showdim{\columnsep}% - * \string\skip\string\footins=\the\skip\footins^^J% - \Gm@showdim{\hoffset}% - \Gm@showdim{\voffset}% - \Gm@showdim{\mag}% - * \string\@twocolumn\if@twocolumn true\else false\fi^^J% - * \string\@twoside\if@twoside true\else false\fi^^J% - * \string\@mparswitch\if@mparswitch true\else false\fi^^J% - * \string\@reversemargin\if@reversemargin true\else false\fi^^J% - * (1in=72.27pt=25.4mm, 1cm=28.453pt)^^J}% -% \end{macrocode} -% \end{macro} -% -% Macros for the page frames and cropmarks. -% \begin{macrocode} -\def\Gm@cropmark(#1,#2,#3,#4){% - \begin{picture}(0,0) - \setlength\unitlength{1truemm}% - \linethickness{0.25pt}% - \put(#3,0){\line(#1,0){17}}% - \put(0,#4){\line(0,#2){17}}% - \end{picture}}% -\providecommand*\vb@xt@{\vbox to}% -\def\Gm@vrule{\vrule width 0.2pt height\textheight depth\z@}% -\def\Gm@hrule{\hrule height 0.2pt depth\z@ width\textwidth}% -\def\Gm@hruled{\hrule height\z@ depth0.2pt width\textwidth}% -\newcommand*{\Gm@vrules@mpi}{% - \hb@xt@\@tempdima{\llap{\Gm@vrule}\ignorespaces - \hskip \textwidth\Gm@vrule\hskip \marginparsep - \llap{\Gm@vrule}\hfil\Gm@vrule}}% -\newcommand*{\Gm@vrules@mpii}{% - \hb@xt@\@tempdima{\hskip-\marginparwidth\hskip-\marginparsep - \llap{\Gm@vrule}\ignorespaces - \hskip \marginparwidth\rlap{\Gm@vrule}\hskip \marginparsep - \llap{\Gm@vrule}\hskip\textwidth\rlap{\Gm@vrule}\hss}}% -\newcommand*{\Gm@pageframes}{% - \vb@xt@\z@{% - \ifGm@showcrop - \vb@xt@\z@{\vskip-1\Gm@truedimen in\vskip\Gm@layoutvoffset% - \hb@xt@\z@{\hskip-1\Gm@truedimen in\hskip\Gm@layouthoffset% - \vb@xt@\Gm@layoutheight{% - \let\protect\relax - \hb@xt@\Gm@layoutwidth{\Gm@cropmark(-1,1,-3,3)\hfil\Gm@cropmark(1,1,3,3)}% - \vfil - \hb@xt@\Gm@layoutwidth{\Gm@cropmark(-1,-1,-3,-3)\hfil\Gm@cropmark(1,-1,3,-3)}}% - \hss}% - \vss}% - \fi% - \ifGm@showframe - \if@twoside - \ifodd\count\z@ - \let\@themargin\oddsidemargin - \else - \let\@themargin\evensidemargin - \fi - \fi - \moveright\@themargin% - \vb@xt@\z@{% - \vskip\topmargin\vb@xt@\z@{\vss\Gm@hrule}% - \vskip\headheight\vb@xt@\z@{\vss\Gm@hruled}% - \vskip\headsep\vb@xt@\z@{\vss\Gm@hrule}% - \@tempdima\textwidth - \advance\@tempdima by \marginparsep - \advance\@tempdima by \marginparwidth - \if@mparswitch - \ifodd\count\z@ - \Gm@vrules@mpi - \else - \Gm@vrules@mpii - \fi - \else - \Gm@vrules@mpi - \fi - \vb@xt@\z@{\vss\Gm@hrule}% - \vskip\footskip\vb@xt@\z@{\vss\Gm@hruled}% - \vss}% - \fi% - }}% -% \end{macrocode} -% -% \begin{macro}{\ProcessOptionsKV} -% This macro can process class and package options using `key=value' -% scheme. Only class options are processed with an optional argument -% `|c|', package options with `|p|' , and both of them by default. -% \begin{macrocode} -\def\ProcessOptionsKV{\@ifnextchar[%] - {\@ProcessOptionsKV}{\@ProcessOptionsKV[]}}% -\def\@ProcessOptionsKV[#1]#2{% - \let\@tempa\@empty - \@tempcnta\z@ - \if#1p\@tempcnta\@ne\else\if#1c\@tempcnta\tw@\fi\fi - \ifodd\@tempcnta - \edef\@tempa{\@ptionlist{\@currname.\@currext}}% - \else - \@for\CurrentOption:=\@classoptionslist\do{% - \@ifundefined{KV@#2@\CurrentOption}% - {}{\edef\@tempa{\@tempa,\CurrentOption,}}}% - \ifnum\@tempcnta=\z@ - \edef\@tempa{\@tempa,\@ptionlist{\@currname.\@currext}}% - \fi - \fi - \edef\@tempa{\noexpand\setkeys{#2}{\@tempa}}% - \@tempa - \AtEndOfPackage{\let\@unprocessedoptions\relax}}% -% \end{macrocode} -% \end{macro} -% \begin{macrocode} -\def\Gm@setkeys{\setkeys{Gm}}% -% \end{macrocode} -% \begin{macro}{\Gm@processconf} -% \cs{ExecuteOptions} is replaced with \cs{Gm@setkey} to make it -% possible to deal with '\meta{key}=\meta{value}' as its argument. -% \begin{macrocode} -\def\Gm@processconfig{% - \let\Gm@origExecuteOptions\ExecuteOptions - \let\ExecuteOptions\Gm@setkeys - \InputIfFileExists{geometry.cfg}{}{} - \let\ExecuteOptions\Gm@origExecuteOptions}% -% \end{macrocode} -% \end{macro} -% -% The original page layout before loading \Gm\ is saved here. -% |\Gm@restore@org| is defined here for |reset| option. -% \begin{macrocode} -\Gm@save -\edef\Gm@restore@org{\Gm@restore}% -\Gm@initall -% \end{macrocode} -% Processing config file. -% \begin{macrocode} -\Gm@processconfig -% \end{macrocode} -% The optional arguments to \cs{documentclass} are processed here. -% \begin{macrocode} -\ProcessOptionsKV[c]{Gm}% -% \end{macrocode} -% Paper dimensions given by class default are stored. -% \begin{macrocode} -\Gm@setdefaultpaper -% \end{macrocode} -% The optional arguments to \cs{usepackage} are processed here. -% \begin{macrocode} -\ProcessOptionsKV[p]{Gm}% -% \end{macrocode} -% Actual settings and calculation for layout dimensions are processed. -% \begin{macrocode} -\Gm@process -% \end{macrocode} -% -% \begin{macro}{\AtBeginDocument} -% The processes for |verbose|, |showframe| and drivers are added to -% |\AtBeginDocument|. -% |\Gm@restore@org| is redefined here with the paper size specified -% in the preamble for |\newgeometry| to use it. This should be done -% before magnifying the paper size with |\mag| because the layout -% calculation would be affected by changing the paper size. -% \begin{macrocode} -\AtBeginDocument{% - \Gm@savelength{paperwidth}% - \Gm@savelength{paperheight}% - \edef\Gm@restore@org{\Gm@restore}% -% \end{macrocode} -% The original paper size is used if |resetpaper|. -% \begin{macrocode} - \ifGm@resetpaper - \edef\Gm@pw{\Gm@orgpw}% - \edef\Gm@ph{\Gm@orgph}% - \else - \edef\Gm@pw{\the\paperwidth}% - \edef\Gm@ph{\the\paperheight}% - \fi -% \end{macrocode} -% If |pass| is not set, the paper size is multiplied -% according to the specified |mag|. -% \begin{macrocode} - \ifGm@pass\else - \ifnum\mag=\@m\else - \Gm@magtooffset - \divide\paperwidth\@m - \multiply\paperwidth\the\mag - \divide\paperheight\@m - \multiply\paperheight\the\mag - \fi - \fi -% \end{macrocode} -% Checking the driver options. -% \begin{macrocode} - \Gm@detectdriver -% \end{macrocode} -% If |xetex| and |\pdfpagewidth| is defined, -% |\pdfpagewidth| and |\pdfpageheight| would be set. -% \begin{macrocode} - \ifx\Gm@driver\Gm@xetex - \@ifundefined{pdfpagewidth}{}{% - \setlength\pdfpagewidth{\Gm@pw}% - \setlength\pdfpageheight{\Gm@ph}}% - \ifnum\mag=\@m\else - \ifx\Gm@truedimen\Gm@true - \setlength\paperwidth{\Gm@pw}% - \setlength\paperheight{\Gm@ph}% - \fi - \fi - \fi -% \end{macrocode} -% If |pdftex| is set to |true|, pdf-commands are set properly. -% To avoid |pdftex| magnification problem, \cs{pdfhorigin} and -% \cs{pdfvorigin} are adjusted for \cs{mag}. -% \begin{macrocode} - \ifx\Gm@driver\Gm@pdftex - \@ifundefined{pdfpagewidth}{}{% - \setlength\pdfpagewidth{\Gm@pw}% - \setlength\pdfpageheight{\Gm@ph}}% - \ifnum\mag=\@m\else - \@tempdima=\mag sp% - \@ifundefined{pdfhorigin}{}{% - \divide\pdfhorigin\@tempdima - \multiply\pdfhorigin\@m - \divide\pdfvorigin\@tempdima - \multiply\pdfvorigin\@m}% - \ifx\Gm@truedimen\Gm@true - \setlength\paperwidth{\Gm@pw}% - \setlength\paperheight{\Gm@ph}% - \fi - \fi - \fi -% \end{macrocode} -% With V\TeX{} environment, V\TeX{} variables are set here. -% \begin{macrocode} - \ifx\Gm@driver\Gm@vtex - \@ifundefined{mediawidth}{}{% - \mediawidth=\paperwidth - \mediaheight=\paperheight}% - \ifvtexdvi - \AtBeginDvi{\special{papersize=\the\paperwidth,\the\paperheight}}% - \fi - \fi -% \end{macrocode} -% If |dvips| or |dvipdfm| is specified, paper size is embedded in dvi -% file with \cs{special}. For dvips, a landscape correction is added -% because a landscape document converted by dvips is upside-down in -% PostScript viewers. -% \begin{macrocode} - \ifx\Gm@driver\Gm@dvips - \AtBeginDvi{\special{papersize=\the\paperwidth,\the\paperheight}}% - \ifx\Gm@driver\Gm@dvips\ifGm@landscape - \AtBeginDvi{\special{! /landplus90 true store}}% - \fi\fi -% \end{macrocode} -% If |dvipdfm| is specified and \textsf{atbegshi} package in -% `oberdiek' bundle is loaded, \cs{AtBeginShipoutFirst} is used -% instead of \cs{AtBeginDvi} for compatibility with \textsf{hyperref} -% and |dvipdfm| program. -% \begin{macrocode} - \else\ifx\Gm@driver\Gm@dvipdfm - \ifcase\ifx\AtBeginShipoutFirst\relax\@ne\else - \ifx\AtBeginShipoutFirst\@undefined\@ne\else\z@\fi\fi - \AtBeginShipoutFirst{\special{papersize=\the\paperwidth,\the\paperheight}}% - \or - \AtBeginDvi{\special{papersize=\the\paperwidth,\the\paperheight}}% - \fi - \fi\fi -% \end{macrocode} -% Page frames are shipped out when |showframe=true|, cropmarks for |showcrop=true| -% on each page. The \textsf{atbegshi} package is used for overloading |\shipout|. -% \begin{macrocode} - \@tempswafalse - \ifGm@showframe - \@tempswatrue - \else\ifGm@showcrop - \@tempswatrue - \fi\fi - \if@tempswa - \RequirePackage{atbegshi}% - \AtBeginShipout{\setbox\AtBeginShipoutBox=\vbox{% - \baselineskip\z@skip\lineskip\z@skip\lineskiplimit\z@ - \Gm@pageframes\box\AtBeginShipoutBox}}% - \fi -% \end{macrocode} -% The layout dimensions for \cs{restoregeometry} are saved -% at the end of the \cs{AtBeginDocument}. -% \begin{macrocode} - \Gm@save - \edef\Gm@restore@pkg{\Gm@restore}% -% \end{macrocode} -% The package checks whether or not the marginpars overrun the page, -% if |verbose| and unless |pass|. -% \begin{macrocode} - \ifGm@verbose\ifGm@pass\else\Gm@checkmp\fi\fi -% \end{macrocode} -% |\Gm@showparams| puts the resulting parameters and dimensions -% into the log file. With |verbose|, they are shown on the terminal -% as well. -% \begin{macrocode} - \Gm@showparams{preamble}% -% \end{macrocode} -% The following lines free the memories no longer needed. -% \begin{macrocode} - \let\Gm@pw\relax - \let\Gm@ph\relax - }% end of \AtBeginDocument -% \end{macrocode} -% \end{macro} -% -% \begin{macro}{\geometry} -% The macro \cs{geometry} can be called multiple times -% in the preamble (before |\begin{document}|). -% \begin{macrocode} -\newcommand{\geometry}[1]{% - \Gm@clean - \setkeys{Gm}{#1}% - \Gm@process}% -\@onlypreamble\geometry -% \end{macrocode} -% \end{macro} -% \begin{macro}{\Gm@changelayout} -% The macro, which can be called from |\newgeometry|, -% |\restoregeometry| and |\loadgeometry|, changes the layout -% in the middle of the document. -% \begin{macrocode} -\DeclareRobustCommand\Gm@changelayout{% - \setlength{\@colht}{\textheight} - \setlength{\@colroom}{\textheight}% - \setlength{\vsize}{\textheight} - \setlength{\columnwidth}{\textwidth}% - \if@twocolumn% - \advance\columnwidth-\columnsep - \divide\columnwidth\tw@% - \@firstcolumntrue% - \fi% - \setlength{\hsize}{\columnwidth}% - \setlength{\linewidth}{\hsize}}% -% \end{macrocode} -% \end{macro} -% \begin{macro}{\newgeometry} -% The macro |\newgeometry|, which changes the layout, -% can be used only in the document. -% It would reset the options specified in the preamble except for -% paper size options and |\mag|. -% \begin{macrocode} -\newcommand{\newgeometry}[1]{% - \clearpage - \Gm@restore@org - \Gm@initnewgm - \Gm@newgmtrue - \setkeys{Gm}{#1}% - \Gm@newgmfalse - \Gm@process - \ifnum\mag=\@m\else\Gm@magtooffset\fi - \Gm@changelayout - \Gm@showparams{newgeometry}}% -% \end{macrocode} -% \end{macro} -% \begin{macro}{\restoregeometry} -% The macro restores the resulting layout specified in the preamble, -% namely the first-page layout right after |\begin{document}|. -% \begin{macrocode} -\newcommand{\restoregeometry}{% - \clearpage - \Gm@restore@pkg - \Gm@changelayout}% -% \end{macrocode} -% \end{macro} -% \begin{macro}{\savegeometry} -% The macro saves the layout with the name specified -% with the argument. The saved layout can be loaded -% with |\loadgeometry{|\meta{name}|}|. -% \begin{macrocode} -\newcommand*{\savegeometry}[1]{% - \Gm@save - \expandafter\edef\csname Gm@restore@@#1\endcsname{\Gm@restore}}% -% \end{macrocode} -% \end{macro} -% \begin{macro}{\loadgeometry} -% The macro loads the layout saved with |\savegeometry{|\meta{name}|}|. -% If the name is not found, the macro would warn it and -% do nothing for the layout. -% \begin{macrocode} -\newcommand*{\loadgeometry}[1]{% - \clearpage - \@ifundefined{Gm@restore@@#1}{% - \PackageError{geometry}{% - \string\loadgeometry : name `#1' undefined}{% - The name `#1' should be predefined with \string\savegeometry}% - }{\@nameuse{Gm@restore@@#1}% - \Gm@changelayout}}% -%</package> -% \end{macrocode} -% \end{macro} -% -% \section{Config file} -% In the configuration file |geometry.cfg|, one can use -% \cs{ExecuteOptions} to set the site or user default settings. -% \begin{macrocode} -%<*config> -%<<SAVE_INTACT - -% Uncomment and edit the line below to set default options. -%\ExecuteOptions{a4paper} - -%SAVE_INTACT -%</config> -% \end{macrocode} -% -% \section{Sample file} -% Here is a sample document for the \Gm\ package. -% \begin{macrocode} -%<*samples> -%<<SAVE_INTACT -\documentclass[12pt]{article}% uses letterpaper by default -% \documentclass[12pt,a4paper]{article}% for A4 paper -%--------------------------------------------------------------- -% Edit and uncomment one of the settings below -%--------------------------------------------------------------- -% \usepackage{geometry} -% \usepackage[centering]{geometry} -% \usepackage[width=10cm,vscale=.7]{geometry} -% \usepackage[margin=1cm, papersize={12cm,19cm}, resetpaper]{geometry} -% \usepackage[margin=1cm,includeheadfoot]{geometry} -\usepackage[margin=1cm,includeheadfoot,includemp]{geometry} -% \usepackage[margin=1cm,bindingoffset=1cm,twoside]{geometry} -% \usepackage[hmarginratio=2:1, vmargin=2cm]{geometry} -% \usepackage[hscale=0.5,twoside]{geometry} -% \usepackage[hscale=0.5,asymmetric]{geometry} -% \usepackage[hscale=0.5,heightrounded]{geometry} -% \usepackage[left=1cm,right=4cm,top=2cm,includefoot]{geometry} -% \usepackage[lines=20,left=2cm,right=6cm,top=2cm,twoside]{geometry} -% \usepackage[width=15cm, marginparwidth=3cm, includemp]{geometry} -% \usepackage[hdivide={1cm,,2cm}, vdivide={3cm,8in,}, nohead]{geometry} -% \usepackage[headsep=20pt, head=40pt,foot=20pt,includeheadfoot]{geometry} -% \usepackage[text={6in,8in}, top=2cm, left=2cm]{geometry} -% \usepackage[centering,includemp,twoside,landscape]{geometry} -% \usepackage[mag=1414,margin=2cm]{geometry} -% \usepackage[mag=1414,margin=2truecm,truedimen]{geometry} -% \usepackage[a5paper, landscape, twocolumn, twoside, -% left=2cm, hmarginratio=2:1, includemp, marginparwidth=43pt, -% bottom=1cm, foot=.7cm, includefoot, textheight=11cm, heightrounded, -% columnsep=1cm,verbose]{geometry} -%--------------------------------------------------------------- -% No need to change below -%--------------------------------------------------------------- -\geometry{verbose,showframe}% the options appended. -\usepackage{lipsum}% for dummy text of 150 paragraphs -\newcommand\mynote{\marginpar[\raggedright -A sample margin note in the left side.]% -{\raggedright A sample margin note.}}% -\newcommand\myfootnote{\footnote{This is a sample footnote text.}} -\begin{document} -\lipsum[1-2]\mynote\lipsum[3-4]\mynote -\lipsum[5-11]\mynote\lipsum[12]\myfootnote -\lipsum[13-22]\mynote\lipsum[23-32] -\end{document} -%SAVE_INTACT -%</samples> -% \end{macrocode} -% -% \Finale -% -\endinput diff --git a/Master/texmf-dist/doc/latex/geometry-de/geometry-de.pdf b/Master/texmf-dist/doc/latex/geometry-de/geometry-de.pdf Binary files differdeleted file mode 100644 index 34a5e9c158d..00000000000 --- a/Master/texmf-dist/doc/latex/geometry-de/geometry-de.pdf +++ /dev/null diff --git a/Master/texmf-dist/doc/latex/geometry-de/geometry.ins b/Master/texmf-dist/doc/latex/geometry-de/geometry.ins deleted file mode 100644 index 59633898f2d..00000000000 --- a/Master/texmf-dist/doc/latex/geometry-de/geometry.ins +++ /dev/null @@ -1,81 +0,0 @@ -%% -%% This is file `geometry.ins', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% geometry-de.dtx (with options: `install') -%% -%% Copyright (C) 1996-2010 -%% by Hideo Umeki <latexgeometry@gmail.com> -%% -%% This work may be distributed and/or modified under the conditions of -%% the LaTeX Project Public License, either version 1.3c 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.3c or later is part of all distributions of LaTeX -%% version 2005/12/01 or later. -%% -%% This work is "maintained" (as per the LPPL maintenance status) -%% by Hideo Umeki. -%% -%% This work consists of the files geometry.dtx and -%% the derived files: geometry.{sty,ins,drv}, geometry-samples.tex. -%% -\input docstrip.tex -\Msg{************************************************************************} -\Msg{* Installation} -\Msg{* Package: geometry 2010/09/12 v5.6 Page Geometry} -\Msg{************************************************************************} - -\keepsilent -\askforoverwritefalse -\preamble - -Copyright (C) 1996-2010 -by Hideo Umeki <latexgeometry@gmail.com> - -This work may be distributed and/or modified under the conditions of -the LaTeX Project Public License, either version 1.3c 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.3c or later is part of all distributions of LaTeX -version 2005/12/01 or later. - -This work is "maintained" (as per the LPPL maintenance status) -by Hideo Umeki. - -This work consists of the files geometry.dtx and -the derived files: geometry.{sty,ins,drv}, geometry-samples.tex. - -\endpreamble - -\generate{% - \file{geometry.ins}{\from{geometry-de.dtx}{install}}% - \file{geometry-de.drv}{\from{geometry-de.dtx}{driver}}% - \usedir{tex/latex/geometry}% - \file{geometry.sty}{\from{geometry-de.dtx}{package}}% - \file{geometry.cfg}{\from{geometry-de.dtx}{config}}% - \file{geometry-samples-de.tex}{\from{geometry-de.dtx}{samples}}% -} - -\obeyspaces -\Msg{************************************************************************} -\Msg{*} -\Msg{* To finish the installation you have to move the following} -\Msg{* file into a directory searched by LaTeX:} -\Msg{*} -\Msg{* \space\space geometry.sty} -\Msg{*} -\Msg{* To produce the documentation run the file `geometry.drv'} -\Msg{* through LaTeX.} -\Msg{*} -\Msg{* Happy TeXing!} -\Msg{*} -\Msg{************************************************************************} -\endbatchfile -\endinput -%% -%% End of file `geometry.ins'. |