summaryrefslogtreecommitdiff
path: root/presentations/taler-mdb-36c3/.template/sty/geometry.sty
diff options
context:
space:
mode:
Diffstat (limited to 'presentations/taler-mdb-36c3/.template/sty/geometry.sty')
-rw-r--r--presentations/taler-mdb-36c3/.template/sty/geometry.sty1130
1 files changed, 1130 insertions, 0 deletions
diff --git a/presentations/taler-mdb-36c3/.template/sty/geometry.sty b/presentations/taler-mdb-36c3/.template/sty/geometry.sty
new file mode 100644
index 0000000..b46f4ee
--- /dev/null
+++ b/presentations/taler-mdb-36c3/.template/sty/geometry.sty
@@ -0,0 +1,1130 @@
+%%
+%% This is file `geometry.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% geometry.dtx (with options: `package')
+%%
+%% 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.
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{geometry}
+ [2010/09/12 v5.6 Page Geometry]
+\RequirePackage{keyval}%
+\RequirePackage{ifpdf}%
+\RequirePackage{ifvtex}%
+\RequirePackage{ifxetex}%
+\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
+\newcount\Gm@cnth
+\newcount\Gm@cntv
+\newcount\c@Gm@tempcnt
+\newdimen\Gm@bindingoffset
+\newdimen\Gm@wd@mp
+\newdimen\Gm@odd@mp
+\newdimen\Gm@even@mp
+\newdimen\Gm@layoutwidth
+\newdimen\Gm@layoutheight
+\newdimen\Gm@layouthoffset
+\newdimen\Gm@layoutvoffset
+\newtoks\Gm@dimlist
+\def\Gm@warning#1{\PackageWarningNoLine{geometry}{#1}}%
+\def\ifGm@preamble#1{%
+ \ifGm@newgm
+ \Gm@warning{`#1': not available in `\string\newgeometry'; skipped}%
+ \else
+ \expandafter\@firstofone
+ \fi}%
+\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
+\def\Gm@Dhscale{0.7}%
+\def\Gm@Dvscale{0.7}%
+\def\Gm@dvips{dvips}%
+\def\Gm@dvipdfm{dvipdfm}%
+\def\Gm@pdftex{pdftex}%
+\def\Gm@xetex{xetex}%
+\def\Gm@vtex{vtex}%
+\def\Gm@true{true}%
+\def\Gm@false{false}%
+\edef\Gm@orgpw{\the\paperwidth}%
+\edef\Gm@orgph{\the\paperheight}%
+\def\Gm@savelength#1{%
+ \g@addto@macro\Gm@restore{\expandafter\noexpand\expandafter\csname
+ #1\endcsname\expandafter=\expandafter\the\csname #1\endcsname\relax}}%
+\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}%
+\def\Gm@restore{}%
+\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}}%
+\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@}%
+\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}%
+\def\Gm@setdriver#1{%
+ \expandafter\let\expandafter\Gm@driver\csname Gm@#1\endcsname}%
+\def\Gm@unsetdriver#1{%
+ \expandafter\ifx\csname Gm@#1\endcsname\Gm@driver\let\Gm@driver\@empty\fi}%
+\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}}%
+\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}}%
+\def\Gm@reverse#1{%
+ \csname ifGm@#1\endcsname
+ \csname Gm@#1false\endcsname\else\csname Gm@#1true\endcsname\fi}%
+\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}%
+\def\Gm@sep@ratio#1:#2{\@tempcnta=#1\@tempcntb=#2}%
+\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}}%
+\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}}%
+\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}}%
+\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
+ \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
+ \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}%
+ \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}%
+ \or\Gm@detiiandiii{#2}{#3}{#4}%
+ \or\Gm@detiv{#2}{#2}{#4}{#3}%
+ \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}%
+ \or\Gm@detiv{#2}{#3}{#4}{#2}%
+ \or\Gm@detiv{#2}{#2}{#3}{#4}%
+ \or\Gm@warning{Over-specification in `#1'-direction.%
+ ^^J\@spaces `#2' (\@nameuse{Gm@#2}) is ignored}%
+ \Gm@detiv{#2}{#3}{#4}{#2}%
+ \else\fi}%
+\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
+ }%
+\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}%
+\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}%
+\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}}%
+\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}%
+\def\Gm@expandlengths{%
+ \def\Gm@td{\Gm@truedimen}%
+ \def\Gm@len##1##2{\setlength{##1}{##2}}%
+ \the\Gm@dimlist}%
+\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}%
+\def\Gm@setpaper@ifpre#1{%
+ \ifGm@preamble{#1}{\def\Gm@paper{#1}\@nameuse{Gm@#1}{paper}}}%
+\@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}}%
+\define@key{Gm}{paper}{\setkeys{Gm}{#1}}%
+\let\KV@Gm@papername\KV@Gm@paper
+\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}}%
+\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}}}%
+\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}}%
+\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}}}%
+\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}}%
+\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
+\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
+\define@key{Gm}{lines}{\Gm@vbodytrue\Gm@defbycnt{lines}{#1}}%
+\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}}%
+\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}}%
+\define@key{Gm}{heightrounded}[true]{\Gm@setbool{heightrounded}{#1}}%
+\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}}%
+\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
+\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}}%
+\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
+\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}}{}}%
+\define@key{Gm}{twoside}[true]{\Gm@doifelse{twoside}{#1}%
+ {\@twosidetrue\@mparswitchtrue}{\@twosidefalse\@mparswitchfalse}}%
+\define@key{Gm}{asymmetric}[true]{\Gm@doifelse{asymmetric}{#1}%
+ {\@twosidetrue\@mparswitchfalse}{}}%
+\define@key{Gm}{bindingoffset}{\Gm@setlength\Gm@bindingoffset{#1}}%
+\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
+\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@}{}}%
+\define@key{Gm}{footnotesep}{\Gm@setlength{\skip\footins}{#1}}%
+\define@key{Gm}{marginparwidth}{\Gm@setlength\marginparwidth{#1}}%
+\let\KV@Gm@marginpar\KV@Gm@marginparwidth
+\define@key{Gm}{marginparsep}{\Gm@setlength\marginparsep{#1}}%
+\define@key{Gm}{nomarginpar}[true]{\Gm@doifelse{nomarginpar}{#1}%
+ {\Gm@setlength\marginparwidth\z@\Gm@setlength\marginparsep\z@}{}}%
+\define@key{Gm}{columnsep}{\Gm@setlength\columnsep{#1}}%
+\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}}%
+\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}}%
+\define@key{Gm}{twocolumn}[true]{%
+ \Gm@doif{twocolumn}{#1}{\csname @twocolumn\Gm@bool\endcsname}}%
+\define@key{Gm}{onecolumn}[true]{%
+ \Gm@doifelse{onecolumn}{#1}{\@twocolumnfalse}{\@twocolumntrue}}%
+\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}}%
+\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}}%
+\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}}}}%
+\define@key{Gm}{verbose}[true]{\ifGm@preamble{verbose}{\Gm@setbool{verbose}{#1}}}%
+\define@key{Gm}{reset}[true]{\ifGm@preamble{reset}{%
+ \Gm@doifelse{reset}{#1}{\Gm@restore@org\Gm@initall
+ \ProcessOptionsKV[c]{Gm}\Gm@setdefaultpaper}{}}}%
+\define@key{Gm}{resetpaper}[true]{\ifGm@preamble{resetpaper}{%
+ \Gm@setbool{resetpaper}{#1}}}%
+\define@key{Gm}{mag}{\ifGm@preamble{mag}{\mag=#1}}%
+\define@key{Gm}{truedimen}[true]{\ifGm@preamble{truedimen}{%
+ \Gm@doifelse{truedimen}{#1}{\let\Gm@truedimen\Gm@true}%
+ {\let\Gm@truedimen\@empty}}}%
+\define@key{Gm}{pass}[true]{\ifGm@preamble{pass}{\Gm@setbool{pass}{#1}}}%
+\define@key{Gm}{showframe}[true]{\Gm@setbool{showframe}{#1}}%
+\define@key{Gm}{showcrop}[true]{\Gm@setbool{showcrop}{#1}}%
+\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}%
+\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}%
+\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}%
+\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}%
+\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
+ \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
+ \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}%
+\def\Gm@process{%
+ \ifGm@pass
+ \Gm@restore@org
+ \else
+ \Gm@@process
+ \fi}%
+\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}%
+ \setlength\textwidth{\Gm@width}%
+ \setlength\textheight{\Gm@height}%
+ \setlength\topmargin{\Gm@tmargin}%
+ \setlength\oddsidemargin{\Gm@lmargin}%
+ \addtolength\oddsidemargin{-1\Gm@truedimen in}%
+ \ifGm@includemp
+ \advance\textwidth-\Gm@wd@mp
+ \advance\oddsidemargin\Gm@odd@mp
+ \fi
+ \if@mparswitch
+ \setlength\evensidemargin{\Gm@rmargin}%
+ \addtolength\evensidemargin{-1\Gm@truedimen in}%
+ \ifGm@includemp
+ \advance\evensidemargin\Gm@even@mp
+ \fi
+ \else
+ \evensidemargin\oddsidemargin
+ \fi
+ \advance\oddsidemargin\Gm@bindingoffset
+ \addtolength\topmargin{-1\Gm@truedimen in}%
+ \ifGm@includehead
+ \addtolength\textheight{-\headheight}%
+ \addtolength\textheight{-\headsep}%
+ \else
+ \addtolength\topmargin{-\headheight}%
+ \addtolength\topmargin{-\headsep}%
+ \fi
+ \ifGm@includefoot
+ \addtolength\textheight{-\footskip}%
+ \fi
+ \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
+ \advance\oddsidemargin\Gm@layouthoffset%
+ \advance\evensidemargin\Gm@layouthoffset%
+ \advance\topmargin\Gm@layoutvoffset%
+ \addtolength\Gm@layoutwidth{\Gm@bindingoffset}%
+ }% end of \Gm@@process
+\def\Gm@detectdriver{%
+ \ifx\Gm@driver\@empty
+ \typeout{*geometry* driver: auto-detecting}%
+ \ifpdf
+ \Gm@setdriver{pdftex}%
+ \else
+ \Gm@setdriver{dvips}%
+ \fi
+ \ifvtex
+ \Gm@setdriver{vtex}%
+ \fi
+ \ifxetex
+ \Gm@setdriver{xetex}
+ \fi
+ \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}%
+\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}%
+\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}%
+\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%
+ }}%
+\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}}%
+\def\Gm@setkeys{\setkeys{Gm}}%
+\def\Gm@processconfig{%
+ \let\Gm@origExecuteOptions\ExecuteOptions
+ \let\ExecuteOptions\Gm@setkeys
+ \InputIfFileExists{geometry.cfg}{}{}
+ \let\ExecuteOptions\Gm@origExecuteOptions}%
+\Gm@save
+\edef\Gm@restore@org{\Gm@restore}%
+\Gm@initall
+\Gm@processconfig
+\ProcessOptionsKV[c]{Gm}%
+\Gm@setdefaultpaper
+\ProcessOptionsKV[p]{Gm}%
+\Gm@process
+\AtBeginDocument{%
+ \Gm@savelength{paperwidth}%
+ \Gm@savelength{paperheight}%
+ \edef\Gm@restore@org{\Gm@restore}%
+ \ifGm@resetpaper
+ \edef\Gm@pw{\Gm@orgpw}%
+ \edef\Gm@ph{\Gm@orgph}%
+ \else
+ \edef\Gm@pw{\the\paperwidth}%
+ \edef\Gm@ph{\the\paperheight}%
+ \fi
+ \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
+ \Gm@detectdriver
+ \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
+ \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
+ \ifx\Gm@driver\Gm@vtex
+ \@ifundefined{mediawidth}{}{%
+ \mediawidth=\paperwidth
+ \mediaheight=\paperheight}%
+ \ifvtexdvi
+ \AtBeginDvi{\special{papersize=\the\paperwidth,\the\paperheight}}%
+ \fi
+ \fi
+ \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
+ \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
+ \@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
+ \Gm@save
+ \edef\Gm@restore@pkg{\Gm@restore}%
+ \ifGm@verbose\ifGm@pass\else\Gm@checkmp\fi\fi
+ \Gm@showparams{preamble}%
+ \let\Gm@pw\relax
+ \let\Gm@ph\relax
+ }% end of \AtBeginDocument
+\newcommand{\geometry}[1]{%
+ \Gm@clean
+ \setkeys{Gm}{#1}%
+ \Gm@process}%
+\@onlypreamble\geometry
+\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}}%
+\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}}%
+\newcommand{\restoregeometry}{%
+ \clearpage
+ \Gm@restore@pkg
+ \Gm@changelayout}%
+\newcommand*{\savegeometry}[1]{%
+ \Gm@save
+ \expandafter\edef\csname Gm@restore@@#1\endcsname{\Gm@restore}}%
+\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}}%
+\endinput
+%%
+%% End of file `geometry.sty'.