bug-groff
[Top][All Lists]
Advanced

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

bug in postscript output of -me macro .(b


From: Dave Kemper
Subject: bug in postscript output of -me macro .(b
Date: Wed, 26 Dec 2012 21:46:40 -0600

This bug appears in GNU groff version 1.21.

In the -me reference manual, the description for .(b says:

   If the block will not fit on the current page a new page is begun,
   unless that would leave more than \n(bt [0] white space at the bottom
   of the text.  If \n(bt is zero, the threshold feature is turned off.

This is not what happens in the edge case, however.  Consider:

------------------------------
.mso me.tmac     \" -me macros
.nr bs 0         \" no extra space before or after blocks
.nf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
.(b
forty-six
forty-seven
forty-eight
forty-nine
fifty
fifty-one
fifty-two
.)b
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
------------------------------

On the first page, this outputs lines 1 to 45, then the seven-line block,
then one more line, 53, before the page break.  This tells us that the
block would fit exactly at the bottom of the page, if there were one
more line above it (which would take the place of line 53 below).

So add one line somewhere above the .(b.

Now, output to the ascii device does what's expected, putting line
"fifty-two" at the bottom of the first page, and 53 at the top of
the second.  But output to the ps device puts the entire block on the
second page, even though there is room for it on the first page.



reply via email to

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