有关的

有关的

我们有

\paperwidth
\pdfpagewidth

然后

\paperheight
\pdfpageheight

我的理解是它们都是指物理页面尺寸。请纠正我的理解和/或提供必要的背景信息。

  • 有人能告诉我为什么做出这样的区分吗?
  • 为什么 TikZ 使用其中一个而不是另一个?
  • 这和 有关系吗xdvipdfmx
  • 使用哪种编译器有区别吗?

有关的

-\pageheight 仅在布局包内?

答案1

变量\paperheight\paperwidth是 LaTeX 正在“处理”的页面的大小:它期望有可供填充的区域。相反,\pdfpageheight\pdfpagewidth是正在生成的 PDF 的大小(库存的“物理”大小)。因此,两者需要一致才能获得布局良好的 PDF。

正如所指出的\pageheight 仅在布局包内?\paperheight/比原语早\paperwidth出现\pdf...一段时间。后者最初仅用于直接生成 PDF,与基于 DVI 的路由无关。如今,DVI 驱动程序(和 XeTeX)支持\pdfpageheight/ \pdfpagewidth,因此可以使用一对。但是,目前无法更改 LaTeX2e 中的名称/行为。(例如,如果没有该选项a4paper,标准\documentclass{article}LaTeX 文档将使用适合信纸的布局,即使生成的 PDF 是 A4 大小。)

答案2

因此,我们来总结一下另一篇文章中写的内容:\paperwidth并由LaTeX(旧时代)\paperheight引入。这些选项并不重要,因为仍然有 DVI 驱动程序来配置页面大小。latexdvips

必须pdftex按照 PDF 格式的要求设置页面尺寸,并将值转换为 LaTeX 格式(如\pdfpageheight和宽度)。要真正改变尺寸,您可以\pdfpageheight稍后调整(或宽度);调整\paperheight是不够的。因此引入了 pdf 来真正改变输出。

因此这与 无关xdvipdfmx,但例如 XeTeX 理解 pdf 命令以实现兼容性。是的,正如您在上面看到的,编译器之间存在差异。

另一个帖子中唯一没有回答的问题是 TikZ 问题。但 TikZ 为何选择一个值而不是另一个值,应该是与其他引擎的兼容性问题。尤其是那些不遵守 pdf 命令的引擎。

相关内容