我们有
\paperwidth
\pdfpagewidth
然后
\paperheight
\pdfpageheight
我的理解是它们都是指物理页面尺寸。请纠正我的理解和/或提供必要的背景信息。
- 有人能告诉我为什么做出这样的区分吗?
- 为什么 TikZ 使用其中一个而不是另一个?
- 这和 有关系吗
xdvipdfmx
? - 使用哪种编译器有区别吗?
有关的
答案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 驱动程序来配置页面大小。latex
dvips
必须pdftex
按照 PDF 格式的要求设置页面尺寸,并将值转换为 LaTeX 格式(如\pdfpageheight
和宽度)。要真正改变尺寸,您可以\pdfpageheight
稍后调整(或宽度);调整\paperheight
是不够的。因此引入了 pdf 来真正改变输出。
因此这与 无关xdvipdfmx
,但例如 XeTeX 理解 pdf 命令以实现兼容性。是的,正如您在上面看到的,编译器之间存在差异。
另一个帖子中唯一没有回答的问题是 TikZ 问题。但 TikZ 为何选择一个值而不是另一个值,应该是与其他引擎的兼容性问题。尤其是那些不遵守 pdf 命令的引擎。