This is one of, possibly, several alternative formats for a figure. When a figure element is being processed, the application examines the declared figurecontent elements and any trailing block of text, and selects whichever one it can best display.
There are several `notations' for figure contents. Binary formats, such as GIFs, must be kept in separate files and simply referred to here. Text formats, such as LaTeX pictures or MetaPost diagrams, can either be kept in separate files, or included within the body of the figurecontent element.
The currently allowable notations are eps
, jpeg
and
gif89a
with obvious meanings, metapost
, meaning a
graphics description using the MetaPost language and
latexgraphics
.
The last one refers to any LaTeX notation for
indicating graphics. The obvious example is a LaTeX picture
environment, but one can envisage using a LaTeX tabular environment to
represent some figure. This mechanism is deliberately loosely
specified, and therefore somewhat abusable. Do please try to resist
inflicting a maintenance nightmare on your successors.
Example:
<!DOCTYPE sun PUBLIC "-//Starlink//DTD Starlink SUN//EN" [ <!ENTITY fig-eps SYSTEM 'figure1.eps' NDATA eps> <!ENTITY fig-gif SYSTEM 'figure1.gif' NDATA gif89a> ]> ... <figure> <caption>Figure caption</caption> <px>Here is a figure with some text in it</px> </figure> <figure> <caption>Another figure</caption> <figurecontent image=fig-eps> <figurecontent image=fig-gif> <figurecontent notation=latexgraphics> \begin{picture} ... \end{picture} </figurecontent> </figure>
In this example, there is a text-only figure, followed by another
figure. The second figure includes an image. The declaration subset
declares two entities, one with `notation' eps
(indicating that the
object figure1.eps
is an encapsulated postscript file), and one
with notation gif89a
(indicating that figure1.gif
is a
GIF image.
The third possibility is a snatch of text in the `latexgraphics' notation.
The processing application will select the most suitable image, based on these notations. For example, an application which uses LaTeX to produce printable text will likely choose the `latexgraphics' alternative, and an application formatting text for on-line delivery will likely choose the GIF image.
The currently recognised figure notations are as follows:
jpeg
, gif89a
, eps
:
The usual JPEG, GIF and encapsulated postscript formats.
metapost
:
Metapost source code. This is a text-based drawing package. That
sounds odd, but it is in fact very flexible, and useful for drawing
certain types of diagrams. It's described in detail on the
MetaPost home page.
latexgraphics
:
This is a flexible notation, which refers to any LaTeX code you
case to use to produce a figure. Most typically, this will be a
picture
environment, but it might also be some sort of table,
for example.
The last two are text formats, and can be provided inline as the content of the element.
Note that all of these figure notations are lowercase.
( #pcdata
)
figurecontent |_(#PCDATA)
An entity, giving alternative formats for the image to be displayed. The entity must have been declared in the document declaration subset, with an appropriate notation.
The notation of the element content. Since any entity specified with the `image' attribute will have an associated notation in the entity declaration, this attribute is redundant if the `image' attribute is present. If they are both present, the notations should not conflict.
If the `image' attribute is not present, then the element must have content, and this attribute indicates its notation. The application should signal an error if neither attribute is present.