[Top][All Lists]
[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 ------------------------------