[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Groff-commit] groff/contrib/mom ChangeLog NEWS om.tmac exampl...
From: |
Peter Schaffter |
Subject: |
[Groff-commit] groff/contrib/mom ChangeLog NEWS om.tmac exampl... |
Date: |
Wed, 30 Oct 2013 19:15:11 +0000 |
CVSROOT: /sources/groff
Module name: groff
Changes by: Peter Schaffter <PTPi> 13/10/30 19:15:11
Modified files:
contrib/mom : ChangeLog NEWS om.tmac
contrib/mom/examples: mom-pdf.mom
contrib/mom/momdoc: docelement.html docprocessing.html
headfootpage.html images.html letters.html
macrolist.html reserved.html toc.html
typesetting.html
Log message:
Expanded and improved float and tbl handling.
Fixes to AUTOLEAD, SMARTQUOTES, and CODE from patches supplied by
Robin Haberkorn.
Doc updates and revisions.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/groff/contrib/mom/ChangeLog?cvsroot=groff&r1=1.83&r2=1.84
http://cvs.savannah.gnu.org/viewcvs/groff/contrib/mom/NEWS?cvsroot=groff&r1=1.36&r2=1.37
http://cvs.savannah.gnu.org/viewcvs/groff/contrib/mom/om.tmac?cvsroot=groff&r1=1.78&r2=1.79
http://cvs.savannah.gnu.org/viewcvs/groff/contrib/mom/examples/mom-pdf.mom?cvsroot=groff&r1=1.2&r2=1.3
http://cvs.savannah.gnu.org/viewcvs/groff/contrib/mom/momdoc/docelement.html?cvsroot=groff&r1=1.41&r2=1.42
http://cvs.savannah.gnu.org/viewcvs/groff/contrib/mom/momdoc/docprocessing.html?cvsroot=groff&r1=1.44&r2=1.45
http://cvs.savannah.gnu.org/viewcvs/groff/contrib/mom/momdoc/headfootpage.html?cvsroot=groff&r1=1.25&r2=1.26
http://cvs.savannah.gnu.org/viewcvs/groff/contrib/mom/momdoc/images.html?cvsroot=groff&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/groff/contrib/mom/momdoc/letters.html?cvsroot=groff&r1=1.19&r2=1.20
http://cvs.savannah.gnu.org/viewcvs/groff/contrib/mom/momdoc/macrolist.html?cvsroot=groff&r1=1.22&r2=1.23
http://cvs.savannah.gnu.org/viewcvs/groff/contrib/mom/momdoc/reserved.html?cvsroot=groff&r1=1.44&r2=1.45
http://cvs.savannah.gnu.org/viewcvs/groff/contrib/mom/momdoc/toc.html?cvsroot=groff&r1=1.46&r2=1.47
http://cvs.savannah.gnu.org/viewcvs/groff/contrib/mom/momdoc/typesetting.html?cvsroot=groff&r1=1.32&r2=1.33
Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/groff/groff/contrib/mom/ChangeLog,v
retrieving revision 1.83
retrieving revision 1.84
diff -u -b -r1.83 -r1.84
--- ChangeLog 15 Sep 2013 03:10:35 -0000 1.83
+++ ChangeLog 30 Oct 2013 19:15:09 -0000 1.84
@@ -1,3 +1,7 @@
+* Wed Oct 30 2013
+
+o Expanded and improved float/tbl handling.
+
* Sat Sep 14 2013
o .TS/.TE extended to support multi-page tables with headers.
Index: NEWS
===================================================================
RCS file: /sources/groff/groff/contrib/mom/NEWS,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -b -r1.36 -r1.37
--- NEWS 29 Jan 2013 05:02:44 -0000 1.36
+++ NEWS 30 Oct 2013 19:15:09 -0000 1.37
@@ -5,6 +5,10 @@
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.
+Release 2.0-b
+-------------
+Improved and expanded float and tbl support.
+
Release 2.0-a
-------------
FORCE argument added to FLOAT; immediately breaks to a new page
Index: om.tmac
===================================================================
RCS file: /sources/groff/groff/contrib/mom/om.tmac,v
retrieving revision 1.78
retrieving revision 1.79
diff -u -b -r1.78 -r1.79
--- om.tmac 15 Sep 2013 03:10:35 -0000 1.78
+++ om.tmac 30 Oct 2013 19:15:09 -0000 1.79
@@ -23,9 +23,9 @@
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
-Version 2.0-a_1
----------------
-Antoine de St-Exupéry asserted that elegance in engineering is
+Version 2.1-b
+-------------
+Antoine de St-Exupéry asserted that elegance in engineering is
achieved not when there is nothing left to add, but when there is
nothing left to take away.
@@ -40,8 +40,9 @@
Thanks to everyone who has contributed suggestions and patches, and
to those whose GPL'd work has been plundered. Special thanks to
-Werner Lemberg (margin notes), Tadziu Hoffman (underlining), and
-Deri James (pdf integration).
+Werner Lemberg (margin notes), Tadziu Hoffman (underlining),
+Deri James (pdf integration), Robin Haberkorn (tbl integration and
+float management).
..
.\" %beginstrip%
\#
@@ -279,7 +280,7 @@
. nr #PAGE_WIDTH \\$1
. if !r#L_MARGIN .L_MARGIN \\n[.o]
. if !r#R_MARGIN .R_MARGIN 1i
-. if '\\*[.T]'pdf' \X'papersize=\\n[#PAGE_WIDTH]z,\\n[#PAGE_LENGTH]z'
+. if '\\*[.T]'pdf' \X'papersize=\\n[#PAGE_WIDTH]z,\\n[#PAGE_LENGTH]z'\c
.END
\#
\# L_MARGIN
@@ -385,7 +386,7 @@
\#
.MAC PAGELENGTH END
. pl \\$*
-. if '\\*[.T]'pdf' \X'papersize=\\n[#PAGE_WIDTH]z,\\n[#PAGE_LENGTH]z'
+. if '\\*[.T]'pdf' \X'papersize=\\n[#PAGE_WIDTH]z,\\n[#PAGE_LENGTH]z'\c
.END
\#
\# =====================================================================
@@ -614,20 +615,27 @@
\# <point size of type>
\# *Function:
\# Sets point size to user supplied value in scaled points.
-\# If #AUTO_LEAD is on, sets .vs to #AUTOLEAD_VALUE+#PT_SIZE.
+\# If #AUTO_LEAD is on, resets lead accordingly.
\# *Notes:
\# Must NOT use a unit of measure.
\#
.MAC PT_SIZE END
. if \\n[#PRINT_STYLE]=1 .return
. if \\n[#IGNORE] .return
-. nr #PT_SIZE_SET 1
. ps \\$1
-. if \\n[#AUTO_LEAD] \{\
-. ie \\n[#AUTOLEAD_FACTOR] .vs \\n[#PT_SIZE]u*\\n[#AUTOLEAD_VALUE]u/1000u
-. el .vs \\n[#PT_SIZE]u+\\n[#AUTOLEAD_VALUE]u
-. \}
. nr #PT_SIZE_IN_UNITS \\n[.ps]
+. ie '\\$0'DOC_PT_SIZE' \{\
+. if !\\n[#DOCS] .DOC_MACRO_ERROR \\$0
+. br
+. nr #NEW_DOC_PT_SIZE \\n[.ps]
+. if \\n[#DOC_AUTOLEAD] \{\
+. ie !\\n[#DOC_AUTOLEAD_FACTOR] .nr #AUTOLEADING \\n[#DOC_AUTOLEAD]
+. el .nr #AUTOLEADING \\n[.ps]*\\n[#DOC_AUTOLEAD]/1000-\\n[.ps]
+. nr #DOC_LEAD \\n[.ps]+\\n[#AUTOLEADING]
+. nr #RESET_TRAPS 1
+. \}
+. \}
+. el .if \\n[#AUTO_LEAD] .vs \\n[.ps]u+\\n[#AUTOLEADING]u
.END
\#
\# SIZE (inline)
@@ -662,9 +670,11 @@
. if \\n[#IGNORE] .return
. if \\n[#AUTO_LEAD] \{\
. rr #AUTO_LEAD
-. rr #AUTOLEAD_FACTOR
+. rr #AUTOLEAD_VALUE
+. rr #AUTOLEADING
. \}
. vs \\$1
+. if \\n[.t]<\\n[.v] 'bp
. if \\n[#TOP] \{\
. nr #TOP_BASELINE_ADJ \\n[.v]-\\n[#OLD_LEAD]
. sp -\\n[#TOP_BASELINE_ADJ]u
@@ -673,11 +683,6 @@
. \}
.END
\#
-.MAC RESET_LEAD END
-' vs
-. ch RESET_LEAD
-.END
-\#
\# AUTOLEAD
\# --------
\# *Argument:
@@ -695,16 +700,15 @@
.MAC AUTOLEAD END
. if \\n[#PRINT_STYLE]=1 .return
. if \\n[#IGNORE] .return
-. nr #AUTO_LEAD 1
+. nr #AUTO_LEAD 1 \" autolead on or off
. nr #OLD_LEAD \\n[.v]
-. nr #AUTOLEAD_VALUE (p;\\$1)
-. ie \\n[#NUM_ARGS]=2 \{\
-. if '\\$2'FACTOR' \{\
-. nr #AUTOLEAD_FACTOR 1
-. vs \\n[#PT_SIZE]u*\\n[#AUTOLEAD_VALUE]u/1000u
+. nr #AUTOLEAD_VALUE (p;\\$1) \" arg x 1000
+. ie '\\$2'FACTOR' \{\
+. if !\\n[#DOCS] .nr #DOC_AUTOLEAD_FACTOR \\n[#AUTOLEAD_VALUE] \" save
for DOC_PT_SIZE
+. nr #AUTOLEADING \\n[.ps]*\\n[#AUTOLEAD_VALUE]/1000-\\n[.ps]
. \}
-. \}
-. el .vs \\n[#PT_SIZE]u+\\n[#AUTOLEAD_VALUE]u
+. el .nr #AUTOLEADING \\n[#AUTOLEAD_VALUE]
+. vs \\n[.ps]u+\\n[#AUTOLEADING]u
. if \\n[#TOP] \{\
. nr #TOP_BASELINE_ADJ \\n[.v]-\\n[#OLD_LEAD]
. sp -\\n[#TOP_BASELINE_ADJ]u
@@ -1228,122 +1232,131 @@
\# *Arguments:
\# [ ,, ] | [ << ] | [ >> ] | <anything>
\# or
-\# [ DA | DE | ES | FR | IT | NL | NO | PT | SV ] | <anything>
+\# [ DA | DE | EN | ES | FR | IT | NL | NO | PT | SV ] | <anything>
\# *Function:
\# Turns smartquotes on (optionally with a quoting style from the
\# argument list, or off).
+\# If no quoting style is given, then EN (English) is used by default.
+\# If no quoting style is given and smart quotes have been turned off
+\# previously, the old quoting style will be restored.
\# *Notes:
\# The " character is read outside the macro when mom is
\# processed. The strings for open/close ($QUOTE<n>) are then
\# defined in the macro.
\#
.char " \\*[$QUOTE\\n[#OPEN_CLOSE]]\R'#OPEN_CLOSE (1-\\n[#OPEN_CLOSE])'
+.nr #SQ_ON 0
\#
.MAC SMARTQUOTES END
-. rr #ARGS_TO_SQ
-. if \\n[#RESTORE_SQ]=1 \{\
-. rr #RESTORE_SQ
-. ie '\\*[$RESTORE_SQ]'' \{\
-. ds $QUOTE0 \[lq]
-. ds $QUOTE1 \[rq]
-. \}
-. el \{\
+.\" First " will be translated to $QUOTE0
+. nr #OPEN_CLOSE 0
+. if '\\$1'' \{\
+. if !'\\*[$RESTORE_SQ]'' \{\
. SMARTQUOTES \\*[$RESTORE_SQ]
. return
. \}
-. \}
-. ie '\\$1'' \{\
-. nr #OPEN_CLOSE 0
+.\" Default smart quotes (English)
. ds $QUOTE0 \[lq]
. ds $QUOTE1 \[rq]
-. ds $RESTORE_SQ \\$1
+. ds $RESTORE_SQ EN
+. nr #SQ_ON 1
+. return
. \}
-. el \{\
. if '\\$1',,' \{\
-. nr #ARGS_TO_SQ 1
. ds $QUOTE0 \[Bq]
. ds $QUOTE1 \[lq]
. ds $RESTORE_SQ \\$1
+. nr #SQ_ON 1
+. return
. \}
. if '\\$1'<<' \{\
-. nr #ARGS_TO_SQ 1
. ds $QUOTE0 \[Fo]
. ds $QUOTE1 \[Fc]
. ds $RESTORE_SQ \\$1
+. nr #SQ_ON 1
+. return
. \}
. if '\\$1'>>' \{\
-. nr #ARGS_TO_SQ 1
. ds $QUOTE0 \[Fc]
. ds $QUOTE1 \[Fo]
. ds $RESTORE_SQ \\$1
+. nr #SQ_ON 1
+. return
. \}
. if '\\$1'DA' \{\
-. nr #ARGS_TO_SQ 1
. ds $QUOTE0 \[Fc]
. ds $QUOTE1 \[Fo]
. ds $RESTORE_SQ \\$1
+. nr #SQ_ON 1
+. return
. \}
. if '\\$1'DE' \{\
-. nr #ARGS_TO_SQ 1
. ds $QUOTE0 \[Bq]
. ds $QUOTE1 \[lq]
. ds $RESTORE_SQ \\$1
+. nr #SQ_ON 1
+. return
+. \}
+. if '\\$1'EN' \{\
+. ds $QUOTE0 \[lq]
+. ds $QUOTE1 \[rq]
+. ds $RESTORE_SQ \\$1
+. nr #SQ_ON 1
+. return
. \}
. if '\\$1'ES' \{\
-. nr #ARGS_TO_SQ 1
. ds $QUOTE0 \[lq]
. ds $QUOTE1 \[rq]
. ds $RESTORE_SQ \\$1
+. nr #SQ_ON 1
+. return
. \}
. if '\\$1'FR' \{\
-. nr #ARGS_TO_SQ 1
. ds $QUOTE0 \[Fo]\|
. ds $QUOTE1 \|\[Fc]
. ds $RESTORE_SQ \\$1
+. nr #SQ_ON 1
+. return
. \}
. if '\\$1'IT' \{\
-. nr #ARGS_TO_SQ 1
. ds $QUOTE0 \[Fo]\|
. ds $QUOTE1 \|\[Fc]
. ds $RESTORE_SQ \\$1
+. nr #SQ_ON 1
+. return
. \}
. if '\\$1'NL' \{\
-. nr #ARGS_TO_SQ 1
. ds $QUOTE0 \[rq]
. ds $QUOTE1 \[rq]
. ds $RESTORE_SQ \\$1
+. nr #SQ_ON 1
+. return
. \}
. if '\\$1'NO' \{\
-. nr #ARGS_TO_SQ 1
. ds $QUOTE0 \[Fo]
. ds $QUOTE1 \[Fc]
. ds $RESTORE_SQ \\$1
+. nr #SQ_ON 1
+. return
. \}
. if '\\$1'PT' \{\
-. nr #ARGS_TO_SQ 1
. ds $QUOTE0 \[Fo]
. ds $QUOTE1 \[Fc]
. ds $RESTORE_SQ \\$1
+. nr #SQ_ON 1
+. return
. \}
. if '\\$1'SV' \{\
-. nr #ARGS_TO_SQ 1
. ds $QUOTE0 \[Fc]
. ds $QUOTE1 \[Fc]
. ds $RESTORE_SQ \\$1
+. nr #SQ_ON 1
+. return
. \}
-. \}
-. if !r#ARGS_TO_SQ \{\
-. ie !'\\$1'' \{\
-.\" Turn smartquotes off
+.\" None of the above -> turn smartquotes off
. ds $QUOTE0 \[dq]
. ds $QUOTE1 \[dq]
-. \}
-. el \{\
-. ds $QUOTE0 \[lq]
-. ds $QUOTE1 \[rq]
-. nr #RESTORE_SQ 1
-. \}
-. \}
+. nr #SQ_ON 0
.END
\#
.ds $QUOTE0 \[lq]
@@ -2803,6 +2816,9 @@
. vpt 1
. rr #RESTORE_TRAP
. \}
+. if '\\n[.z]'FLOAT*DIV' \{\
+. if !(\\n[.d]+\\n[#WEIGHT])<\\n[D-float] .nr D-float
\\n[.d]+\\n[#WEIGHT]
+. \}
.END
\#
\# RULE
@@ -3374,7 +3390,7 @@
. ta \\n[.l]u-\\n[#L_INDENT]u
. \}
. el \{\
-. ll \\n[#L_LENGTH]u-\\n[#R_INDENT]u
+. ll \\n[.l]u-\\n[#R_INDENT]u
. ta \\n[.l]u-\\n[#L_INDENT]u
. \}
. \}
@@ -3386,7 +3402,7 @@
. ta \\n[.l]u-\\n[#L_INDENT]u
. \}
. el \{\
-. ll \\n[#L_LENGTH]u-\\n[#R_INDENT]u
+. ll \\n[.l]u-\\n[#R_INDENT]u
. ta \\n[.l]u-\\n[#L_INDENT]u
. \}
. \}
@@ -3408,7 +3424,7 @@
. ta \\n[.l]u-\\n[#BR_INDENT]u
. \}
. el \{\
-. ll \\n[#L_LENGTH]u-\\n[#BR_INDENT]u
+. ll \\n[.l]u-\\n[#BR_INDENT]u
. ta \\n[.l]u-\\n[#BR_INDENT]u
. \}
. \}
@@ -3424,7 +3440,7 @@
. \}
. el \{\
. in \\n[#BL_INDENT]u
-. ll \\n[#L_LENGTH]u-\\n[#BR_INDENT]u
+. ll \\n[.l]u-\\n[#BR_INDENT]u
. ta \\n[.l]u-\\n[#BR_INDENT]u
. \}
. \}
@@ -3926,6 +3942,26 @@
\# DOCUMENT PROCESSING MACROS, STRINGS AND ALIASES
\# ===============================================
\#
+\# DOC_MACRO_ERROR
+\# ----------
+\# *Arguments:
+\# None.
+\# *Function:
+\# Warning message if DOC_<PARAMETER> called before START.
+\#
+.MAC DOC_MACRO_ERROR END
+. if '\\$1'DOC_L_MARGIN' .ds $REPLACEMENT L_MARGIN
+. if '\\$1'DOC_R_MARGIN' .ds $REPLACEMENT R_MARGIN
+. if '\\$1'DOC_LINE_LENGTH' .ds $REPLACEMENT LL
+. if '\\$1'DOC_FAMILY' .ds $REPLACEMENT "FAMILY or FAM
+. if '\\$1'DOC_PT_SIZE' .ds $REPLACEMENT PT_SIZE
+. if '\\$1'DOC_LEAD' .ds $REPLACEMENT LS
+. if '\\$1'DOC_QUAD' .ds $REPLACEMENT QUAD
+. tm1 "[mom]: \\$1 at line \\n[.c] of '\\n[.F]' should not be used before
START.
+. tm1 " Use \\*[$REPLACEMENT] instead.
+. ab Aborting.
+.END
+\#
\# +++PAGE DIMENSIONS+++
\#
\# PAPER SIZE
@@ -4024,12 +4060,17 @@
. ie '\\$2'SINGLESPACE' \{\
. nr #SINGLE_SPACE 1
. vs 12
+. ie \\n[#DOC_TYPE]=4 .nr #FOOTER_ADJ \\n[.v]
+. el .nr #FOOTER_ADJ \\n[.v]*2
. nr #ORIGINAL_DOC_LEAD \\n[.v]
. \}
. el \{\
+. if !\\n[#DOC_TYPE]=4 \{\
. vs 24
+. nr #FOOTER_ADJ \\n[.v]
. nr #ORIGINAL_DOC_LEAD \\n[.v]
. \}
+. \}
. QUAD L
. HY OFF
. SMARTQUOTES OFF
@@ -4058,8 +4099,11 @@
. if !\\n[#DOC_TYPE]=4 .R_MARGIN 6P
. FAMILY T
. FT R
-. if !\\n[#DOC_TYPE]=4 .PT_SIZE 12.5
-. if !\\n[#DOC_TYPE]=4 .LS 16
+. if !\\n[#DOC_TYPE]=4 .ps 12.5
+. if !\\n[#DOC_TYPE]=4 .vs 16
+.\" In DEFAULTS, TRAPS is run with this leading, so we need a register to
+.\" hold it for use with the .sp in FOOTER
+. nr #FOOTER_ADJ 12000
. JUSTIFY
. HY
. HY_SET 2 36p 1p
@@ -4615,7 +4659,6 @@
. substring $AUTHORS 0 -3
. ds PDF_AUTHORS \\*[$AUTHORS]
. pdfmomclean PDF_AUTHORS
-\#. pdfinfo /Author \\*[PDF_AUTHORS]
. nop \!x X ps:exec [/Author (\\*[PDF_AUTHORS]) /DOCINFO pdfmark
.END
\#
@@ -4726,8 +4769,9 @@
. nr #DOC_TYPE 4
. L_MARGIN 1.125i
. R_MARGIN 1.125i
-. PT_SIZE 12
-. LS 13.5
+. ps 12
+. vs 13.5
+. nr #FOOTER_ADJ \\n[.v]
. DOCHEADER OFF
. PARA_INDENT 3m
. INDENT_FIRST_PARAS
@@ -5345,6 +5389,7 @@
. if '\\$0'DOCHEADER_QUAD' \
. ds $DOCHEADER_QUAD \\$1
. if '\\$0'DOC_QUAD' \{\
+. if !\\n[DOCS] .DOC_MACRO_ERROR \\$0
. ds $DOC_QUAD \\$1
. QUAD \\*[$DOC_QUAD]
. \}
@@ -5400,20 +5445,24 @@
. if !r #DOC_HEADER .DOCHEADER
. if !r #HEADERS_ON .HEADERS
. if !r #PAGINATE .PAGINATE
-. if \\n[#FOOTERS_ON] \{\
-. HEADERS OFF
-. if \\n[#PAGE_NUM_POS_SET]=0 .PAGENUM_POS TOP CENTER
-. \}
+.\"
. if !r #HEADER_MARGIN .HEADER_MARGIN 4P+6p
. if !r #HEADER_GAP .HEADER_GAP 3P
+.\"
. if \\n[#FOOTERS_ON] \{\
-. if \\n![#PAGINATE] \{\
+. HEADERS OFF
+. ie \\n[#PAGINATE] \
+. if \\n[#PAGE_NUM_POS_SET]=0 .PAGENUM_POS TOP CENTER
+. el \
. if !\\n[#T_MARGIN] .T_MARGIN 6P
. \}
-. \}
. if !\\n[#HEADERS_ON] \{\
. if !\\n[#FOOTERS_ON] \{\
-. if !r #T_MARGIN .T_MARGIN 6P
+. ie \\n[#PAGE_NUM_V_POS]=1 \{\
+. HEADER_MARGIN \\n[#HEADER_MARGIN]
+. HEADER_GAP \\n[#HEADER_GAP]
+. \}
+. el .if !r #T_MARGIN .T_MARGIN 6P
. \}
. \}
. if !r #T_MARGIN .T_MARGIN \\n[#HEADER_MARGIN]+\\n[#HEADER_GAP]
@@ -5445,6 +5494,7 @@
.\"
. nr #DOC_LEAD \\n[#LEAD]
. nr address@hidden \\n[#DOC_LEAD]
+. if \\n[#AUTO_LEAD] .nr #DOC_AUTOLEAD \\n[#AUTOLEAD_VALUE]
.\" #SAVED_DOC_LEAD is set in COLLATE
. if \\n[#SAVED_DOC_LEAD] \{\
. if !\\n[#TOC] \{\
@@ -5858,11 +5908,10 @@
. el .vs \\n[#ORIGINAL_DOC_LEAD]u/2u
. \}
. if \\n[#PRINT_STYLE]=2 \{\
-. PT_SIZE \\n[#DOC_PT_SIZE]u\\*[$FN_SIZE_CHANGE]
-. AUTOLEAD \\n[#FN_AUTOLEAD]
+. ps \\n[#DOC_PT_SIZE]u\\*[$FN_SIZE_CHANGE]
+. vs \\n[.ps]u+\\n[#FN_AUTOLEAD]
. \}
. nr #FN_LEAD \\n[#LEAD]
-. if \\n[#PRINT_STYLE]=2 .LS \\n[#DOC_LEAD]u
. ev
. di
. if \\n[#RESTORE_AUTO_LEAD] \{\
@@ -5872,6 +5921,7 @@
. ie !\\n[#COLLATE] \{\
.\" DOC_LEAD adjusted (or not) here
. TRAPS
+. if \\n[#REMOVE_ADJ] .DOC_LEAD \\n[#DOC_LEAD]u-\\n[#DOC_LEAD_ADJ]u
.\" Endnote, bibliography and toc leading
. nr #OK_PROCESS_LEAD 1
. nr #RESTORE_DOC_LEAD \\n[.v]
@@ -5903,7 +5953,7 @@
. rr #DEFER_BIB_SPACING
. \}
. \}
-. DOC_LEAD \\n[#RESTORE_DOC_LEAD]u
+. nr #DOC_LEAD \\n[#RESTORE_DOC_LEAD]u
. nr #B_MARGIN \\n[#RESTORE_B_MARGIN]
. \}
. el \{\
@@ -5938,6 +5988,10 @@
\\*[$MN-arg9]
. \}
. if \\n[#PRINT_STYLE]=1 .nr #IGNORE 1
+. if \\n[#AUTO_LEAD] \{\
+. rr #AUTO_LEAD
+. rr #AUTOLEAD_VALUE
+. \}
.END
\#
\# ====================================================================
@@ -6097,8 +6151,8 @@
. if !'\\*[$TITLE_1]'' \{\
. FAMILY \\*[$TITLE_FAM]
. FT \\*[$TITLE_FT]
-. PT_SIZE \\*[$TITLE_PT_SIZE]
-. LS \\n[#DOCHEADER_LEAD]u
+. ps \\*[$TITLE_PT_SIZE]
+. vs \\n[#DOCHEADER_LEAD]u
. nr #ARG_NUM 0 1
. while \\n[#TITLE_NUM]>=\\n+[#ARG_NUM] \{\
. ie \\n[#TITLE_COLOR]=1 \
@@ -6109,7 +6163,7 @@
. if !'\\*[$SUBTITLE_1]'' \{\
. FAMILY \\*[$SUBTITLE_FAM]
. FT \\*[$SUBTITLE_FT]
-. PT_SIZE \\*[$SUBTITLE_PT_SIZE]
+. ps \\*[$SUBTITLE_PT_SIZE]
. nr #ARG_NUM 0 1
. while \\n[#SUBTITLE_NUM]>=\\n+[#ARG_NUM] \{\
. ie \\n[#SUBTITLE_COLOR]=1 \
@@ -6120,7 +6174,7 @@
. if !'\\*[$AUTHOR_1]'' \{\
. FAMILY \\*[$AUTHOR_FAM]
. FT \\*[$AUTHOR_FT]
-. PT_SIZE \\*[$AUTHOR_PT_SIZE]
+. ps \\*[$AUTHOR_PT_SIZE]
. ie \\n[#ATTRIBUTE_COLOR]=1 \
. PRINT \&\m[\\*[$ATTRIBUTE_COLOR]]\\*[$ATTRIBUTE_STRING]\m[]
. el .PRINT \&\\*[$ATTRIBUTE_STRING]
@@ -6134,16 +6188,16 @@
. DOC_HEADER_QUAD
. FAMILY \\*[$TITLE_FAM]
. FT \\*[$TITLE_FT]
-. PT_SIZE \\*[$TITLE_PT_SIZE]
-. LS \\n[#DOCHEADER_LEAD]u
+. ps \\*[$TITLE_PT_SIZE]
+. vs \\n[#DOCHEADER_LEAD]u
.\" Chapter title only
. ie '\\*[$CHAPTER]'' \{\
. ie !'\\*[$CHAPTER_TITLE_1]'' \{\
. if \\n[#PRINT_STYLE]=2 \{\
. FAMILY \\*[$CHAPTER_TITLE_FAM]
. FT \\*[$CHAPTER_TITLE_FT]
-. PT_SIZE \\*[$CHAPTER_TITLE_PT_SIZE]
-. LS \\n[#DOCHEADER_LEAD]u
+. ps \\*[$CHAPTER_TITLE_PT_SIZE]
+. vs \\n[#DOCHEADER_LEAD]u
. \}
. nr #ARG_NUM 0 1
. while \\n[#CHAPTER_TITLE_NUM]>=\\n+[#ARG_NUM] \{\
@@ -6168,8 +6222,8 @@
. if \\n[#PRINT_STYLE]=2 \{\
. FAMILY \\*[$CHAPTER_TITLE_FAM]
. FT \\*[$CHAPTER_TITLE_FT]
-. PT_SIZE \\*[$CHAPTER_TITLE_PT_SIZE]
-. LS \\n[#DOCHEADER_LEAD]u
+. ps \\*[$CHAPTER_TITLE_PT_SIZE]
+. vs \\n[#DOCHEADER_LEAD]u
. ALD \\n[.v]u/4u \" Put a little space before the chapter
title
. \}
. nr #ARG_NUM 0 1
@@ -6190,8 +6244,8 @@
. DOC_HEADER_QUAD
. FAMILY \\*[$TITLE_FAM]
. FT \\*[$TITLE_FT]
-. PT_SIZE \\*[$TITLE_PT_SIZE]
-. LS \\n[#DOCHEADER_LEAD]u
+. ps \\*[$TITLE_PT_SIZE]
+. vs \\n[#DOCHEADER_LEAD]u
. if !'\\*[$TITLE_1]'' \{\
. nr #ARG_NUM 0 1
. while \\n[#TITLE_NUM]>=\\n+[#ARG_NUM] \{\
@@ -6203,7 +6257,7 @@
. if !'\\*[$SUBTITLE]'' \{\
. FAMILY \\*[$SUBTITLE_FAM]
. FT \\*[$SUBTITLE_FT]
-. PT_SIZE \\*[$SUBTITLE_PT_SIZE]
+. ps \\*[$SUBTITLE_PT_SIZE]
. nr #ARG_NUM 0 1
. while \\n[#SUBTITLE_NUM]>=\\n+[#ARG_NUM] \{\
. ie \\n[#SUBTITLE_COLOR]=1 \
@@ -6214,7 +6268,7 @@
. if !'\\*[$AUTHOR_1]'' \{\
. FAMILY \\*[$AUTHOR_FAM]
. FT \\*[$AUTHOR_FT]
-. PT_SIZE \\*[$AUTHOR_PT_SIZE]
+. ps \\*[$AUTHOR_PT_SIZE]
. ie \\n[#ATTRIBUTE_COLOR]=1 \
. PRINT \&\m[\\*[$ATTRIBUTE_COLOR]]\\*[$ATTRIBUTE_STRING]\m[]
. el .PRINT \&\\*[$ATTRIBUTE_STRING]
@@ -6222,8 +6276,8 @@
. \}
. FAMILY \\*[$DOCTYPE_FAM]
. FT \\*[$DOCTYPE_FT]
-. PT_SIZE \\*[$DOCTYPE_PT_SIZE]
-. LS \\n[#DOCHEADER_LEAD]u
+. ps \\*[$DOCTYPE_PT_SIZE]
+. vs \\n[#DOCHEADER_LEAD]u
. ALD \\n[#DOCHEADER_LEAD]u
. nr #FROM_DOCTYPE 1
. if \\n[#DOCTYPE_COLOR]=1 .COLOR \\*[$DOCTYPE_COLOR]
@@ -6671,7 +6725,7 @@
. el .vs \\n[#DOC_LEAD]u
. \}
. if \\n[#PRINT_STYLE]=2 \{\
-. LS \\n[#DOC_LEAD]u\\*[$\\*[DOC_]COVER_LEAD_ADJ]
+. vs \\n[#DOC_LEAD]u\\*[$\\*[DOC_]COVER_LEAD_ADJ]
. nr #\\*[DOC_]COVER_LEAD \\n[#LEAD]
. \}
. if \\n[.ns] .rs
@@ -6949,7 +7003,7 @@
. fam \\*[$\\*[DOC_]COVER_DOCTYPE_FAM]
. ft \\*[$\\*[DOC_]COVER_DOCTYPE_FT]
. ps \\*[$\\*[DOC_]COVER_DOCTYPE_PT_SIZE]
-. SP
+. sp
. if \\n[#DOC_TYPE]=3 \{\
. if \\n[#\\*[DOC_]COVER_DOCTYPE]=1 \{\
. ie \\n[#PRINT_STYLE]=1 \{\
@@ -6985,8 +7039,8 @@
. el \{\
. fam \\*[$\\*[DOC_]COVER_COPYRIGHT_FAM]
. ft \\*[$\\*[DOC_]COVER_COPYRIGHT_FT]
-. PT_SIZE \\*[$\\*[DOC_]COVER_COPYRIGHT_PT_SIZE]
-. AUTOLEAD \\n[#\\*[DOC_]COVER_MISC_AUTOLEAD]
+. ps \\*[$\\*[DOC_]COVER_COPYRIGHT_PT_SIZE]
+. vs \\n[.ps]u+\\n[#\\*[DOC_]COVER_MISC_AUTOLEAD]
. nr #COPYRIGHT_V_ADJ \\n[#DOC_LEAD]-\\n[.v]
. sp \\n[#COPYRIGHT_V_ADJ]u
. rr #COPYRIGHT_V_ADJ
@@ -7007,7 +7061,7 @@
. if \\n[#PRINT_STYLE]=2 \{\
. fam \\*[$\\*[DOC_]COVER_MISC_FAM]
. ft \\*[$\\*[DOC_]COVER_MISC_FT]
-. PT_SIZE \\*[$\\*[DOC_]COVER_MISC_PT_SIZE]
+. ps \\*[$\\*[DOC_]COVER_MISC_PT_SIZE]
. \}
. QUAD \\*[$\\*[DOC_]COVER_MISC_QUAD]
. ie !'\\*[$MISC_\\*[DOC_]COVER_1]'' \{\
@@ -7143,6 +7197,7 @@
\# Macro to begin document processing
\#
.MAC START END
+. nr #DOCS 1
. if \\n[TOC.RELOCATE]==2 \{\
. if !\\n[TOC_BH] .TOC_BEFORE_HERE
. \}
@@ -7159,7 +7214,6 @@
. fl
. ab [mom]: PRINTSTYLE missing. Aborting '\\n[.F]'.
. \}
-. nr #DOCS 1
. if \\n[#LINENUMBERS]=1 \{\
. NUMBER_LINES OFF
. nr #LINENUMBERS 2
@@ -7175,10 +7229,7 @@
. \}
. \}
. DEFAULTS
-.\" Quote and blockquote default leads are the same as #DOC_LEAD, so
-.\" they have to be set after DEFAULTS (where DOC_LEAD is finalized)
-. if !r#Q_AUTOLEAD .nr #Q_LEAD \\n[#DOC_LEAD]
-. if !r#BQ_AUTOLEAD .nr #BQ_LEAD \\n[#DOC_LEAD]
+. rr #RESET_TRAPS
. if !r#EN_Q_AUTOLEAD .nr #EN_Q_LEAD \\n[#EN_LEAD]
. if !r#EN_BQ_AUTOLEAD .nr #EN_BQ_LEAD \\n[#EN_LEAD]
.\" TOC/recto-verso stuff
@@ -7244,7 +7295,7 @@
. \}
. \}
. nop
-. sp |\\n[#DOCHEADER_ADVANCE]u-1v
+. sp |\\n[#DOCHEADER_ADVANCE]u-\\n[#DOC_LEAD]u
. PDF_BOOKMARK 1 \\*[$TOC_TITLE_ITEM]
. as $TOC_TITLE_ITEM \|
. if \\n[#PREFIX_CH_NUM] \{\
@@ -7295,7 +7346,7 @@
. \}
. el \{\
. if \\n[#AUTO_LEAD] .nr #RESTORE_AUTO_LEAD 1
-. if \\n[#PRINT_STYLE]=2 .LS \\n[#DOC_LEAD]u\\*[$DOCHEADER_LEAD_ADJ]
+. if \\n[#PRINT_STYLE]=2 .vs \\n[#DOC_LEAD]u\\*[$DOCHEADER_LEAD_ADJ]
. if \\n[#RESTORE_AUTO_LEAD] \{\
. nr #AUTO_LEAD 1
. nr #AUTOLEAD_VALUE \\n[#SAVED_AUTOLEAD_VALUE]
@@ -7484,9 +7535,7 @@
. \}
. \}
. \}
-. if \\n[#AUTO_LEAD] .nr #RESTORE_AUTO_LEAD 1
-. LS \\n[#DOC_LEAD]u
-. if \\n[#RESTORE_AUTO_LEAD] .nr #AUTO_LEAD 1
+. vs \\n[#DOC_LEAD]u
. if \\n[#ADJ_DOC_LEAD]=1 \{\
. ie !r#ADVANCE_FROM_TOP \{\
. if \\n[#DOC_HEADER]=1 .SHIM
@@ -7582,6 +7631,7 @@
\# Affects everything on the page.
\#
.MAC DOC_LEFT_MARGIN END
+. if !\\n[#DOCS] .DOC_MACRO_ERROR \\$0
. br
. nr #DOC_L_MARGIN (\\$1)
. L_MARGIN \\n[#DOC_L_MARGIN]u
@@ -7613,6 +7663,7 @@
\# Affects everything on the page.
\#
.MAC DOC_LINE_LENGTH END
+. if !\\n[DOCS] .DOC_MACRO_ERROR \\$0
. br
. nr #DOC_L_LENGTH (\\$1)
. LL \\n[#DOC_L_LENGTH]u
@@ -7629,6 +7680,7 @@
\# Affects everything except headers and footers.
\#
.MAC DOC_FAMILY END
+. if !\\n[DOCS] .DOC_MACRO_ERROR \\$0
. br
. ds $DOC_FAM \\$1
. ds $FAMILY \\*[$DOC_FAM]
@@ -7655,12 +7707,7 @@
\# DOC_PT_SIZE is the basis for calculating all type sizes in
\# a document. Ignored if PRINTSTYLE TYPEWRITE.
\#
-.MAC DOC_PT_SIZE END
-. if \\n[#IGNORE] .return
-. br
-. PT_SIZE \\$1
-. nr #DOC_PT_SIZE \\n[#PT_SIZE]
-.END
+.ALIAS DOC_PT_SIZE PT_SIZE
\#
\# DOCUMENT LEAD
\# -------------
@@ -7682,10 +7729,18 @@
\#
.MAC DOC_LEAD END
. if \\n[#IGNORE] .return
+. if !\\n[#DOCS] .DOC_MACRO_ERROR \\$0
. br
. vs \\$1
+. rr #DOC_AUTOLEAD
+. rr #DOC_AUTOLEAD_FACTOR
. nr #DOC_LEAD \\n[#LEAD]
+. nr #RESET_TRAPS 1
+. if !\\n[#ADJ_DOC_LEAD] .nr #REMOVE_ADJ 1
+. if !'\\$0'DOC_LEAD' \{\
. if '\\$2'ADJUST' .TRAPS
+. rr #RESET_TRAPS
+. \}
.END
\#
\# ADJUST DOCUMENT LEAD
@@ -7982,13 +8037,13 @@
. if \\n[#PRINT_STYLE]=2 \{\
. FAMILY \\*[$EPI_FAM]
. FT \\*[$EPI_FT]
-. PT_SIZE \\n[#DOC_PT_SIZE]u\\*[$EPI_SIZE_CHANGE]
+. ps \\n[#DOC_PT_SIZE]u\\*[$EPI_SIZE_CHANGE]
. if \\n[#EPI_COLOR]=1 \{\
. nf
\m[\\*[$EPI_COLOR]]
. EOL
. \}
-. AUTOLEAD \\n[#EPI_AUTOLEAD]
+. vs \\n[.ps]u+\\n[#EPI_AUTOLEAD]
. nr #EPI_LEAD \\n[#LEAD]
. nr #EPI_LEAD_DIFF \\n[#DOC_LEAD]-\\n[#EPI_LEAD]
. \}
@@ -8055,13 +8110,13 @@
. if \\n[#PRINT_STYLE]=2 \{\
. FAMILY \\*[$EPI_FAM]
. FT \\*[$EPI_FT]
-. PT_SIZE \\n[#DOC_PT_SIZE]u\\*[$EPI_SIZE_CHANGE]
+. ps \\n[#DOC_PT_SIZE]u\\*[$EPI_SIZE_CHANGE]
. if \\n[#EPI_COLOR]=1 \{\
. nf
\m[\\*[$EPI_COLOR]]
. EOL
. \}
-. AUTOLEAD \\n[#EPI_AUTOLEAD]
+. vs \\n[.ps]u+\\n[#EPI_AUTOLEAD]
. QUAD \\*[$EPI_QUAD]
. nr #DIVERSIONS_HY_MARGIN (p;\\n[.ps]u*2.75)/1000
. HY_SET 1 \\n[#DIVERSIONS_HY_MARGIN]u (\\n[#PT_SIZE]u/1000u/8u)p
@@ -8286,7 +8341,7 @@
.MAC FINIS END
. if address@hidden \{\
. if \\n[.t]<=2v \{\
-. tm1 "[mom]: Insufficient room to print \\$0 on last page.
+. tm1 "[mom]: '\\n[.F]': Insufficient room to print \\$0 on last page.
. return
. \}
. \}
@@ -8904,7 +8959,6 @@
. fam \\*[$HDRFTR_LEFT_FAM]
. ft \\*[$HDRFTR_LEFT_FT]
. ps \\n[#HDRFTR_PT_SIZE]u\\*[$HDRFTR_LEFT_SIZE_CHANGE]
-. vs 12
. if \\n[#FOOTERS_ON] \{\
. di NULL
. SIZESPECS
@@ -8928,13 +8982,12 @@
. el \
. PRINT \\*[$HDRFTR_LEFT]
. \}
-. el .PRINT \&
+. el .nop \&
. \}
. if \\n[#HDRFTR_LEFT_CAPS] .CAPS OFF
. fam \\*[$HDRFTR_CENTER_FAM]
. ft \\*[$HDRFTR_CENTER_FT]
. ps \\n[#HDRFTR_PT_SIZE]u\\*[$HDRFTR_CENTER_SIZE_CHANGE]
-. vs 12
. if \\n[#FOOTERS_ON] \{\
. di NULL
. SIZESPECS
@@ -8965,7 +9018,6 @@
. fam \\*[$HDRFTR_RIGHT_FAM]
. ft \\*[$HDRFTR_RIGHT_FT]
. ps \\n[#HDRFTR_PT_SIZE]u\\*[$HDRFTR_RIGHT_SIZE_CHANGE]
-. vs 12
. if \\n[#FOOTERS_ON] \{\
. di NULL
. SIZESPECS
@@ -9166,6 +9218,13 @@
\# still isn't brilliant, but at least it's comprehensible.
\#
.MAC HEADER END
+. vpt 0
+. if \\n[#NEW_DOC_PT_SIZE] .nr #DOC_PT_SIZE \\n[#NEW_DOC_PT_SIZE]
+. rr #NEW_DOC_PT_SIZE
+. if \\n[#RESET_TRAPS] .TRAPS
+. if \\n[#REMOVE_ADJ] .nr #DOC_LEAD -\\n[#DOC_LEAD_ADJ]
+. rr #REMOVE_ADJ
+. rr #RESET_TRAPS
. MNtop
. rr #FROM_FOOTER
. nr #FROM_HEADER 1
@@ -9198,7 +9257,6 @@
. fam \\*[$HDRFTR_FAM]
. ft R
. ps \\n[#DOC_PT_SIZE]u\\*[$HDRFTR_SIZE_CHANGE]
-. vs 12
. \}
. nr #HDRFTR_PT_SIZE \\n[#PT_SIZE]
. if \\n[#CAPS_ON] \{\
@@ -9218,18 +9276,15 @@
. sp -1v
. ie \\n[#HEADERS_ON] \{\
. PRINT_HDRFTR
-. sp |\\n[#T_MARGIN]u-\\n[#DOC_LEAD]u
. \}
. el \{\
-. ie \\n[#PAGE_NUM_V_POS]=1 \{\
-. ie \\n[#PAGINATE] \{\
+. if \\n[#PAGE_NUM_V_POS]=1 \{\
+. if \\n[#PAGINATE] \{\
. PRINT_PAGE_NUMBER
-. sp |\\n[#T_MARGIN]u-\\n[#DOC_LEAD]u
. \}
-. el .sp |\\n[#T_MARGIN]u-\\n[#DOC_LEAD]u
. \}
-. el .sp |\\n[#T_MARGIN]u-\\n[#DOC_LEAD]u
. \}
+. sp |\\n[#T_MARGIN]u-\\n[#DOC_LEAD]u
. if \\n[#PRINT_STYLE]=1 \{\
. if \\n[#ENDNOTES]=1 \{\
. if \\n[#EN_SINGLESPACE] \{\
@@ -9279,7 +9334,6 @@
. \}
. \}
. el .ns
-. ns
. if \\n[#COLUMNS] \{\
. nr #FN_COUNT_FOR_COLS 0 1
. nr #L_MARGIN \\n[#DOC_L_MARGIN]
@@ -9359,7 +9413,8 @@
. rr #RESTORE_PAGINATION
. \}
. ch address@hidden
-. wh \\n[nl]u+1u address@hidden
+. ie \\n[tbl*have-header] .rr @TOP
+. el .wh \\n[nl]u+1u address@hidden
. if d PDF*IMAGE \{\
. rs
. nf
@@ -9367,35 +9422,84 @@
. sp \\n[pdf-img:depth]u
. PDF_IMAGE_CLEAN
. \}
+. if (\\n[float*defer]>0):(\\n[defer]=0) \{\
+. nf
+. if !\\n[tbl*no-top-hook] address@hidden
+. rr tbl*no-top-hook
+. \}
. if \\n[defer] \{\
+. ev protect
+. evc 0
. rs
. sp |\\n[#T_MARGIN]u-\\n[.v]u
-. ev protect
+. if '\\*[float*type:1]'boxed' \{\
+. if (\\n[.t] > 1)&(\\n[float-depth:1] > \\n[.t]) \
+. tbl*float-warning
+. \}
. nf
. nr defer-count \\n[defer]
. nr loop-count 0 1
+. nr new-defer 0 1
. while \\n+[loop-count]<=\\n[defer-count] \{\
-. FLOAT*DIV:\\n[loop-count]
-. if \\n[D-float:\\n[loop-count]] \{\
-. sp \
--\\n[float-depth:\\n[loop-count]]u+\\n[D-float:\\n[loop-count]]u+\\n[#DOC_LEAD]u
-. rr D-float:\\n[loop-count]
+. if \\n[defer] .rnn defer float*defer \" So .if \n[defer] is skipped
during float output
+. vpt
+. if \\n[loop-count]>1 .SHIM
+. sp 1u
+. nr #NEXT_TRAP \\n[.t]
+. sp -1u
+. if '\\*[float*type:\\n[loop-count]]'table' \{\
+. ch FOOTER \\n[#VARIABLE_FOOTER_POS]u+\\n[#DOC_LEAD]u
+. ch FN_OVERFLOW_TRAP -\\n[#FN_OVERFLOW_TRAP_POS]u+\\n[#DOC_LEAD]u
+. \}
+. ie !\\n[float-span:\\n[loop-count]] \{\
+. ie
((\\n[float-depth:\\n[loop-count]]-\\n[.v])>\\n[#NEXT_TRAP]):(\\n[D-float:\\n[loop-count]]>\\n[#NEXT_TRAP])
\{\
+.\" Insufficient space, defer to next page
+. rn FLOAT*DIV:\\n[loop-count] NEW*FLOAT*DIV:\\n+[new-defer]
+. rnn float-depth:\\n[loop-count] new-float-depth:\\n[new-defer]
+. rnn D-float:\\n[loop-count] new-D-float:\\n[new-defer]
+. \}
+. el \{\
+. output-float
+. \}
+. \}
+. el \{\
+. output-float
+. \}
. \}
. rm FLOAT*DIV:\\n[loop-count]
. rr float-depth:\\n[loop-count]
+. rm tbl*header-div:\\n[loop-count]
+. rm float*type:\\n[loop-count]
+.\" FLOAT arrays are empty now
+.\" Rename new arrays (FLOATs deferred to next page) to proper names
+. nr loop-count 0 1
+. rnn new-defer defer
+. while \\n+[loop-count]<=\\n[defer] \{\
+. rn NEW*FLOAT*DIV:\\n[loop-count] FLOAT*DIV:\\n[loop-count]
+. rnn new-float-depth:\\n[loop-count] float-depth:\\n[loop-count]
+. rnn new-D-float:\\n[loop-count] D-float:\\n[loop-count]
. \}
-. ev
+. rr float*defer
+. ch FOOTER \\n[#VARIABLE_FOOTER_POS]u
+. ch FN_OVERFLOW_TRAP -\\n[#FN_OVERFLOW_TRAP_POS]u
+. nr float*before-shim \\n[nl]
. SHIM
-\# Invoke table header hook.
-\# Will print table header for multipage tables
-. rr defer
+. nr float*after-shim \\n[nl]
+. if '\\*[float*type:\\n[loop-count]]'boxed' \
+. if \\n[float*before-shim]=\\n[float*after-shim] .sp
+. if '\\*[float*type:\\n[loop-count]]'table' \
+. if \\n[float*before-shim]=\\n[float*after-shim] .sp
+. ev
+. nr tbl*have-header 0
. rr loop-count
. rr defer-count
+. rr float*before-shim
+. rr float*after-shim
. rm float-adj
. rm float-adj:top
. rm float-adj:bottom
. \}
-. address@hidden
+. vpt
.END
\#
\# ====================================================================
@@ -9498,9 +9602,6 @@
. rr #OVERFLOW_RIGHT
. \}
. \}
-\# Table bottom hook, draws the table borders in
-\# multipage boxed tables.
-. address@hidden
. ch MN_OVERFLOW_TRAP
. nr #L_MARGIN_DIFF \\n[#L_MARGIN]-\\n[#DOC_L_MARGIN]
. if !\\n[#FN_DEFER] \{\
@@ -9522,7 +9623,7 @@
. rm FOOTNOTES
. if d RUNON_FOOTNOTES .rm RUNON_FOOTNOTES
. if \\n[#PRINT_STYLE]=1 .vs \\n[#SAVED_LEAD]u
-. if \\n[#PRINT_STYLE]=2 .LS \\n[#SAVED_LEAD]u
+. if \\n[#PRINT_STYLE]=2 .vs \\n[#SAVED_LEAD]u
. if '\\n[.z]'FN_OVERFLOW' \{\
. di
. nr #FN_OVERFLOW_DEPTH \\n[#DIVER_DEPTH]
@@ -9545,7 +9646,7 @@
. po \\n[#COL_\\n+[#COL_NUM]_L_MARGIN]u
. nr #L_MARGIN \\n[.o]
. if \\n[#FN_DEPTH] .PROCESS_FN_LEFTOVER
-. LS \\n[#SAVED_LEAD]u
+. vs \\n[#SAVED_LEAD]u
. if \\n[#PREV_FN_DEFERRED] \{\
. nr #PREV_FN_DEFERRED 2
. \}
@@ -9555,7 +9656,7 @@
. if \\n[#RESET_FN_COUNTERS]=1 \{\
. rr #RESET_FN_COUNTERS
. PROCESS_FN_IN_DIVER
-. LS \\n[#SAVED_LEAD]u
+. vs \\n[#SAVED_LEAD]u
. nr #FN_COUNT \\n[#FN_COUNT] 1
. nr #FN_COUNT_FOR_COLS \\n[#FN_COUNT_FOR_COLS] 1
. rm FN_IN_DIVER
@@ -9651,7 +9752,7 @@
. el \{\
. ev FOOTER
. vpt 0
-. sp |\\n[#PAGE_LENGTH]u-\\n[#FOOTER_MARGIN]u-\\n[#UNADJUSTED_DOC_LEAD]u
+. sp |\\n[#PAGE_LENGTH]u-\\n[#FOOTER_MARGIN]u-\\n[#FOOTER_ADJ]u
. mk y
. \}
. UNDERLINE OFF
@@ -9816,11 +9917,12 @@
.MAC HEADING END
. if !\B'\\$1' \{\
. tm1 "[mom]: The first argument to \\$0 must be a numeric heading level.
-. ab Aborting \\n[.F] at \\$0, line \\n[.c].
+. ab Aborting '\\n[.F]' at \\$0, line \\n[.c].
. \}
. if r #QUOTE .rr #QUOTE
. if r #END_QUOTE .rr #END_QUOTE
. if r #EPIGRAPH .rr #EPIGRAPH
+. vs \\n[#DOC_LEAD]u
. if \\$1<\\n[#LEVEL] \
. nr #ACTIVE_LEVELS \\n[#LEVEL] \" loop count for resetting numbering
registers
. nr #LAST_LEVEL \\n[#LEVEL] \" used during TOC collection, if
SPACE_TOC_ITEMS
@@ -9870,7 +9972,7 @@
. if \\n[#NUM_ARGS]>1 \{\
. tm1 "[mom]: Error at line \\n[.c], \\$0.
. tm1 " PARAHEAD may not be given more than 1 line of text.
-. ab Aborting \\n[.F] at \\$0, line \\n[.c].
+. ab Aborting '\\n[.F]' at \\$0, line \\n[.c].
. \}
. vpt 0
. if !(\\n[#PRINT_STYLE]=1)&(\\n[#SINGLE_SPACE]=1) .sp -1v
@@ -9891,7 +9993,7 @@
. if \\n[#PRINT_STYLE]=2 \{\
. fam \\*[$HEAD_\\n[#LEVEL]_FAM]
. ft \\*[$HEAD_\\n[#LEVEL]_FT]
-. ps \\*[$HEAD_\\n[#LEVEL]_SIZE]
+. ps \\n[#DOC_PT_SIZE]u+\\*[$HEAD_\\n[#LEVEL]_SIZE]
. nf
. \}
.\" Numbering
@@ -9949,7 +10051,7 @@
. el \{\
. FAMILY \\*[$TOC_HEAD_\\n[#LEVEL]_FAM]
. FT \\*[$TOC_HEAD_\\n[#LEVEL]_FT]
-. PT_SIZE \\n[#TOC_PS]u\\*[$TOC_HEAD_\\n[#LEVEL]_SIZE]
+. ps \\n[#TOC_PS]u\\*[$TOC_HEAD_\\n[#LEVEL]_SIZE]
. \}
.\" Indents for TOC heading levels.
.\" First, numbered heads. @LEVEL here is #LEVEL+1
@@ -10240,7 +10342,7 @@
.MAC HEADING_STYLE END
. if !\B'\\$1' \{\
. tm1 "[mom]: The first argument to \\$0 must be a numeric heading level.
-. ab Aborting \\n[.F] at \\$0, line \\n[.c].
+. ab Aborting '\\n[.F]' at \\$0, line \\n[.c].
. \}
. nr #LEVEL \\$1
. if \\n[#FROM_OLDSTYLE] .nr #LEVEL_\\n[#LEVEL]_SET 1
@@ -10255,13 +10357,13 @@
. shift
. if '\\$1'' \{\
. tm1 "[mom]: The UNDERSCORE argument to \\$0 requires a rule
weight.
-. ab Aborting \\n[.F] at \\$0, line \\n[.c].
+. ab Aborting '\\n[.F]' at \\$0, line \\n[.c].
. \}
. ds $HEAD_\\n[#LEVEL]_UL_WEIGHT \\$1
. shift
. if '\\$1'' \{\
. tm1 "[mom]: The UNDERSCORE argument to \\$0 requires a rule gap.
-. ab Aborting \\n[.F] at \\$0, line \\n[.c].
+. ab Aborting '\\n[.F]' at \\$0, line \\n[.c].
. \}
. ds $HEAD_\\n[#LEVEL]_UL_GAP \\$1
. shift
@@ -10275,19 +10377,19 @@
. shift
. if '\\$1'' \{\
. tm1 "[mom]: The UNDERSCORE2 argument to \\$0 requires a rule
weight.
-. ab Aborting \\n[.F] at \\$0, line \\n[.c].
+. ab Aborting '\\n[.F]' at \\$0, line \\n[.c].
. \}
. ds $HEAD_\\n[#LEVEL]_UL2_WEIGHT \\$1
. shift
. if '\\$1'' \{\
. tm1 "[mom]: The UNDERSCORE2 argument to \\$0 requires a rule gap.
-. ab Aborting \\n[.F] at \\$0, line \\n[.c].
+. ab Aborting '\\n[.F]' at \\$0, line \\n[.c].
. \}
. ds $HEAD_\\n[#LEVEL]_UL2_GAP_1 \\$1
. shift
. if '\\$1'' \{\
. tm1 "[mom]: The UNDERSCORE2 argument to \\$0 requires an
inter-rule gap.
-. ab Aborting \\n[.F] at \\$0, line \\n[.c].
+. ab Aborting '\\n[.F]' at \\$0, line \\n[.c].
. \}
. ds $HEAD_\\n[#LEVEL]_UL2_GAP_2 \\$1
. shift
@@ -10802,7 +10904,7 @@
. ie \\n[#ENDNOTE] \{\
. FAMILY \\*[$EN_FAM]
. FT \\*[$EN_FT]
-. PT_SIZE \\n[#EN_PS]u
+. ps \\n[#EN_PS]u
. vs \\n[#EN_LEAD]u
. QUAD \\*[$EN_QUAD]
. \}
@@ -10813,8 +10915,8 @@
. rm $SAVED_PP_FT
. \}
. FT \\*[$PP_FT]
-. PT_SIZE \\n[#DOC_PT_SIZE]u
-. LS \\n[#DOC_LEAD]u
+. ps \\n[#DOC_PT_SIZE]u
+. vs \\n[#DOC_LEAD]u
. QUAD \\*[$DOC_QUAD]
. \}
. \}
@@ -10858,9 +10960,7 @@
. if '\\n[.z]'END_NOTES' \
. ti \\n[#EN_PP_INDENT]u+\\n[#EN_TEXT_INDENT]u
. \}
-. if !\\n[#PP]=0 \{\
. if r #START .rr #START
-. \}
. if r #QUOTE .rr #QUOTE
. if r #END_QUOTE .rr #END_QUOTE
. if r #HEAD .rr #HEAD
@@ -11059,19 +11159,17 @@
. if \\n[#PRINT_STYLE]=2 \{\
. FAMILY \\*[$QUOTE_FAM]
. FT \\*[$QUOTE_FT]
-. PT_SIZE \\n[#DOC_PT_SIZE]u\\*[$QUOTE_SIZE_CHANGE]
-. ie !r #Q_AUTOLEAD .LS \\n[#Q_LEAD]u
+. ps \\n[#DOC_PT_SIZE]u\\*[$QUOTE_SIZE_CHANGE]
+. ie !r #Q_AUTOLEAD .vs \\n[#DOC_LEAD]u
. el \{\
-. AUTOLEAD \\n[#Q_AUTOLEAD]
-. if r #QUOTE_AUTOLEAD_DEFAULT .LS \\n[#DOC_LEAD]u
+. vs \\n[.ps]u+\\n[#Q_AUTOLEAD]
. nr #Q_LEAD \\n[.v]
. \}
. if \\n[#ENDNOTE] \{\
-. PT_SIZE \\n[#EN_PS]u\\*[$QUOTE_SIZE_CHANGE]
-. ie !r #EN_Q_AUTOLEAD .LS \\n[#EN_Q_LEAD]u
+. ps \\n[#EN_PS]u\\*[$QUOTE_SIZE_CHANGE]
+. ie !r #EN_Q_AUTOLEAD .vs \\n[#EN_Q_LEAD]u
. el \{\
-. AUTOLEAD \\n[#EN_Q_AUTOLEAD]
-. if r #ENDNOTE_QUOTE_AUTOLEAD_DEFAULT .LS \\n[#DOC_LEAD]u
+. vs \\n[.ps]u+\n[#EN_Q_AUTOLEAD]
. nr #EN_Q_LEAD \\n[.v]
. \}
. \}
@@ -11124,6 +11222,8 @@
. shift
. \}
. ie '\\$1'' \{\
+. ds #RESTORE_FAM \\n[.fam]
+. ds #RESTORE_FT \\n[.sty]
. ie \\n[#PRINT_STYLE]=1 \{\
. CODE_FAMILY C
. ie \\n[#CODE_FT]=1 .ft \\*[$CODE_FT]
@@ -11157,15 +11257,17 @@
. if !\\n[#CODE_SIZE_ADJ]=0 \{\
. ps \\n[#PT_SIZE]u*\\n[#CODE_SIZE_ADJ]u/100u
. \}
-. if \\n[#RESTORE_SQ]=1 \{\
+. if \\n[#SQ_ON] \{\
. nr #SQ_WAS_ON 1
. SMARTQUOTES OFF
. \}
. \}
. \}
. el \{\
-. fam
-. ft
+. fam \\*[#RESTORE_FAM]
+. ft \\*[#RESTORE_FT]
+. rm #RESTORE_FAM
+. rm #RESTORE_FT
. if !\\n[#CODE_SIZE_ADJ]=0 .ps
. rchar '
. if \\n[#CODE_COLOR]=1 .gcolor
@@ -11311,19 +11413,17 @@
. if \\n[#PRINT_STYLE]=2 \{\
. FAMILY \\*[$BQUOTE_FAM]
. FT \\*[$BQUOTE_FT]
-. PT_SIZE \\n[#DOC_PT_SIZE]u\\*[$BQUOTE_SIZE_CHANGE]
-. ie !r #BQ_AUTOLEAD .LS \\n[#BQ_LEAD]u
+. ps \\n[#DOC_PT_SIZE]u\\*[$BQUOTE_SIZE_CHANGE]
+. ie !r #BQ_AUTOLEAD .vs \\n[#DOC_LEAD]u
. el \{\
-. AUTOLEAD \\n[#BQ_AUTOLEAD]
-. if r #BLOCKQUOTE_AUTOLEAD_DEFAULT .LS \\n[#DOC_LEAD]u
+. vs \\n[.ps]u+\\n[#BQ_AUTOLEAD]
. nr #BQ_LEAD \\n[.v]
. \}
. if \\n[#ENDNOTE] \{\
-. PT_SIZE \\n[#EN_PS]u\\*[$BQUOTE_SIZE_CHANGE]
-. ie !r#EN_BQ_AUTOLEAD .LS \\n[#EN_BQ_LEAD]u
+. ps \\n[#EN_PS]u\\*[$BQUOTE_SIZE_CHANGE]
+. ie !r#EN_BQ_AUTOLEAD .vs \\n[#EN_BQ_LEAD]u
. el \{\
-. AUTOLEAD \\n[#EN_BQ_AUTOLEAD]
-. if r #ENDNOTE_BLOCKQUOTE_AUTOLEAD_DEFAULT .LS \\n[#DOC_LEAD]u
+. vs \\n[.ps]u+\\n[#EN_BQ_AUTOLEAD]
. nr #EN_BQ_LEAD \\n[.v]
. \}
. \}
@@ -11825,7 +11925,7 @@
. ta \\n[.l]u
. FAMILY \\*[$PAGE_NUM_FAM]
. FT \\*[$PAGE_NUM_FT]
-. PT_SIZE \\n[#DOC_PT_SIZE]u\\*[$PAGE_NUM_SIZE_CHANGE]
+. ps \\n[#DOC_PT_SIZE]u\\*[$PAGE_NUM_SIZE_CHANGE]
. if \\n[#PRINT_STYLE]=1 .TYPEWRITER
. if \\n[#PAGE_NUM_V_POS]=1 .vs 0
. if o \{\
@@ -12141,7 +12241,7 @@
\h'-\\n[#FN_RULE_WEIGHT]u'\
\D'l \\n[#FN_RULE_LENGTH]u 0'\
\v'+\\n[#FN_RULE_ADJ]u+\\n[#FN_RULE_WEIGHT_ADJ]u'
-\!. PT_SIZE \\n[#DOC_PT_SIZE]u\\*$[FN_SIZE_CHANGE]
+\!. ps \\n[#DOC_PT_SIZE]u\\*$[FN_SIZE_CHANGE]
. QUAD \\*[$FN_QUAD]
. \}
. el \{\
@@ -12428,8 +12528,8 @@
. \}
. FAMILY \\*[$FN_FAM]
. FT \\*[$FN_FT]
-. PT_SIZE \\n[#DOC_PT_SIZE]u\\*[$FN_SIZE_CHANGE]
-. AUTOLEAD \\n[#FN_AUTOLEAD]
+. ps \\n[#DOC_PT_SIZE]u\\*[$FN_SIZE_CHANGE]
+. vs \\n[.ps]u+(\\n[#FN_AUTOLEAD]u*1000u)
. QUAD \\*[$FN_QUAD]
. if \\n[#PRINT_STYLE]=1 \{\
. TYPEWRITER
@@ -13052,12 +13152,12 @@
. if \\n[#PREV_FN_DEFERRED]=2 \{\
. if \\n[#FN_COUNT_AT_FOOTER]>1 .rr #PREV_FN_DEFERRED
. \}
-. if !\\n[#FN_DEFER] \{\
+. ie !\\n[#FN_DEFER] \{\
. nr #FN_COUNT 0 1
. nr #FN_DEPTH 0
. nr #VARIABLE_FOOTER_POS 0-\\n[#B_MARGIN]
. \}
-. if r #FN_DEFER \{\
+. el \{\
. if \\n[#FN_DEFER]=1 .nr #VARIABLE_FOOTER_POS -\\n[#FN_DEPTH]
. if \\n[#FN_DEFER]=2 \{\
. nr #FN_DEPTH 0
@@ -13652,7 +13752,7 @@
. if \\n[#PRINT_STYLE]=2 \{\
. FAMILY \\*[$EN_TITLE_FAM]
. FT \\*[$EN_TITLE_FT]
-. PT_SIZE \\n[#EN_PS]u\\*[$EN_TITLE_SIZE_CHANGE]
+. ps \\n[#EN_PS]u\\*[$EN_TITLE_SIZE_CHANGE]
. \}
. sp
. if !'\\*[$EN_TITLE]'' \{\
@@ -13678,7 +13778,7 @@
. if \\n[#PRINT_STYLE]=1 \{\
. TYPEWRITER
. if \\n[#EN_NUMBER]=1 .sp
-. if \\n[#EN_MARKER_STYLE]=3 .PT_SIZE -2
+. if \\n[#EN_MARKER_STYLE]=3 .ps -2
. \}
. if \\n[#PRINT_STYLE]=2 \{\
. if \\n[#EN_NUMBER]=1 \{\
@@ -13687,17 +13787,17 @@
. if \\n[#EN_MARKER_STYLE]=1 \{\
. FAMILY \\*[$EN_NUMBER_FAM]
. FT \\*[$EN_NUMBER_FT]
-. PT_SIZE \\n[#EN_PS]u\\*[$EN_NUMBER_SIZE_CHANGE]
+. ps \\n[#EN_PS]u\\*[$EN_NUMBER_SIZE_CHANGE]
. \}
. if \\n[#EN_MARKER_STYLE]=2 \{\
. FAMILY \\*[$EN_LN_FAM]
. FT \\*[$EN_LN_FT]
-. PT_SIZE \\n[#EN_PS]u\\*[$EN_LN_SIZE_CHANGE]
+. ps \\n[#EN_PS]u\\*[$EN_LN_SIZE_CHANGE]
. \}
. if \\n[#EN_MARKER_STYLE]=3 \{\
. FAMILY \\*[$EN_NUMBER_FAM]
. FT \\*[$EN_NUMBER_FT]
-. PT_SIZE \\n[#PT_SIZE_IN_UNITS]u*6u/10u
+. ps \\n[#PT_SIZE_IN_UNITS]u*6u/10u
. \}
. \}
.\" Build string for line-numbered endnotes
@@ -13749,7 +13849,7 @@
. rm $EN_LINENUMBER
. \}
. if \\n[#EN_MARKER_STYLE]=3 \{\
-. PT_SIZE \" Reset ps changed to get width of s-script numbers
+. ps \" Reset ps changed to get width of s-script numbers
. ie \\n[#PRINT_STYLE]=1 \{\
.\" Vertical raise amount here is less than when the same string is printed in
.\" the body of the text because number precedes a cap.
@@ -13789,7 +13889,7 @@
. if \\n[#PRINT_STYLE]=2 \{\
. FAMILY \\*[$EN_FAM]
. FT \\*[$EN_FT]
-. PT_SIZE \\n[#EN_PS]u
+. ps \\n[#EN_PS]u
. \}
. \}
. el \{\
@@ -13934,7 +14034,7 @@
. \}
. FAMILY \\*[$EN_STRING_FAM]
. FT \\*[$EN_STRING_FT]
-. PT_SIZE \\n[#EN_PS]u\\*[$EN_STRING_SIZE_CHANGE]
+. ps \\n[#EN_PS]u\\*[$EN_STRING_SIZE_CHANGE]
. vs \\n[#EN_LEAD]u
. if \\n[#ENDNOTE_STRING_COLOR]=1 \{\
. TRAP OFF
@@ -14258,7 +14358,7 @@
. \}
. FAMILY \\*[$BIB_STRING_FAM]
. FT \\*[$BIB_STRING_FT]
-. PT_SIZE \\n[#BIB_PS]u\\*[$BIB_STRING_SIZE_CHANGE]
+. ps \\n[#BIB_PS]u\\*[$BIB_STRING_SIZE_CHANGE]
. vs \\n[#BIB_LEAD]u
. \}
. if '\\*[$BIB_STRING_QUAD]'L' .LEFT
@@ -14283,7 +14383,7 @@
. CAPS OFF
. FAMILY \\*[$BIB_FAMILY]
. FT \\*[$BIB_FT]
-. PT_SIZE -\\*[$BIB_STRING_SIZE_CHANGE]
+. ps -\\*[$BIB_STRING_SIZE_CHANGE]
. if \\n[#PRINT_STYLE]=1 \{\
. ie \\n[#SINGLE_SPACE]=1 .ALD \\n[#BIB_LEAD]*3u
. el \{\
@@ -14357,12 +14457,12 @@
. \}
. if \\n[#PRINT_STYLE]=2 \{\
. ie '\\$0'HD_TO_TOC' \{\
-\!. PT_SIZE \\n[#TOC_PS]u\\*[$TOC_HEAD_\\n[#LEVEL]_SIZE]
+\!. ps \\n[#TOC_PS]u\\*[$TOC_HEAD_\\n[#LEVEL]_SIZE]
. \}
. el \{\
\!. FAMILY \\*[$TOC_TITLE_FAM]
\!. FT \\*[$TOC_TITLE_FT]
-\!. PT_SIZE \\n[#TOC_PS]u\\*[$TOC_TITLE_SIZE]
+\!. ps \\n[#TOC_PS]u\\*[$TOC_TITLE_SIZE] N
. \}
. \}
. if \\n[#PRINT_STYLE]=2 \{\
@@ -14417,7 +14517,7 @@
. if \\n[#PRINT_STYLE]=2 \{\
\!. FAMILY \\*[$TOC_PN_FAM]
\!. FT \\*[$TOC_PN_FT]
-\!. PT_SIZE \\n[#TOC_PS]u\\*[$TOC_PN_SIZE_CHANGE]
+\!. ps \\n[#TOC_PS]u\\*[$TOC_PN_SIZE_CHANGE]
. \}
\!. TAB 100
\!. PRINT \\*[LEADER]\c
@@ -14690,11 +14790,11 @@
. COLLATE
. if \\n[#PRINT_STYLE]=1 \{\
. rr #IGNORE
-. LS 24
+. vs 24
. nr #IGNORE 1
. \}
. if \\n[#PRINT_STYLE]=2 \{\
-. LS \\n[#TOC_LEAD]u
+. vs \\n[#TOC_LEAD]u
. \}
. if \\n[#FINIS] \{\
. if \\n[#FOOTERS_WERE_ON] .FOOTERS \" Finally, turn footers on if they
were on
@@ -14724,7 +14824,6 @@
. if \\n[#SLANT_ON] \{\
\*[SLANTX]\c
. \}
-. DOC_LINE_LENGTH \\n[#DOC_L_LENGTH]u
. \\*[$TOC_HEADER_QUAD]
. PAGENUM_STYLE \\*[$TOC_PN_STYLE]
. PDF_BOOKMARK 1 \\*[$TOC_HEADER_STRING]
@@ -14732,7 +14831,7 @@
. if \\n[#PRINT_STYLE]=2 \{\
. FAMILY \\*[$TOC_HEADER_FAM]
. FT \\*[$TOC_HEADER_FT]
-. PT_SIZE \\n[#TOC_PS]u\\*[$TOC_HEADER_SIZE_CHANGE]
+. ps \\n[#TOC_PS]u\\*[$TOC_HEADER_SIZE_CHANGE]
. \}
. nr #TOC_PS
. ie \\n[#PRINT_STYLE]=1 \{\
@@ -15571,7 +15670,7 @@
. LL \\n[#DOC_L_LENGTH]u
. QUAD $DOC_QUAD
. nr #SAVED_DOC_LEAD \\n[#DOC_LEAD]
-. LS \\n[#DOC_LEAD]u
+. vs \\n[#DOC_LEAD]u
\*[SLANTX]
\*[CONDX]
\*[EXTX]
@@ -15832,6 +15931,16 @@
. vpt 1
..
\#
+.MAC output-float END
+. FLOAT*DIV:\\n[loop-count]
+. vpt 0
+. if \\n[D-float:\\n[loop-count]] \{\
+. sp \
+-\\n[float-depth:\\n[loop-count]]u+\\n[D-float:\\n[loop-count]]u+\\n[#DOC_LEAD]u
+. rr D-float:\\n[loop-count]
+. \}
+.END
+\#
\# FLOAT
\# -----
\# *Arguments:
@@ -15848,9 +15957,13 @@
.\" Case where upcoming .br breaks to a new page, causing a defered float
.\" to be output by HEADER and the defer register to be cleared.
. nr pagenum \\n%+\\n[#PAGE_NUM_ADJ]
-.\" Possibly breaks to a new page.
. br
-. if !(\\n%+\\n[#PAGE_NUM_ADJ])=\\n[pagenum] .nr broken*at*float 1
+.\" Possibly breaks to a new page. This may create problems, so the
+.\" condition and a flag are set here, commented out for possible
+.\" later use.
+.\"
+.\" if !(\\n%+\\n[#PAGE_NUM_ADJ])=\\n[pagenum] .nr broken*at*float 1
+.\"
.\" Clear .ns when a single line of running text precededs float
.\" at the top of the page.
. if \\n[nl]=\\n[#T_MARGIN] \{\
@@ -15859,13 +15972,14 @@
. sp
. vpt
. \}
-. rr #ARG_NUM
-. nr #ARG_NUM 0 1
-. nr #OPTS \\n[#NUM_ARGS]
. if '\\$1'FORCE' \{\
. nr #FORCE 1
. shift
. \}
+. if '\\$1'SPAN' \{\
+. nr float-span 1
+. shift
+. \}
. if '\\$1'ADJUST' \{\
. shift
. ds float-adj:top \\$1
@@ -15885,15 +15999,29 @@
. el \{\
. br
. di
+. if \\n[float*with-table] \
+. if !\\n[tbl*have-header] .ev
. ev
-. if ((\\n[dn]-\\n[.v])>\\n[.t]):(\\n[D-float]>\\n[.t]) \{\
-. ie address@hidden \{\
-. rs
-. sp
-. \}
+. if \\n[tbl*boxed] .nr dn +.65v
+. if (\\n[dn]>\\n[.t]):(\\n[D-float]>\\n[.t]) \{\
+. ie address@hidden \
+. if !\\n[tbl*boxed] .rs
. el \{\
. if !\\n[defer] .nr defer 0 1
. rn FLOAT*DIV FLOAT*DIV:\\n+[defer]
+. if \\n[float-span] \
+. if !\\n[tbl*boxed] .rnn float-span float-span:\\n[defer]
+. if \\n[float*with-tbl] \{\
+. rr float*with-tbl
+. ie \\n[tbl*boxed] \{\
+. ds float*type:\\n[defer] boxed
+. rr float-span
+. \}
+. el .ds float*type:\\n[defer] table
+. if !'\\*[tbl*center]'' .nr float*tbl-center:\\n[defer] 1
+. rn tbl*header-div tbl*header-div:\\n[defer]
+. rm tbl*center
+. \}
. if \\n[D-float] .nr D-float:\\n[defer] \\n[D-float]
. nr float-depth:\\n[defer] \\n[dn]
. if \\n[#FORCE] \{\
@@ -15904,15 +16032,36 @@
. \}
. \}
. sp 0\\*[float-adj:top]\\*[float-adj]
-. if \\n[boxed-table] .sp 1-.35v
+. if \\n[float*with-tbl] \{\
+. ie \\n[tbl*boxed] \{\
+. if address@hidden .sp .65v
+. ch FOOTER \\n[#VARIABLE_FOOTER_POS]u+\\n[#DOC_LEAD]u
+. if !\\n[#FN_DEPTH] \
+. ch FN_OVERFLOW_TRAP
-\\n[#FN_OVERFLOW_TRAP_POS]u+\\n[#DOC_LEAD]u
+. \}
+. el .sp
+. \}
. if \\n[.u] .nr #RESTORE_FILL 1
. nf
+. if address@hidden \{\
+. nr no-adjust 1
+. rr @TOP
+. nop
+. \}
. FLOAT*DIV
-. if \\n[boxed-table] \{\
+. rm tbl*header-div
+. if \\n[float*with-tbl] \{\
+. ie \\n[tbl*boxed] \{\
. if \\n[dn]=\\n[bx-tbl-depth] .sp .35v
-. rr boxed-table
+. ch FOOTER \\n[#VARIABLE_FOOTER_POS]u
+. ch FN_OVERFLOW_TRAP -\\n[#FN_OVERFLOW_TRAP_POS]u
+. rr tbl*boxed
. rr bx-tbl-depth
. \}
+. el .if '\\*[tbl*label]'' .sp
+. rr float*with-tbl
+. rm tbl*center
+. \}
. if \\n[D-float] \{\
. sp -\\n[dn]u+\\n[#DOC_LEAD]u+\\n[D-float]u
. \}
@@ -15920,19 +16069,14 @@
. fi
. rr #RESTORE_FILL
. \}
-. if \\n[broken*at*float] \{\
-. if !\\n[defer] \{\
-. sp -\\n[.v]u
-. rr broken*at*float
-. \}
-. \}
. rm FLOAT*DIV
-. sp 0\\*[float-adj:bottom]\\*[float-adj]
+. if !\\n[no-adjust] .sp 0\\*[float-adj:bottom]\\*[float-adj]
. SHIM
-. rr D-float
. rm float-adj
+. rm no-adjust
. rm float-adj:top
. rm float-adj:bottom
+. rr D-float
. rr #FORCE
. \}
.END
@@ -15952,6 +16096,7 @@
\#
.MAC address@hidden END \" Trap-invoked after first line of text on a new page
. rr @TOP
+. if \\n[.vpt]=0 .vpt
.END
\#
.MAC TRAPS END
@@ -15966,8 +16111,7 @@
.\" Plant header trap
. wh 0 HEADER
. \}
-.\" Adjust lead so last line of text falls on B_MARGIN,...
-. ie \\n[#ADJ_DOC_LEAD]=1 \{\
+.\" Adjust lead so last line of text falls on B_MARGIN
. nr #LINES_PER_PAGE 0 1
. nr #DOC_LEAD_ADJ 0 1
. nr #DEPTH_TO_B_MARGIN
\\n[#PAGE_LENGTH]-\\n[#ORIGINAL_B_MARGIN]-\\n[#DOC_LEAD]
@@ -15991,22 +16135,8 @@
.\" Set #B_MARGIN to 1 machine unit lower on the page than #VISUAL_B_MARGIN
. nr #B_MARGIN \\n[#B_MARGIN]+(\\n[#FOOTER_DIFF]-1)
.\" Set the FN_OVERFLOW_TRAP position
-. nr #FN_OVERFLOW_TRAP_POS \\n[#B_MARGIN]u-\\n[#FN_LEAD]
+. nr #FN_OVERFLOW_TRAP_POS \\n[#B_MARGIN]-\\n[#FN_LEAD]
. if \\n[#PRINT_STYLE]=1 .nr #FN_OVERFLOW_TRAP_POS
\\n[#ORIGINAL_B_MARGIN]u
-. \}
-.\" ...or calculate new B_MARGIN based on # of lines (at #DOC_LEAD) that fit
-.\" on the page.
-. el \{\
-. nr #LINES_PER_PAGE 0 1
-. nr #DEPTH_TO_B_MARGIN \\n[#PAGE_LENGTH]-\\n[#B_MARGIN]
-. while
\\n[#T_MARGIN]+(\\n[#DOC_LEAD]*\\n+[#LINES_PER_PAGE])<\\n[#DEPTH_TO_B_MARGIN]
\{\
-.
-. \}
-. nr #VISUAL_B_MARGIN
\\n[#T_MARGIN]+(\\n[#LINES_PER_PAGE]*\\n[#DOC_LEAD]-\\n[#DOC_LEAD])
-. nr #FOOTER_DIFF
(\\n[#PAGE_LENGTH]-\\n[#B_MARGIN])-\\n[#VISUAL_B_MARGIN]
-. nr #B_MARGIN \\n[#B_MARGIN]+(\\n[#FOOTER_DIFF]-1)
-. nr #FN_OVERFLOW_TRAP_POS \\n[#B_MARGIN]u-\\n[#FN_LEAD]
-. \}
.\" Set footer and footnote overflow traps
. if !\\n[#NO_TRAP_RESET] \{\
. nr #FN_COUNT 0 1
@@ -16777,61 +16907,208 @@
.nr tbl*have-header 0
.ds T&
\#
-\# Boxed tables in floats don't play nice with vertical spacing,
-\# hence the BOXED arg. Compensation is applied in FLOAT.
-\# 'H' arg starts a multi-page table with a repeated header.
-\#
.MAC TS END
-. nr #TABLE 1
-. ie '\\n[.z]'FLOAT*DIV' \{\
-. if '\\$1'BOXED' \
-. if !\\n[.d] .nr boxed-table 1
+. br
+. rr tbl*have-header
+. if '\\n[.z]'FLOAT*DIV' .nr float*with-tbl 1 \" Removed in FLOAT
+. if !'\\n[.z]'FLOAT*DIV' \{\
+. if \\n[.t]=1 \
+. if address@hidden .NEWPAGE
. \}
-. el \{\
-. if '\\$1'H' \{\
-. nr tbl*have-header 1
-. sp .5v
-. ev table
+. rr tbl*boxed
+. rm tbl*label
+. nr #ARGS 0 1
+. nr #COUNT 4
+. while \\n+[#ARGS]<=\\n[#COUNT] \{\
+. if '\\$1'H' .nr tbl*have-header 1
+. if '\\$1'BOXED' .nr tbl*boxed 1
+. if '\\$1'CENTER' .ds tbl*center \\$1
+. if '\\$1'NEEDS' .nr tbl*needs \\$2
+. shift
+. \}
+. if !\\n[tbl*needs] .nr tbl*needs 1
+. if address@hidden \{\
+. if !'\\n[.z]'FLOAT*DIV' \{\
+. rr @TOP
+. vpt 0
+. rs
+. nop \&
+. sp |\\n[#T_MARGIN]u-1v
+. vpt
+. \}
+. \}
+. nr tbl*move-footer-trap 1
+. nr tbl*move-footer \\n[#VARIABLE_FOOTER_POS]-\\n[#DOC_LEAD]
+. nr tbl*move-fn-overflow-trap 1
+. nr tbl*move-fn-overflow \\n[#FN_OVERFLOW_TRAP_POS]-\\n[#DOC_LEAD]
+. ch FOOTER \\n[tbl*move-footer]u
+. if !\\n[#FN_DEPTH] .ch FN_OVERFLOW_TRAP -\\n[tbl*move-fn-overflow]u
+. if !'\\n[.z]'FLOAT*DIV' .sp
+. substring tbl*center 0 0
+. if '\\*[tbl*center]'C' .nr tbl*center-label 1
+. if \\n[tbl*have-header] \{\
+. ev table-header
. evc 0
. di tbl*header-div
. \}
-. \}
.END
\#
.MAC TH END
. ie '\\n[.z]'tbl*header-div' \{\
. nr T. 0
. T#
-. br
. di
. ev
+. if !'\\n[.z]'FLOAT*DIV' \{\
+. ie !'\\n[tbl*boxed]'' .ne \\n[dn]u+\\n[tbl*needs]
+. el .ne \\n[dn]u+2p+\\n[tbl*needs]
+. \}
. ie (\\n[dn]-\\n[.v])>\\n[.t] \{\
. if address@hidden address@hidden ridiculously long table header
-. address@hidden \\n[dn]
. tbl*print-header
. \}
. el \{\
. nr tbl*header-ht \\n[dn]
-. address@hidden \\n[dn]u+1v
. tbl*print-header
. \}
. \}
. el address@hidden .TH without .TS H
+.\" When centering a boxed table inside a float, .T# won't place
+.\" vertical rules in the correct horizontal position unless .ll is
+.\" given a nominal value (can be anything) and an indent is set
+.\" manually.
+. if '\\n[.z]'FLOAT*DIV' \{\
+. if !'\\*[tbl*center]'' \{\
+. if \\n[tbl*boxed] \{\
+. nr float*ll \\n[.l]
+. ll 0
+. in \\n[float*ll]u-\\n[TW]u/2u
+. \}
+. \}
+. \}
.END
\#
.MAC TE END
-. if !'\\$*'' \{\
-. if !'\\$3'' .sp \\$3
-. if !'\\$2'' .QUAD \\$2
+. ev tbl*end \" Needed because of .ad changes
+. evc 0
+. nf
. ie '\\$1'NO_SHIM' .nr tbl*no-shim 1
-. el .PRINT \\$1
+. el .ds tbl*label \\$1
+. shift
+. ie \B'\\$1' \{\
+. ds tbl*user-add-space \\$1
+. nr tbl*left-label-on-table 1
+. shift
+. if !'\\$1'NO_SHIM' \{\
+. TBL*GET_QUAD \\$1
+. shift
+. \}
+. \}
+. el \{\
+. if !'\\$1'NO_SHIM' \{\
+. ie !'\\$1'' \{\
+. TBL*GET_QUAD \\$1
+. shift
+. if \B'\\$1' \{\
+. ds tbl*user-add-space \\$1
+. nr tbl*left-label-on-table 1
+. \}
. \}
+. el .nr tbl*left-label-on-table 1
+. shift
+. \}
+. if '\\$1'NO_SHIM' .nr tbl*no-shim 1
+. if \\n[.t]<\\n[.v] \{\
+. nr tbl*label-warning 1
+. if d tbl*header-div .rm tbl*header-div
+. \}
+. rr tbl*move-footer-trap
+. rr tbl*move-footer
+. rr tbl*move-fn-overflow-trap
+. rr tbl*move-fn-overflow
+. ie !\\n[tbl*center-label] \{\
+. if \\n[tbl*center-label-on-table] .ll \\n[TW]u
+. if \\n[tbl*right-label-on-table] .ll \\n[TW]u
+. \}
+. el \{\
+. if \\n[tbl*left-label-on-table] .in \\n[.l]u-\\n[TW]u/2u
+. if \\n[tbl*center-label-on-table] \
+. if \\n[.i] .in 0
+. if \\n[tbl*right-label-on-table] .ll -((\\n[.l]u-\\n[TW]u)/2u)
+. \}
+. SIZESPECS
+. if !'\\*[tbl*label]'' \{\
+. ie \\n[tbl*label-warning] \{\
+. tm1 "[mom]: '\\n[.F]', line \\n[.c]: Insufficient room for table
caption, output page \\n[#PAGENUMBER].
+. tm1 " Skipping caption, but continuing to process.
+. NEWPAGE
+. \}
+. el \{\
+. ie !'\\*[tbl*user-add-space]'' .sp \\*[tbl*user-add-space]
+. el .sp \\n[#CAP_HEIGHT]u/4u
+. PRINT \\*[tbl*label]
+. br
+. \}
+. \}
+. if \\n[tbl*boxed] \
+. if '\\*[tbl*label]'' .sp
+. ll
. if '\\n[.z]'FLOAT*DIV' .nr bx-tbl-depth \\n[.d]
-. if '\\n[.z]'tbl*header-div' address@hidden .TS H but no .TH before .TE
-. nr tbl*have-header 0
-. rr #TABLE
-. if !\\n[tbl*no-shim] .SHIM
+. if '\\n[.z]'tbl*header-div' \{\
+. @error .TS with 'H' flag but no corresponding .TH
+. ab Aborting.
+. \}
+. ev
+. if !\\n[tbl*no-shim] \{\
+. if !'\\n[.z]'FLOAT*DIV' \{\
+. nr tbl*before-shim \\n[nl]
+. SHIM
+. nr tbl*after-shim \\n[nl]
+. if \\n[tbl*before-shim]=\\n[tbl*after-shim] .sp
+. \}
+. \}
+. TBL*CLEANUP
+. ch FOOTER \\n[#VARIABLE_FOOTER_POS]u
+.END
+\#
+.MAC TBL*GET_QUAD END
+. QUAD \\$1
+. ds tbl*label-quad \\$1
+. substring tbl*label-quad 0 0
+. if '\\*[tbl*label-quad]'L' .nr tbl*left-label-on-table 1
+. if '\\*[tbl*label-quad]'C' .nr tbl*center-label-on-table 1
+. if '\\*[tbl*label-quad]'R' .nr tbl*right-label-on-table 1
+.END
+\#
+.MAC TBL*CLEANUP END
+. rr tbl*before-shim
+. rr tbl*after-shim
+. if !'\\n[.z]'FLOAT*DIV' \{\
+. rm tbl*center
+. if !'\\n[.z]'FLOAT*DIV' .rm tbl*header-div
+. \}
. rr tbl*no-shim
+. rm tbl*user-add-space
+. rm tbl*label-quad
+. rr tbl*center-label
+. rr tbl*left-label-on-table
+. rr tbl*center-label-on-table
+. rr tbl*right-label-on-table
+. rr tbl*label-warning
+.END
+\#
+.MAC address@hidden END
+. if \\n[tbl*have-header] \{\
+. if !\\n[.ne] \{\
+. rr @TOP
+. ch address@hidden
+. tbl*print-header
+. \}
+. \}
+. if \\n[tbl*move-footer-trap] \
+. ch FOOTER \\n[#VARIABLE_FOOTER_POS]u+\\n[#DOC_LEAD]u
+. if \\n[tbl*move-fn-overflow-trap] \
+. ch FN_OVERFLOW_TRAP -\\n[#FN_OVERFLOW_TRAP_POS]u+\\n[#DOC_LEAD]u
.END
\#
.MAC tbl*print-header END
@@ -16839,29 +17116,23 @@
. nf
. nr fill 1
. \}
-. tbl*header-div
-. if fill=1 \{\
-. fi
-. rr fill
+. ie d tbl*header-div:\\n[loop-count] \{\
+. tbl*header-div:\\n[loop-count]
. \}
+. el .tbl*header-div
+. if '\\n[.z]'FLOAT*DIV' \
+. if !'\\*[tbl*center]'' .ce 1000
. mk #T
.END
\#
-.MAC address@hidden END
-. ie \\n[tbl*have-header] \{\
-. tbl*print-header
-. \}
-. el .if \\n[#TABLE] \{\
-. rs
-. sp
-. \}
+.MAC address@hidden END
+.\" Not currently used
.END
\#
-.MAC address@hidden END
-. if \\n[tbl*have-header] \{\
-. nr T. 1
-. T#
-. \}
+.MAC tbl*float-warning END
+. tm1 "[mom]: Table in FLOAT, output page \\n[#PAGENUMBER], exceeds page
vertical limits.
+. tm1 " Multipage tables cannot be contained within floats.
+. ab Aborting.
.END
\#
.MAC address@hidden END \" Move vertically until there is enough space for \$1
@@ -17016,7 +17287,7 @@
\# versions of the definitions found in the refer module of s.tmac.
\#
.de @error
-.tm \\n[.F]:\\n[.c]: macro error: \\$*
+.tm [mom]: '\\n[.F]', line \\n[.c]: \\$*
..
\#
\# Underlining unavoidably turns off sentence spacing.
@@ -18080,7 +18351,8 @@
. nr MN-right 0
. nr MN-active 0
. rr MN-shifted
-. ch FOOTER -\\n[#B_MARGIN]u
+\#. ch FOOTER -\\n[#B_MARGIN]u
+. ch FOOTER \\n[#VARIABLE_FOOTER_POS]u
..
\#
\# MNbottom-left
@@ -18326,7 +18598,6 @@
. el .nr LEVEL_REQ \\n[CURRENT_LEVEL]
. \}
. ds PDF_TX \\$*
-\#. asciify PDF_TX
. pdfmomclean PDF_TX
.\" . ev protect
. nr PDF_LEV (\\n[LEVEL_REQ]*\\n[#PDF_BOOKMARKS_OPEN])
@@ -18357,7 +18628,6 @@
.MAC PDF_TITLE END
. ds pdftitle \\$*
. pdfmomclean pdftitle
-\#. pdfinfo /Title \\*[pdftitle]
. nop \!x X ps:exec [/Title (\\*[pdftitle]) /DOCINFO pdfmark
.END
\#
Index: examples/mom-pdf.mom
===================================================================
RCS file: /sources/groff/groff/contrib/mom/examples/mom-pdf.mom,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- examples/mom-pdf.mom 29 Jan 2013 05:02:45 -0000 1.2
+++ examples/mom-pdf.mom 30 Oct 2013 19:15:10 -0000 1.3
@@ -1,3 +1,4 @@
+.PAPER A4
.\" Reference macros (metadata)
.TITLE "Producing PDFs" "with groff and mom"
.PDF_TITLE "\*[$TITLE]
@@ -28,7 +29,6 @@
.HEADER_LEFT "James, Schaffter"
.\" Page, style, formatting
.PRINTSTYLE TYPESET
-.PAPER A4
.L_MARGIN 2.5c
.R_MARGIN 2.5c
.B_MARGIN 2.5c
@@ -106,7 +106,7 @@
.TOC_ENTRY_STYLE 2 FONT I
.TOC_LEAD 14
.\"
-.DOCHEADER_ADVANCE 4.5c \" Begin this distance down from top of page
+.DOCHEADER_ADVANCE 5c \" Begin this distance down from top of page
.\"
.START
.\"
@@ -184,7 +184,7 @@
Furthermore, \*[cod]NAMED\|<id>\*[codx] stores the text of the
heading for use later on when linking to it (see
.PDF_LINK internal SUFFIX ). +
-If headings are being numbered, the heading number is included.
+If headings are being numbered, the heading number is prepended.
.HEADING 2 NAMED target "Creating destination points at arbitrary locations"
.PP
Any part of a document can be a link destination, not just headings.
@@ -245,11 +245,13 @@
destination address.
.PP2
The format of the macro to create external links is similar to the
-one for creating internal links links links.
+one for creating internal links:
.COD "\&.PDF_WWW_LINK <url> [PREFIX <text>] [SUFFIX <text>] [\[dq]<hotlink
text>\[dq]]"
\*[cod]<url>\*[codx] is any valid URL, usually a web address;
\*[cod]PREFIX\|<text>\*[codx] and \*[cod]SUFFIX\|<text>\*[codx] have
-exactly the same meaning.
+exactly the same meaning, as does \*[cod]<hotlink text>\*[codx],
+which furthermore accepts the same expandos, \*[cod]\[dq]+\[dq]\*[codx] and
+\*[cod]\[dq]*\[dq]\*[codx].
.PP2
.RW .1
If no hotlink text is given, then \*[cod]<url>\*[codx] is
@@ -509,12 +511,11 @@
do not require a corresponding \[-P-p<papersize>] option on the
command line. It is even possible to create documents with
unequal-sized pages.
-.NO_SHIM
.HEADING 2 NAMED pdf-diff \
"Differences between pdfmom and pdfroff"
.PP
Several features described in this manual are not available when
-using \[pdfmom] with the \[-Tps] option, or when using \[pdfroff] or
+using \[pdfmom] with the \[-Tps] option, or when using \[pdfroff], or
\[groff]\~\[-Tps]\~\[-mpdfmark].
.SP .25v
.QUAD LEFT
Index: momdoc/docelement.html
===================================================================
RCS file: /sources/groff/groff/contrib/mom/momdoc/docelement.html,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -b -r1.41 -r1.42
--- momdoc/docelement.html 7 Jun 2013 15:19:58 -0000 1.41
+++ momdoc/docelement.html 30 Oct 2013 19:15:10 -0000 1.42
@@ -3856,7 +3856,7 @@
</div>
<p class="requires">
-• <kbd><indent value></kbd> requires a <a
href="definitions.html#unitofmeasure">unit of measure</a>
+• <kbd><span style="font-style: normal"><indent
value></span></kbd> requires a <a href="definitions.html#unitofmeasure">unit
of measure</a>
<br/>
See <span style="font-style: normal"><a href="#footnote-note">HYPER-IMPORTANT
NOTE</a></span>.
</p>
Index: momdoc/docprocessing.html
===================================================================
RCS file: /sources/groff/groff/contrib/mom/momdoc/docprocessing.html,v
retrieving revision 1.44
retrieving revision 1.45
diff -u -b -r1.44 -r1.45
--- momdoc/docprocessing.html 13 Sep 2013 20:06:36 -0000 1.44
+++ momdoc/docprocessing.html 30 Oct 2013 19:15:10 -0000 1.45
@@ -96,14 +96,14 @@
</ul></li>
</ul>
</div>
-<div class="mini-toc-col-2" style="margin-top: -.5em;">
+<div class="mini-toc-col-2" style="margin-top: -1em;">
<br/>
<ul class="toc-docproc" style="margin-top: .5em;">
<li><a href="#doc-lead-adjust"><b>Adjust linespacing to fill pages</b></a>
<ul class="toc-docproc">
<li><a href="#doc-lead-adjust">DOC_LEAD_ADJUST</a></li>
<li><a href="#shim">SHIM</a> – get document leading back on track
- <ul>
+ <ul class="toc-docproc">
<li><a href="#automatic-shimming">Automatic shimming (headings,
etc)</a></li>
</ul></li>
</ul></li>
@@ -121,15 +121,16 @@
<li><a href="#columns">COLUMNS</a></li>
<li><a href="#breaking-columns">Breaking columns manually</a>
<ul class="toc-docproc">
- <li><a href="#col-next">COL_NEXT</a></li>
- <li><a href="#col-break">COL_BREAK</a></li>
+ <li><a href="#col-next">COL_NEXT</a> and <a
href="#col-break">COL_BREAK</a></li>
</ul></li>
</ul></li>
</ul>
<h3 class="toc toc-docproc-header"><a class="header-link"
href="#style-after-start">Changing basic type and formatting<br/><span
style="display: block; margin-top: -.3em;">parameters after
START</span></a></h3>
<ul class="toc-docproc" style="margin-top: .5em;">
<li><a href="#behaviour"><b>Behaviour of the typesetting macros during
document processing</b></a></li>
- <li><a href="docprocessing.html#index-doc-param"><b>Post-START global style
change macros</b></a>
+ <li><a href="docprocessing.html#intro-doc-param"><b>Changing document-wide
style parameters after START</b></a>
+ <ul class="toc-docproc">
+ <li><a href="docprocessing.html#index-doc-param">Post-START global style
change macros</a>
<ul class="toc-docproc">
<li><a href="#doc-left-margin">DOC_LEFT_MARGIN</a></li>
<li><a href="#doc-right-margin">DOC_RIGHT_MARGIN</a></li>
@@ -140,12 +141,13 @@
<li><a href="#doc-lead-adjust">DOC_LEAD_ADJUST</a></li>
<li><a href="#doc-quad">DOC_QUAD</a></li>
</ul></li>
+ </ul></li>
</ul>
<h3 class="toc toc-docproc-header"><a class="header-link"
href="#terminating">Terminating a document</a></h3>
</div>
</div>
-<div class="rule-medium" style="clear: both;"><hr/></div>
+<div class="rule-short"><hr/></div>
<!-- ==================================================================== -->
@@ -368,7 +370,7 @@
<ul>
<li><i>before</i> headings</li>
<li><i>around</i> quotes and blockquotes</li>
- <li><i>after</i> PDF images and floats</li>
+ <li><i>after</i> PDF images, floats, and tables</li>
</ul>
<p>
@@ -391,8 +393,9 @@
<a href="docelement.html#quote">QUOTE</a>,
<a href="docelement.html#blockquote">BLOCKQUOTE</a>,
<a href="images.html#pdf-image">PDF_IMAGE</a>
-or
<a href="images.html#float">FLOAT</a>.
+or
+<a href="images.html#ts">TS</a>.
</p>
<div class="box-tip">
@@ -1735,47 +1738,46 @@
<p class="tip-bottom">
<span class="important">Just as important:</span>
-PRINTSTYLE <b>must precede any and all page and style parameters
-associated with a document.</b> This applies primarily to, but is by
-no means restricted to, PRINTSTYLE <kbd>TYPESET</kbd>. PRINTSTYLE
-sets up complete templates that include default papersize, margins,
-family, fonts, point sizes, and so on. Therefore, changes to any
-aspect of document style must come afterwards.
-</p>
-</div>
-
-<p>
-<kbd>TYPESET</kbd>, as the argument implies, typesets
-documents (by default in Times Roman; see
-<a href="#typeset-defaults">TYPESET defaults</a>).
-You have full access to all the
-<a href="typesetting.html#macros-typesetting">typesetting macros</a>
-as well as the
-<a href="definitions.html#style-control">style control macros</a>
-of document processing.
-</p>
-
-<p>
-As mentioned above, PRINTSTYLE <kbd>TYPESET</kbd> must come before
-any changes to mom’s default typographic settings. For
-example,
+PRINTSTYLE <b>must precede any and all page and style
+parameters associated with a document</b> with the exception of
+<kbd>PAPER</kbd>, <kbd>PAGEWIDTH</kbd>, and/or
+<kbd>PAGELENGTH</kbd>, which should be placed at the top of your
+file. PRINTSTYLE sets up complete templates that include default
+margins, family, fonts, point sizes, and so on. Therefore, changes
+to any aspect of document style must come afterwards. For example,
<br/>
<span class="pre-in-pp">
.PAPER A4
.LS 14
+ .QUAD LEFT
.PRINTSTYLE TYPESET
</span>
-will not changes mom’s default paper size to A4,
-nor her default document leading 14 points, whereas
+will not change mom’s default document leading to 14 points,
+nor the default justification style (fully justified) to left
+justified, whereas
<br/>
<span class="pre-in-pp">
- .PRINTSTYLE TYPESET
.PAPER A4
+ .PRINTSTYLE TYPESET
.LS 14
+ .QUAD LEFT
</span>
will.
</p>
+</div>
+
+<p>
+<kbd>TYPESET</kbd>, as the argument implies, typesets
+documents (by default in Times Roman; see
+<a href="#typeset-defaults">TYPESET defaults</a>).
+You have full access to all the
+<a href="typesetting.html#macros-typesetting">typesetting macros</a>
+as well as the
+<a href="definitions.html#style-control">style control macros</a>
+of document processing.
+</p>
+
<p>
With <kbd>TYPEWRITE</kbd>, mom does her best to reproduce the look
and feel of typewritten, double-spaced copy (see
@@ -2177,11 +2179,10 @@
<div class="box-tip">
<p class="tip">
-<span class="note">Note:</span>
-Don’t use the macros listed in
+<span class="important">Important:</span>
+Do not use the macros listed in
<a href="#doc-param-macros">Changing document-wide typesetting parameters
after START</a>
-prior to START; they are exclusively for use
-afterwards.
+prior to START; they are exclusively for use afterwards.
</p>
</div>
@@ -2288,10 +2289,11 @@
control macros.
<br/>
<span class="pre-in-pp">
- .HEAD_FAMILY H
- .HEAD_FONT BI
- .HEAD_QUAD L
- .HEAD_UNDERLINE OFF
+ .HEADING_STYLE 1 \
+ FAMILY H \
+ FONT BI \
+ QUAD L \
+ NO_UNDERSCORE
</span>
Then, in the preliminary document set-up section of your main file,
you’d include the style sheet, or template, like this:
@@ -3294,12 +3296,28 @@
Using LS to temporarily change leading within
a document will almost certainly result in a
- bottom margin that doesn’t align with
- the bottom margin of subsequent pages. You’ll
+ bottom margin that doesn’t align with the
+ bottom margin of subsequent pages. You’ll
need to use the SHIM macro to get mom back on
track when you’re ready to return to the
document’s default leading.
+
+ AUTOLEAD •Invoked before START, sets the overall document
+ leading as a function of the overall document
+ point size (ie the point size used in paragraphs);
+ subsequently disabled after START, except for calls
+ to DOC_PT_SIZE
+
+ •DOC_LEAD before DOC_PT_SIZE cancels the AUTOLEAD
+ set before START
+
+ •Invoked after START, remains in effect for all
+ subsequent point size changes made with PT_SIZE,
+ but does not affect the leading of the document
+ element tags (eg HEADING, PP, QUOTE...), or calls
+ to DOC_PT_SIZE
+
QUAD •Changes quad for the duration of the
current tag only. As soon as another document
element tag is entered, the quad reverts to
@@ -3414,19 +3432,35 @@
<!-- *** -->
-<h2 id="intro-doc-param" class="macro-group">Changing basic type and
formatting parameters after START</h2>
+<h2 id="intro-doc-param" class="macro-group">Changing document-wide style
parameters after START</h2>
<p>
-In the normal course of things, you establish the basic type
+In the normal course of things, you establish the basic type style
parameters of a document prior to invoking
<a href="#start">START</a>,
using the
<a href="typesetting.html#macros-typesetting">typesetting macros</a>
-(<b>L_MARGIN, FAMILY, PT_SIZE, LS,</b> etc). After
-START, you <i>must</i> use the following macros to make
-global changes to the basic type parameters of a document.
+(<b>L_MARGIN, FAMILY, PT_SIZE, LS,</b> etc). After START, you must
+use the following macros if you wish to make global changes to the
+basic type style parameters, for example changing the overall leading or
+the justification style.
</p>
+<div class="box-important">
+<p class="tip">
+<span class="important">Important:</span>
+Because these macros globally update the chosen parameter, they
+should only be used immediately prior to
+<a href="rectoverso.html#collate">COLLATE</a>
+or, if an occasional effect is desired,
+<a href="typesetting.html#newpage">NEWPAGE</a>.
+<a href="#doc-pt-size">DOC_PT_SIZE</a>,
+for example, updates the point size of every page element, including
+headers, footers, page numbers, and so on, which is almost certainly
+not what you want in the middle of a page.
+</p>
+</div>
+
<div class="macro-list-container">
<h3 id="index-doc-param" class="macro-list">Post-START global style change
macros</h3>
<ul class="macro-list">
@@ -3461,7 +3495,12 @@
<li>the argument is the same as for
<a href="typesetting.html#l-margin">L_MARGIN</a>
</li>
- <li>changes all left margins to the new value</li>
+ <li>changes all left margins, including headers, footers, and page
+ numbers to the new value
+ </li>
+ <li>any document elements that use a left indent calculate
+ the indent from the new value
+ </li>
<li>the line length remains the same (ie the right margin
shifts when you change the left margin)
</li>
@@ -3487,19 +3526,10 @@
<li>the argument is the same as for
<a href="typesetting.html#r-margin">R_MARGIN</a>
</li>
- <li>changes all right margins, including
- <a href="definitions.html#docheader">docheaders</a>,
- headers (or footers) and page numbering to the new value;
- for changing the right margin of
- <a href="definitions.html#running">running text</a>
- only, use
- <a href="typesetting.html#r-margin">R_MARGIN</a>
- (see
- <a href="#behaviour">typesetting macros during
- document processing</a>,
- entry for R_MARGIN)
+ <li>changes all right margins, including headers, footers, and
+ page numbers to the new value;
</li>
- <li>all mom commands that include a right indent calculate
+ <li>any document elements that use a right indent calculate
the indent from the new value
</li>
</ul>
@@ -3527,13 +3557,6 @@
<li>exactly equivalent to changing the right margin with
DOC_RIGHT_MARGIN (see
<a href="#doc-right-margin">above</a>);
- for changing the line length of
- <a href="definitions.html#running">running text</a>
- only, use
- <a href="typesetting.html#linelength">LL</a>
- (see
- <a href="#behaviour">typesetting macros during document processing</a>,
- entry for LL)
</li>
</ul>
@@ -3603,6 +3626,12 @@
the pertinent document element for instructions on
how to do this)
</li>
+ <li>if
+ <a href="typesetting.html#autolead">AUTOLEAD</a>
+ was invoked before START; the value of AUTOLEAD will be used
+ to update the leading of all document element tags except
+ FOOTNOTE and EPIGRAPH
+ </li>
</ul>
<!-- -DOC_LEAD- -->
@@ -3641,21 +3670,13 @@
leading adjustment as explained in
<a href="#doc-lead-adjust">DOC_LEAD_ADJUST</a>
</li>
+ <li>if
+ <a href="typesetting.html#autolead">AUTOLEAD</a>
+ was invoked before START; the value of that AUTOLEAD will be
+ cancelled
+ </li>
</ul>
-<div class="box-important">
-<p class="tip">
-<span class="important">Important:</span>
-Do not use DOC_LEAD in the middle of a page! It should always and
-only be invoked immediately prior to a new page, like this:
-<br/>
-<span class="pre-in-pp">
- .DOC_LEAD <new value>
- .NEWPAGE
-</span>
-</p>
-</div>
-
<div class="box-tip">
<p class="tip">
<span class="note">Note:</span>
Index: momdoc/headfootpage.html
===================================================================
RCS file: /sources/groff/groff/contrib/mom/momdoc/headfootpage.html,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -b -r1.25 -r1.26
--- momdoc/headfootpage.html 29 Jan 2013 05:02:46 -0000 1.25
+++ momdoc/headfootpage.html 30 Oct 2013 19:15:10 -0000 1.26
@@ -102,7 +102,7 @@
<h3 class="toc toc-docproc-header" style="margin-top: .75em;"><a
class="header-link" href="#pagination-intro">Pagination</a></h3>
<ul class="toc-docproc" style="margin-top: .5em;">
<li><a href="#index-pagination">Pagination macros</a></li>
- <li><a href="#index-pagination-control">Pagination control macros and
defaults</a></li>
+ <li><a href="#index-paginate-control">Pagination control macros and
defaults</a></li>
</ul>
<h3 class="toc toc-docproc-header"><a class="header-link"
href="#blank-pages">Inserting blank pages into a document</a></h3>
@@ -336,7 +336,7 @@
numbers, whether at the top or the bottom of the page, is managed
exactly as if the page numbers were headers (or footers), and are
controlled by the same macros. See
-<a href="#index-pagination-control">Pagination control</a>.
+<a href="#index-paginate-control">Pagination control</a>.
</p>
<div class="rule-short"><hr/></div>
@@ -2057,7 +2057,7 @@
<!-- -PAGINATE_CONTROL- -->
<div class="macro-list-container">
-<h3 id="index-pagination-control" class="macro-list">Pagination control macros
and defaults</h3>
+<h3 id="index-paginate-control" class="macro-list">Pagination control macros
and defaults</h3>
<ol style="margin-top: -1.5em; padding-bottom: 6px;">
<li><a href="#paginate-general">Family/font/size/colour</a></li>
@@ -2108,6 +2108,13 @@
</span>
</p>
+<div id="pagenum-pos-note" class="box-tip" style="margin-top: 1em;">
+<p class="tip">
+<span class="note">Note:</span>
+HEADERS must be OFF for PAGENUM_POS TOP to work.
+</p>
+</div>
+
<h4 id="pagenum-hyphens" class="docs" style="margin-top: -1em;">3. Enclose
page numbers with hyphens (on or off)</h4>
<div class="box-macro-args" style="margin-top: 1em;">
Index: momdoc/images.html
===================================================================
RCS file: /sources/groff/groff/contrib/mom/momdoc/images.html,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- momdoc/images.html 17 Sep 2013 16:20:17 -0000 1.5
+++ momdoc/images.html 30 Oct 2013 19:15:10 -0000 1.6
@@ -21,7 +21,7 @@
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
- <title>Mom -- Graphics, tbl support, and floats</title>
+ <title>Mom -- Graphics, floats, and preprocessor support</title>
<link rel="stylesheet" type="text/css" href="stylesheet.css" />
</head>
@@ -39,7 +39,7 @@
</tr>
</table>
-<h1 class="docs">Graphics, tbl support, and floats</h1>
+<h1 class="docs">Graphics, floats, and preprocessor support</h1>
<div style="width: 55%; margin: auto;">
<ul class="no-enumerator" style="margin-left: -1em;">
@@ -51,7 +51,15 @@
</ul></li>
<li><a href="#pdf-image">The PDF_IMAGE macro</a></li>
<li><a href="#pspic">The PSPIC macro</a></li>
- <li><a href="#tbl">tbl support</a></li>
+ <li><a href="#preprocessor-support">Preprocessor support</a>
+ <ul style="margin-left: -.5em; list-style-type: disc;">
+ <li><a href="#tbl">tbl</a>
+ <ul style="margin-left: -1.25em;"><li><a href="#ts-te">.TS /
.TH / .TE macros and arguments</a></li>
+ </ul></li>
+ <li><a href="#pic">pic</a></li>
+ <li><a href="#eqn">eqn</a></li>
+ <li><a href="#refer">refer</a></li>
+ </ul></li>
<li><a href="#floats-intro">Introduction to floats</a></li>
<li><a href="#float">The FLOAT macro</a></li>
</ul>
@@ -296,25 +304,24 @@
width and height of the image as you wish it to appear within the
document. The width and height arguments may have
<a href="definitions.html#unitofmeasure">units of measure</a>
-attached; the default unit of measure is
-<kbd>i</kbd>. PSPIC will scale the graphic
-uniformly in the x and y directions so that it is no more than
-<kbd>width</kbd> wide and <kbd>height</kbd> high. By default, the
-graphic will be horizontally centred. The <kbd>-L</kbd> and
-<kbd>-R</kbd> options cause the graphic to be left-aligned and
-right-aligned, respectively. The <kbd>-I</kbd> option causes
-the graphic to be indented by <kbd><n></kbd>; the default unit of
-measure is <kbd>m</kbd>
+attached; the default unit of measure is <kbd>i</kbd>. PSPIC will
+scale the graphic uniformly in the x and y directions so that
+it is no more than <kbd>width</kbd> wide and <kbd>height</kbd>
+high. By default, the graphic will be horizontally centred. The
+<kbd>-L</kbd> and <kbd>-R</kbd> options cause the graphic to be
+left-aligned and right-aligned, respectively. The <kbd>-I</kbd>
+option causes the graphic to be indented by <kbd><n></kbd>;
+the default unit of measure is <kbd>m</kbd>
(<a href="definitions.html#em">ems</a>).
</p>
</div>
<p>
-It is not necessary to pass PSPIC the
-<kbd><width></kbd> and <kbd><height></kbd> arguments unless
-you are scaling the image, in which case you will most likely need
-the original dimensions of the EPS image’s bounding box.
-These can be found with
+It is not necessary to pass PSPIC the <kbd><width></kbd>
+and <kbd><height></kbd> arguments unless you are scaling
+the image, in which case you will most likely need the original
+dimensions of the EPS image’s bounding box. These can be
+found with
<span class="pre-in-pp">
gs -q -dBATCH -dNOPAUSE -sDEVICE=bbox <image file>.pdf 2>&1 \
| grep "%%BoundingBox" | cut -d " " -f4,5
@@ -341,8 +348,8 @@
Additionally, EPS images inserted into
<a href="definitions.html#running">running text</a>
will almost certainly disrupt the baseline placement of running
-text. In order to get mom back on track after
-invoking <kbd>.PSPIC</kbd>, I strongly recommend using the
+text. In order to get mom back on track after invoking
+<kbd>.PSPIC</kbd>, I strongly recommend using the
<a href="docprocessing.html#shim">SHIM</a>
macro so that the bottom margin of running text falls where it
should. Please note that with PDF_IMAGE, this is not necessary.
@@ -359,124 +366,361 @@
<div class="rule-medium"><hr/></div>
-<h2 id="tbl" class="docs">tbl support</h2>
+<h2 id="preprocessor-support" class="docs">Preprocessor support</h2>
+
+<h3 id="tbl" class="docs">tbl support</h3>
<p>
Mom documents can include tables generated with the groff
-pre-processor, <kbd>tbl</kbd>. <kbd>tbl</kbd> usage is beyond the
-scope of this documentation, but is covered fully in <kbd>man(1)
-tbl</kbd>.
+pre-processor, <kbd>tbl</kbd>. <kbd>tbl</kbd> usage itself is beyond
+the scope of this documentation, but is covered in the manpage
+<kbd>tbl(1)</kbd>. You can also download a copy of
+<a href="http://plan9.bell-labs.com/10thEdMan/tbl.pdf">Tbl - A Program to
Format Tables</a>,
+which, in addition to providing a thorough introduction to <kbd>tbl</kbd>,
+contains some fine examples.
</p>
<p>
Tables formatted with <kbd>tbl</kbd> begin with the macro
-<kbd>.TS</kbd>
-(<b>T</b>able <b>S</b>art)
-and end with <kbd>.TE</kbd>
-(<b>T</b>able <b>E</b>nd).
-Depending on where you want your tables output in a document, you will likely
-need to wrap your <kbd>tbl</kbd> code inside a
+<kbd>.TS</kbd> (<b>T</b>able <b>S</b>art) and end with
+<kbd>.TE</kbd> (<b>T</b>able <b>E</b>nd). Depending on where you
+want your tables output in a document, you may need to wrap
+your <kbd>tbl</kbd> code inside a
<a href="#floats-intro">float</a>,
-or use the <kbd>H</kbd> extension to <kbd>.TS</kbd>. If you put
-<kbd>tbl</kbd> code inside a float, the table will be output
-immediately if it fits on the page, or defered to the top of the
-next page if it doesn’t. If you prefer a table to begin where
-you say and span over to the next page, or if you know for certain
-your table will run to multiple pages, use <kbd>.TS H</kbd>.
+or pass the <kbd>H</kbd> argument to <kbd>.TS</kbd>.
+</p>
+
+<p>
+If you put <kbd>tbl</kbd> code inside a float, the table will be
+output immediately if it fits on the page, or deferred to the top
+of the next page if it doesn’t. If you prefer a table to
+begin where you say and span over to the next page, or if you know
+for certain a boxed table will run to multiple pages, simply pass the
+<kbd>H</kbd> argument to <kbd>.TS</kbd>, along with a corresponding
+<a href="#th"><kbd>TH</kbd></a>.
</p>
<div class="box-tip">
<p class="tip">
<span class="note">Note:</span>
-If you use <kbd>.TS H</kbd> to create a table that spans multiple
-pages, do not attempt to wrap the table inside a float. <kbd>.TS
-H</kbd> and <kbd>.FLOAT</kbd> are mutually exclusive. <b>FLOAT</b>
-“collects” the table and outputs it where convenient,
-whereas <kbd>.TS H</kbd> begins the table immediately and spans
-multiple pages, with a table header, if necessary.
+If you use <kbd>.TS H</kbd> to create a boxed table that spans
+multiple pages, do not attempt to wrap the table inside a float.
+For the purposes of boxed, multipage tables, <kbd>.TS H</kbd> and
+<kbd>.FLOAT</kbd> should be considered mutually exclusive. This
+restriction is imposed by the <kbd>tbl</kbd> preprocessor itself,
+not groff or mom.
+</p>
+</div>
+
+<h4 id="tbl-placement" class="docs">tbl placement in mom docs</h4>
+
+<p>
+If you use <kbd>.TS</kbd> without the <kbd>H</kbd> argument (and
+therefore no <kbd>.TH</kbd>), tables that fit on the page are output
+in position. If there is not enough room to output the table,
+<kbd>tbl</kbd> will abort with message instructing you to use
+<kbd>.TS H/.TH</kbd>.
+</p>
+
+<p>
+If you give <kbd>.TS</kbd> the <kbd>H</kbd> argument (with a
+corresponding <kbd>.TH</kbd>), tables will be output in position and
+span as many pages as necessary to complete output. A table header
+will be printed at the top of each page’s table output. In the
+event that there is not enough room to print the table header and
+at least one row of table data near the bottom of a page, mom will
+break to a new page before beginning table output, leaving a blank
+in
+<a href="definitions.html#running">running text</a>.
+</p>
+
+<p>
+Boxed tables inside
+<a href="#floats-intro">floats</a>
+are output in position if they fit on the page. If not, they are
+deferred to the top of the next page without a break in running
+text. Boxed tables within floats may not, however, span multiple
+pages; mom will abort with a message should a boxed table in a float
+run longer than the page.
+</p>
+
+<p>
+Unboxed tables inside floats may span multiple pages provided the
+<kbd>SPAN</kbd> argument has been given to
+<a href="#float">FLOAT</a>.
+</p>
+
+<div class="box-tip">
+<p class="tip">
+<span class="note">Note:</span>
+The vertical spacing around unfloated tables may appear slightly
+unequal, especially if there are several tables on the page. This
+is a result of
+<a href="docprocessing.html#shim">shimming</a>
+that mom applies automatically after each table. You may
+disable shimming with <kbd>.NO_SHIM</kbd>, or by giving the
+<kbd>NO_SHIM</kbd> argument to <kbd>.TE</kbd>. In either case, you
+will still likely want to adjust the spacing around with table with
+<a href="typesetting.html#ald">ALD</a>
+or
+<a href="typesetting.html#rld">RLD</a>.
+Tables inside floats are more easily adjusted with the
+<kbd>ADJUST</kbd> argument to
+<a href="#float">FLOAT</a>.
</p>
</div>
<div class="macro-id-overline">
-<h3 id="ts-te" class= "macro-id">.TS/.TE</h3>
+<h3 id="ts-te" class= "macro-id">.TS / .TH / .TE</h3>
</div>
<div class="box-macro-args">
-Macro: <b>TS</b> <kbd class="macro-args">[ BOXED | H ]</kbd>
+Macro: <a href="#ts"><b>TS</b></a> <kbd class="macro-args">[ H ] [ BOXED ] [
CENTER ] [ NEEDS ]</kbd>
<br/>
-Macro: <b>TH</b>
+Macro: <a href="#th"><b>TH</b></a> <kbd class="macro-args">(optional, only if
.TS H)</kbd>
<br/>
-Macro: <b>TE</b>
+Macro: <a href="#te"><b>TE</b></a> <kbd class="macro-args">[ "caption" ] [
<distance> ] [ LEFT | CENTER | RIGHT ] [ NO_SHIM ]</kbd>
</div>
<p>
Tables to be formatted with <kbd>tbl</kbd> begin with the macro
-<kbd>.TS</kbd> and end with <kbd>.TE</kbd>. Formatting
-instructions, per <kbd>man tbl</kbd> come between the two macros.
+<kbd>.TS</kbd> and end with <kbd>.TE</kbd>. Global <kbd>tbl</kbd>
+options (“flags”), formatting, and data (per
+<kbd>tbl(1)</kbd>) come between the two macros.
<br/>
<span class="pre-in-pp">
.TS
- <tbl commands and data>
+ <tbl options, formatting, and data>
.TE
</span>
Tables may be wrapped inside a
<a href="#float-intro">float</a>,
in which case, the entire table will be output on the current page
-if it fits, or defered to the next page if it doesn’t.
+if it fits, or deferred to the next page if it doesn’t.
<br/>
<span class="pre-in-pp">
.FLOAT
.TS
- <tbl commands and data>
+ <tbl options, formatting, and data>
.TE
.FLOAT OFF
</span>
-If a table inside a float is to be boxed (ie have a frame or border
-around it), you must give the optional argument <kbd>BOXED</kbd> to
-<kbd>.TS</kbd>, as in this example:
+</p>
+
+<div class="macro-id-overline">
+<h4 id="ts" class="docs" style="font-size: 100%; margin-top: .5em">The .TS
macro</h4>
+</div>
+
+<p>
+The <b>TS</b> macro must be invoked before entering a <kbd>tbl</kbd>
+block. You may give as many or as few of its arguments as required,
+in any order.
+</p>
+
+<h5 class="docs" style="margin-top: 1em; text-transform: none">'H'</h5>
+
+<p>
+With the <b>H</b> argument, a table will span as many pages as
+necessary, with or without a running header. The placement of the
+corresponding
+<a href="#th"><kbd>.TH</kbd></a>,
+which is required whenever the <b>H</b> argument is given,
+determines what, if anything, goes in the header. Compare the
+following:
+<span class="pre-in-pp">
+ .TS H .TS H
+ c s s c s s
+ c s s c s s
+ c c c c c c
+ n n n. n n n.
+ Percent Increase .TH
+ 2002-2012 Percent Increase
+ .TH 2002-2012
+ <tbl data> <tbl data>
+ .TE .TE
+</span>
+The first example will create a table that spans multiple
+pages if necessary, with a running header (“Percent
+Increase / 2002-2012”) for that table appearing at
+the top of each page until the table ends. The second example,
+equally, may run to several pages, but without the running header.
+See
+<a href="#th"><b>TH</b></a>
+for an explanation of <kbd>.TH</kbd> placement.
+</p>
+
+<div id="h-tip" class="box-tip">
+<p class="tip">
+<span class="note">Tip:</span>
+Generally speaking, it’s a good idea to get into the habit
+of using <kbd>.TS H</kbd> all the time, since there are no
+circumstances under which it fails, whereas <kbd>.TS</kbd> without
+<kbd>H</kbd> will fail on tables that exceed the page length.
+</p>
+</div>
+
+<h5 class="docs" style="margin-top: 1em; text-transform: none">'BOXED'</h5>
+
+<p>
+If a table is to be boxed (ie <kbd>tbl</kbd> is given the flags
+<kbd>'box'</kbd> or <kbd>'allbox'</kbd>) you must pass the argument
+<kbd>BOXED</kbd> to <kbd>.TS</kbd>, as in this example:
<br/>
<span class="pre-in-pp">
- .FLOAT
.TS BOXED
- allbox center;
+ allbox;
c s s
c c c
n n n.
- <tbl commands and data>
+ <tbl data>
.TE
- .FLOAT OFF
</span>
-Unboxed tables inside a float require no special argument to
-<kbd>.TS</kbd>.
</p>
+<h5 class="docs" style="margin-top: 1em; text-transform: none">'CENTER'</h5>
+
<p>
-If you prefer a table to start where you say and span multiple
-pages, or if you know for certain the table will run to several
-pages, do not use the <b>FLOAT</b> macro. Instead, invoke
-<kbd>.TS</kbd> with the <kbd>H</kbd> argument, enter any
-<kbd>tbl</kbd> global options (per <kbd>man(1) tbl</kbd>), and
-follow the last line of the global options, which terminates with
-a period, with text for the table header. Afterwards, invoke the
-macro, <kbd>.TH</kbd>, then begin entering table data, as in the
-following:
-<br/>
+If a table is to be centered on the page, (ie <kbd>tbl</kbd> is
+given the <kbd>'center'</kbd> flag), you must pass the argument
+<kbd>CENTER</kbd> to <kbd>.TS</kbd>, as in this example, which
+creates a (possibly) multipage boxed table, centered on the page,
+with a running header.
<span class="pre-in-pp">
- .TS H
+ .TS H BOXED CENTER
allbox center;
c s s
+ c s s
c c c
n n n.
- AT&T Common Stock
+ Percent Increase
+ 2002-2012
.TH
- <tbl commands and data>
+ <tbl data>
.TE
</span>
-In the example, “AT&T Common Stock” will be the
-table’s header, printed at the start of the table and at the
-top of the table on all subsequent pages.
</p>
+<h5 class="docs" style="margin-top: 1em; text-transform: none">'NEEDS'</h5>
+
+<p>
+If a table is not inside a float and you pass <kbd>.TS </kbd> the
+<kbd>H</kbd> argument (which you should; see the tip
+<a href="#h-tip">here</a>),
+mom begins output immediately where the table occurs in the input
+file <i>if there is enough room on the output page for the table
+header plus at least one row of table data</i>. If there isn't
+enough room, mom breaks to a new page before beginning the table,
+leaving a gap in
+<a href="definitions.html#running">running text</a>
+at the bottom of the previous page. If, for aesthetic reasons,
+you would prefer that mom require more than one row of table data
+beneath the header near the bottom of a page, you may increase the
+number with the <kbd>NEEDS</kbd> argument, followed by the desired
+number of rows.
+</p>
+
+<div class="macro-id-overline">
+<h4 id="ts" class="docs" style="font-size: 100%; margin-top: .5em">The .TH
macro</h4>
+</div>
+
+<p>
+The <b>TH</b> macro (<b>T</b>able <b>H</b>eader), which is required
+when you begin a table with <kbd>.TS H</kbd>, allows you to
+determine what goes in a table’s running header if it spans
+multiple pages. If you place it immediately underneath your
+<kbd>tbl</kbd> formatting specifications, the last line of which
+always ends with a period (see <kbd>tbl(1)</kbd>), there will
+be no running header. If you place it under the first row of
+<kbd>tbl</kbd> data, the first row will form the header; under the
+second row, the first and second rows form the header, and so on.
+</p>
+
+<div class="macro-id-overline">
+<h4 id="ts" class="docs" style="font-size: 100%; margin-top: .5em">The .TE
macro</h4>
+</div>
+
+<p>
+<kbd>tbl</kbd> blocks must be terminated with <kbd>.TE</kbd>.
+Arguments to <b>TE</b> are optional. If
<kbd>“<caption>”</kbd>
+is given, you may use as many or as few of the subsequent arguments
+as you wish, in any order.
+</p>
+
+<h5 class="docs" style="margin-top: 1em; text-transform:
none">“<caption>”</h5>
+
+<p>
+If you wish a table to have a caption, or label, underneath, surround the
+caption in double-quotes after <kbd>.TE</kbd>, like this:
+<span class="pre-in-pp">
+ .TE "Table 1"
+</span>
+</p>
+
+<h5 class="docs" style="margin-top: 1em; text-transform:
none"><distance></h5>
+
+<p>
+If you would like to increase the space between the bottom of a
+table and its caption, enter the increase with a digit to which is
+appended a
+<a href="definitions.html#unitofmeasure">unit of measure</a>:
+<span class="pre-in-pp">
+ .TE "Table 1" 3p
+</span>
+</p>
+
+<h5 class="docs" style="margin-top: 1em; text-transform: none">LEFT | CENTER |
RIGHT</h5>
+
+<p>
+By default, mom aligns captions with the left side of tables. If
+this is what you want, you may enter <kbd>LEFT</kbd>, or simply skip
+stating where you want the caption. If you would prefer centered or
+right placement, use <kbd>CENTER</kbd> or <kbd>RIGHT</kbd>.
+</p>
+
+<h5 class="docs" style="margin-top: 1em; text-transform: none">NO_SHIM</h5>
+
+<p>
+By default, mom adds
+<a href="docprocessing.html#shim">shimming</a>
+underneath tables. This behaviour may be disabled with the
+<kbd>NO_SHIM</kbd> argument, which, moreover, can be used for tables
+without a caption, like this:
+<span class="pre-in-pp">
+ .TE NO_SHIM
+</span>
+</p>
+
+<div class="rule-medium"><hr/></div>
+
+<h3 id="pic" class="docs">pic support</h3>
+
+<p>
+At present, mom has no integrated support or special features
+for the <b>pic</b> preprocessor, however <b>pic</b> may be used
+successfully within a mom document. Generally, it’s best to
+wrap <b>pic</b> blocks within a float (see below). If you want
+your <b>pic</b>s centred, you must include <kbd>-mpic</kbd> in the
+options passed to <kbd>pdfmom</kbd> or <kbd>groff</kbd>.
+</p>
+
+<h3 id="eqn" class="docs">eqn support</h3>
+
+<p>
+At present, mom has no integrated support or special features
+for the <b>eqn</b> preprocessor, however <b>eqn</b> may be used
+successfully within a mom document. Generally, it’s best to
+wrap <b>eqn</b> blocks within a float (see below).
+</p>
+
+<h3 id="refer" class="docs">refer support</h3>
+
+<p>
+<b>refer</b> support is covered in the section
+<a href="refer.html">Bibliographies and references</a>.
+</p>
+
+<div class="rule-medium"><hr/></div>
+
<h2 id="floats-intro" class="docs">Introduction to floats</h2>
<p>
@@ -557,7 +801,7 @@
</div>
<div class="box-macro-args">
-Macro: <b>FLOAT</b> <kbd class="macro-args">[ FORCE ] [ ADJUST
+|-<amount> ] | <anything></kbd>
+Macro: <b>FLOAT</b> <kbd class="macro-args">[ FORCE ] [ ADJUST
+|-<amount> ] [ SPAN ] | <anything></kbd>
</div>
<div class="box-tip">
@@ -602,6 +846,14 @@
the following page.
</p>
+<p>
+The <kbd>SPAN</kbd> argument tells mom that a float, if deferred,
+may carry onto multiple pages. Please note that <kbd>SPAN</kbd> may
+not be used for floats containing a boxed table; mom will abort with
+a warning should this occur. Unboxed tables, on the other hand, are
+acceptable within floats that are given the <kbd>SPAN</kbd> argument.
+</p>
+
<div class="box-tip">
<p class="tip-top">
<span class="note">Note:</span>
Index: momdoc/letters.html
===================================================================
RCS file: /sources/groff/groff/contrib/mom/momdoc/letters.html,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -b -r1.19 -r1.20
--- momdoc/letters.html 29 Jan 2013 05:02:46 -0000 1.19
+++ momdoc/letters.html 30 Oct 2013 19:15:10 -0000 1.20
@@ -100,6 +100,12 @@
</p>
<p>
+Please note that if you choose <kbd>PRINTSTYLE TYPEWRITE</kbd>,
+there's no need to give the <kbd>SINGLESPACE</kbd> option, as this
+is the unalterable default for letters.
+</p>
+
+<p>
After the START macro, you enter headers pertinent to your letter:
the date, the addressee (in business correspondence, typically both
name and address), the addresser (that’s you; in business
Index: momdoc/macrolist.html
===================================================================
RCS file: /sources/groff/groff/contrib/mom/momdoc/macrolist.html,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -b -r1.22 -r1.23
--- momdoc/macrolist.html 1 Feb 2013 08:12:28 -0000 1.22
+++ momdoc/macrolist.html 30 Oct 2013 19:15:10 -0000 1.23
@@ -70,7 +70,7 @@
<li><a href="#qr-15">Colour</a></li>
<li><a href="#qr-16">Dropcaps</a></li>
<li><a href="#qr-17">Utilities</a></li>
- <li><a href="#qr-18">Graphics, images and floats</a></li>
+ <li><a href="#qr-18">Graphical objects and images</a></li>
</ul>
<h3 class="docs" style="margin-top: -.5em;">DOCUMENT PROCESSING MACROS</h3>
<ul style="margin-top: .5em; margin-left: 0; padding-left: 0; list-style-type:
none;">
@@ -82,12 +82,14 @@
<li><a href="#qr-24">Initiate document processing</a></li>
</ul>
</div>
-<ul style="margin-top: 2.7em; margin-left: 0; padding-left: 0;
list-style-type: none;">
+<ul style="margin-top: 1.75em; margin-left: 0; padding-left: 0;
list-style-type: none;">
<li><a href="#qr-25">Epigraphs</a></li>
<li><a href="#qr-26">Headings</a></li>
<li><a href="#qr-30">Paragraphs</a></li>
<li><a href="#qr-31">Quotes (line for line quotes)</a> </li>
<li><a href="#qr-32">Blockquotes (cited passages of text)</a></li>
+ <li><a href="#qr-49">Floats</a></li>
+ <li><a href="#qr-50">tbl support</a></li>
<li><a href="#qr-33">Code snippets (inserting bits of programming
code)</a></li>
<li><a href="#qr-34">Author linebreaks (section breaks)</a></li>
<li><a href="#qr-35">Document termination string</a></li>
@@ -551,7 +553,7 @@
<table class="quick-ref">
<tr>
-<th id="qr-18" class="quick-ref" colspan="2" >+++ Graphics, images and
floats</th>
+<th id="qr-18" class="quick-ref" colspan="2" >+++ Graphical objects and
images</th>
</tr>
<tr>
<td><a href="graphical.html#drh">DRH</a></td><td>-- draw a horizontal rule</td>
@@ -574,11 +576,6 @@
<tr>
<td><a href="images.html#pspic">PSPIC</a></td><td>-- insert a PostScript
image</td>
</tr>
-<tr>
-<td style="vertical-align: top"><a
href="images.html#float">FLOAT</a></td><td>-- keep blocks of input together,
output on next page
-<br/>
- if necessary</td>
-</tr>
</table>
<div style="display: inline-block; margin-top: 1em; margin-bottom: .5em;
border-bottom: 2px solid #302419;"><kbd>DOCUMENT PROCESSING MACROS</kbd></div>
@@ -796,6 +793,31 @@
<table class="quick-ref">
<tr>
+<th id="qr-49" class="quick-ref" colspan="2" >+++Floats </th>
+</tr>
+<td style="vertical-align: top"><a
href="images.html#float">FLOAT</a></td><td>-- keep blocks of input together,
output on next page
+<br/>
+ if necessary</td>
+</tr>
+</table>
+
+<table class="quick-ref">
+<tr>
+<th id="qr-50" class="quick-ref" colspan="2" >+++tbl support </th>
+</tr>
+<tr>
+<td><a href="docelement.html#blockquote">TS</a></td><td>-- begin a tbl
block</td>
+</tr>
+<tr>
+<td><a href="docelement.html#blockquote-general">TH</a></td><td>-- running
table header (after TS H)</td>
+</tr>
+<tr>
+<td><a href="docelement.html#always-fullspace-quotes">TE</a></td><td>-- end
tbl block</td>
+</tr>
+</table>
+
+<table class="quick-ref">
+<tr>
<th id="qr-33" class="quick-ref" colspan="2" >+++ Code snippets</th>
</tr>
<tr>
Index: momdoc/reserved.html
===================================================================
RCS file: /sources/groff/groff/contrib/mom/momdoc/reserved.html,v
retrieving revision 1.44
retrieving revision 1.45
diff -u -b -r1.44 -r1.45
--- momdoc/reserved.html 29 Jan 2013 05:02:46 -0000 1.44
+++ momdoc/reserved.html 30 Oct 2013 19:15:10 -0000 1.45
@@ -50,12 +50,17 @@
</p>
<p>
-Anyone interested in playing around inside mom’s macro file
-(om.tmac) will find this list useful as well since it lists all (I
-hope) the macros, strings, diversions, aliases and number registers
+Anyone interested in hacking/patching mom’s macro file
+(om.tmac) will also find this list useful since it lists most of
+the macros, strings, diversions, aliases, and number registers
mom uses, along with brief descriptions of their functions.
</p>
+<p>
+Please note that PDF-related macros, strings, and registers are not
+included.
+</p>
+
<div class="rule-medium"><hr/></div>
<span class="pre" style="scroll: none;">
@@ -295,7 +300,7 @@
#NOFILL Are we in a nofill mode? (boolean)
#NOFILL_MODE Nofill mode
#OLD_LEAD Lead in effect prior to changing it with .vs
- in .LS
+ in .LS or .AUTOLEAD
#OPEN_CLOSE Manipulates character " to print `` or ''
#ORIGINAL_L_LENGTH Used in LIST for IB processing; holds \n[.l]
p Output line horiz position at end of
@@ -311,13 +316,13 @@
in effect (booleand off, i.e. to 0, when
QUAD <arg> or JUSTIFY is called)
#PT_SIZE Point size (fractional) in units (alias)
- #PT_SIZE_SET Was point size set with PT_SIZE? (boolean)
#Q_AT_TOP Does a quote start at the top of a new page?
(boolean)
#QUAD In autoquad mode? (boolean)
#QUIT Tells LIST whether to exit lists completely
(boolean)
#REMOVE Used in LIST OFF cleanup
+ #RESTORE_FILL Used to restore \[.u] state if temporarily changed
#RESTORE_LEAD Lead value in effect prior to AUTOLEAD
#RESTORE_LINE_LENGTH Restores actual line length in RULE
#RESTORE_LN_NUMBER Start linenumbering again with stored
@@ -1013,6 +1018,14 @@
QUIT_LISTS Exit lists cleanly and completely
SET_LIST_INDENT Restore indent of a prev. level of list
SHIM Advance to next "valid" baseline
+ TBL*CLEANUP Remove selected registers and strings created
+ by TS/TH/TE
+ TBL*GET_QUAD Establish quad of tbl caption
+ tbl*float-warning If tbl in a float exceeds page limits
+ tbl*print-header Administrivia for printing tbl headers
+ address@hidden Trap-invoked (HEADER); prints running tbl header
+ and moves FOOTER/FN_OVERFLOW_TRAP_POS traps
+ to accommodate tbl
TERMINATE .em that ensures deferred footnotes get output
on final pages
TRAPS Sets hdrftr traps; optionally adjusts #DOC_LEAD
@@ -1032,6 +1045,7 @@
CLOSING_TEXT Closing (i.e. Yours truly,)
EPI_TEXT Epigraph text
END_NOTES Endnotes text
+ FLOAT*DIV Float content
FN_IN_DIVER Footnotes gathered from inside a diversion
FN_OVERFLOW Excess footnotes when B_MARGIN is reached
FOOTNOTES Text of footnotes
@@ -1042,6 +1056,7 @@
RUNON_FOOTNOTES Special diversion for run-on footnotes
RUNON_FN_IN_DIVER Special diversion for run-on footnotes inside
(block)quotes
+ tbl*header-div Running tbl header
TOC_ENTRIES TOC entries
<span style="display: block; margin-top: -.5em; margin-bottom:
-2.5em;">+++NUMBER REGISTERS+++</span>
@@ -1173,6 +1188,7 @@
#DIVER_FN Register that tells FOOTNOTE whether to
"move" or "defer" a footnote collected
inside a diversion
+ defer / new-defer Appended to FLOAT*DIV: if float deferred
#DEFER_BIB_SPACING Tells DEFAULTS to do BIBLIOGRAPHY_SPACING
if it was called before START
#DEFER_PAGINATION Tells COLLATE to restore pagination (from
@@ -1187,6 +1203,8 @@
#DEPTH_2 Doc header depth without lead adjustment
(#DOCHEADER_LINES * #DOC_LEAD)
#DEPTH_TO_B_MARGIN Page length minus #B_MARGIN
+ D-float Depth of float containing/ending with
+ DRH, DRV, DBX, or DCL
#DIVERSIONS_HY_MARGIN A reasonable value for .hym applied to
QUOTE, BLOCKQUOTE and EPIGRAPH to
avoid excessive hyphenation if these are
@@ -1352,6 +1370,10 @@
#FIRST_DOC_TITLE_PN Page number of 1st (collated) doc (for TOC)
#FIRST_DOC_TOC_PN_PADDING Padding for 1st page number of 1st (collated) doc
(for TOC)
+ float*after-shim / \n[nl]; tests if SHIM has stayed on the same
+ float*before-shim baseline
+ float-span Float can run to multiple pages? (boolean)
+ float*with-tbl Float contains a tbl block
#FN_AUTOLEAD Autolead value of footnotes
#FN_BL_INDENT Left indent of INDENT BOTH in footnotes
#FN_BR_INDENT Right indent of INDENT BOTH in footnotes
@@ -1419,6 +1441,7 @@
#FOOTERS_WERE_ON Were footers on? - used in FINIS and BLANKPAGE
(boolean)
#FOOTNOTE_COLOR Colorize footnotes? (boolean)
+ #FORCE Force float? (boolean)
#FROM_BIB_STRING Tells UNDERSCORE it's underscoring $BIB_STRING
#FROM_COVER Tells UNDERSCORE it's underscoring on a cover
#FROM_DOC_COVER Tells UNDERSCORE it's underscoring on a doccover
@@ -1823,6 +1846,21 @@
#SUSPEND_PAGINATION Suspend pagination prior to endnotes?
#SWITCH_HDRFTR Switch HDRFTR_LEFT and HDRFTR_RIGHT?
(boolean)
+ tbl*boxed tbl has box or allbox (boolean)
+ tbl*center-label-on-table Is tbl caption centered? (boolean)
+ tbl*have-header tbl has a running header (boolean)
+ tbl*header-ht Depth of tbl*header-div
+ tbl*left-label-on-table Is tbl caption quad left? (boolean)
+ tbl*move-fn-overflow-trap Whether to move FN_OVERFLOW_TRAP_POS
+ to accommodate tbl
+ tbl*move-fn-overflow Amount by which to change
+ FN_OVERFLOW_TRAP_POS to accommodate tbl
+ tbl*move-footer Amount by which to change FOOTER trap
+ to accommodate tbl
+ tbl*move-footer-trap Whether to move FOOTER trap to accommodate
+ tbl
+ tbl*no-shim Whether to SHIM tbl (boolean)
+ tbl*right-label-on-table Is tbl caption quad right? (boolean)
#T_MARGIN_LEAD_ADJ \n[.v]-12000; ensures critically accurate
placement of first lines on pages when
doc processing is not being used and
@@ -1850,8 +1888,12 @@
#TOC_SH_SIZE_CHANGE ps in/decrease of toc subhead entries
#TOC_TITLE_INDENT Indent of toc doc title entries
#TOC_TITLE_SIZE_CHANGE ps in/decrease of toc doc title entries
+ @TOP Controls .ns at page top;
+ trap-invoked (FOOTER); mostly trap-removed
+ (address@hidden)
#TOTAL_FIELDS Total number of letter header fields
#TRAP \n[.t]-1 (used in DO_QUOTE)
+ #TW Width of tbl block
#UNADJUSTED_DOC_LEAD Argument passed to DOC_LEAD prior to
adjusting (set in TRAPS)
#UNDERLINE_ITALIC For TYPEWRITE. (boolean)
@@ -2157,6 +2199,9 @@
$FINIS_COLOR Color of FINIS string
$FINIS_STRING What to print when FINIS macro is
invoked
+ float-adj:bottom A + or - sign
+ float-adj:top A + or - sign
+ float*type Used with tbl; 'boxed' or 'table'
FN_MARK Inline, gets #FN_MARK ( \n[ln] )
$FN_CLOSE_BRACKET Close bracket for line-number identified
footnotes
@@ -2330,6 +2375,11 @@
$SUBTITLE_SIZE_CHANGE ps in/decrease of subtitle
$SUBTITLE_PT_SIZE Absolute ps of subtitle
$SUITE The #SUITE number register
+ tbl*center 'C' if set
+ tbl*label Text of tbl caption
+ tbl*needs # of rows of tbl data required to print
+ tbl near bottom of page
+ tbl*user-add-space User-added space before a tbl caption
$TITLE Concatenated args pass to TITLE
$TITLE_<n> Title items
$TITLE_COLOR Color of title
Index: momdoc/toc.html
===================================================================
RCS file: /sources/groff/groff/contrib/mom/momdoc/toc.html,v
retrieving revision 1.46
retrieving revision 1.47
diff -u -b -r1.46 -r1.47
--- momdoc/toc.html 17 Sep 2013 16:20:18 -0000 1.46
+++ momdoc/toc.html 30 Oct 2013 19:15:11 -0000 1.47
@@ -21,7 +21,7 @@
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
- <title>Mom, version 2.0-a_1 -- Table of Contents</title>
+ <title>Mom, version 2.1-b -- Table of Contents</title>
<link rel="stylesheet" type="text/css" href="stylesheet.css" />
</head>
@@ -32,7 +32,7 @@
<div class="page">
<div class="version">
- mom, version 2.0-a_1
+ mom, version 2.1-b
</div>
<h1 class="toc" style="margin-top: 9px;">Table of Contents</h1>
@@ -98,7 +98,7 @@
<li><a href="#prelim">Preliminary document setup</a></li>
<li><a href="#typemacdoc">Behaviour of the typesetting macros during
document processing</a></li>
<li><a href="#tags">The document element tags</a> – headings,
paragraphs, quotes, footnotes, etc.</li>
- <li><a href="#images">Graphics, tbl support, and floats</a></li>
+ <li><a href="#images">Graphics, floats, and preprocessor support</a></li>
<li><a href="#hdrftr">Page headers and footers</a></li>
<li><a href="#paginate">Pagination</a></li>
<li><a href="#rv">Recto/verso printing and collating</a></li>
@@ -346,7 +346,7 @@
<li><a href="docelement.html#margin-notes-intro">5.4.13 Margin
notes</a></li>
<li><a href="docelement.html#finis-intro">5.4.14 Document
termination string</a> – FINIS</li>
</ul></li>
- <li><a id="images" class="highlight" href="images.html#top">5.5
GRAPHICS, tbl SUPPORT, AND FLOATS</a>
+ <li><a id="images" class="highlight" href="images.html#top">5.5
GRAPHICS, FLOATS, AND PREPROCESSOR SUPPORT</a>
<ul>
<li><a href="images.html#images-intro">5.5.1 Inserting images and
graphics</a></li>
<li><a href="images.html#converting">5.5.2 Image conversion and file
processing</a></li>
Index: momdoc/typesetting.html
===================================================================
RCS file: /sources/groff/groff/contrib/mom/momdoc/typesetting.html,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -b -r1.32 -r1.33
--- momdoc/typesetting.html 26 Aug 2013 16:49:30 -0000 1.32
+++ momdoc/typesetting.html 30 Oct 2013 19:15:11 -0000 1.33
@@ -300,6 +300,12 @@
PAGEWIDTH.
</p>
+<div class="box-important">
+<p class="tip">
+<span class="important">Important:</span> <kbd>PAGEWIDTH</kbd>,
+when you need it, should be placed at the top of your files.
+</p>
+</div>
<!-- -PAGELENGTH- -->
<div class="macro-id-overline">
@@ -326,6 +332,13 @@
for information on ensuring groff respects your PAGELENGTH.
</p>
+<div class="box-important">
+<p class="tip">
+<span class="important">Important:</span> <kbd>PAGELENGTH</kbd>,
+when you need it, should be placed at the top of your files.
+</p>
+</div>
+
<!-- -PAPER- -->
<div class="macro-id-overline">
@@ -337,7 +350,7 @@
</div>
<p>
-PAPER provides a convenient way to set the page dimensions for some
+PAPER provides a convenient way to set the dimensions for some
common printer sheet sizes. <kbd><paper type></kbd> can
be one of:
<br/>
@@ -367,6 +380,13 @@
for information on ensuring groff respects your PAPER size.
</p>
+<div class="box-important">
+<p class="tip">
+<span class="important">Important:</span> <kbd>PAPER</kbd> when you
+need it, should be placed at the top of your files.
+</p>
+</div>
+
<!-- -L_MARGIN- -->
<div class="macro-id-overline">
@@ -1187,6 +1207,12 @@
</div>
<p class="requires">
• Does not require a <a href="definitions.html#unitofmeasure">unit
of measure</a>
+<br/>
+(Please see
+<a href=""></a>
+for information on using
+<span style="font-style: normal">AUTOLEAD</span> during document
+processing.)
</p>
<p>
@@ -1225,6 +1251,15 @@
<a href="#leading">LS</a>.
</p>
+<div class="box-tip">
+<p class="tip">
+<span class="experts">Experts:</span> Please note that the groff
+<a href="definitions.html#primitives">primitives</a>,
+<kbd>.vs</kbd> and <kbd>.ps</kbd>, are unaffected by, and have no
+effect, on AUTOLEAD.
+</p>
+</div>
+
<p>
If you give AUTOLEAD the optional FACTOR argument, AUTOLEAD
calculates the line space as a factor of the
@@ -1770,8 +1805,8 @@
<div class="box-tip">
<p class="tip">
<span class="experts">Experts:</span> SPREAD is an alias for
-<kbd>.brp</kbd> You can use either, or mix
-’n’ match with impunity.
+<kbd>.brp</kbd> You can use either, or mix ’n’ match
+with impunity.
</p>
</div>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Groff-commit] groff/contrib/mom ChangeLog NEWS om.tmac exampl...,
Peter Schaffter <=