Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 2 Jul 1998 20:41:25 -0400 (EDT)
From:      Chuck Robey <chuckr@glue.umd.edu>
To:        nik@iii.co.uk
Cc:        doc@FreeBSD.ORG
Subject:   Re: Using stylesheets with SGML (was Re: cvs commit: doc/sgml freebsd.dsl)
Message-ID:  <Pine.BSF.3.96.980702203622.303N-100000@localhost>
In-Reply-To: <19980702095135.22477@iii.co.uk>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 2 Jul 1998 nik@iii.co.uk wrote:

> Chuck,
> 
> I'm cc'ing this to -doc, mostly because I want to make sure that discussions
> like this get archived. There are also bits and pieces I'm not 100% sure
> about, and a wider audience for review can't hurt.
> 
> On Wed, Jul 01, 1998 at 06:03:53PM -0400, Chuck Robey wrote:
> > Nik, can I ask you a question about this?  I'm a longtime user of groff,
> > along with the mm macros and tbl (and very occaisonally some of the
> > other tools) but I've put off switching to anything sgml based for one
> > simple reason: lack of control over precise font point size and font
> > name.  Everything else my heart desires is already available, but then I
> > have to follow someone else's choices on font characteristics, and with
> > my professors often _requiring_ certain fonts and sizes, this eliminates
> > snything sgml based from working for me.
> 
> There's nothing stopping you. The SGML approach is (generally) to markup
> for content, and put all the logic for converting that content to another
> format (RTF, HTML, whatever) in to a stylesheets.
> 
> Stylesheets are written in DSSSL (Document Style Semantics and 
> Specification Language) a very Lisp-ish sort of language.

I realize that I could change the stylesheet, but the goal was to be
able to do it from the single document source sgml file, and not to have
to include a modified stylesheet each time (so that it is like my
present groff documents).  I wanted to be able to include some kind of
sgml markup in the base doc, that would send a parameter to the
stylesheet.

I'm not sure it's possible to go in that direction with the information,
but it would make things extremely more workable.  This would be
something I would want to change on a doc by doc basis, and not just
being able to have one personally-modified local stylesheet.  I'm trying
to get the functionality I presently have in groff (or that you get via
LaTeX).

> 
> Suppose you want things marked up as paragraphs (with the 'para' element)
> to be rendered in a 12 point font. However, paragraphs inside a legalnotice
> should be marked up in 8 point text.
> 
> In your SGML document you might write something like
> 
>     <para>This is the first paragraph.</para>
>   
>     <legalnotice>
>       <para>This is a para in a legal notice.</para>
>     </legalnotice>
> 
> Note that there's no specification of fonts, sizes, weights, justification
> (quadding) or anything else.
> 
> Then, in your DSSSL stylesheet you would include the following fragment,
> 
>     ; By default, paragraphs should be in 12 point type
>     (element para (make-paragraph font-size: 12pt))
> 
>     ; However, paragraphs that are immediately inside a legalnotice
>     ; should be rendered in 8 point type
>     (element legalnotice para (make-paragraph font-size: 8pt))
> 
> This is sufficient to specify that paragraphs should then be rendered 
> in a 12 point font by the 'backend converter', unless they're inside
> 'legalnotice', in which case 8 point should be used. One of the backend 
> converters used by the Doc. Project is Jade, which can read SGML source,
> a DSSSL stylesheet, and then produce RTF format text (it can also do
> Word .doc format and DTD to DTD transformations, which is how we convert
> text written in the DocBook DTD to the HTML DTD).
> 
> If you have two different stylesheets for the same DTD then you can use
> them to produce two different looking copies of the same text.
> 
> We're fortunate that Norm Walsh's Modular DocBook stylesheets are 
> relatively easy to customise. If they weren't, I (or someone else) would
> probably be writing a FreeBSD DocBook stylesheet. As it is we can use the
> published 'knobs' plus a few hacks (I hope) to get what we need. The
> alternative would be to write our own DSSSL stylesheet, something that I'm
> not yet capable of doing.
> 
> You say "professors" earlier on, so I assume this is for research work
> of some kind.
> 
> You may not find the DocBook DTD to be too useful, as it's heavily 
> orientated towards producing technical manuals. I imagine (but can't
> confirm) that DTDs exist for theses and other acadamic documents. After
> finding an appropriate DTD you would then need to find (or write) a 
> DSSSL stylesheet for that DTD, so that something like Jade can then
> convert it into formatted text.
> 
> > Is there any likelihood that such options could ever be put into the
> > FreeBSD stylesheet, even as an addendum (that could be specifically
> > eliminated from anything put into FreeBSD documentation)?  
> 
> It's a possiblity. I need to explore Norm Walsh's stylesheet some more,
> and work out what can and can't be done easily. I don't know how simple
> it is (for example) to tweak the formatting settings for one element 
> without affecting any others). I expect to be able to get back to Norm
> with a wishlist sometime in the next few weeks.
> 
> > I don't want to force you guys to have to put up with idiots submitting 
> > docs in 5 point fonts, 
> 
> That won't happen. DocBook doesn't include any mechanism to force a 
> particular font size (or colour, or weight, or font name. . .) that's all
> handled by the stylesheet.
> 
> In fact, I intend to experiment (a little later down the line) with 
> several different stylesheets for the HTML output, producing HTML targetted
> at different browsers. One stylesheet might markup filenames in a monospace
> font, another one might mark them up in the regular font but in purple
> (I use that just as an example).
> 
> Some handy references for SGML and DSSSL are
> 
>   <URL:http://itrc.uwaterloo.ca/~papresco/dsssl/tutorial.html>;
>     Paul Prescod's DSSSL tutorial
> 
>   <URL:http://www.jclark.com/dsssl/>;
>     James Clark's list of DSSSL related links
> 
>   <URL:http://csg.uwaterloo.ca/~dmg/dsssl/tutorial/tutorial.html>;
>     Daniel Germa'n's introduction to DSSSL
> 
>   <URL:http://www.sil.org/sgml/sgml.html>;
>     SGML / XML home page, a comprehensive listing of related resources
> 
> N
> -- 
> Work: nik@iii.co.uk                       | FreeBSD + Perl + Apache
> Rest: nik@nothing-going-on.demon.co.uk    | Remind me again why we need
> Play: nik@freebsd.org                     | Microsoft?
> 
> 

----------------------------+-----------------------------------------------
Chuck Robey                 | Interests include any kind of voice or data 
chuckr@glue.umd.edu         | communications topic, C programming, and Unix.
213 Lakeside Drive Apt T-1  |
Greenbelt, MD 20770         | I run Journey2 and picnic (FreeBSD-current)
(301) 220-2114              | and jaunt (NetBSD).
----------------------------+-----------------------------------------------





To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-doc" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.96.980702203622.303N-100000>