PTPi pushed a commit to branch master
in repository groff.
commit 7d9632c02535ee7ed8ad2182e4f2b7ca52f646f4
Author: Peter Schaffter <[email protected]>
AuthorDate: Mon Mar 17 13:52:48 2025 -0400
[mom]: More housekeeping
* Corrects float caption spacing
* Ensures captions go into the requested List of ...
* Fixes LISTS_STYLE TITLE_QUAD CENTER (was setting titles quad
right)
* Corrects missing TITLE_QUAD arg to TOC_HEADER_STYLE
* Makes TOC header placement more robust
* Corrects TYPEWRITE spacing after TOC header
* Enforces non-adjusted leading as the value passed to TRAPS
---
contrib/mom/BUGS | 9 +++++-
contrib/mom/om.tmac | 81 +++++++++++++++++++++++++++++++----------------------
2 files changed, 56 insertions(+), 34 deletions(-)
diff --git a/contrib/mom/BUGS b/contrib/mom/BUGS
index c01954f89..276edaf63 100644
--- a/contrib/mom/BUGS
+++ b/contrib/mom/BUGS
@@ -23,9 +23,16 @@ the Subject line or you risk my spam filters nuking your
message.
Version 2.6_d
=============
-PDF_IMAGE after only one line text after START is moves the image to
+FLOAT captions not going into selected List of ...
+---Fixed---
+
+'LISTS_STYLE TITLE_QUAD CENTER' setting titles quad right.
+---Fixed---
+
+PDF_IMAGE after only one line text after START moves the image to
the next page.
---Fixed---
+
Some graphical objects not recognising colours initialized with
.XCOLOR.
---Fixed---
diff --git a/contrib/mom/om.tmac b/contrib/mom/om.tmac
index dbf67d75e..619da9851 100644
--- a/contrib/mom/om.tmac
+++ b/contrib/mom/om.tmac
@@ -1477,7 +1477,7 @@ end
.\" The QUAD in PP adds an unwanted linespace after a HEADING at the
.\" top of a pdf box because of this .br, so HEADING assigns the
.\" tmp register "bx-top\n[stack]" to inhibit it.
-. ie !\\n[pdfbx-top\\n[stack]] 'br
+. ie !\\n[pdfbx-top\\n[stack]] .if !\\n[#TOC] .br
. el .rr pdfbx-top\\n[stack]
. if \\n[#COVERTEXT_PP] \
. ds $RESTORE_DOC_QUAD \\*[$QUAD_VALUE]
@@ -5745,6 +5745,11 @@ SMALLCAPS takes precedence.
. el .\\*[$STYLE_TYPE]_QUAD \\$1
. shift
. \}
+. if '\\$1'TITLE_QUAD' \{\
+. shift
+. \\*[$STYLE_TYPE]_QUAD \\$1
+. shift
+. \}
. if '\\$1'INDENT' \{\
. shift
. \\*[$STYLE_TYPE]_INDENT \\$1
@@ -5980,16 +5985,16 @@ SMALLCAPS takes precedence.
. HEADER_MARGIN \\n[#HEADER_MARGIN]
. HEADER_GAP \\n[#HEADER_GAP]
. \}
-. el .if !r #T_MARGIN .T_MARGIN 6P
+. el .if !\\n[#T_MARGIN] .T_MARGIN 6P
. \}
. \}
-. if !r #T_MARGIN \
+. if !\\n[#T_MARGIN] \
. T_MARGIN \\n[#HEADER_MARGIN]+\\n[#HEADER_GAP]
. if !r #DOCHEADER_ADVANCE \
. nr #DOCHEADER_ADVANCE \\n[#T_MARGIN]
. if !r #FOOTER_MARGIN .FOOTER_MARGIN 3P
. if !r #FOOTER_GAP .FOOTER_GAP 3P
-. if !r #B_MARGIN \
+. if !\\n[#B_MARGIN] \
. B_MARGIN \\n[#FOOTER_MARGIN]u+\\n[#FOOTER_GAP]u
. if !\\n[#HEADER_RULE_GAP] .HEADER_RULE_GAP 4p
. if !\\n[#FOOTER_RULE_GAP] .FOOTER_RULE_GAP 4p
@@ -6716,7 +6721,7 @@ SMALLCAPS takes precedence.
. substring $\\*[$CALLING_MACRO]_QUAD 0 0
. if '\\*[$\\*[$CALLING_MACRO]_QUAD]'L' .LEFT
. if '\\*[$\\*[$CALLING_MACRO]_QUAD]'C' .CENTER
-. if '\\*[$\\*[$CALLING_MACRO]_QUAD]'C' .RIGHT
+. if '\\*[$\\*[$CALLING_MACRO]_QUAD]'R' .RIGHT
. \}
. el .CENTER
.END
@@ -8165,7 +8170,7 @@ $\\*[DOC_]COVERTITLE_\\n+[#\\*[DOC_]COVERTITLE_NUM]
\\$\\n[#\\*[DOC_]COVERTITLE_
. PP
. PARA_INDENT \\n[#STORED_PP_INDENT]u
. rr #STORED_PP_INDENT
-. ie r #ADVANCE_FROM_TOP \{\
+. ie \\n[#ADVANCE_FROM_TOP] \{\
. br
. sp |\\n[#ADVANCE_FROM_TOP]u-1v
. if \\n[#ADJ_DOC_LEAD]=1 \
@@ -8529,6 +8534,7 @@ $\\*[DOC_]COVERTITLE_\\n+[#\\*[DOC_]COVERTITLE_NUM]
\\$\\n[#\\*[DOC_]COVERTITLE_
. rr #DOC_AUTOLEAD
. rr #DOC_AUTOLEAD_FACTOR
. nr #DOC_LEAD \\n[.v]
+. if '\\$2'ADJUST' .TRAPS
. \}
. nr #RESET_TRAPS 1
. if !\\n[#ADJ_DOC_LEAD] .nr #REMOVE_ADJ 1
@@ -16299,11 +16305,9 @@ EN-\\n[#CH_NUM]\\n[#EN_NUMBER]-body
\s-2\v'-\\n[#DOC_LEAD]u/7u'\\n[#EN_NUMBER]\|
. TRAPS
. \}
. el .DOC_LEAD \\*[$TOC_LEAD]
-. if '\\*[.T]'ps' .nr #SPACE_CORRECTION 1
-. if '\\*[.T]'pdf' .nr #SPACE_CORRECTION 2
. 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*\\n[#SPACE_CORRECTION]u)
+. el .DOCHEADER OFF
. if (\\n[#PRINT_STYLE]=1)&(\\n[#SINGLE_SPACE]=1) \
. DOCHEADER OFF \\n[#T_MARGIN]u-(\\n[#DOC_LEAD]u*2u)
. START
@@ -16319,6 +16323,7 @@ EN-\\n[#CH_NUM]\\n[#EN_NUMBER]-body
\s-2\v'-\\n[#DOC_LEAD]u/7u'\\n[#EN_NUMBER]\|
. QUAD \\*[$TOC_HEADER_QUAD]
. if \\n[#TOC_STRING_CAPS] .CAPS
. if \\n[#TOC_STRING_SMALLCAPS] .SMALLCAPS
+. sp |\\n[#T_MARGIN]u-1v
. if \\n[#PRINT_STYLE]=1 \
. UNDERSCORE 3p "\\*[$TOC_HEADER_STRING]"
. if \\n[#PRINT_STYLE]=2 \{\
@@ -16334,7 +16339,8 @@ EN-\\n[#CH_NUM]\\n[#EN_NUMBER]-body
\s-2\v'-\\n[#DOC_LEAD]u/7u'\\n[#EN_NUMBER]\|
. CAPS OFF
. if \\n[#TOC_HEADER_COLOR]=1 .gcolor default
. br
-. if \\n[#PRINT_STYLE]=2 .sp
+. RESTORE_SPACE
+. sp
. SHIM_1
. nf
. TOC_ENTRIES
@@ -17943,6 +17949,7 @@ EN-\\n[#CH_NUM]\\n[#EN_NUMBER]-body
\s-2\v'-\\n[#DOC_LEAD]u/7u'\\n[#EN_NUMBER]\|
\#
\#
.MAC FLOAT END
+. if \\n[#START] .RR_ADVANCE_FROM_TOP
. nr ll-pre-float \\n[.l]
. if \\n[#NUM_ARGS]>0 \{\
. nr loop-count 0 1
@@ -18294,6 +18301,10 @@ EN-\\n[#CH_NUM]\\n[#EN_NUMBER]-body
\s-2\v'-\\n[#DOC_LEAD]u/7u'\\n[#EN_NUMBER]\|
. rr #FORCE
. rm P_QUOTE
. rm B_QUOTE
+. rm $FLOATING_CAPTION
+. rm $FLOATING_LABEL
+. rm $LIST_LABEL
+. rm $LIST_CAPTION
. if \\n[float*img] .rr float*img
. if \\n[float*pic] .rr float*pic
. if \\n[float*eqn] .rr float*eqn
@@ -18336,7 +18347,10 @@ EN-\\n[#CH_NUM]\\n[#EN_NUMBER]-body
\s-2\v'-\\n[#DOC_LEAD]u/7u'\\n[#EN_NUMBER]\|
.END
\#
.MAC TRAPS END
-. if !\\n[#UNADJUSTED_DOC_LEAD] .nr #UNADJUSTED_DOC_LEAD \\n[#DOC@LEAD]
+. if !\\n[#UNADJUSTED_DOC_LEAD] \{\
+. nr #UNADJUSTED_DOC_LEAD \\n[#DOC@LEAD]
+. nr #DOC_LEAD \\n[#UNADJUSTED_DOC_LEAD]
+. \}
.\" Remove all header/footer traps
. if !\\n[#NO_TRAP_RESET] \{\
. ch DO_T_MARGIN
@@ -19588,7 +19602,13 @@ EN-\\n[#CH_NUM]\\n[#EN_NUMBER]-body
\s-2\v'-\\n[#DOC_LEAD]u/7u'\\n[#EN_NUMBER]\|
. if \\n[#QUOTE] .nr q-float 1
. if '\\$0'CAPTION' \{\
. ds labelcap caption
-. ds $FLOATING_CAPTION \\$*
+. nr loop-counter 0 1
+. nr loop-count \\n[#NUM_ARGS]
+. ds $FLOATING_CAPTION \\$1
+. if '\\$2'TO_LIST' \{\
+. nr to-list 1
+. ds $LIST_OF \\$3
+. \}
. \}
. if '\\$0'LABEL' \{\
. ds labelcap label
@@ -19608,9 +19628,7 @@ EN-\\n[#CH_NUM]\\n[#EN_NUMBER]-body
\s-2\v'-\\n[#DOC_LEAD]u/7u'\\n[#EN_NUMBER]\|
. \}
. if '\\$1'TO_LIST' \{\
. nr to-list 1
-. if '\\$2'FIGURES' .ds $LIST_OF FIGURES
-. if '\\$2'EQUATIONS' .ds $LIST_OF EQUATIONS
-. if '\\$2'TABLES' .ds $LIST_OF TABLES
+. ds $LIST_OF \\$2
. shift 2
. \}
. \}
@@ -19666,6 +19684,7 @@ EN-\\n[#CH_NUM]\\n[#EN_NUMBER]-body
\s-2\v'-\\n[#DOC_LEAD]u/7u'\\n[#EN_NUMBER]\|
. if '\\*[$LIST_OF]'EQUATIONS' \
. if r eqn*label-num .STRIP_PRFX_SFFX "\\*[$FLOATING_LABEL]"
. \}
+. if '\\*[$LIST_LABEL]'' .ds $LIST_LABEL \\*[$FLOATING_LABEL]
. ds $FLOATING_LABEL \
\F[\\\\*[floating*label-family]]\
\f[\\\\*[floating*label-font]]\
@@ -19678,16 +19697,14 @@ EN-\\n[#CH_NUM]\\n[#EN_NUMBER]-body
\s-2\v'-\\n[#DOC_LEAD]u/7u'\\n[#EN_NUMBER]\|
. sp \\n[floating*caption-lead-diff]u
. if !'\\*[floating*caption-space]'' \
. sp \\*[floating*caption-space]
-. while !'\\$1'' \{\
. nop \
\F[\\*[floating*caption-family]]\
\f[\\*[floating*caption-font]]\
\s[\\*[floating*caption-size-change]]\
\m[\\*[floating*caption-color]]\
-\\$1
-. if \\n[.u]=1 .br
-. shift
-. \}
+\\*[$FLOATING_CAPTION]
+. if \\n[.u]=1 .br
+. shift
. if !'\\*[floating*caption-space]'' \
. sp -\\*[floating*caption-space]
. \}
@@ -19748,7 +19765,7 @@ EN-\\n[#CH_NUM]\\n[#EN_NUMBER]-body
\s-2\v'-\\n[#DOC_LEAD]u/7u'\\n[#EN_NUMBER]\|
. ds floating*\\*[labelcap]-color pdf:href.colour
. ds labelcap caption
. \}
-. ie '\\*[$LIST_LABEL]'' .TO_\\*[$LIST_OF] "\\*[$FLOATING_LABEL]
+. ie '\\*[$LIST_LABEL]'' .TO_\\*[$LIST_OF] "\\*[$FLOATING_CAPTION]
. el .TO_\\*[$LIST_OF] "\\*[$LIST_LABEL]" "\\*[$LIST_CAPTION]
. rr to-list
. nr loop-counter 0 1
@@ -19763,10 +19780,6 @@ EN-\\n[#CH_NUM]\\n[#EN_NUMBER]-body
\s-2\v'-\\n[#DOC_LEAD]u/7u'\\n[#EN_NUMBER]\|
. \}
. \}
. rr with-caption
-. rm $FLOATING_CAPTION
-. rm $FLOATING_LABEL
-. rm $LIST_LABEL
-. rm $LIST_CAPTION
.END
.
.ALIAS CAPTION LABEL
@@ -20648,7 +20661,7 @@ EN-\\n[#CH_NUM]\\n[#EN_NUMBER]-body
\s-2\v'-\\n[#DOC_LEAD]u/7u'\\n[#EN_NUMBER]\|
. if !'\\*[tbl*space-adj]'' .sp \\*[tbl*space-adj]u
. if !\\n[#MLA] \{\
. if (\\n[tbl*have-caption]=0):(\\n[tbl*caption-after-label]=1) \{\
-. ie !'\\n[.z]'FLOAT*DIV' \{\
+. if !'\\n[.z]'FLOAT*DIV' \{\
. ie !\\n[tbl*boxed]=2 \{\
. if \\n[tbl*have-header] .nr tbl*restore-header 1
. if !\\n[@TOP] .sp .5v
@@ -20660,13 +20673,11 @@ EN-\\n[#CH_NUM]\\n[#EN_NUMBER]-body
\s-2\v'-\\n[#DOC_LEAD]u/7u'\\n[#EN_NUMBER]\|
. sp .25v
. \}
. \}
-. el .sp .5v
. \}
. \}
. if \\n[nl]=\\n[#PAGE_TOP] .ns
. if '\\n[.z]'FLOAT*DIV' \{\
-. ie \\n[defer]>0 .sp .5v
-. el .sp .25v
+. if \\n[defer]>0 .sp .5v
. \}
. if \\n[@TOP] .rr @TOP
. ds ev-current \\n[.ev]
@@ -20709,10 +20720,14 @@ EN-\\n[#CH_NUM]\\n[#EN_NUMBER]-body
\s-2\v'-\\n[#DOC_LEAD]u/7u'\\n[#EN_NUMBER]\|
. ie !'\\n[.z]'' \{\
. if (\\n[float*img]=0)&(\\n[float*pic]=0)&(\\n[float*eqn]=0) \{\
\!. PDF_TARGET tbl:\\\\n+[lists*target]
-. ie !'\\*[tbl*label]'' \
-\!. TO_TABLES "\\*[tbl*label]" "\\*[tbl*caption\\*[short]]"
-. el \
-\!. TO_TABLES "\\*[tbl*caption\\*[short]]"
+. if '\\*[$FLOATING_LABEL]'' \{\
+. if '\\*[$FLOATING_CAPTION]'' \{\
+. ie !'\\*[tbl*label]'' \
+\!. TO_TABLES "\\*[tbl*label]"
"\\*[tbl*caption\\*[short]]"
+. el \
+\!. TO_TABLES "\\*[tbl*caption\\*[short]]"
+. \}
+. \}
. \}
. \}
. el \{\
_______________________________________________
groff-commit mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/groff-commit