On Sat, 5 May 2012 21:25:50 -0400 Steve Izma <si...@golden.net> wrote:
I found your story facinating, especially the observation that groff, because it's a filter, is well suited to typesetting *any* input. One might say groff provides an abstract printer in the same sense that Unix provides an abstract machine. > Any white space at the beginning or end of such a > block can be discarded and the proper spacing decisions turned > over to the macro definition. An in-line element (emphasis, small > caps, superior numbers) not only needs surrounding white space > (or lack of it) detected and preserved, it also breaks up the > enclosing block, leaving a tail (depending on the kind of parser > you're using). What is "tail" here, please? I thought I understood until then. > So far I have always needed to detect and define > separately whatever in-line elements a document uses, which > means that writing a general-purpose formatter for XML seems > virtually impossible. Why is it not possible to divide and conquer? If we know the set of tags and every tag is either block or inline (never both), why can't a dictionary of tag properties permit uniform handling of all in-line elements? --jkl