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,
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
,
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
,
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].