next up previous contents index
Next: Via Waterloo/Script SGML Up: Mixed Text and Previous: Mixed Text and

Via SGML/BookMaster

A version of the document markup language SGML layered on top of the IBM BookMaster product [12] is implemented on the central VM/CMS service and supports the inclusion of pictures into compound documents. The syntax of SGML/BookMaster is not identical to that of the original Waterloo/Script based SGML implementation available at CERN, but the procedure is similar. Namely,

  1. Use a graphics application program, including calls to GCNAME, to produce a metafile.
  2. Run GRCONV to produce the set of picture files.
  3. Mark-up a document with SGML/BookMaster and associate the picture files with particular figures within the document.
  4. Run SGML/BookMaster on the document.
  5. Edit the document as necessary and repeat previous step until result is satisfactory.
Note that it is not necessary to repeat the first two steps every time SGML/BookMaster is used to re-process the document as long as the picture files are stored on the user's mini-disk.

The GRCONV command can be used to generate the picture files, but as it is possible to print the resulting document on either IBM-3812 compatible or PostScript printers the user must take care to select the correct output format. As it would be cumbersome to require every picture to be stored in its own metafile and processed separately, GRCONV can handle metafiles which contain several pictures (separated by 'CLEAR WORKSTATION' items), and be instructed to produce a separate output file for each picture on the metafile. If the user is not working under VM/CMS gif, GRCONV first transfers the metafile to the user's VM account, and then interprets it to produce the required set of output files. Note that GRCONV replaces the command GKSSGML, and has a wider range of features.

A complete job to print a PostScript picture is given below. PostScript pictures can be scaled at will, but if a BoundingBox command is present in the Encapsulated PostScript file, the WIDTH parameter of the ARTWORK tag is redundant, and the size specified by the BoundingBox or DEPTH inside the file will be used. In order to avoid conflicts in the X and Y scaling, users are advised not to specify both DEPTH and WIDTH.

<!DOCTYPE USERDOC SYSTEM "USERDOC DTD *" [
<!-- Declare the Encapsulated PostScript file -->
<!ENTITY FIGURE1 SYSTEM "MYFIG1$S EPS" CDATA EPS>
]>
<USERDOC>
<PROLOG>
<DOCPROF>
</PROLOG>
<BODY>
<... some text
<ARTWORK NAME=FIGURE1 DEPTH=17CM ALIGN=CENTER>

The procedure for output onto an IBM-3812 compatible printer (IBM-3812 or IBM-3816) is similar, but in this case the graphics image is stored not in an Encapsulated PostScript file but in a PSEG3820 image file which cannot be scaled.

<!DOCTYPE USERDOC SYSTEM "USERDOC DTD *" [
<!-- Declare the PSEG      file -->
<!ENTITY FIGURE1 SYSTEM "MYFIG1$S PSEG3820 *" NDATA PSEG>
]>
<USERDOC>
<PROLOG>
<DOCPROF>
</PROLOG>
<BODY>
\chapter{Title text}
<ARTWORK NAME=FIGURE1>

Note that the figure name FIGURE1 specified by the NAME attribute of the ARTWORK tag is defined at the beginning of the file via the ENTITY declaration. Thus, the actual file name on the user's disk and the name of the figure in the text are decoupled; one can change the figure used by changing the ENTITY declaration and without modifying the body of the text. There should be one picture file and one ENTITY declaration for each figure.

SGML/BookMaster does not place restrictions on the file names used, but the original CERN implementation of SGML did. Thus, for backwards compatability, GRCONV still generates file names conforming to the old convention: the file name must contain eight (8) characters terminating in an 'S'. As described in section on Page gif, if the name supplied by the application which calls GCNAME provides less than 7 characters, then GCNAME pads the name out with '$'s. Hence 'MYFIG1' becomes 'MYFIG1$S'. If GCNAME was not used by the application to write names for each figure onto the metafile then GRCONV will generate names for each picture file automatically. The algorithm used is described in [9].


next up previous contents index
Next: Via Waterloo/Script SGML Up: Mixed Text and Previous: Mixed Text and


Janne Saarela
Mon Apr 3 17:00:12 METDST 1995