diff options
Diffstat (limited to 'doc/groff.html.node/Page-Geometry.html')
-rw-r--r-- | doc/groff.html.node/Page-Geometry.html | 140 |
1 files changed, 140 insertions, 0 deletions
diff --git a/doc/groff.html.node/Page-Geometry.html b/doc/groff.html.node/Page-Geometry.html new file mode 100644 index 0000000..1486533 --- /dev/null +++ b/doc/groff.html.node/Page-Geometry.html @@ -0,0 +1,140 @@ +<!DOCTYPE html> +<html> +<!-- Created by GNU Texinfo 7.0.3, https://www.gnu.org/software/texinfo/ --> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> +<!-- This manual documents GNU troff version 1.23.0. + +Copyright © 1994-2023 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with no +Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A +copy of the license is included in the section entitled "GNU Free +Documentation License". --> +<title>Page Geometry (The GNU Troff Manual)</title> + +<meta name="description" content="Page Geometry (The GNU Troff Manual)"> +<meta name="keywords" content="Page Geometry (The GNU Troff Manual)"> +<meta name="resource-type" content="document"> +<meta name="distribution" content="global"> +<meta name="Generator" content="makeinfo"> +<meta name="viewport" content="width=device-width,initial-scale=1"> + +<link href="index.html" rel="start" title="Top"> +<link href="Request-Index.html" rel="index" title="Request Index"> +<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> +<link href="GNU-troff-Reference.html" rel="up" title="GNU troff Reference"> +<link href="Measurements.html" rel="next" title="Measurements"> +<link href="Text.html" rel="prev" title="Text"> + + +</head> + +<body lang="en"> +<div class="section-level-extent" id="Page-Geometry"> +<div class="nav-panel"> +<p> +Next: <a href="Measurements.html" accesskey="n" rel="next">Measurements</a>, Previous: <a href="Text.html" accesskey="p" rel="prev">Text</a>, Up: <a href="GNU-troff-Reference.html" accesskey="u" rel="up">GNU <code class="code">troff</code> Reference</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Request-Index.html" title="Index" rel="index">Index</a>]</p> +</div> +<hr> +<h3 class="section" id="Page-Geometry-1">5.2 Page Geometry</h3> +<a class="index-entry-id" id="index-page_002c-geometry-of"></a> +<a class="index-entry-id" id="index-geometry_002c-page"></a> + +<p><code class="code">roff</code> systems format text under certain assumptions about the size +of the output medium, or page. For the formatter to correctly break a +line it is filling, it must know the line length, which it derives from +the page width (see <a class="pxref" href="Line-Layout.html">Line Layout</a>). For it to decide whether to write +an output line to the current page or wait until the next one, it must +know the page length (see <a class="pxref" href="Page-Layout.html">Page Layout</a>). +</p> +<a class="index-entry-id" id="index-device-resolution"></a> +<a class="index-entry-id" id="index-resolution_002c-device"></a> +<a class="index-entry-id" id="index-basic-units"></a> +<a class="index-entry-id" id="index-units_002c-basic"></a> +<a class="index-entry-id" id="index-machine-units"></a> +<a class="index-entry-id" id="index-units_002c-machine"></a> +<p>A device’s <em class="dfn">resolution</em> converts practical units like inches or +centimeters to <em class="dfn">basic units</em>, a convenient length measure for the +output device or file format. The formatter and output driver use basic +units to reckon page measurements. The device description file defines +its resolution and page dimensions (see <a class="pxref" href="DESC-File-Format.html"><samp class="file">DESC</samp> File Format</a>). +</p> +<a class="index-entry-id" id="index-page"></a> +<p>A <em class="dfn">page</em> is a two-dimensional structure upon which a <code class="code">roff</code> +system imposes a rectangular coordinate system with its upper left +corner as the origin. Coordinate values are in basic units and increase +down and to the right. Useful ones are therefore always positive and +within numeric ranges corresponding to the page boundaries. +</p> +<a class="index-entry-id" id="index-drawing-position"></a> +<a class="index-entry-id" id="index-position_002c-drawing"></a> +<p>While the formatter (and, later, output driver) is processing a page, it +keeps track of its <em class="dfn">drawing position</em>, which is the location at +which the next glyph will be written, from which the next motion will be +measured, or where a geometric object will commence rendering. +<a class="index-entry-id" id="index-text-baseline"></a> +<a class="index-entry-id" id="index-baseline_002c-text"></a> +Notionally, glyphs are drawn from the text baseline upward and to the +right.<a class="footnote" id="DOCF33" href="groff.html_fot.html#FOOT33"><sup>33</sup></a> The <em class="dfn">text baseline</em> is a (usually invisible) line upon +which the glyphs of a typeface are aligned. A glyph therefore +“starts” at its bottom-left corner. If drawn at the origin, a typical +letter glyph would lie partially or wholly off the page, depending on +whether, like “g”, it features a descender below the baseline. +</p> +<a class="index-entry-id" id="index-page-offset"></a> +<a class="index-entry-id" id="index-offset_002c-page"></a> +<p>Such a situation is nearly always undesirable. It is furthermore +conventional not to write or draw at the extreme edges of the page. +Therefore the initial drawing position of a <code class="code">roff</code> formatter is not +at the origin, but below and to the right of it. This rightward shift +from the left edge is known as the <em class="dfn">page +offset</em>.<a class="footnote" id="DOCF34" href="groff.html_fot.html#FOOT34"><sup>34</sup></a> The downward shift leaves room for a text output +line. +</p> +<p>Text is arranged on a one-dimensional lattice of text baselines from the +top to the bottom of the page. +<a class="index-entry-id" id="index-vertical-spacing"></a> +<a class="index-entry-id" id="index-spacing_002c-vertical"></a> +<a class="index-entry-id" id="index-vee"></a> +<em class="dfn">Vertical spacing</em> is the distance between adjacent text baselines. +Typographic tradition sets this quantity to 120% of the type size. The +initial drawing position is one unit of vertical spacing below the page +top. Typographers term this unit a <i class="slanted">vee</i>. +</p> +<a class="index-entry-id" id="index-page-break"></a> +<a class="index-entry-id" id="index-break_002c-page"></a> +<a class="index-entry-id" id="index-page-ejection"></a> +<a class="index-entry-id" id="index-ejection_002c-page"></a> +<p>Vertical spacing has an impact on page-breaking decisions. Generally, +when a break occurs, the formatter moves the drawing position to the +next text baseline automatically. If the formatter were already writing +to the last line that would fit on the page, advancing by one vee would +place the next text baseline off the page. Rather than let that happen, +<code class="code">roff</code> formatters instruct the output driver to eject the page, +start a new one, and again set the drawing position to one vee below the +page top; this is a <em class="dfn">page break</em>. +</p> +<p>When the last line of input text corresponds to the last output line +that fits on the page, the break caused by the end of input will also +break the page, producing a useless blank one. Macro packages keep +users from having to confront this difficulty by setting “traps” +(see <a class="pxref" href="Traps.html">Traps</a>); moreover, all but the simplest page layouts tend to +have headers and footers, or at least bear vertical margins larger than +one vee. +</p> + + +</div> +<hr> +<div class="nav-panel"> +<p> +Next: <a href="Measurements.html">Measurements</a>, Previous: <a href="Text.html">Text</a>, Up: <a href="GNU-troff-Reference.html">GNU <code class="code">troff</code> Reference</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Request-Index.html" title="Index" rel="index">Index</a>]</p> +</div> + + + +</body> +</html> |