OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

docbook-apps message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [docbook-apps] How to remove extra newline in programlisting


On Wed, 13 Oct 2010, Jason Gilmore wrote:

+--
| I am however running into a strange issue involving <programlisting>
| elements in which the enclosed text is delimited by <![CDATA[...]]>.
| When I convert from Docbook to PDF using oXygen (using the Saxon 6.5
| transformer), my program listing's include two extra newlines at the
| top and one at the bottom when the <programlisting>'s look like this:
+--

Here's how I format code snippets (with a little context to show the
indentation):

     <para>
       This code destroys Western Snivelization:
     </para>
     <programlisting role='outFile:hardloop.bas'
>  10 PRINT "BASIC IS OLDER THAN DIRT"
   20 GOTO 10
   30 END
</programlisting>
     <para>
       And now...
     </para>

We're especially sensitive to how <programlisting> works because we
use this element for literate programming: the code snippets are
the ones that get executed.  Remarks on the above example:

  a. Whitespace, including newlines, is always allowed before the
     closing '>' of a tag.

  b. We use the 'role' attribute, which is reserved for application
     use, to mark the source file to which each fragment is written.
     The lines written to file "hardloop.bas" look like this:

================================================================
   10 PRINT "BASIC IS OLDER THAN DIRT"
   20 GOTO 10
   30 END
----------------------------------------------------------------

  c. Note that the first code line is misaligned relative to the
     following line because of the '>'.  This is annoying only while
     you're editing the source; it looks correct in HTML and PDF
     output.

With CDATA it'd look like this:

     <programlisting>
><![CDATA[   10 PRINT "BASIC IS OLDER THAN DIRT"
   20 GOTO 10
   30 END
]]></programlisting>

Here's a boatload of literate programming examples and some pointers
to the why and how in our local practice:

     http://www.nmt.edu/~shipman/soft/litprog/

Happy happy joy joy,
John Shipman (john@nmt.edu), Applications Specialist, NM Tech Computer Center,
Speare 119, Socorro, NM 87801, (575) 835-5735, http://www.nmt.edu/~john
   ``Let's go outside and commiserate with nature.''  --Dave Farber


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]