[Mirrored from: http://www.inf.tu-dresden.de/~jw6/doc/sdc/index.html]
This is the home page of sdc.
The current version is 1.0.2beta.
sdc is a well featured, free system aiming to make SGML suitable for day to day use. It's in a ``production state'' now and proved for large documentation.
With sdc it is really simple to write technical documentation, reports, books, letters, man pages, or prepare talks (with slides and hand outs). You can include some graphic (made with other tools, e.g., xfig, tgif or anything creating EPS-Files) or other special data representation (e.g., tlb/roff tables) and so on with ease.
Whatever you do, while writing you never have to worry what the final result will look like. When done, you convert your writing into the desired target format by sdc and promised: it will look at least reasonable.
The goal of sdc is to be author friendly, easy to use without the need of special editors and to hide as much of the backend as possible. For the sake of the latter extremly funny features of the one or other backend are not supported. Or at least not in a portable way.
Why doesn't sdc use other well known DTD's?
There is no reason not having sdc process other DTD's. In fact it's simply a matter of man power. Up to know I was mostly busy to get the core system up and running.
And what's the reason not to use another well known DTD from the very begining?
Because it's meant to be author friendly. The answer depends on the DTD in question:
If there is time, I'll (or better someone else should) build the support.
In fact linux-doc inspired sdc by the idea and the missing features.
But at the moment we are beta-testing the linuxdoc handling by sdc.
The backend is completely hidden
(i.e., you don't need to worry about any ``special'' caracters
except those introduced by SGML: & and <).
But there are some things you might want to know about the
representation of the documents in the target formats.
For instance how large documents are broken into pieces
or which notations don't have a representation in certain formats.
See here for this.
3 The bottom line (other features):
Things such as sorted indices and table of contents
are automatically created for larger documents.
Furthermore, there is support for
special (but not completely portable) formattings,
e.g., you can mix LaTeX, roff and Lout code
within one source file(1)
and easily include encapsulated PostScript and xfig pictures
-- as long as a
resonable representation in the final format exists
it will be automatically created.
Have a look at an
example by Lout or
The document language is taken into account, e.g., if standard text is to be included it's in the language of the document and language special things like quotation marks change their appearance. (Currently only english and german is provided.)
With version 0.7 of typeset/sdc (the former was the old name I had to abandon because it conflicts with internal commands of some shells) the core system became mayor rewritten to allow more flexibility for the processing. Caveat: The the most of the internals of the new parts are school book like. That is, they work great, but there is plenty of room for speed up. (At the other hand, with today computers: it doesn't hurd.)
The concept of the translation is based on parsing the document structure. The parser has access to the esis tokens coming from the SGML validation parser (SGMLS/NSGMLS). This parsing can be done according to another grammar than defined by the DTD. This way you end up with a representation (either a tree or a stream -- the choise of the programer) easier to map into the target format. It's also a good time to accumulate ``over all'' information, e.g., resolving cross references, creating the index or table of contents.
The target depending step it either to map the element of this stream 1:1 or 1:0 into tokens of the target format or to traverse the tree and deliver output tokens from it's nodes.
The whole thing compare somewhat to STIL
But it seems to need less Scheme knowledge and less typing.
5 Documentation available
Here is the user documentation a
produced by Lout and
one produced by LaTeX.
It's still not too detailed,
but comparing the source with
the output above should serve an example.
Also a man page is available.
For math symbols and greek characters available see either the dvi- or the ps-version.
If you prefer you can get almost all documentation compiled into one document. (The pieces are simply included subdoc entities, which got compiled into divisions.)
Unfortunatly there is no good documentation
at how to extend typeset at the moment.
Click here for the latest distribution.
The same file is also available as sdc-version-number from
my ftp site.
I've mirrored the other things you need for installation there.
Please note: It is really not always easy to keep the support for all targets and especially for all notations stable. If you encounter any problems please let me know.
If you have any or suggestions on how to improve it drop me a note. Do so also if you would like it and want to be informed about future changes.