Hi Adam, I did so right now (thanks for the hint!). But in that file ther's only solved a case when each line of the verbatim text is placed in a special tag: Dit \is nogal verbatim ! Dit is {nogal} verbatim ! Dit is verbatim ! This is trivial because you can pass the contents of each element as an argument to the \type command ( \defineXMLargument[line]{\type} ) But this solution is unusable e.g. for longer program or configuration file listings, and, mainly, the DocBook DTD doesn't define such tags. I need to process multiline verbatims enclosed in a single tag: Line 1 Line 2 Line 3 --- Of course I have some "dirty" workaround, but the result is really ugly... \defineXMLenvironment[programlisting]{ \bgroup \startpacked \tttf \obeylines\obeyspaces\obeytabs }{ \stoppacked \egroup } The line breaks are processed correctly. But all the tabs and spaces are treated as a single space. It seems the \obeyspaces and \obeytabs command are ignored or they do not work the way I'd expect. This will totally break the indentation and tabulation of the verbatim text... -Richard Adam Lindsay wrote: >Richard Gabriel said this at Tue, 14 Dec 2004 16:48:05 +0100: > > > >>So I defined a macro to process the tag from the XML file: >>\defineXMLenvironment[programlisting]{\starttyping}{\stoptyping} >> >> > >Richard, > >Have you taken a look at x-contml to see how it solves this problem with >verbatim? > >adam > >