lout-users
[Top][All Lists]
Advanced

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

Re: What am I doing wrong?


From: Jeff Kingston
Subject: Re: What am I doing wrong?
Date: Tue, 02 Oct 2001 16:36:37 +1000

On Fri, 28 Sep 2001 22:50:57 +0100, Barrie Stott wrote:
  > 
  > I want some text to have the following format.
  > 
  > --------------
  > This represents text before the stuff I am talking about
  > 
  >     {{   Here are paragraphs of text with all the
  >          usual things such as lists and displays.
  > 
  >          There can be several paragraphs in this
  >          block of text we are in.
  >     }}
  > 
  > This follows the stuff I am talking about.
  > --------------
  > 
  > I can almost get what I want by using
  > 
  > @LLP |1c {"{{" |1c {
  > Paragraphs of text with properly nested {}
  > } ^/ "}}"}
  > 
  > Unfortunately, if the block of text will not fit on the current page, the
  > whole of it goes on the next page. How can I prevent this?

This is a rather tricky area.  Some things will break over pages, others
will not.  The most reliable way is to use the existing display and list
item symbols, which do break across pages.  The whole thing looks like a
tagged list to me, so I would be writing

    @TaggedList gap { 0v }

    @TI { "{{" } { paragraphs of text }

    @TI { "}}" } {}

    @EndList

It might need some fiddling with.  If you want to make the Lout source
look nicer it will get harder, although you could try

    import @BasicSetup
    macro @BraceList { @TaggedList gap { 0v } @TI { "{{" } }

    import @BasicSetup
    macro  { @TI { "}}" } {} @EndList }

and thus write

    @BraceList {
    paragraphs of text
    } @EndBraceList

If you want to make it look really nice it's going to have to be a
new kind of display symbol, placed alongside the other display
symbols in the $LOUTLIB/include/bsf file.

  > 
  > Thinking that the outermost set of {} was binding things too tightly for 
what
  > I wanted, I removed them but then got the error message:
  > 
  > internal error: assert failed in FlushGalley: dest_side != FWD ||
  > !is_indefinite(type(y))!

Barrie, if you are using 3.24 and you can make a small complete example
document that does this, please send it along.

Jeff Kingston






reply via email to

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