############################################################
# @(#) Bildeinbindung mit UDO, Dirk Hagedorn, 20.10.1995
# 20.01.1996: Einbindung von GIF, MSP und PCX erklärt
# 22.01.1996: Erläuterungen zu (!/img) eingefügt
############################################################
!subnode Bilder

UDO ermöglicht die Einbindung von Bildern in den Ausgabeformaten
ST-Guide, HTML, WinHelp und (!TeX). Dieses Kapitel soll Ihnen erläutern, wie
Sie die Einbindung realsieren können und welche Kommandos UDO im
jeweiligen Ausgabeformat erzeugt.

!index !/image
Zur Einbindung von Bilder bedient man sich des Kommandos (!I)!/image(!i),
bei dem man den Dateinamen der einzubindenden Datei (ohne Endung!) angeben
muß sowie optional eine Bildunterschrift angeben kann.

!index (!/img ...)
Um Bilder bei HTML und WinHelp mitten im Text zu plazieren, kann man sich
des Platzhalters (!I)(!/img ...)(!i) bedienen. Bei den anderen Ausgabeformaten
ist es hingegen nicht möglich, Bilder mitten im Text auszugeben. Eine
genauere Erklärung dieses Platzhalters finden Sie im Befehlsindex.

Seit Release 6 werden Bilder ungebungsabhängig positioniert. Wurden
Bilder einst immer zentriert ausgegeben, so werden Bilder nun nur noch
dann zentriert ausgegeben, wenn der (!I)!/image(!i)-Befehl Teil einer
center-Umgebung ist.

Bilder können also --- wie normaler Text auch --- linksbündig,
zentriert und rechtsbündig ausgegeben werden.

############################################################
!subsubnode *.img & ST-Guide
!ignore_links

Beispiel: (!T)!/image tiger Ein Tiger(!t)

UDO öffnet die Datei (!T)tiger.img(!t) und ermittelt die Ausmaße des
Bildes, erzeugt in der Ausgabedatei das ST-Guide-Kommando (!T)@limage(!t)
und fügt dort einen Wert ein, um den das Bild eingerückt werden soll. Dieser
Wert wird ausgehend von der Breite eines Zeichens aus dem
Standard-10pt-Systemfont berechnet.

Falls wie in diesem Beispiel eine Bildunterschrift angegeben wird, wird
diese, versehen mit ""(Abbildung x: Ein Tiger)"", ebenfalls unter
dem Bild ausgegeben.

Beachten Sie auch die Hinweise für das Lindner-(!TeX).


############################################################
!subsubnode *.img & Lindner-(!TeX)
!ignore_links

!index !/tex_lindner
Wenn man GEM-Images in ein (!LaTeX)-File einbinden möchte, welches mit dem
Linder-(!TeX) weiterverabeitet werden soll, so (!B)muß(!b) im Vorspann das
Kommando (!I)!/tex_lindner(!i) gesetzt werden. Daran erkennt UDO, daß ein
spezielles Lindner-(!TeX)-Makro zur Einbindung des Bildes erzeugt werden
soll.

UDO macht das dem Lindner-(!TeX) beiliegende Zusatzprogramm namens
(!T)IMGTOTEX(!t) überflüssig! UDO beinhaltet alle Aufgaben, für die sonst
(!T)IMGTOTEX(!t) zuständig ist, nämlich das Eintragen bestimmter
Auflösungswerte in den Header des jeweiligen GEM-Images. Ein
Beispiel:

!index !/tex_dpi
!begin_quote
!begin_verbatim
!tex_dpi 100
!image tiger Ein GEM-Image
!end_verbatim
!end_quote

UDO liest zunächst den Header der Datei (!V)tiger.img(!v) ein, ermittelt
daraus die Ausmaße des Bildes und paßt den Header an 100 dpi an, was für die
spätere Ausgabe via DVI-Treibern wichtig ist. In der Zieldatei wird nun
ein (!TeX)-Makro mit Spezialbefehlen erzeugt, die die Einbindung eines
Bildes ermöglichen.

!smallskip

(!HINT) Bei 100 dpi erscheinen Screenshots(!N)jedenfalls auf meinem
HP DeskJet 510(!n) im Ausdruck in der Originalgröße. (!I)!/tex_dpi(!i) kann
vor jedem Bild neu gesetzt werden, jedoch sollten das selbe Bild immer in
der gleichen Größe ausgedruckt werden, da der Image-Header jeweils passend
verändert wird.

############################################################
!subsubnode *.img & CS-(!TeX)/Multi(!TeX)
!ignore_links

!index !/tex_strunk
Wenn man GEM-Images in ein (!LaTeX)-File einbinden möchte, welches mit dem
CS-(!TeX) oder Multi(!TeX) weiterverabeitet werden soll, so (!B)muß(!b) im
Vorspann das Kommando (!I)!/tex_strunk(!i) gesetzt werden.

Da die Treiber des CS-(!TeX) auch die Spezialbefehle des Lindner-(!TeX)
unterstützen, werden hier die gleichen Dinge durchgeführt wie bei der
Umwandlung für das Lindner-(!TeX).

############################################################
!subsubnode *.msp & em(!TeX)
!ignore_links

!index !/tex_emtex
Um MSPs in einem em(!TeX)-File einzubinden, müssen Sie im Vorspann den
Befehl (!I)!/tex_emtex(!i) angeben sowie die Auflösung des jeweiligen
Ausgabegeräts mit (!I)!/tex_dpi(!i) setzen.

Die Einbindung erfolgt gemäß der Beschreibung aus (!V)dvidrv.doc(!v) vom
em(!TeX).

UDO versucht bei der Angabe von ""(!I)!/image tiger Ein Tiger(!i)"" die Datei
(!V)tiger.msp(!v) zu öffnen und die Ausmaße auszulesen.
Schlägt dies fehl, wird eine (!idx [Fehlermeldung]) ausgegeben und stattdessen
versucht, (!V)tiger.pcx(!v) zu lesen.

Im Beispiel würde UDO folgendes Makro erzeugen ((!V)<w>(!v) und
(!V)<h>(!v) werden dabei durch die Ausmaße des Bildes ersetzt):

!begin_quote
!begin_verbatim
\begin{figure}[htb]
\begin{...}
\begin{picture}(<w>,<h>)
    \put(0,<h>){\special{em:graph tiger.msp}}
\end{picture}
\end{...}
\caption{Ein Tiger}
\end{figure}
!end_verbatim
!end_quote

(!HINT) Bei einem HP DeskJet 510, der mit 300 dpi druckt, müssen
Sie (!I)!/tex_dpi~300(!i) benutzen. Den Auflösungswert können Sie für jedes
Bild neu setzen.

############################################################
!subsubnode *.pcx & em(!TeX)
!ignore_links

!index !/tex_emtex
Um PCXe in einem em(!TeX)-File einzubinden, müssen Sie im Vorspann den
Befehl (!I)!/tex_emtex(!i) angeben sowie die Auflösung des jeweiligen
Ausgabegeräts mit (!I)!/tex_dpi(!i) setzen.

Die Einbindung erfolgt gemäß der Beschreibung aus (!V)dvidrv.doc(!v) vom
em(!TeX).

UDO versucht bei der Angabe von ""(!I)!/image tiger Ein Tiger(!i)"" die Datei
zunächst die Datei (!V)tiger.msp(!v) (nicht (!V).pcx(!v)!) einzubinden.
Erst wenn diese Datei nicht existiert, versucht UDO die Ausmaße der Datei
(!V)tiger.pcx(!v) zu ermitteln und ein entsprechendes em(!TeX)-Makro zu
schreiben.

Im Beispiel würde UDO folgendes Makro erzeugen ((!V)<w>(!v) und
(!V)<h>(!v) werden dabei durch die Ausmaße des Bildes ersetzt):

!begin_quote
!begin_verbatim
\begin{figure}[htb]
\begin{...}
\begin{picture}(<w>,<h>)
    \put(0,<h>){\special{em:graph tiger.pcx}}
\end{picture}
\end{...}
\caption{Ein Tiger}
\end{figure}
!end_verbatim
!end_quote

!smallskip

(!HINT) Da UDO zunächst versucht, auf Grafiken im MSP-Format
zuzugreifen, erscheint im Logfile später eine Warnung. Diese können Sie dann
bei der Benutzung von PCX-Grafiken ignorieren.

############################################################
!subsubnode *.gif & HTML
!ignore_links

UDO kann zur Einbindung von GIFs in eine HTML-Seite entsprechende
HTML-Kommandos erzeugen. UDO prüft dabei nicht, ob die angegebene Datei
existiert!

Anders als bei den anderen Formaten wird der zweite Parameter nicht als
Bildunterschrift, sondern als Alternativtext benutzt.

Aus dem UDO-Befehl ""(!I)!/image tiger Ein Tiger(!i)"" wird folgender
HTML-Befehl erzeugt:

!begin_quote
!begin_verbatim
<p align=...>
<img src="tiger.gif" alt="Ein Tiger">
</p><br>
!end_verbatim
!end_quote

Wird keine Bildunterschrift angegeben, so fehlt die Angabe des
Alternativtextes bzw. es wird ein leerer Alternativtext benutzt. Auch
hier das Beispiel zur Veranschaulichung: Aus
""(!I)!/image~../gif/tiger(!i)"" wird

!begin_quote
!begin_verbatim
<p align=...>
<img src="../gif/tiger.gif" alt="">
</p><br>
!end_verbatim
!end_quote


############################################################
!subsubnode *.jpg & HTML
!ignore_links

Standardmäßig erwartet UDO, daß Sie Grafiken im GIF-Format darstellen
möchten (siehe oben). Natürlich ist es mit UDO aber auch möglich,
JPEG-Grafiken einzubinden.

!index !/html_img_suffix

Um UDO die Endung der Grafik mitzuteilen, die Sie für das nächste Bild
verwenden möchten, können Sie sich des Befehl
(!I)!/html_img_suffix(!i) bedienen.

Falls nun der bereits bekannte Tiger nicht als GIF, sondern als JPEG
vorliegt, stellen Sie dem im vorherigen Beispiel gezeigten
(!I)!/image(!i)-Befehl folgende Zeile voran:

!begin_quote
!begin_verbatim
!html_img_suffix jpg
!end_verbatim
!end_quote

Sollte die Grafik nicht (!V)tiger.jpg(!v) heißen, sondern
(!V)tiger.jpeg(!v), so muß der Befehl entsprechend so lauten:

!begin_quote
!begin_verbatim
!html_img_suffix jpeg
!end_verbatim
!end_quote

Beachten Sie, daß die Endung für alle folgenden Grafiken gesetzt wird.
Falls später wieder ein GIF dargestellt werden soll, so muß die Endung
wieder mit (!I)!/html_img_suffix~gif(!i) eingestellt werden.

############################################################
!subsubnode *.bmp & WinHelp
!ignore_links

UDO kann Befehle zur Einbindung von Windows-Bitmaps in einen
Windows-Hilfetext ausgeben. UDO überprüft dabei nicht, ob die angegebene
Datei existiert! Ein Bild kann mit oder ohne Bildunterschrift eingebunden
werden.

!begin_enumerate
!item ohne Bildunterschrift: (!I)!/image tiger(!i)
!item mit Bildunterschrift: (!I)!/image tiger Ein Tiger(!i)
!end_enumerate

UDO erzeugt dann folgenden RTF-Befehle:

!begin_quote
!begin_verbatim
{\qc \{bmc tiger.bmp\}}\par\pard
\par
{\qc (Abbildung 1: Ein Tiger)}\par\pard
!end_verbatim
!end_quote

(!HINTS)

!begin_enumerate

!item	UDO überprüft nicht, ob die angegebene Datei existiert. Bei
einem falschen Dateinamen erhalten Sie also spätestens vom HC eine
(!idx [Fehlermeldung]).

!index !/win_inline_bitmaps
!item	Mit dem Schalter (!I)!/win_inline_bitmaps(!i) werden die
Bilder mit anderen Befehlen eingebunden, so daß sie quasi
""hardcoded"" übernommen werden.

!end_enumerate

