Path: utzoo!utgpu!news-server.csri.toronto.edu!bonnie.concordia.ca!uunet!mcsun!ukc!slxsys!jclark!jjc From: jjc@jclark.UUCP (James Clark) Newsgroups: comp.text Subject: Re: problems with "ms" macros Message-ID: Date: 15 May 91 08:54:48 GMT References: <1991May14.132028.20635@cbnewsl.att.com> Sender: jjc@jclark.uucp (James Clark) Organization: None, London, England Lines: 49 In-Reply-To: npn@cbnewsl.att.com's message of 14 May 91 13:20:28 GMT In article <1991May14.132028.20635@cbnewsl.att.com> npn@cbnewsl.att.com (nils-peter.nelson) writes: Question was how to force break to next column. Here is an old trick (from roff): text text text .br .ne 60 .br .ne 0 text for start of next column or page. The ".ne 60" says "there must be at least 60 lines left in this {column|page} for you to start new text here." This will never be true (unless you redefine page length) and so forces a {column|page} break. The ".ne 0" takes effect at the top of {column|page} and says "I changed my mind-- put out whatever you have." If you find this ungainly, put it in a macro called ".BC". This solution is unnecessarily complicated. It would be sufficient to use .br .ne 60 (although I would be inclined to use a larger argument than 60v: what if the document uses a vertical spacing of 10p?). The effect of `.ne 60' is just to do a vertical space of 60v if the distance to the next trap is less than 60v, and, of course, forward vertical space is truncated to the distance to the next trap. In fact `.ne 0' is always a no-op (unless `ne' has been redefined). An alternative is to use .rs .sp 99i or, if a column should not be started when already at the start of a column, simply .sp 99i These comments apply to nroff, troff, ditroff and groff. James Clark jjc@jclark.uucp jjc@gnu.ai.mit.edu