\pageheight 仅在布局包内?

\pageheight 仅在布局包内?

我有一个理解问题:只有在加载布局包后命令才可用\pageheight吗?\pagewidth

有没有更简单的方法来改变页面的高度和宽度?

我发现很难弄清楚,这是否只是我的错误,或者某些东西不起作用,我花了很多时间来弄清楚:“这是否解释得不太好,或者我只是太......无论如何?”。

答案1

页面大小参数的问题比较复杂。LaTeX2e 引入了以下参数

\paperwidth
\paperheight

以及用于设置纸张大小的文档类别选项。以前,分页参数是针对美国信纸量身定制的,而在欧洲,通常使用诸如 之类的文档样式选项a4.sty

这实际上对输出的影响,在 DVI 格式时代,这一影响被推迟到打印驱动程序。通常,还必须将一个选项传递给dvips以选择纸张大小(或在 的配置文件中设置它dvips)。

pdftex随着PDF格式的出现,出现了一个问题:必须提前知道要使用哪种纸张格式。因此引入了新的参数\pdfpagewidth和。它们是在创建格式时设置的。事实上,TeX Live 和 MiKTeX 具有在安装时设置的首选项,用于选择“正常”纸张大小。这已经\pdfpageheightpdflatex对 LaTeX 默认纸张大小的影响,它始终是letterpaper,因此a4paper选项必须必须具体说明。

pdflatex因此,使用 TeX Live创建的 PDF (其中 A4 是默认纸张尺寸)在letterpaper指定文档类选项时也将输出 A4 纸张格式。

可以通过将纸张尺寸明确传递给参数来覆盖默认设置,例如

\setlength{\pdfpagewidth}{8.5in}
\setlength{\pdfpageheight}{11in}

适用于美国信纸。不过更好的方法是

\usepackage[letterpaper,pass]{geometry}

其中pass选项告诉包只设置纸张大小(即上述两个参数的值)。包知道排版引擎何时为pdflatexlatexxelatexlualatex执行正确的操作。

标准 LaTeX 课程对纸张尺寸的了解有限:

letterpaper a4paper a5paper b5paper legalpaper executivepaper

同时geometry还知道更多。还memoir知道许多纸张格式;此类和geometry包允许指定任意纸张大小(在 TeX 的限制下,它不能管理大于 16384pt 的尺寸,略小于 19 英尺或 6 米)。

因此,设置纸张格式的最佳方式是使用geometry(或者memoir,具有不同模型):

\usepackage{geometry}
\geometry{paperwidth=18cm, paperheight=24cm}

可能添加其他选项来设置边距宽度等;请参阅手册。还可以指定拼版:如果我们想将上述格式打印在 A4 纸上以供以后裁剪,可以说

\usepackage{geometry}
\geometry{a4paper, layoutwidth=18cm, layoutheight=24cm}

答案2

控制页面尺寸的通常长度被称为\paperwidth和,\paperheight原因我不太清楚(特别是因为它们实际上不是库存纸尺寸,而是尺寸)。您可以直接设置它们,但这很可能会破坏您的页面布局。正如 Peter 所提到的,更改各种布局相关长度(不仅是文档范围,而且在较新的版本中也包括文档的部分内容)的常用方法是使用geometry软件包,并且它具有非常好的文档。它带有geometry一种自动完成功能,您只需更改一些参数,其余参数就会自动设置。

还有一个typearea属于 komascript 但可以独立使用的包。它提供了一种使用网格布局快速设置美观字体区域的方法。

memoir在文档的第一部分( )中可以找到有关页面布局的很好的概述texdoc memman

相关内容