groff_ms(7) says that changing the number register FL is effective at the next footnote. That seems to be true only for one column text.
In multicolumn text you have to change the undocumented fn:MCLL after calling .MC. fn:MCLL is an alias for the number register pg@fn-colw, which is set when .MC is called. (.2C calls .MC to do the work, so we only have to worry about .MC.) Is fn:MCLL intended to be ms internal use only, or is intended to be available to users? If you don't set either FL or fn:MCLL the groff ms macros default to making the footnote length 5/6 the length of the current line length. I don't like having the line length of the footnotes only 5/6 the width of the columns: I like them to be the full width of the current line, whether that is in one column mode or multicolumn mode. I'd like to be able to change that default, to avoid having to change the footnote line length in multicolumn mode using the undocumented fn:MCLL. I propose adding a string variable, FR (footnote ratio), that defaults to to 5/6 for compatibility and replaces the uses of the literal 5/6 for setting footnote line length. You can set this at the beginning of your document, or before each .MC or .2C. For my use I'd always set it to 1, making the footnote line length the same as the line length. (I think making setting FR effective before the next footnote, like setting FL in one column mode, would take rewriting par@reset to recalculate fn:MCLL every time, instead of just after a .MC.) Here's a patch: ===== footnote-ratio.patch ================================= diff --git a/doc/groff.texi b/doc/groff.texi index 75b08a5f..f72bda49 100644 --- a/doc/groff.texi +++ b/doc/groff.texi @@ -2774,6 +2774,15 @@ Effective: next footnote. Default: @math{@code{@\n[PD]} / 2}. @endDefmpreg +@DefstrList {FR, ms} +Defines the ratio of the footnote line length to the current line +length. + +Effective: start of document or before each @code{.MC} or @code{.2C}. + +Default: @math{5/6}. +@endDefmpreg + @unnumberedsubsubsec Miscellaneous Number Registers @Defmpreg {MINGW, ms} diff --git a/tmac/groff_ms.7.man b/tmac/groff_ms.7.man index 83a6cefc..858ad699 100644 --- a/tmac/groff_ms.7.man +++ b/tmac/groff_ms.7.man @@ -235,15 +235,23 @@ cb cb cb cb lfCW l l l. Reg. Definition Effective Default _ -FL Footnote length next footnote \[rs]n[LL]*5/6 +FL Footnote length T{ +next footnote; not effective in multicolumn mode +T} \[rs]n[LL]*\[rs]*[FR] FI Footnote indent next footnote 2n FF Footnote format next footnote 0 FPS Point size next footnote \[rs]n[PS]\-2 FVS Vert.\& spacing next footnote \[rs]n[FPS]+2 FPD Para.\& spacing next footnote \[rs]n[PD]/2 +FR Footnote ratio T{ +before first paragraph, or before each .MC +T} 5/6 _ .TE .RE +.LP +Note that \f[CW]FR\fP is a string variable and should be set with the +\fBds\fP request. . .LP .ne 6 diff --git a/tmac/s.tmac b/tmac/s.tmac index 180a9f81..8f03878f 100644 --- a/tmac/s.tmac +++ b/tmac/s.tmac @@ -514,7 +514,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. .DEVTAG ".mc \\n[pg@ncols] \\n[pg@colw] \\n[pg*gutw]" .ns .nr pg*col-num 0 -.nr pg@fn-colw \\n[pg@colw]*5/6 +.nr pg@fn-colw \\n[pg@colw]*\\*[FR] .par@reset .mk pg*col-top .. @@ -1077,7 +1077,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. .\" happens when the first page begins .de par@init .if !rLT .nr LT \\n[LL] -.if !rFL .nr FL \\n[LL]*5/6 +.if !rFL .nr FL \\n[LL]*\\*[FR] .if !rVS \{\ . ie (\\n[PS] >= 1000) \ . nr VS (\\n[PS] + 2000) @@ -1419,7 +1419,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. .\" but allow ".SH n" to make heading point size match ".NH n", .\" for same "n", when \n[GROWPS] and \n[PSINCR] are set. . nr sh*psincr 0 -. if 0\\$1>0 .nr sh*psincr (\\n[GROWPS]-0\\$1)*\\n[PSINCR] +. if 0\\$1>0 \{\ +. nr sh*psincr (\\n[GROWPS]-0\\$1)*\\n[PSINCR] +.\} . SH-NO-TAG . DEVTAG-SH 1 . if '\*(.T'html' .nr need_eo_h 1 @@ -1498,6 +1500,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. .ds par@sup-end \v'-.7m\s0+.9m' .als } par@sup-end .\" footnote paragraphs +.\" FR is the footnote ratio to the line length +.ds FR 5/6 .\" FF is the footnote format .nr FF 0 .\" This can be redefined. It gets a second argument of 'no' if the ============================================================ -- T. Kurt Bond, tkurtb...@gmail.com