[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[groff] 01/01: Bug fixes to: - COVERTITLE - FORCE_RECTO and BLANKPAGE -
From: |
Peter Schaffter |
Subject: |
[groff] 01/01: Bug fixes to: - COVERTITLE - FORCE_RECTO and BLANKPAGE - TOC and LISTS_OF leading - PDF outline See BUGS. Tweaks throughout to improve vertical space handling at top of page. |
Date: |
Wed, 3 May 2017 13:55:53 -0400 (EDT) |
PTPi pushed a commit to branch master
in repository groff.
commit a81320271d45323a59effc34b7fe1a1d89f8d058
Author: Peter Schaffter <address@hidden>
Date: Wed May 3 13:47:23 2017 -0400
Bug fixes to:
- COVERTITLE
- FORCE_RECTO and BLANKPAGE
- TOC and LISTS_OF leading
- PDF outline
See BUGS.
Tweaks throughout to improve vertical space handling at top of page.
---
contrib/mom/BUGS | 16 ++++
contrib/mom/om.tmac-u | 203 +++++++++++++++++++++++++++++++-------------------
2 files changed, 144 insertions(+), 75 deletions(-)
diff --git a/contrib/mom/BUGS b/contrib/mom/BUGS
index d5de747..1c14111 100644
--- a/contrib/mom/BUGS
+++ b/contrib/mom/BUGS
@@ -21,6 +21,22 @@ the Subject line or you risk my spam filters nuking your
message.
====================================================================
+Version 2.2
+===========
+COVERTITLE not picking up style params.
+---Fixed---
+
+FORCE_RECTO and BLANKPAGES not co-operating.
+---Fixed---
+
+TOC and LISTS_OF leading not being picked up and/or adjusted
+properly.
+---Fixed---
+
+PDF outline putting first doc ahead of TOC in PDF outline when
+TOC is auto-relocated and COVER has the BLANKPAGE arg.
+---Fixed---
+
Version 2.1-b
=============
Toggling of pagination broken.
diff --git a/contrib/mom/om.tmac-u b/contrib/mom/om.tmac-u
index d26433d..0deab90 100644
--- a/contrib/mom/om.tmac-u
+++ b/contrib/mom/om.tmac-u
@@ -21,8 +21,8 @@ for more details.
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.2
------------
+Version 2.2-a
+-------------
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.
@@ -30,7 +30,7 @@ nothing left to take away.
By those standards, mom is a Rube Goldberg contraption. She was
created over the years while groff, and my understanding of it,
changed and evolved. However, I'm a firm believer in "if it ain't
-broke, don't fix it." Version 2.0 removes some of the redundancies
+broke, don't fix it." Version 2.0 removed some of the redundancies
and cruft, but mom still needs some nip and tuck.
"<anything>" in the description of arguments that can be passed
@@ -46,6 +46,12 @@ extensions, and float management).
\#
\# ====================================================================
\#
+\# Mom version
+.ds version 2.2-a
+.if dVERSION \{\
+. ab [mom]: Version \*[version]
+.\}
+\#
\# Check which version of groff is being run
.if (\n[.x]\n[.y] < 118) \
. ab [mom]: You need GNU troff version 1.18 or higher to run this version of
mom.
@@ -4224,7 +4230,7 @@ y\R'#DESCENDER \\n[.cdp]'
FONT B \
SIZE +0 \
QUAD L \
- NEEDS 1v \
+ NEEDS 1 \
COLOR black
.\" Set up default style for nine levels of TOC headings
. TOC_ENTRY_STYLE \\n[#HD_LEVEL] \
@@ -4636,13 +4642,11 @@ y\R'#DESCENDER \\n[.cdp]'
. if '\\$1'DOC_COVER' \{\
. shift
. DOC_COVERTITLE \\$@
-. nr #FROM_DOC_COVERTITLE 1
. return
. \}
. if '\\$1'COVER' \{\
. shift
. COVERTITLE \\$@
-. nr #FROM_COVERTITLE 1
. return
. \}
. ie \\n[#NUM_ARGS]=0 \{\
@@ -4777,6 +4781,10 @@ y\R'#DESCENDER \\n[.cdp]'
. if '\\$1'DOC_COVER' .ds $DOC_COVER_COPYRIGHT \[co]\\$2
.END
\#
+.MAC COPYRIGHT_V_ADJUST END
+. ds $COPYRIGHT_V_ADJ \\$1
+.END
+\#
.MAC MISC END \"Doc cover and cover pages only; enclose all args in double
quotes
. rm COVER_
. ie \\n[#NUM_ARGS]=0 \{\
@@ -5460,6 +5468,11 @@ SMALLCAPS takes precedence.
. rr #\\*[$BIB-EN-TOC]_UNDERLINE
. shift
. \}
+. if '\\$1'V_ADJUST' \{\
+. shift
+. COPYRIGHT_V_ADJUST \\$1
+. shift
+. \}
. \}
. br
. rm $STYLE_TYPE
@@ -7242,35 +7255,32 @@ $\\*[DOC_]COVERTITLE_\\n+[#\\*[DOC_]COVERTITLE_NUM]
\\$\\n[#\\*[DOC_]COVERTITLE_
.\" registers from their (DOC_)COVER_TITLE equivalents.
.\"
. if (\\n[#\\*[DOC_]COVER_TITLE]=6):(\\n[#\\*[DOC_]COVER_TITLE]=7) \{\
-. if \\n[#FROM_\\*[DOC_]COVERTITLE] \{\
-. ds $\\*[DOC_]COVER_\\*[DOC_]COVERTITLE_FAM \
+. ds $\\*[DOC_]COVER_\\*[DOC_]COVERTITLE_FAM \
\\*[$\\*[DOC_]COVER_TITLE_FAM]
-. ds $\\*[DOC_]COVER_\\*[DOC_]COVERTITLE_FT \
+. ds $\\*[DOC_]COVER_\\*[DOC_]COVERTITLE_FT \
\\*[$\\*[DOC_]COVER_TITLE_FT]
-. ds $\\*[DOC_]COVER_\\*[DOC_]COVERTITLE_COLOR \
+. ds $\\*[DOC_]COVER_\\*[DOC_]COVERTITLE_COLOR \
\\*[$\\*[DOC_]COVER_TITLE_COLOR]
-. nr #\\*[DOC_]COVER_\\*[DOC_]COVERTITLE_COLOR \
+. nr #\\*[DOC_]COVER_\\*[DOC_]COVERTITLE_COLOR \
\\n[#\\*[DOC_]COVER_TITLE_COLOR]
-. nr #\\*[DOC_]COVER_\\*[DOC_]COVERTITLE_CAPS \
+. nr #\\*[DOC_]COVER_\\*[DOC_]COVERTITLE_CAPS \
\\n[#\\*[DOC_]COVER_TITLE_CAPS]
-. nr #\\*[DOC_]COVER_\\*[DOC_]COVERTITLE_SMALLCAPS \
+. nr #\\*[DOC_]COVER_\\*[DOC_]COVERTITLE_SMALLCAPS \
\\n[#\\*[DOC_]COVER_TITLE_SMALLCAPS]
-. ds $\\*[DOC_]COVER_\\*[DOC_]COVERTITLE_LEAD \
+. ds $\\*[DOC_]COVER_\\*[DOC_]COVERTITLE_LEAD \
\\*[$\\*[DOC_]COVER_TITLE_LEAD]
-. ds $\\*[DOC_]COVER_\\*[DOC_]COVERTITLE_SIZE_CHANGE \
+. ds $\\*[DOC_]COVER_\\*[DOC_]COVERTITLE_SIZE_CHANGE \
\\*[$\\*[DOC_]COVER_TITLE_SIZE_CHANGE]
-. nr #\\*[DOC_]COVER_\\*[DOC_]COVERTITLE_UNDERLINE \
+. nr #\\*[DOC_]COVER_\\*[DOC_]COVERTITLE_UNDERLINE \
\\n[#\\*[DOC_]COVER_TITLE_UNDERLINE]
-. nr #\\*[DOC_]COVER_\\*[DOC_]COVERTITLE_UNDERLINE_WEIGHT \
+. nr #\\*[DOC_]COVER_\\*[DOC_]COVERTITLE_UNDERLINE_WEIGHT \
\\n[#\\*[DOC_]COVER_TITLE_UNDERLINE_WEIGHT]
-. nr #\\*[DOC_]COVER_\\*[DOC_]COVERTITLE_UNDERLINE_WEIGHT_ADJ \
+. nr #\\*[DOC_]COVER_\\*[DOC_]COVERTITLE_UNDERLINE_WEIGHT_ADJ \
\\n[#\\*[DOC_]COVER_TITLE_UNDERLINE_WEIGHT_ADJ]
-. ds $\\*[DOC_]COVER_\\*[DOC_]COVERTITLE_UNDERLINE_GAP \
+. ds $\\*[DOC_]COVER_\\*[DOC_]COVERTITLE_UNDERLINE_GAP \
\\*[$\\*[DOC_]COVER_TITLE_UNDERLINE_GAP]
-. ds $\\*[DOC_]COVER_\\*[DOC_]COVERTITLE_RULE_GAP \
+. ds $\\*[DOC_]COVER_\\*[DOC_]COVERTITLE_RULE_GAP \
\\*[$\\*[DOC_]COVER_TITLE_RULE_GAP]
-. rr #FROM_\\*[DOC_]COVERTITLE
-. \}
. ie \\n[#PRINT_STYLE]=1 \{\
. CAPS
. vs \\n[.v]u*2u
@@ -7422,15 +7432,18 @@ $\\*[DOC_]COVERTITLE_\\n+[#\\*[DOC_]COVERTITLE_NUM]
\\$\\n[#\\*[DOC_]COVERTITLE_
. fam \\*[$\\*[DOC_]COVER_COPYRIGHT_FAM]
. ft \\*[$\\*[DOC_]COVER_COPYRIGHT_FT]
. ps \\n[#DOC_PT_SIZE]u\\*[$\\*[DOC_]COVER_COPYRIGHT_SIZE_CHANGE]
-. nr #COPYRIGHT_V_ADJ \\n[#DOC_LEAD]-\\n[.v]
-. sp \\n[#COPYRIGHT_V_ADJ]u
-. rr #COPYRIGHT_V_ADJ
+. nr #COPYRIGHT_V_POS \\n[#DOC_LEAD]-\\n[.v]
+. sp \\n[#COPYRIGHT_V_POS]u
+. rr #COPYRIGHT_V_POS
. \}
. if \\n[#\\*[DOC_]COVER_COPYRIGHT]=1 \{\
. QUAD \\*[$\\*[DOC_]COVER_COPYRIGHT_QUAD]
. if \\n[#\\*[DOC_]COVER_COPYRIGHT_COLOR]=1 \
. gcolor \\*[$\\*[DOC_]COVER_COPYRIGHT_COLOR]
-. PRINT \\*[$\\*[DOC_]COVER_COPYRIGHT]
+. ie !'\\*[$COPYRIGHT_V_ADJ]'' \
+. PRINT \v'\\*[$COPYRIGHT_V_ADJ]'\\*[$\\*[DOC_]COVER_COPYRIGHT]
+. el \
+. PRINT \\*[$\\*[DOC_]COVER_COPYRIGHT]
. if \\n[#\\*[DOC_]COVER_COPYRIGHT_COLOR]=1 \
. gcolor
. \}
@@ -7496,15 +7509,20 @@ $\\*[DOC_]COVERTITLE_\\n+[#\\*[DOC_]COVERTITLE_NUM]
\\$\\n[#\\*[DOC_]COVERTITLE_
.MAC END_COVER END
. EOL
. TRAP
-. NEWPAGE
. if '\\*[$COVER_TYPE]'DOC_COVER_' .ds DOC DOC
+. NEWPAGE
. rm $COVER_TYPE
. if \\n[#PAGINATION_WAS_ON]=1 .nr % +1
-. ie \\n[#\\*[DOC]_COVER_BLANKPAGE]=1 \{\
+. ie \\n[#\\*[DOC]COVER_BLANKPAGE]=1 \{\
. if \\n[TOC.RELOCATE] \
. if !\\n[#TOC_BH] .TOC_AFTER_HERE
-. NEWPAGE
-. rr #\\*[DOC]_COVER_BLANKPAGE
+.\" Without the empty PDF_BOOKMARK, (doc)cover BLANKPAGE causes
+.\" the PDF outline to place the first doc or chapter before the TOC,
+.\" even though PDF output is correct.
+. PDF_BOOKMARK 1
+. nop \&
+. bp
+. rr #\\*[DOC]COVER_BLANKPAGE
. if !\\n[#\\*[DOC]COVERS_COUNT]=1 .nr % -2
. \}
. el \
@@ -7841,6 +7859,7 @@ $\\*[DOC_]COVERTITLE_\\n+[#\\*[DOC_]COVERTITLE_NUM]
\\$\\n[#\\*[DOC_]COVERTITLE_
. \}
. \}
. \}
+. RESTORE_SPACE
.END
\#
.MAC RR_ADVANCE_FROM_TOP END
@@ -8811,13 +8830,19 @@ Shimming must be disabled with NO_SHIM before using
FLEX.
.ds PAGE# \En[#PAGENUMBER]
\#
.MAC RESTORE_SPACE END
-. vpt 0
+. if address@hidden \{\
+. ch address@hidden
+. rr @TOP
+. \}
+. if \\n[.u]=1 .nr #FILLED 1
+. nf
. rs
. nop \&
. sp -1
-. ch address@hidden
-. rr @TOP
-. vpt
+. if \\n[#FILLED] \{\
+. fi
+. rr #FILLED
+. \}
.END
\#
\# HDRFTR RULE GAP
@@ -10407,7 +10432,8 @@ Shimming must be disabled with NO_SHIM before using
FLEX.
\# If PARAHEAD given, HEADING must come after PP.
\#
.MAC HEADING END
-. br
+' br
+. if address@hidden .br
. if !\B'\\$1' \{\
. tm1 "[mom]: The first argument to \\$0 must be a numeric heading level.
. ab [mom]: Aborting '\\n[.F]' at \\$0, line \\n[.c].
@@ -10439,7 +10465,7 @@ Shimming must be disabled with NO_SHIM before using
FLEX.
. if address@hidden \{\
. nr #HEAD 1
. ie !\\n[#START] \{\
-. nr #HEADING_NEEDS \\n[#NUM_ARGS]v+\\*[$HEAD_\\n[#LEVEL]_NEEDS]+1v
+. nr #HEADING_NEEDS
\\n[#NUM_ARGS]v+\\*[$HEAD_\\n[#LEVEL]_NEEDS]v+1v
. if \\n[#HEAD_\\n[#LEVEL]_SPACE_AFTER] .nr #HEADING_NEEDS +1v
. if \\n[.t]<\\n[#HEADING_NEEDS] .sp \\n[.t]u
. vpt 0
@@ -11695,6 +11721,7 @@ Shimming must be disabled with NO_SHIM before using
FLEX.
. ie '\\$1'' \{\
. ev QUOTE
. evc 0
+. if \\n[.i] .in 0
. if \\n[#LINENUMBERS]=2 \
. if \\n[#SILENT_QUOTE_LN]=1 .nm \\n[#NEXT_LN] 1000 -4
. nr #IN_DIVER 1
@@ -11876,6 +11903,7 @@ Shimming must be disabled with NO_SHIM before using
FLEX.
. ie '\\$1'' \{\
. ev BLOCKQUOTE
. evc 0
+. if \\n[.i] .in 0
. if \\n[#LINENUMBERS]=2 \
. if \\n[#SILENT_BQUOTE_LN]=1 .nm \\n[#NEXT_LN] 1000 -4
. nr #IN_DIVER 1
@@ -12157,7 +12185,6 @@ Shimming must be disabled with NO_SHIM before using
FLEX.
. rm $BQ_SPACE_ADJUST
. \}
. \}
-. if '\\n[.z]'FLOAT*DIV' \!.po
. if !\\n[#START] .rr #QUOTE
. if \\n[in-cutaround] .nr #PP_INDENT \\n[pp-ind-tmp]
\#. if !\\n[ev-popped] .ev \" Needed once cutarounds are implemented
@@ -14960,7 +14987,7 @@ E\\R'#CAP_HEIGHT \\n[.cht]'
\#
.ds $TOC_PN \\*[ST102]\F[\\*[$TOC_PN_FAM]]\f[\\*[$TOC_PN_FT]]\
\s[\\n[#TOC_PS]u]^\\*[ST102X]\\*[ST103]\s[\\*[$TOC_PN_SIZE_CHANGE]]\
-\|\|\|\h'\w'0'u*\\n[#TOC_PN_PADDING]u'\\*[ST103X]
+\h'.2n'\h'\w'0'u*\\n[#TOC_PN_PADDING]u'\\*[ST103X]
\#
.ds $TOC_PN_TYPEWRITE \\*[ST102]^\\*[ST102X]\\*[ST103]\
\h'\w'0'u*\\n[#TOC_PN_PADDING]u'\\*[ST103X]
@@ -14975,7 +15002,7 @@ E\\R'#CAP_HEIGHT \\n[.cht]'
. rr #SKIP_ENTRY
\!. \}
\!. el \{\
-. br
+. TQ
. ie \\n[#PRINT_STYLE]=1 \{\
\!. fam \\*[$TYPEWRITER_FAM]
\!. ft R
@@ -15045,7 +15072,7 @@ E\\R'#CAP_HEIGHT \\n[.cht]'
\!. PAD_MARKER #
\!. EOL
\!. ST 102 L
-\!. ST 103 R
+\!. ST 103 R QUAD
. if \\n[#PRINT_STYLE]=2 \{\
\!. FAMILY \\*[$TOC_PN_FAM]
\!. FT \\*[$TOC_PN_FT]
@@ -15058,8 +15085,6 @@ E\\R'#CAP_HEIGHT \\n[.cht]'
\!. ps \\*[$TOC_PN_SIZE_CHANGE]
. \}
\!. PRINT \\n[#TOC_ENTRY_PN]
-\!. TQ
-\!. vpt
\!. \}
. da
. ev
@@ -15400,7 +15425,7 @@ E\\R'#CAP_HEIGHT \\n[.cht]'
\#
.MAC TOC END
. ie (address@hidden)&(\\n[.t]<=\\n[.v]) \
-' br \" When last line of text is on or near b-margin.
+' br \" When last line of text is on or near b-margin.
. el .br \" All other cases
. if dPDF.EXPORT \
. if \\n[#FLEX_ACTIVE] \
@@ -15462,11 +15487,6 @@ E\\R'#CAP_HEIGHT \\n[.cht]'
. rm $HDRFTR_CENTER_OLD
. rm $HDRFTR_CENTER_NEW
. rr #COLLATED_DOC
-. ie \\n[#TOC_HEADER_V_POS] \
-. DOCHEADER OFF \\n[#TOC_HEADER_V_POS]u-\\n[#DOC_LEAD]u
-. el .DOCHEADER OFF \\n[#T_MARGIN]u-\\n[#DOC_LEAD]u
-. if (\\n[#PRINT_STYLE]=1)&(\\n[#SINGLE_SPACE]=1) \
-. DOCHEADER OFF \\n[#T_MARGIN]u-(\\n[#DOC_LEAD]u*2u)
. if !r #TOC_START_PAGENUM .nr #TOC_START_PAGENUM 1
. PAGENUMBER \\n[#TOC_START_PAGENUM]
. if \\n[#LINENUMBERS]=2 .nr #LINENUMBERS 3
@@ -15479,8 +15499,14 @@ E\\R'#CAP_HEIGHT \\n[.cht]'
. if r #TOC_PAGE_PARAMS .TOC_PAGE_PARAMS
. ie \\n[#ADJ_TOC_LEAD] \{\
. DOC_LEAD \\*[$TOC_LEAD] ADJUST
-. el .DOC_LEAD \\*[$TOC_LEAD]
+. TRAPS
. \}
+. el .DOC_LEAD \\*[$TOC_LEAD]
+. ie \\n[#TOC_HEADER_V_POS] \
+. DOCHEADER OFF \\n[#TOC_HEADER_V_POS]u-\\n[#DOC_LEAD]u
+. el .DOCHEADER OFF \\n[#T_MARGIN]u-\\n[#DOC_LEAD]u
+. if (\\n[#PRINT_STYLE]=1)&(\\n[#SINGLE_SPACE]=1) \
+. DOCHEADER OFF \\n[#T_MARGIN]u-(\\n[#DOC_LEAD]u*2u)
. START
. PDF_BOOKMARK 1 \\*[$TOC_HEADER_STRING]
. if \\n[#PRINT_STYLE]=1 .TYPEWRITER
@@ -15510,10 +15536,9 @@ E\\R'#CAP_HEIGHT \\n[.cht]'
. if \\n[#TOC_HEADER_COLOR]=1 .gcolor
. br
. sp
-. SHIM
+. SHIM_1
. nf
. TOC_ENTRIES
-. rr #TOC
. if \\n[#LINENUMBERS]=3 \{\
. NUMBER_LINES RESUME
. nr #LINENUMBERS 1
@@ -15623,6 +15648,7 @@ E\\R'#CAP_HEIGHT \\n[.cht]'
\# completely if the level in which it's invoked is the first.
\#
.MAC LIST END
+. br
. ds $1ST_LETTER \\$1
. if !'\\*[$1ST_LETTER]'' .substring $1ST_LETTER 0 0
. if '\\*[$1ST_LETTER]'r' .ds $1ST_LETTER R
@@ -15812,7 +15838,7 @@ E\\R'#CAP_HEIGHT \\n[.cht]'
. if '\\*[$ENUMERATOR_TYPE\\n[#DEPTH]]'roman' \
. GET_ROMAN_INDENT
. if '\\*[$ENUMERATOR_TYPE\\n[#DEPTH]]'other' \
-. nr #LIST_INDENT\\n[#DEPTH] \w'\\*[$ENUMERATOR\\n[#DEPTH]]\0'
+. nr #LIST_INDENT\\n[#DEPTH] \w'\\*[$ENUMERATOR\\n[#DEPTH]]\ '
. ll \\n[#CURRENT_L_LENGTH]u
. ie \\n[#DEPTH]=1 \{\
. ie \\n[#INDENT_ACTIVE]=1 \{\
@@ -16292,6 +16318,7 @@ E\\R'#CAP_HEIGHT \\n[.cht]'
. rm $SEPARATOR\\n[#REMOVE]
. rm $ENUMERATOR_TYPE\\n[#REMOVE]
. rr #PAD_LIST_DIGITS\\n[#REMOVE]
+. rr #SHIFT_LIST\\n[#REMOVE]
. \}
. rr #STORED_L_INDENT
. rr #STORED_BL_INDENT
@@ -16350,9 +16377,21 @@ E\\R'#CAP_HEIGHT \\n[.cht]'
\#
.MAC COLLATE END
. if dPDF.EXPORT .tm .ds pre-collate-\\n% address@hidden
-. if \\n[defer] .bp
-. if \\n[#FORCE_RECTO] \
-. if o .BLANKPAGE 1 DIVIDER
+. if \\n[defer] \{\
+. nr #BLANKPAGE_AFTER_DEFER 1
+. bp
+. \}
+. if !\\n[#TOC] \{\
+. if \\n[#FORCE_RECTO] \{\
+. ds $PN_FORMAT_CURR \\g[#PAGENUMBER]
+. af #PAGENUMBER 1
+. if (\\n[#PAGENUMBER]%2=1) .nr #ODD_PAGENUM 1
+. af #PAGENUMBER \\*[$PN_FORMAT_CURR]
+. if \\n[#ODD_PAGENUM] .BLANKPAGE 1 DIVIDER
+. rr #ODD_PAGENUM
+. rr #BLANKPAGE_AFTER_DEFER
+. \}
+. \}
. nr #HEADER_STATE \\n[#HEADERS_ON]
. if (\\n[defer]=0)&(\\n[float*defer]=0) .HEADERS OFF
. if \\n[#LINENUMBERS] \{\
@@ -16394,7 +16433,6 @@ E\\R'#CAP_HEIGHT \\n[.cht]'
. QUAD \\*[$DOC_QUAD]
. nr #SAVED_DOC_LEAD \\n[#DOC_LEAD]
. nr #COLLATED_DOC 1
-. if ( (\\n[.t]-1) <= \\n[.v] ) .nr #NO_BREAK 1
. vs \\n[#DOC_LEAD]u
\*[SLANTX]
\*[CONDX]
@@ -16411,7 +16449,7 @@ E\\R'#CAP_HEIGHT \\n[.cht]'
. rs
. nop \&
. \}
-. if '\\n[.ev]'P+AGE_TRANSITION\\n[pg-trans]' .ev
+. if '\\n[.ev]'PAGE_TRANSITION\\n[pg-trans]' .ev
. if \\n[#DEFER_PAGINATION] .PAGINATE
. if !'\\*[$RESTORE_PAGENUM_STYLE]'' \{\
. PAGENUM_STYLE \\*[$RESTORE_PAGENUM_STYLE]
@@ -16667,11 +16705,14 @@ E\\R'#CAP_HEIGHT \\n[.cht]'
. \}
. NEWPAGE
. ie '\\$1'DIVIDER' \{\
+. nop \&
+. if \\n[#BLANKPAGE_AFTER_DEFER] .bp
. if \\n[#FOOTERS_WERE_ON] .FOOTERS
. if \\n[#RESTORE_PN_V_POS] \{\
. if \\n[#PAGINATE_WAS_ON] .PAGINATE
. nr #PAGE_NUM_V_POS \\n[#RESTORE_PN_V_POS]
. \}
+. if \\n[#HEADERS_WERE_ON] .HEADERS
. shift
. if '\\$1'NULL' .nr #PAGE_NUM_ADJ -\\n[#HOW_MANY]
. \}
@@ -16718,6 +16759,8 @@ E\\R'#CAP_HEIGHT \\n[.cht]'
. rr tbl*no-top-hook
. \}
. if \\n[defer] \{\
+. nr #TMP_PAGE_OFFSET \\n[.o]
+. po \\n[#L_MARGIN]u
. ev protect
. evc FLOAT
. nf
@@ -16800,6 +16843,8 @@ E\\R'#CAP_HEIGHT \\n[.cht]'
. rnn new-float-depth:\\n[loop-count] float-depth:\\n[loop-count]
. rnn new-D-float:\\n[loop-count] D-float:\\n[loop-count]
. \}
+. if !\\n[#TMP_PAGE_OFFSET]=\\n[.o] .po \\n[#TMP_PAGE_OFFSET]u
+. rr #TMP_PAGE_OFFSET
. rr float*defer
. ch FOOTER \\n[#VARIABLE_FOOTER_POS]u
. ch FN_OVERFLOW_TRAP -\\n[#FN_OVERFLOW_TRAP_POS]u
@@ -16847,13 +16892,13 @@ E\\R'#CAP_HEIGHT \\n[.cht]'
. nop \&
. sp -1
. \}
-. if \\n[no-top-space] \{\
+. if \\n[no-top-space:\\n[float*defer]] \{\
. ie !\\n[#COLUMNS] \{\
. sp |\\n[#T_MARGIN]u-\\n[#DOC_LEAD]u+.5
. ns
. \}
. el .sp |\\n[dc]u
-. if \\n[float*tbl] \{\
+. if \\n[float*tbl:\\n[float*defer]] \{\
. rs
. ie \\n[tbl*caption-top-lead-diff] \{\
. sp \\n[tbl*caption-top-lead-diff]u
@@ -16861,6 +16906,8 @@ E\\R'#CAP_HEIGHT \\n[.cht]'
. \}
. el \
. if '\\*[float*type:\\n[float*defer]]'boxed-tbl' .sp 2p
+. rr no-top-space:\\n[float*defer]
+. rr float*tbl:\\n[float*defer]
. \}
. \}
. if \\n[float*pic] \{\
@@ -16878,11 +16925,11 @@ E\\R'#CAP_HEIGHT \\n[.cht]'
. ns
. vpt
. FLOAT*DIV:\\n[loop-count]
-. if \\n[no-top-space] \{\
+. if \\n[no-top-space:\\n[float*defer]] \{\
. rs
. nop \&
. sp -1
-. rr no-top-space
+. rr no-top-space:\\n[float*defer]
. \}
. if \\n[#COLUMNS] \
. if !'\\*[pic*space-adj]'' .sp -\\*[pic*space-adj]
@@ -16910,7 +16957,7 @@ E\\R'#CAP_HEIGHT \\n[.cht]'
\# FLOAT
\# -----
\# *Arguments:
-\# [ ADJUST +|-<amount> ] [ FORCE] [ SPAN] [ NO_SHIM] | <anything>
+\# [ ADJUST +|-<amount> ] [ FORCE] [ SPAN] [ NO_SHIM] | [ NO_FLEX ] [ TARGET
] | <anything>
\# *Function:
\# Captures input in a diversion, which is output immediately if
\# there's room on the page; otherwise outputs diversion at top of
@@ -17053,7 +17100,10 @@ E\\R'#CAP_HEIGHT \\n[.cht]'
. if \\n[float-span] \
. if !\\n[tbl*boxed] .rnn float-span float-span:\\n[defer]
. if \\n[float*tbl] \{\
-. if \\n[defer]=1 .nr no-top-space 1
+. if \\n[defer]>0 \{\
+. nr no-top-space:\\n[defer] 1
+. nr float*tbl:\\n[defer] 1
+. \}
. ie \\n[tbl*boxed] \{\
. ds float*type:\\n[defer] boxed-tbl
. rr float-span
@@ -17064,7 +17114,7 @@ E\\R'#CAP_HEIGHT \\n[.cht]'
. rr tbl*center
. \}
. if \\n[float*eqn] \{\
-. if \\n[defer]=1 .nr no-top-space 1
+. if \\n[defer]=1 .nr no-top-space:\\n[defer] 1
. ds float*type:\\n[defer] eqn
. \}
. if \\n[float*pic] \
@@ -17094,6 +17144,7 @@ E\\R'#CAP_HEIGHT \\n[.cht]'
. rr dn-save
. ch FOOTER \\n[#VARIABLE_FOOTER_POS]u
. ch FN_OVERFLOW_TRAP -\\n[#FN_OVERFLOW_TRAP_POS]u
+. vpt 0
. if !'\\*[float-adj]'' .sp \\*[float-adj]
. if \\n[.u] .nr fill 1
. if address@hidden \{\
@@ -17183,6 +17234,7 @@ E\\R'#CAP_HEIGHT \\n[.cht]'
. rm FLOAT*DIV
. if !'\\*[float-adj]'' \
. if !\\n[no-adjust] .sp -\\*[float-adj]
+. vpt
. if !\\n[#NO_SHIM] \
. if address@hidden .SHIM
. rm float-adj
@@ -18969,11 +19021,12 @@ E\\R'#CAP_HEIGHT \\n[.cht]'
. nr #LISTS_LEAD \\n[#TOC_LEAD]
. if \\n[#PRINT_STYLE]=2 \{\
. ie \\n[#LISTS_LEAD_ADJUST]=1 \{\
-. vs \\n[#LISTS_LEAD]u
+. nr #DOC_LEAD \\n[#LISTS_LEAD]
. DOC_LEAD_ADJUST
+. TRAPS
. \}
. el \{\
-. vs \\n[#LISTS_LEAD]u
+. nr #DOC_LEAD \\n[#LISTS_LEAD]
. DOC_LEAD_ADJUST OFF
. \}
. \}
@@ -19263,7 +19316,7 @@ E\\R'#CAP_HEIGHT \\n[.cht]'
\#
.ds $LISTS_PN \\*[ST102]\F[\\*[$LISTS_PN_FAM]]\f[\\*[$LISTS_PN_FT]]\
\s[\\n[#LISTS_PS]u]^\\*[ST102X]\\*[ST103]\s[\\\\*[$LISTS_PN_SIZE_CHANGE]]\
-\|\|\|\h'\w'0'u*\\\\n[#LISTS_PN_PADDING]u'\\*[ST103X]
+\h'.2n'\h'\w'0'u*\\\\n[#LISTS_PN_PADDING]u'\\*[ST103X]
\#
.ds $LISTS_PN_TYPEWRITE \\*[ST102]^\\*[ST102X]\\*[ST103]\|\
\h'\w'0'u*\\\\n[#LISTS_PN_PADDING]u'\\*[ST103X]
@@ -19353,19 +19406,17 @@ E\\R'#CAP_HEIGHT \\n[.cht]'
\#
.MAC TS END
. br
-. ie address@hidden \
-. RESTORE_SPACE
-. el .if \\n[.t]=1 .sp \\n[.t]u
. rr tbl*have-header
. rr float*tbl
. rr tbl*boxed
. if '\\n[.z]'FLOAT*DIV' .nr float*tbl 1
. if !'\\n[.z]'FLOAT*DIV' \{\
. if \\n[.t]=1 \{\
-. if address@hidden \{\
+. ie address@hidden \{\
. ie \\n[#COLUMNS] .COL_NEXT internal
. el .NEWPAGE
. \}
+. el .RESTORE_SPACE
. \}
. \}
. rr tbl*boxed
@@ -22360,7 +22411,7 @@ No room to start \\*[MN-pos] margin note #\\n[MN-curr]
on page \\n[#P].
\# [ -L -| -R | -C | -I <indent> ] \
\# <image file> <width> <height> \
\# [ SCALE <factor> ] [ ADJUST +|-<vertical shift> ] [ TARGET <pdf target>
] \
-\# [ NO_SHIM ]
+\# [ NO_SHIM ] [ NO_FLEX ]
\# *Function:
\# Allows embedding of PDF images with the same arguments as PSPIC
\# plus SCALE and ADJUST options.
@@ -22442,12 +22493,12 @@ No room to start \\*[MN-pos] margin note
#\\n[MN-curr] on page \\n[#P].
. shift 2
. \}
. if '\\$1'NO_SHIM' \{\
-. if !'\\n[.z]'FLOAT*DIV' .nr pdf-image*no-shim 1
+. if !'\\n[.z]'FLOAT*DIV' .nr pdf-img*no-shim 1
. nr @no-shim 1
. shift 1
. \}
. if '\\$1'NO_FLEX' \{\
-. if !'\\n[.z]'FLOAT*DIV' .nr pdf-image*no-flex 1
+. nr pdf-img*no-flex 1
. nr @no-flex 1
. shift 1
. \}
@@ -22598,7 +22649,9 @@ No room to start \\*[MN-pos] margin note #\\n[MN-curr]
on page \\n[#P].
. if !'\\*[pdf-img*caption-short]'' .ds short -short
. ie !'\\*[pdf-img*label]'' \
. TO_FIGURES "\\*[pdf-img*label]" "\\*[pdf-img*caption\\*[short]]"
-. el .TO_FIGURES "\\*[pdf-img*caption\\*[short]]"
+. el \
+. if !'\\*[pdf-img*caption\\*[short]]'' \
+. TO_FIGURES "\\*[pdf-img*caption\\*[short]]"
. if !\\n[pdf-img:float] \{\
. ie !\\n[#NO_SHIM] \
. if !\\n[pdf-img*no-shim] .SHIM
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [groff] 01/01: Bug fixes to: - COVERTITLE - FORCE_RECTO and BLANKPAGE - TOC and LISTS_OF leading - PDF outline See BUGS. Tweaks throughout to improve vertical space handling at top of page.,
Peter Schaffter <=