Linux DevCenter    
 Published on Linux DevCenter (
 See this if you're having trouble printing code examples

Living Linux

Managing Documents With SGMLtools








Elements of a document


<!doctype linuxdoc system>
<title>An Example Document
<author>Ann Author
<date>4 May 2000
This is an example LinuxDoc document.


<p>Hello, world.



Checking document syntax

Use sgmlcheck to make sure the syntax of your SGML document is correct -- it outputs any errors in the document you specify as an argument. For example, to check the sgml file myfile.sgml, you'd type:

$ sgmlcheck myfile.sgml RET

Generating output

Now for the fun part -- generating output from your .sgml input file.

The following table lists the available SGML converters and the kind of output they generate:


Generates HTML files


Generates a GNU info file


Generates a LyX input file


Generates a LaTeX input file


Generates a file in Microsoft Rich Text Format


Generates plain text format

Each of these tools takes the .sgml input file as an argument and writes the output to a file with the same base file name but with an extension that reflects its format.

For example, to make a plain text file from myfile.sgml, you'd type:

$ sgml2txt myfile.sgml RET

This command writes a plain text file called myfile.txt.

To make a PostScript or PDF file from an .sgml file, first generate a LaTeX input file, run it through LaTeX to make a DVI output file, and then process that to make the final output (processing LaTeX files was the subject of a previous column):

$ sgml2latex myfile.sgml RET
$ latex myfile.latex RET
$ dvips -t letter -o myfile.dvi RET

In this example, sgml2latex writes a LaTeX input file from the .sgml source, and then the latex tool processes the LaTeX file to make DVI output, which is processed with dvips to get the final output, a PostScript file called with a paper size of US letter.

To make a PDF file from the PostScript file, you need to do one more step, and use ps2pdf (part of the gs or Ghostscript package) to convert the PostScript to PDF:

$ ps2pdf myfile.pdf RET

Next week: LyX, a "document processor" application.


Read more Living Linux columns.

Copyright © 2009 O'Reilly Media, Inc.