lout-users
[Top][All Lists]
Advanced

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

two bugs? Features?


From: Jeff Henrikson
Subject: two bugs? Features?
Date: Sat, 5 Apr 2003 03:38:48 +0400 (MSD)

Hmm, so I have just learned lout the past two days and used it to format my resume. There are two behaviors which I yet do not understand, which I have distilled down to short examples. My lout version is 3.28.

First, bug1.lout. Two nested VeryWideTaggedList produce an extra carriage return on the second level. Look at the PDF, which I will attach. (To the right of "ZEEBER" there is a space instead of text.)


@Include { mydoc }
@SysInclude { tbl }

@Document
        @InitialFont { Times Base 10p }
        @InitialSpace { tex }

@Text @Begin

@VeryWideTaggedList
@TagItem
{ FIRST } { Greetings and salutations. }
@TagItem
{ ZEEBER } {
@VeryWideTaggedList
@TagItem {happy} {Quick brown foxes, baby. Very quick. And very brown, jumping over the lazy dogs back. Yeah yeah, yeah yeah. Quick brown foxes, baby. Very quick. And very brown, jumping over the lazy dogs back. Yeah yeah, yeah yeah. Quick brown foxes, baby. Very quick. And very brown, jumping over the lazy dogs back. Yeah yeah, yeah yeah. }

@TagItem {happy} {Quick brown foxes, baby. Very quick. And very brown, jumping over the lazy dogs back. Yeah yeah, yeah yeah. Quick brown foxes, baby. Very quick. And very brown, jumping over the lazy dogs back. Yeah yeah, yeah yeah. Quick brown foxes, baby. Very quick. And very brown, jumping over the lazy dogs back. Yeah yeah, yeah yeah. }
@EndList
}
@TagItem
{ THIRD } { Mommy, the clown scares me . . . }
@EndList

@End @Text





Next, bug3.lout. This is more of a feature, I think. What I want is a TaggedList object which does not indent in plaintext mode. So I have some macros @TopList, @TopItem and @TopEnd which conditionally make a list or put @LPs between stuff if we're in text mode.

So of course this works fine in PDF mode. In text mode, I get overstrike errors like crazy. Unless there is a // at the end. Now I'd be happy to just stick a // at the end, but that defeats the purpose of my macros. Look at the definition of @TopEnd. I tried to stick a // in there, but with {} surrounding, it doesn't work. How can I condition with @OrIfPlain or equivalent?

A second gripe, which I learned to live with, is that I don't see how I can parameterize these macros. What I want is to be able to say @TopList labelwidth {5f}, but I can't, because then I don't get a @OrIfPlain condition. And if I use def instead of a macro, the list system totally freaks out, unable to match beginning and end of list because of the enclosing {}. Ick.

Okay, signing off, thanks in advance for any help.


Jeff Henrikson




@Include { mydoc }
@SysInclude { tbl }

def @JeffsGap {0.2f}
def @JeffsListGap {0.7f}
def @JeffsListGapX {//1fx}
def @JeffsSmallGapX {//0.5fx}

macro @TopList {
        { @TaggedList   labelwidth {8f}
                        gap address@hidden
                        indent {0i} }
        @OrIfPlain { }
}
def @TopItemHelp
        named mytag {}
        right x
{
        { @TagItem {mytag} {x} } @OrIfPlain { @LP mytag @LP x }
}
macro @TopItem { // @TopItemHelp mytag }
macro @TopEnd { address@hidden @OrIfPlain {//} }

@Document
        @InitialFont { Times Base 10p }
        @InitialSpace { tex }

@Text @Begin

{

@TopList

@TopItem
{TECHNOLOGY }
{
Quick brown foxes, baby. Very quick. And very brown, jumping over the lazy dogs back. Yeah yeah, yeah yeah. Quick brown foxes, baby. Very quick. And very brown, jumping over the lazy dogs back. Yeah yeah, yeah yeah. Quick brown foxes, baby. Very quick. And very brown, jumping over the lazy dogs back. Yeah yeah, yeah yeah.

@LP

Quick brown foxes, baby. Very quick. And very brown, jumping over the lazy dogs back. Yeah yeah, yeah yeah. Quick brown foxes, baby. Very quick. And very brown, jumping over the lazy dogs back. Yeah yeah, yeah yeah. Quick brown foxes, baby. Very quick. And very brown, jumping over the lazy dogs back. Yeah yeah, yeah yeah.

}
# uncomment these two lines, and lout -p will compile. Comment them out,
# lout -p will produce errors.
address@hidden
#{ THIRD } { Mommy, the clown scares me . . . }
# this will also ease the situation
# //
@TopEnd
}

@End @Text


reply via email to

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