For what it is worth, I like this idea (and the fact a patch was included). It's always sort of bugged me that it limits it to 5/6, I'm sure there was a reason but I think it should match line length.
On Thu, Aug 06, 2020 at 11:53:38AM -0400, T. Kurt Bond wrote: > 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 -- --- Larry McVoy lm at mcvoy.com http://www.mcvoy.com/lm