[net.text] Disappearing Text with -me package

isaac@mulga.OZ (Isaac Balbin) (02/11/86)

Has anyone ever had the text (in this case a picture from pic)
between the .(z and .)z of the -me package vanish never to appear
on the output?
If you have, and have a fix could you tell me. We are running
the 4.3BSD -me macro package.
			Isaac Balbin

"Reincarnation == the least fixed point of a recursive born again ..."
===========================
UUCP:	{seismo,mcvax,ukc,ubc-vision}!munnari!isaac
ARPA:	isaac%munnari.oz@seismo.css.gov
CSNET:	isaac%munnari.oz@australia

hopp@nbs-amrf.UUCP (Ted Hopp) (02/12/86)

> Has anyone ever had the text (in this case a picture from pic)
> between the .(z and .)z of the -me package vanish never to appear
> on the output?
> If you have, and have a fix could you tell me. We are running
> the 4.3BSD -me macro package.
> 			Isaac Balbin
> 

If the vertical size of the floating keep (from '.(z' to '.)z') is
larger than the page length, the keep will never be emitted.  (I think,
in fact, that all future floating keeps will be queued behind the
keep that is stuck.)  This is probably what is happening to you.

The -me macros would apparently rather never output a floating keep
than split it across a page boundary.  Sort of nasty, I say.  You'd
think any left over stuff would come spewing out at the end of the
document as part of the end macro execution.

-- 

Ted Hopp	{seismo,umcp-cs}!nbs-amrf!hopp

isaac@mulga.OZ (Isaac Balbin) (02/13/86)

In article <149@nbs-amrf.UUCP> hopp@nbs-amrf.UUCP (Ted Hopp) writes:
! 
! If the vertical size of the floating keep (from '.(z' to '.)z') is
! larger than the page length, the keep will never be emitted.  (I think,
! in fact, that all future floating keeps will be queued behind the
! keep that is stuck.)  This is probably what is happening to you.
! 
! The -me macros would apparently rather never output a floating keep
! than split it across a page boundary.  Sort of nasty, I say.  You'd
! think any left over stuff would come spewing out at the end of the
! document as part of the end macro execution.
! 
! Ted Hopp	{seismo,umcp-cs}!nbs-amrf!hopp

That was not the case, in fact. I should mention that the reason (I surmise)
it is not printing the floating keep is that the last bit of `normal' text
does not fill the last page.  The vicinity of the last page is approximately 
where the floating keep was entered in the original ditroff -me input. 
The floating keep should ideally float all on its lonesome to the next page. 
However, since there is no text on the next page - except for the floating keep 
itself -  `-me' says, "No point printing that diagram".
This is just not good enough. I can't believe this sort of thing has not 
happened to others before. You haven't all solved this problem by manually
making sure there is enough space on the page for the block (and putting
it inside .(b.)b rather than .(z .)z?
Will I be forced to abandon `-me' and ditroff for `Tex?' Is it indeed more
reliable? I would prefer to think someone out there has a `fix'.
					Isaac Balbin
(Rhetorically) "Eric Allman where are you? (In Perth last I heard)"

hopp@nbs-amrf.UUCP (Ted Hopp) (02/13/86)

> 			....  I should mention that the reason (I surmise)
> it is not printing the floating keep is that the last bit of `normal' text
> does not fill the last page.  The vicinity of the last page is approximately 
> where the floating keep was entered in the original ditroff -me input. 
> The floating keep should ideally float all on its lonesome to the next page. 
> However, since there is no text on the next page - except for the floating
> keep itself -  `-me' says, "No point printing that diagram".

What you describe could well be the problem.  If the floating keep is
defined too close to the end of the output, and doesn't fit on what would
otherwise (without the keep) be the last page, it will never get output.
The problem is that the output of the keep is tied to a break set at top-
of-page, and the break is never getting triggered.  This is a bug in -me's
end macro, which should test for such conditions.  (It does test for hanging
footnotes, but evidently not for things waiting for the next page.)

A work-around is to force a new page by ending your input with a .bp (break
page) request.  I simulated your problem (with version 2.15 of -me) and this
does indeed fix it.  The only disadvantage is that if there is nothing to go
on the last page (say, the keep fits on the bottom of the last text page) then
you will get a blank page (except for headers and/or footers).  Unless you are
doing something with the number of pages emitted, or are seriously concerned
about paper waste, this won't be a problem.

-- 

Ted Hopp	{seismo,umcp-cs}!nbs-amrf!hopp

tet@uvaee.UUCP (Thomas E. Tkacik) (02/14/86)

In article <1047@mulga.OZ> isaac@mulga.OZ (Isaac Balbin) writes:
>Has anyone ever had the text (in this case a picture from pic)
>between the .(z and .)z of the -me package vanish never to appear
>on the output?
>			Isaac Balbin
>
The problem is that the floating keep is on the last page.  If the
page does not fill up then there is nothing to force the the keep to
print.  This has happened to me many times.
All you need to do is have the floating keep earlier in the text, so that
it is not on the last page.  (Or a .bp command at the end of the text
should do the trick, though I have not tried this yet.)  If there is
a better way to force out a keep on the last page, I would love to here
about it.
					 Tom Tkacik
		...decvax!mcnc!ncsu!uvacs!uvaee!tet

isaac@mulga.OZ (Isaac Balbin) (02/20/86)

In article <151@nbs-amrf.UUCP> hopp@nbs-amrf.UUCP (Ted Hopp) writes:
! The problem is that the output of the keep is tied to a break set at top-
! of-page, and the break is never getting triggered.  This is a bug in -me's
! end macro, which should test for such conditions.  (It does test for hanging
! footnotes, but evidently not for things waiting for the next page.)
! 
! A work-around is to force a new page by ending your input with a .bp (break
! page) request.  I simulated your problem (with version 2.15 of -me) and this
! does indeed fix it.  The only disadvantage is that if there is nothing to go
! on the last page (say, the keep fits on the bottom of the last text page) then
! you will get a blank page (except for headers and/or footers).  Unless you are
! doing something with the number of pages emitted, or are seriously concerned
! about paper waste, this won't be a problem.
! 

That sounds correct, and the idea of the .bp was known to me, as was the
one of putting the keep a little earlier (not always possible).
What annoys me though is that this BUG in -me has probably been around since
kingdom come, and we still have people who have to print a thesis look at
the output, fiddle around with some macros, look at the output, fiddle some
more, ... and so on, because the macros do not do what they purport to.
Not to mention the inherent problems with the .ev command which was discussed
in another article and which demonstrated the horrible things that can happen
when you try to use a pre-processor to troff.
Yet, we (me included) persist with troff and its concomitant
buggy macro packages. I actually switched from ms about 3 years ago
because it was worse. Recently it underwent a face-lift to
give it some of the features which -me already had. 
I haven't used mm so I can't comment. At any rate
"me" and "ms" were at least modified to incorporate those features useful
for theses, papers etc. Are we all going to continue living with these incessant
bugs (perhaps fixing a few)? It is lucky we are in the ivory tower, Industry
would have thrown the packages away long ago.
				Isaac Balbin

===========================
UUCP:	{seismo,mcvax,ukc,ubc-vision}!munnari!isaac
ARPA:	isaac%munnari.oz@seismo.css.gov
CSNET:	isaac%munnari.oz@australia