📄 geometry.sty
字号:
\ifnum\@tempcnta=\@ne \setkeys{Gm}{#3=\Gm@value}% \fi}%\@onlypreamble\Gm@branch\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}}%\@onlypreamble\Gm@magtooffset\def\Gm@setafter#1#2{% \let\Gm@len=\relax\let\Gm@td=\relax \edef\addtolist{\noexpand\Gm@dimlist=% {\the\Gm@dimlist \Gm@len{#1}{#2}}}\addtolist}%\@onlypreamble\Gm@setafter\def\Gm@processdimlist{% \def\Gm@td{\Gm@truedimen}% \def\Gm@len##1##2{\setlength{##1}{##2}}% \the\Gm@dimlist}%\@onlypreamble\Gm@processdimlist\def\Gm@setpaper(#1,#2)#3{% \let\Gm@td\relax \Gm@setafter\paperwidth{#1\Gm@td #3}% \Gm@setafter\paperheight{#2\Gm@td #3}% \ifGm@landscape\Gm@sworienttrue\else\Gm@sworientfalse\fi}%\@onlypreamble\Gm@setpaper\def\Gm@chpaper{\@nameuse{Gm@\Gm@paper}}%\@onlypreamble\Gm@chpaper\@namedef{Gm@a0paper}{\Gm@setpaper(841,1189){mm}}%\@namedef{Gm@a1paper}{\Gm@setpaper(595,841){mm}}%\@namedef{Gm@a2paper}{\Gm@setpaper(420,595){mm}}%\@namedef{Gm@a3paper}{\Gm@setpaper(297,420){mm}}%\@namedef{Gm@a4paper}{\Gm@setpaper(210,297){mm}}%\@namedef{Gm@a5paper}{\Gm@setpaper(149,210){mm}}%\@namedef{Gm@a6paper}{\Gm@setpaper(105,149){mm}}%\@namedef{Gm@b0paper}{\Gm@setpaper(1000,1414){mm}}%\@namedef{Gm@b1paper}{\Gm@setpaper(707,1000){mm}}%\@namedef{Gm@b2paper}{\Gm@setpaper(500,707){mm}}%\@namedef{Gm@b3paper}{\Gm@setpaper(353,500){mm}}%\@namedef{Gm@b4paper}{\Gm@setpaper(250,353){mm}}%\@namedef{Gm@b5paper}{\Gm@setpaper(176,250){mm}}%\@namedef{Gm@b6paper}{\Gm@setpaper(125,176){mm}}%\@namedef{Gm@letterpaper}{\Gm@setpaper(8.5,11){in}}%\@namedef{Gm@legalpaper}{\Gm@setpaper(8.5,14){in}}%\@namedef{Gm@executivepaper}{\Gm@setpaper(7.25,10.5){in}}%\@namedef{Gm@screen}{\Gm@setpaper(225,180){mm}}%\define@key{Gm}{paper}{\setkeys{Gm}{#1}}%\let\KV@Gm@papername\KV@Gm@paper\define@key{Gm}{a0paper}[true]{\def\Gm@paper{a0paper}\Gm@chpaper}%\define@key{Gm}{a1paper}[true]{\def\Gm@paper{a1paper}\Gm@chpaper}%\define@key{Gm}{a2paper}[true]{\def\Gm@paper{a2paper}\Gm@chpaper}%\define@key{Gm}{a3paper}[true]{\def\Gm@paper{a3paper}\Gm@chpaper}%\define@key{Gm}{a4paper}[true]{\def\Gm@paper{a4paper}\Gm@chpaper}%\define@key{Gm}{a5paper}[true]{\def\Gm@paper{a5paper}\Gm@chpaper}%\define@key{Gm}{a6paper}[true]{\def\Gm@paper{a6paper}\Gm@chpaper}%\define@key{Gm}{b0paper}[true]{\def\Gm@paper{b0paper}\Gm@chpaper}%\define@key{Gm}{b1paper}[true]{\def\Gm@paper{b1paper}\Gm@chpaper}%\define@key{Gm}{b2paper}[true]{\def\Gm@paper{b2paper}\Gm@chpaper}%\define@key{Gm}{b3paper}[true]{\def\Gm@paper{b3paper}\Gm@chpaper}%\define@key{Gm}{b4paper}[true]{\def\Gm@paper{b4paper}\Gm@chpaper}%\define@key{Gm}{b5paper}[true]{\def\Gm@paper{b5paper}\Gm@chpaper}%\define@key{Gm}{b6paper}[true]{\def\Gm@paper{b6paper}\Gm@chpaper}%\define@key{Gm}{letterpaper}[true]{\def\Gm@paper{letterpaper}\Gm@chpaper}%\define@key{Gm}{legalpaper}[true]{\def\Gm@paper{legalpaper}\Gm@chpaper}%\define@key{Gm}{executivepaper}[true]{\def\Gm@paper{executivepaper}% \Gm@chpaper}%\define@key{Gm}{screen}[true]{\def\Gm@paper{screen}\Gm@chpaper}%\define@key{Gm}{paperwidth}{% \Gm@setafter\paperwidth{#1}\def\Gm@paper{user defined}}%\define@key{Gm}{paperheight}{% \Gm@setafter\paperheight{#1}\def\Gm@paper{user defined}}%\define@key{Gm}{papersize}{\Gm@branch{#1}{paperwidth}{paperheight}}%\define@key{Gm}{landscape}[true]{\Gm@doifelse{landscape}{#1}% {\ifGm@landscape\else\Gm@landscapetrue\Gm@reverse{sworient}\fi}% {\ifGm@landscape\Gm@landscapefalse\Gm@reverse{sworient}\fi}}%\define@key{Gm}{portrait}[true]{\Gm@doifelse{portrait}{#1}% {\ifGm@landscape\Gm@landscapefalse\Gm@reverse{sworient}\fi}% {\ifGm@landscape\else\Gm@landscapetrue\Gm@reverse{sworient}\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@setafter\Gm@bindingoffset{#1}}%\define@key{Gm}{headheight}{\Gm@setafter\headheight{#1}}%\define@key{Gm}{headsep}{\Gm@setafter\headsep{#1}}%\define@key{Gm}{footskip}{\Gm@setafter\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@setafter\headheight\z@\Gm@setafter\headsep\z@}{}}%\define@key{Gm}{nofoot}[true]{\Gm@doifelse{nofoot}{#1}% {\Gm@setafter\footskip\z@}{}}%\define@key{Gm}{noheadfoot}[true]{\Gm@doifelse{noheadfoot}{#1}% {\Gm@setafter\headheight\z@\Gm@setafter\headsep \z@\Gm@setafter\footskip\z@}{}}%\define@key{Gm}{footnotesep}{\Gm@setafter{\skip\footins}{#1}}%\define@key{Gm}{marginparwidth}{\ifGm@compatii\Gm@includemptrue\fi \Gm@setafter\marginparwidth{#1}}%\let\KV@Gm@marginpar\KV@Gm@marginparwidth\define@key{Gm}{marginparsep}{\ifGm@compatii\Gm@includemptrue\fi \Gm@setafter\marginparsep{#1}}%\define@key{Gm}{nomarginpar}[true]{\Gm@doifelse{nomarginpar}{#1}% {\Gm@setafter\marginparwidth\z@\Gm@setafter\marginparsep\z@}{}}%\define@key{Gm}{columnsep}{\Gm@setafter\columnsep{#1}}%\define@key{Gm}{hoffset}{\Gm@setafter\hoffset{#1}}%\define@key{Gm}{voffset}{\Gm@setafter\voffset{#1}}%\define@key{Gm}{offset}{\Gm@branch{#1}{hoffset}{voffset}}%\define@key{Gm}{twocolumn}[true]{% \Gm@doif{twocolumn}{#1}{\csname @twocolumn\Gm@bool\endcsname}}%\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}{\edef\@@tempa{#1}% \ifx\@@tempa\@empty\let\Gm@driver\@empty\else\setkeys{Gm}{#1}\fi}%\define@key{Gm}{dvips}[true]{% \Gm@doifelse{dvips}{#1}{\Gm@setdriver{dvips}}{\Gm@unsetdriver{dvips}}}%\define@key{Gm}{dvipdfm}[true]{% \Gm@doifelse{dvipdfm}{#1}{\Gm@setdriver{dvipdfm}}{\Gm@unsetdriver{dvipdfm}}}%\define@key{Gm}{pdftex}[true]{% \Gm@doifelse{pdftex}{#1}{\Gm@setdriver{pdftex}}{\Gm@unsetdriver{pdftex}}}%\define@key{Gm}{vtex}[true]{% \Gm@doifelse{vtex}{#1}{\Gm@setdriver{vtex}}{\Gm@unsetdriver{vtex}}}%\define@key{Gm}{verbose}[true]{\Gm@setbool{verbose}{#1}}%\define@key{Gm}{reset}[true]{\Gm@doifelse{reset}{#1}% {\Gm@init\Gm@dorg\ProcessOptionsKV[c]{Gm}\Gm@setdefaultpaper}{}}%\define@key{Gm}{mag}{\mag=#1}%\define@key{Gm}{truedimen}[true]{\Gm@doifelse{truedimen}{#1}% {\let\Gm@truedimen\Gm@true}{\let\Gm@truedimen\@empty}}%\define@key{Gm}{pass}[true]{\Gm@setbool{pass}{#1}}%\define@key{Gm}{showframe}[true]{\Gm@setbool{showframe}{#1}}%\define@key{Gm}{compat2}[true]{% \Gm@doifelse{compat2}{#1}{\Gm@compatiitrue \setkeys{Gm}{scale={0.8,0.9},centering,includeheadfoot}}{}}%\define@key{Gm}{twosideshift}{% \ifGm@compatii\@twosidetrue\@mparswitchtrue\Gm@defbylen{twosideshift}{#1}% \else\Gm@warning{`twosideshift' is obsolete}% \fi}%\def\Gm@setdefaultpaper{% \ifx\Gm@paper\@undefined \Gm@setpaper(\strip@pt\paperwidth,\strip@pt\paperheight){pt}% \Gm@sworientfalse \fi}%\@onlypreamble\Gm@setdefaultpaper\def\Gm@checkpaper{% \ifdim\paperwidth>\p@\else \PackageError{geometry}{% You must set \string\paperwidth\space properly}{% Set your paper type (e.g., `a4paper' for A4) as a class option^^J% or as a geometry package option.}% \fi \ifdim\paperheight>\p@\else \PackageError{geometry}{% You must set \string\paperheight\space properly}{% Set your paper type (e.g., `a4paper' for A4) as a class option^^J% or as a geometry package option.}% \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 would fall off the page.^^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 would fall off the page.^^J \@spaces Add \the\@tempdimc\space and more to the right margin}% \fi \fi \fi}%\@onlypreamble\Gm@checkmp\def\Gm@checkdrivers{% \ifx\pdfpagewidth\@undefined\else \ifnum\pdfoutput=\@ne \Gm@setdriver{pdftex}% \fi \fi \ifx\VTeXversion\@undefined\else \ifnum\OpMode=\@ne \Gm@setdriver{vtex}% \else \ifnum\OpMode=\tw@ \Gm@setdriver{vtex}% \fi \fi \fi \ifx\Gm@driver\Gm@dvips \Gm@specialtrue \else \ifx\Gm@driver\Gm@dvipdfm \Gm@specialtrue \fi \fi}%\@onlypreamble\Gm@checkdrivers\def\Gm@mpfix{% \@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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -