groff
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Groff] footnotes without implicit paragraph break


From: Ted Harding
Subject: RE: [Groff] footnotes without implicit paragraph break
Date: Thu, 03 Jun 2004 22:05:55 +0100 (BST)

On 03-Jun-04 Dorai Sitaram wrote:
> Is there a way to modify ms's .FS macros so that successive footnotes
> on
> the same page are accumulated without an intervening implicit paragraph
> break?  Of course, the user should be able to deliberately insert a
> parbreak if they so choose.
> 
> Rationale: When footnotes are really small, like the "Ibid." or "Op.
> cit." of yore, say, and don't deserve to take up a whole line.

Where the footnote macros "so the business" is defined in the macro
".FP" (i.e. "footnote paragraph"), which in ms macros has four forms
depending on whether you leave "\n[FF]" (footnote format) at its
default (0) or define it as 1, 2 or 3.

The definition of ".FP", and the associated definitions of the
four footnote-format macros "par*fp!0", "par*fp!1", "par*fp!2"
and "par*fp!3" are listed below. "0" and "1" start a new footnote
with (in effect) ".PP", "2" starts with "LP", and "3" starts
with "IP". They are defined in pairs, where the first sets the
footnote number followed by a "." ("embellished") and the second
simply sets the footnote marker with no ".". This is to cover
the two cases:

a) You plant \** at the text footnote number position, and then
   use ".FS" with no argument. In that case, ".FS" starts a footnote
   with the footnote number followed by a ".".
b) You plant some different marker (e.g. "\(dg") in the text,
   and then initiate the footnote itself with ".FS \(dg", which
   will start a footnote with "\(dg" not followed by ".".
This mechanism is transparent: it simply tests whether ".FS"
was used with or without an argument.

I can't see anything stopping you defining an additional format
macro, "par*fp!4", which would simply continue on the same line
instead of using one of the paragraph macros "PP", "LP" or "IP",
but modelled on the existing ones. Then you can use your new macro
by setting "\n[FF]" as in

.nr FF 4

and revert to the usual one with

.nr FF 0

The error trap for "unknown footnote format '\\n[FF]' should not
be triggered if you have defined "par*fp!4".

================================================================

.de FP
.br
.if !d par*fp!\\n[FF] \{\
.       @error unknown footnote format `\\n[FF]'
.       nr FF 0
.\}
.ie '\\$2'no' .par*fp!\\n[FF]-no "\\$1"
.el .par*fp!\\n[FF] "\\$1"
..
.de par*fp!0
address@hidden
\&address@hidden@sup-end]\ \c
..
.de par*fp!0-no
address@hidden
\&\\$1\ \c
..
.de par*fp!1
address@hidden
\&\\$1.\ \c
..
.de par*fp!1-no
address@hidden
\&\\$1\ \c
..
.de par*fp!2
address@hidden
\&\\$1.\ \c
..
.de par*fp!2-no
address@hidden
\&\\$1\ \c
..
.de par*fp!3
address@hidden "\\$1." (u;\\n[\\n[.ev]:PI]*2)
..
.de par*fp!3-no
address@hidden "\\$1" (u;\\n[\\n[.ev]:PI]*2)
..

==================================================================

I hope this helps you. If it works, and especially if you enhance the
suggestion, please let us know the details!

Best wishes,
Ted.


--------------------------------------------------------------------
E-Mail: (Ted Harding) <address@hidden>
Fax-to-email: +44 (0)870 167 1972
Date: 03-Jun-04                                       Time: 22:05:55
------------------------------ XFMail ------------------------------


reply via email to

[Prev in Thread] Current Thread [Next in Thread]