📄 geometry.sty
字号:
%%%% This is file `geometry.sty',%% generated with the docstrip utility.%%%% The original source files were:%%%% geometry.dtx (with options: `package')%% %% File: geometry.dtx Copyright (C) 1996-2002 Hideo Umeki%% (hideo.umeki@toshiba.co.jp)%%%% This package may be distributed under the terms of the LaTeX%% Project Public License, as described in lppl.txt in the base%% LaTeX distribution, either version 1.2 or (at your option)%% any later version.%%\NeedsTeXFormat{LaTeX2e}%\ProvidesPackage{geometry}[2002/07/08 v3.2 Page Geometry]\RequirePackage{keyval}%\newif\ifGm@verbose\newif\ifGm@landscape\newif\ifGm@includehead\newif\ifGm@includefoot\newif\ifGm@includemp\newif\ifGm@hbody\newif\ifGm@vbody\newif\ifGm@heightrounded\newif\ifGm@showframe\newif\ifGm@compatii\newif\ifGm@special\newif\ifGm@sworient\Gm@sworientfalse\newif\ifGm@pass\Gm@passfalse\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\newtoks\Gm@dimlist\def\Gm@warning#1{\PackageWarningNoLine{geometry}{#1}}%\@onlypreamble\Gm@warning\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\@onlypreamble\Gm@Dhratio\@onlypreamble\Gm@Dhratiotwo\@onlypreamble\Gm@Dvratio\def\Gm@Dhscale{0.7}%\def\Gm@Dvscale{0.7}%\@onlypreamble\Gm@Dhscale\@onlypreamble\Gm@Dvscale\def\Gm@dvips{dvips}%\def\Gm@dvipdfm{dvipdfm}%\def\Gm@pdftex{pdftex}%\def\Gm@vtex{vtex}%\@onlypreamble\Gm@dvips\@onlypreamble\Gm@dvipdfm\@onlypreamble\Gm@pdftex\@onlypreamble\Gm@vtex\def\Gm@true{true}%\def\Gm@false{false}%\edef\Gm@dorg{% \noexpand\setlength{\paperwidth}{\the\paperwidth}% \noexpand\setlength{\paperheight}{\the\paperheight}% \noexpand\setlength{\textheight}{\the\textheight}% \noexpand\setlength{\textwidth}{\the\textwidth}% \noexpand\setlength{\oddsidemargin}{\the\oddsidemargin}% \noexpand\setlength{\evensidemargin}{\the\evensidemargin}% \noexpand\setlength{\topmargin}{\the\topmargin}% \noexpand\setlength{\headsep}{\the\headsep}% \noexpand\setlength{\headheight}{\the\headheight}% \noexpand\setlength{\footskip}{\the\footskip}% \noexpand\setlength{\marginparwidth}{\the\marginparwidth}% \noexpand\setlength{\marginparsep}{\the\marginparsep}% \noexpand\setlength{\columnsep}{\the\columnsep}% \noexpand\setlength{\skip\footins}{\the\skip\footins}% \noexpand\setlength{\hoffset}{\the\hoffset}% \noexpand\setlength{\voffset}{\the\voffset}% \expandafter\noexpand\csname @twocolumn\if@twocolumn \Gm@true\else\Gm@false\fi\endcsname \expandafter\noexpand\csname @twoside\if@twoside \Gm@true\else\Gm@false\fi\endcsname \expandafter\noexpand\csname @mparswitch\if@mparswitch \Gm@true\else\Gm@false\fi\endcsname \expandafter\noexpand\csname @reversemargin\if@reversemargin \Gm@true\else\Gm@false\fi\endcsname \noexpand\mag=\the\mag}%\@onlypreamble\Gm@dorg\def\Gm@init{% \Gm@hbodyfalse\Gm@vbodyfalse \Gm@includeheadfalse\Gm@includefootfalse\Gm@includempfalse \Gm@landscapefalse\Gm@compatiifalse\Gm@heightroundedfalse \Gm@verbosefalse\Gm@showframefalse\Gm@specialfalse \let\Gm@paper\@undefined \let\Gm@width\@undefined\let\Gm@height\@undefined \let\Gm@textwidth\@undefined\let\Gm@textheight\@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 \let\Gm@driver\@empty\let\Gm@truedimen\@empty \Gm@bindingoffset\z@\Gm@dimlist={}}%\@onlypreamble\Gm@init\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}}%\@onlypreamble\Gm@setbool\@onlypreamble\Gm@setboolrev\@onlypreamble\Gm@@setbool\@onlypreamble\Gm@@setboolrev\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}}%\@onlypreamble\Gm@doif\@onlypreamble\Gm@doifelse\def\Gm@reverse#1{% \csname ifGm@#1\endcsname \csname Gm@#1false\endcsname\else\csname Gm@#1true\endcsname\fi}%\@onlypreamble\Gm@reverse\def\Gm@checkbool#1{#1: \csname ifGm@#1\endcsname true\else --\fi^^J}%\@onlypreamble\Gm@checkbool\def\Gm@defbylen#1#2{% \setlength\@tempdima{#2}% \expandafter\edef\csname Gm@#1\endcsname{\the\@tempdima}}%\def\Gm@defbycnt#1#2{% \setcounter{Gm@tempcnt}{#2}% \expandafter\edef\csname Gm@#1\endcsname{\the\value{Gm@tempcnt}}}%\@onlypreamble\Gm@defbylen\@onlypreamble\Gm@defbycnt\def\Gm@sep@ratio#1:#2{\@tempcnta=#1\@tempcntb=#2}%\@onlypreamble\Gm@set@ratio\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}}%\@onlypreamble\Gm@setbyratio\def\Gm@detiv#1#2#3#4{% determine #4. \expandafter\setlength\expandafter\@tempdima\expandafter {\csname paper#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}}%\@onlypreamble\Gm@detiv\def\Gm@detiiandiii#1#2#3{% determine #2 and #3. \expandafter\setlength\expandafter\@tempdima\expandafter {\csname paper#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 \divide\@tempdima\tw@ \@tempdimb=\@tempdima \else \@tempdimb=\@tempdima \expandafter\Gm@sep@ratio\Gm@mratio\relax \advance\@tempcntb\@tempcnta \ifnum\@tempcntb>\z@ \divide\@tempdima\@tempcntb \multiply\@tempdima\@tempcnta \advance\@tempdimb-\@tempdima \else \divide\@tempdima\tw@ \@tempdimb=\@tempdima \fi \fi \expandafter\edef\csname Gm@#2\endcsname{\the\@tempdima}% \expandafter\edef\csname Gm@#3\endcsname{\the\@tempdimb}}%\@onlypreamble\Gm@detiiandiii\def\Gm@detall#1#2#3#4{% \@tempcnta\z@ \edef\Gm@mratio{\@nameuse{Gm@#1marginratio}}% \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 \edef\Gm@width{\Gm@Dhscale\paperwidth}% \else \edef\Gm@height{\Gm@Dvscale\paperheight}% \fi \Gm@detiiandiii{#2}{#3}{#4}% \or\Gm@setbyratio[f]{#1}{#4}{#3}\Gm@detiv{#2}{#3}{#4}{#2}% \or\Gm@detiiandiii{#2}{#3}{#4}% \or\Gm@detiv{#2}{#2}{#4}{#3}% \or\Gm@setbyratio[b]{#1}{#3}{#4}\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}%\@onlypreamble\Gm@detall\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 \if@twoside \ifx\Gm@hmarginratio\Gm@Dhratiotwo \let\Gm@hmarginratio\@undefined \fi \else \ifx\Gm@hmarginratio\Gm@Dhratio \let\Gm@hmarginratio\@undefined \fi \fi}%\@onlypreamble\Gm@clean\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}%\@onlypreamble\Gm@parse@divide\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}%
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -