Dominique:

I seem to recall a note from you saying that you had built a transformer
that generated LaTeX from some form of XML input. If I am confused,
please forgive me.

I am running into a problem with my OSDoc XSLT transformers. It is one
of those problems where the solution will be obvious in hindsight, and
if you have done a LaTeX transformer you will know the answer.

For readability in the input, we tend to have the habit of writing with
extra newlines, as in:

        <p>
          mumble mumble mumble.
        </p>

When transforming P tags, in our current transformer, this leads to four
paragraph-related newlines in the output: the two in the input and an
additional one above and below inserted by the transformer.

In certain contexts this is quite bad. For example, when generation a
\footnote{...}, the extra newline at the top causes errors and in tables
the extra newline at the bottom also causes strange things to happen.

So my easy questions:

1. I know that there is some mechanism to canonicalize whitespace in
XSLT, which eliminates embedded newlines and collapses multiple spaces
into a single space. Do you know how this is done?

2. How did you emit intentional newlines when you handled paragraphs? In
particular, note that in

   <footnote>
      <p>
         abc.
      </p>
   </footnote

one wants to get out:

        \footnote{abc.}

but given

   <footnote>
      <p>
         abc.
      </p>
      <p>
         def.
      </p>
   </footnote

one must get out:

        \footnote{abc.

        def.}

note newline separator, but not newline before or after. I already know
how to identify whether a paragraph is first or last, but I would
appreciate any sense you may have of what the rule should be for when to
emit the newline.

3. Once the above problem is "solved", I will then need to discover how
to restore literal (raw) input processing in verbatim environments.

Any suggestions you may have would be very welcome.


shap


_______________________________________________
bitc-dev mailing list
[email protected]
http://www.coyotos.org/mailman/listinfo/bitc-dev

Reply via email to