我使用包为和类layout
生成了页面布局图。令人好奇的是,尽管值不同,但这两个布局的图案却完全相同。有一件事我不明白,那就是垂直和水平虚线离页面边界很远。我对此有两个问题:article
amsart
\hoffset
\voffset
- 这两条虚线代表什么?
- 它和文本区域有什么关系?
- 与控制身体区域宽度的另一个参数是否是多余的
\textwidth
?
例子
\documentclass[a4paper]{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage{layout}
\begin{document}
\layout
\end{document}
以下是班级布局article
。
答案1
两条线的交点是 TeX 开始新文档时坐标系的原点。x 轴在右侧,y 轴在底部。对于 PostScript,它位于页面的左下方。\hoffset
并且\voffset
只有当您的打印机出现问题(实际上是由于硬件问题导致打印页面向左/右或顶部/底部移动)时才有意义。
使用包geometry
或者typearea
您可以定义文本区域然后包将完成剩下的工作...
答案2
两条虚线表示 TeX 中硬连线的固定偏移量:距左侧一英寸,距顶部一英寸。
\hoffset
可以通过更改或来修改位置\voffset
。定位文本块左边距和上边距的测量必须考虑这个固定偏移量,因此对于奇数页(或任何样式的页面oneside
),文本块定位在
1in + \hoffset + \oddsidemargin
从页面左边框开始。在偶数页上\evensidemargin
改为使用。同样,文本块的顶部位于
1in + \voffset + \topmargin + \headheight + \headsep
第一条基线位于
1in + \voffset + \topmargin + \headheight + \headsep + \topskip
从页面顶部边框开始。
请注意,不建议更改\hoffset
和\voffset
定位文本块:这两个参数仅应在打印机驱动程序错误解释指令时用于微调(现在这种情况应该不会经常发生)。
参数\textwidth
和\textheight
确定文本块的区域。无法直接指定文本块的右边框或下边框到相应页面边框的距离。
答案3
\hoffset
回到\voffset
纯 TeX 的时代。Knuth 在 TeXbook 中只是简要地提到了它们:
p.251 “如果您希望输出在最终打印时定位不同,则可以通过为\hoffset
和赋予非零值来抵消它\voffset
。例如
\hoffset=.5in \voffset=1.5in
将会使输出向其正常位置右侧移动半英寸,并向下移动 1.5 英寸。
p.274 A<dimen parameter>
是下列之一:
...
\hoffset
(水平偏移量\shipout
)
\voffset
(垂直偏移量\shipout
)
p.342 以下是您可能希望为除 和 之外的最重要的参数赋予新值的\hsize
示例\vsize
:
...
\hoffset=1.5in
(所有输出都将向右移动一英寸半。)
回到布局,我猜测虚线距离页面边框偏移 1 英寸,因为这些是原始 TeX 中的默认边距。
答案4
其他人已经谈到了\hoffset
和\voffset
。还有一个layouts
包(警告,由我编写)可以生成当前文档布局的正确尺寸图表并列出值。例如:
\documentclass{book}
\usepackage{layouts}
\begin{document}
\begin{figure}
\currentpage % grab the current layout values
\oddpagelayouttrue % show odd page layout
\pagedesign % print the diagram
\caption{The book odd page layout}
\end{figure}
\end{document}
您可以使用此包尝试页面布局设计。它还可以显示段落、浮动、列表、节标题、脚注以及目录等的布局。