CTEX - 在线文档 - TeX/LaTeX 常用宏包

 

geometry

 

在用 LaTeX 排版时,常常会遇到 LaTeX 预先设定的页面式样不符合要求的情况,这时就得自己来设计。然而,在 LaTeX 中设定页面上各个区域的大小并不是一件轻易而举的事,需要自己计算并加以调节这些参数才行。举例来说,要想使正文区宽为 8in,高为 11in 并位于页面的中央,需要设定如下的命令:

       \usepackage{calc} 
              \setlength\textwidth{8in} 
              \setlength\textheight{11in} 
              \setlength\oddsidemargin{(\paperwidth-\textwidth)/2 - 1in}
              \setlength\topmargin{(\paperheight-\textheight 
                                   -\headheight-\headsep-\footskip)/2 - 1in}. 
      

如果不使用 calc 宏包,上面的例子还需要设定更多的参数才能得到同样的结果。

geometry 宏包提供了简单方便的设置页面参数的命令,可以根据你所提供的参数对页面的所有度量参数自动加以计算、调节,很容易地得到你想要的结果。如上面的例子就可以由一条命令来得到:

       \usepackage[body={8in,11in}]{geometry}

使用 geometry 宏包还可以轻松设定每页页边的空白区域的大小:

       \usepackage[margin=1.5in]{geometry} 

下面是在使用 geometry 时用到的一些页面度量参数:

Parts Horizontal Vertical
paper paperwidth paperheight
total-body width or totalwidth height or totalheight
body textwidth textheight
left margin left or lmargin ——
right margin right or rmargin ——
top margin —— top or tmargin
bottom margin —— bottom or bmargin
head —— headheight and headsep
foot —— footskip
marginal notes marginparwidth and marginparsep ——

它们之间的关系如下图所示:

显而易见,

paperwidth =left +width +right
paperheight =top +height +bottom

width :=textwidth (+marginparsep +marginparwidth)
height :=textheight +headheight +headsep +footskip

geometry 宏包除了识别标准的 LaTeX 式样参数如 landscape,portrait,twoside,a4paper 等,还定义了以下几种页面模式:

Modes 效果
nohead 设定 headheight=0pt, headsep=0pt
nofoot 设定 footskip=0pt
noheadfoot 等价于 nohead + nofoot
includemp 在确定 width 的时候要将页边的空白和边注区考虑在内,即:
width :=textwidth +marginparsep +marginparwidth
reversemp 将边注放在页面的左侧空白处,若没有设定 includemp=false,则设 includemp=true。 reversemarginpar 将导致相同的效果。

下面是上述几种模式的图示:

在使用 geometry 宏包时可以有两种方法来设置页面式样。一是直接将页面参数作为 \usepackage 的选项传递给 geometry ,另一种是使用 \geometry 宏命令。如无特殊需要, 一般这些设置都要放在 LaTeX 文件的导言区中,即 \begin{document} 之前。例如:

\usepackage[height=10in,a5paper,hmargin={3cm,0.8in}]{geometry}

\uspackage{geometry}
\geometry{height=10in,a5paper,hmargin={3cm,0.8in}}

是等价的。 另外,多个选项之间需用逗号隔开,但并不限制中间有分行,只要没有出现空行就行。选项之间的空格也将被忽略,而各个选项出现的先后 顺序大多数情况下对最终的结果没有影响。并允许多次使用 \geometry 命令。例如:
 \usepackage[ a5paper , hmargin = { 3cm,
                                .8in } , height
                         = 10in ]{geometry} 
      
 \usepackage[height=10in,a5paper,hmargin={3cm,0.8in}]{geometry} 
      
  \usepackage[a5paper,hmargin={3cm,0.8in},height=10in]{geometry} 
      
  \usepackage[a5paper]{geometry}
                \geometry{hmargin={3cm,0.8in},height=8in}
                \geometry{height=10in}.

结果是完全一致的。geometry 宏包还提供了很多选项,是的使用起来更为方便。对于这些选项的详细的使用说明可参考该宏包所带的用户手册(英文版,PDF 格式)

Copyright©2002- CTEX.ORG, All Rights Reserved
版权所有 CTEX.ORG