--- DE-TeX-FAQ Beginn Teil 8 ---



   Fragen und Antworten (FAQ) über das Textsatzsystem TeX und DANTE,
             Deutschsprachige Anwendervereinigung TeX e.V.


            Bernd Raichle, Rolf Niepraschk und Thomas Hafner


                     Version 72 vom September 2003

------------------------------------------------------------------------


8 TeX, LaTeX, Makros etc. (IV)


8.1 Verschiedene Zeichen


8.1.1 Wie bekomme ich ein Gradzeichen?

Das Gradzeichen erhält man am einfachsten mit LaTeX mittels

  \newcommand{\grad}{\ensuremath{^\circ}}

Da die Anweisung \ensuremath in LaTeX 2.09 nicht existiert, muß man hier
den konventionellen Weg wählen (der auch in LaTeX2e funktioniert):

  \newcommand{\grad}{\mbox{\(\mathsurround=0pt{}^\circ\)}}

Hat man schon die `Text-Companion'-Schrift der EC-Schriftfamilie
installiert, kann man mit dem Paket `textcomp', das seit Dezember 1997
Bestandteil von LaTeX ist, auf ein Gradzeichen mit \textdegree und auf
ein fertig zusammengesetztes Grad-Celsius-Zeichen mit \textcelsius
zugreifen. In der mittlerweile veralteten Testversion von `textcomp'
mußte statt \textcelsius noch \textcentigrade verwendet werden.

ec/tc-fonts:  CTAN: fonts/ec/
 


8.1.2 Wo finde ich ein Promillezeichen? Ich möchte endlich 1,1Promille
statt 0,11\% eingeben können.

Die beste Lösung bietet die in den Text-Companion-(tc)-Schriften der
EC-Schriftfamilie vorhandene Letter für ein Promillezeichen, da sie auch
von der Form zum üblichen Prozentzeichen der Schrift passt:

  \usepackage{textcomp}
  \textperthousand

Falls man die Text-Companion-Schriften nicht verwenden will, kann man
alternativ die Schrift `wasy' verwenden, in der ebenso eine Letter für
ein Promillezeichen existiert:

  \usepackage{wasysym}
  \permil

Sind beide Schriften nicht verfügbar, kann man folgende, in ``Die
TeXnische Komödie'' vom Dezember 1993 erschienene Lösung verwenden, die
auf der TeXbook-Lösung zu Übung 11.6, S. 67 und 311, basiert (an LaTeX2e
angepaßt [br]):

  \newcommand{\promille}{%
    \relax\ifmmode\promillezeichen
          \else\leavevmode\(\mathsurround=0pt\promillezeichen\)\fi}
  \newcommand{\promillezeichen}{%
    \kern-.05em%
    \raise.5ex\hbox{\the\scriptfont0 0}%
    \kern-.15em/\kern-.15em%
    \lower.25ex\hbox{\the\scriptfont0 00}}

Die zusätzliche \(..\)-Umgebung im Makro \promille ist für LaTeX2e
zwingend notwendig, da sonst in einigen Fällen Zeichen fehlen könnten.
(Man könnte auch die Anweisung \ensuremath aus LaTeX2e verwenden.)
Leider paßt das erzeugte Promillezeichen von der Form her nicht zum
Prozentzeichen.

textcomp:     CTAN: macros/latex/base/
ec/tc-fonts:  CTAN: fonts/ec/
wasysym:      CTAN: macros/latex/contrib/wasysym/
wasy:         CTAN: fonts/wasy2/
              CTAN: fonts/wasy2/ps-type1/hoekwater/
 


8.1.3 Ich benötige einen liegenden bzw. gedrehten `dagger' oder ein
ähnliches liegendes Zeichen. Wie?

Entweder sucht man nach einem fertigen Font mit einem solchen Symbol
oder ändert die Quelle eines Fonts, falls dieser beispielweise als
METAFONT-Datei vorliegt, und fügt in die Quelle eine Operation zum
Drehen eines Zeichens ein.
Falls der dvi-Gerätetreiber in der Lage ist, Teile der Ausgabe zu drehen
(wie die meisten PostScript-Treiber), kann man unter LaTeX die Anweisung
\rotatebox aus dem `graphicx'-Package verwenden:

  \rotatebox[origin=c]{90}{\(\dagger\)}


graphicx:  CTAN: macros/latex/required/graphics/
 


8.1.4 Wie erzeuge ich ein Zeichen für `trademark' (TM), `registered
trademark' (R) oder `copyright' (C)?

Diese Zeichen durch Box-Konstruktionen zusammenzubauen, ergibt in den
meisten Fällen sehr unbefriedigende Ergebnisse. Unter LaTeX hat man mit
der Anweisung \textcircled{<Zeichen>} eine sehr einfache Möglichkeit
dafür, jedoch erhält man nur für einzelne Zeichen, wie für das `c' im
Copyright-Zeichen \copyright, ein einigermaßen gutes Ergebnis. Eine
erste Näherung für das Trademark-Zeichen (TM) ist
\DeclareRobustCommand{\trademark}{\ensuremath{^{\mathrm{TM}}}}.
Sehr viel einfacher und besser sind die fertigen Zeichen, wie
\texttrademark, aus den `Text-Companion'-Fonts `tc...' aus dem
`EC'-Schrift-Paket. Unter LaTeX gibt es zur einfachen Einbindung das
`textcomp'-Package.
Beginnend mit LaTeX von Dezember 1995 gibt es standardmäßig neben der
Definition für das Copyright-Zeichen auch Definitionen für die Zeichen
`trademark' und `registered trademark' (\texttrademark,
\textregistered). Seit LaTeX vom Dezember 1997 ist das Paket `textcomp'
in der LaTeX-Verteilung enthalten.

tc-Fonts:            CTAN: fonts/ec/
Liste der tc-Fonts:  CTAN: info/symbols/text/
 


8.1.5 Wie kann man ein nicht kursives griechisches mu erzeugen?

In den Text-Companion-Fonts befindet sich ein aufrechtes mu, das man
beispielsweise für Mengenangaben benötigt.

  \usepackage{textcomp} % seit 1997/12/01 in der Standardverteilung
  \textmu


8.1.6 Wie bekomme ich das Währungssymbol für den Euro?

Die `Text-Companion'-Fonts enthalten das Euro-Symbol, wobei dieses nicht
der offiziell festgelegten Version entspricht.

  \usepackage{textcomp}
  \texteuro
  {\sffamily\texteuro}

Ebenso kann man sich notfalls ein eigenes, ebenso nicht konformes
Euro-Symbol zusammensetzen:

  \newcommand\euro{{\sffamily C%
    \makebox[0pt][l]{\kern-.70em\mbox{--}}%
    \makebox[0pt][l]{\kern-.68em\raisebox{.25ex}{--}}}}

Mit dem Paket `eurosym' gibt es einen Satz an Fonts mit dem Euro-Symbol,
das der offiziell festgelegten Form des Symbols entspricht. Mitgeliefert
wird ein LaTeX-Paket zur Einbindung, so daß man mit \euro ein
offizielles zur Schriftgröße passendes Euro-Symbol erhält. Abweichend
von der offiziellen Vorgabe wird es, um ein besseres Schriftbild zu
erreichen, auch fett und schräg gesetzt.
Dieselbe Anweisung \euro unterstützt auch das Paket `europs'. Es
erfordert die bei Adobe verfügbaren PostScript-Fonts mit dem
Euro-Symbol. Daneben existiert mit dem Paket `eurosans' eine weitere
LaTeX-Einbindung, das das Euro-Symbol aus der von Adobe erstellten
PostScript-Font-Familie `EuroSans' verwendet.
Daneben enthält auch die im PostScript-Type-1-Format vorliegende Schrift
`Martin Vogels Symbole (marvosym)' ein Euro-Symbol. In dieser Schrift
ist außerdem jeweils ein Euro-Symbol, das zu den Schriften Times,
Helvetica und Courier paßt, enthalten.

  \usepackage{marvosym} % bei der Schrift enthalten
  \EUR
  \EURtm \EURhv \EURcr

Und auch das Paket `China2e', mit dem chinesische Kalendersymbole
erzeugt werden können, enthält Fonts mit dem Euro-Symbol, das man mit
der Anweisung \Euro bekommt.
Desweiteren kann im Zusammenhang mit der Verwendung von Euro-Symbolen
das Paket `euro' sehr hilfreich sein. Es bietet vielfältige
Möglichkeiten der Umrechnung von Euro in andere Währungen und umgekehrt.
Verwendet man das Paket `mathpazo' bekommt man ein Eurozeichen, welches
auf die Grundschrift `Palatino' abgestimmt ist.

  \usepackage{mathpazo}
  \ppleuro


eurosym:                    CTAN: fonts/eurosym/
europs:                     CTAN: fonts/euro/latex/europs/
                            http://www.adobe.com/
eurosans:                   CTAN: fonts/euro/latex/eurosans/
marvosym:                   CTAN: fonts/psfonts/marvosym/
china2e:                    CTAN: macros/latex/contrib/china2e/
euro:                       CTAN: macros/latex/contrib/euro/
mathpazo:                   CTAN: fonts/mathpazo/
Walter Schmidt: Wie bekomme http://home.vr-web.de/was/x/latexeuro.pdf
ich...: 
 


8.1.7 Wie bekomme ich ein Entspricht-Symbol?

Ein Entspricht-Symbol kann man sich entweder mit

  \newcommand{\entspricht}{\mathrel{\widehat{=}}}

oder mit

  \newcommand{\entspricht}{\stackrel{\scriptscriptstyle\wedge}{=}}

definieren. Die Anweisung \mathrel{}, die in \stackrel implizit bereits
enthalten ist, sorgt dafür, daß korrekte Abstände vor und nach einem so
definierten Symbol verwendet werden.

8.1.8 Wie bekomme ich das Symbol für Durchmesser?

Die einfachste Lösung ist \O{}. Empfehlenswerter ist jedoch ein Symbol
aus den AmS-Schriften:

  \usepackage{amssymb}
  \(\varnothing\)


AmS-Fonts:  CTAN: fonts/amsfonts/
amssymb:    CTAN: fonts/amsfonts/latex/
 


8.1.9 Wie kann ich ``\'', ``<'', ``>'' und weitere Sonderzeichen im Text
benutzen?

Die Zeichen, die in LaTeX eine besondere Bedeutung haben, und andere
Sonderzeichen mußten früher mehr oder weniger kompliziert erzeugt werden
oder man mußte auf den Formelsatz ausweichen. Unter LaTeX2e gibt es nun
einfachere Anweisungen, wobei man eine LaTeX-Version vom Dezember 1995
oder neuer verwenden sollte. Unter anderem sind folgende Symbole
definiert:

Text-Anweisung      Formelsatz Symbol oder Symbol-Beschreibung
\textbackslash      \backslash \
\textbar            \mid       |
\textless           <          <
\textgreater        >          >
\textasciicircum    \hat       ^
\textasciitilde     \tilde     ~
\textbullet         \bullet    gefüllter Kreis auf halber Höhe
\textperiodcentered \cdot      ·
\textvisiblespace   (n.v.)     sichtbares Leerzeichen

Näheres findet man in der Datei ``usrguide.tex'' (``LaTeX2e for
authors'').

usrguide:  CTAN: macros/latex/base/usrguide.tex
 


8.1.10 Wie bekomme ich die Symbole für Laplace-, Fourier- und
Z-Transformation?

Das LaTeX-Paket `trfsigns' bietet diese Symbole.

trfsigns:  CTAN: macros/latex/contrib/trfsigns
 


8.1.11 Wie kann ich einen _Smiley_ und einen _Frownie_ setzen?

Eine einfache Version erhält man mit

  \newcommand{\frownie}{\texttt{:-(}}
  \newcommand{\smiley}{\texttt{;-)}}

und mit dem Paket `wasysym' kann man die Symbole aus den Schriften
`wasy' mit den Anweisungen \smiley und \frownie bekommen.

wasysym:  CTAN: macros/latex/contrib/wasysym/
wasy:     CTAN: fonts/wasy2/
          CTAN: fonts/wasy2/ps-type1/hoekwater/
 


8.1.12 Das Zeichen := sieht schlecht aus, wie kann ich erreichen, daß
der Doppelpunkt in seiner Höhe zum Gleichheitszeichen paßt?

Mit der Konstruktion \mathrel{\mathop{:}} läßt sich der Doppelpunkt auf
der mathematischen Achse zentrieren, die auch die Mitte des
Gleichheitszeichens bestimmt.
Mit dem folgenden Makro von Donald Arseneau wird der Doppelpunkt im
mathematischen Modus generell umgestellt:

  \mathchardef\ordinarycolon\mathcode`\:
  \mathcode`\:=\string"8000
  \begingroup \catcode`\:=\active
    \gdef:{\mathrel{\mathop\ordinarycolon}}
  \endgroup


8.2 Mathematischer Formelsatz (*)


8.2.1 Für Zahlenbereiche möchte ich die Symbole für N, Z, Q, R, C mit
Doppelstrich verwenden. Wie bekomme ich diese Zeichen?

Ursprünglich wurden diese Symbole mit fetten Buchstaben geschrieben. Da
dies mit Kreide auf einer Tafel (`blackboard') sehr umständlich wäre,
hat man die Schreibweise mit den Doppelstrichen erfunden. Die einfachste
Möglichkeit ist daher, die Symbole einfach fett zu drucken, also
\mathbf{N} (bzw. {\bf N} in Plain-TeX und LaTeX 2.09).
Bevorzugt man die Darstellung mit Doppelstrichen, dann ist man in der
Regel mit den Mengenzeichen aus den AmS-Symbolschriften gut bedient:
Nach Laden des Pakets `amssymb' steht mit der Anweisung \mathbb ein
mathematisches Alphabet für Mengenzeichen zur Verfügung, beispielsweise
\mathbb{N} für die Menge der natürlichen Zahlen. Man beachte, dass nur
die Großbuchstaben verfügbar sind, sowie ein k mit Doppelstrich durch
die Anweisung \Bbbk. AmS-Symbole stehen teilweise auch für andere als
die voreingestellten CM-Mathematikschriften zur Verfügung; man beachte
die Dokumentation zur jeweiligen Schriftfamilie.
Es gibt aber auch folgende Schriften, die Buchstaben mehr oder weniger
so wie `an der Tafel geschrieben' enthalten:

* `bbold' (von Alain Jeffrey)
  ohne Serifen, zwei dünne Striche, vollständiger Zeichensatz.
* `mathbbol' (von Jörg Knappen)
  definiert AmS-(La)TeXs \mathbb-Anweisung so um, daß statt der
  Original-AmS- die `bbold'-Schriften verwendet werden.
* `doublestroke' (von Olaf Kummer)
  mit Serifen (ein dicker und ein dünner Strich) und in neuer Version
  ohne Serifen (gleichmäßige Dicke), nur Großbuchstaben und 1, k, h.
* `bbm' (von Gilles F. Robert)
  sollte allen Wünschen gerecht werden, alle Varianten, wie fett, mit
  oder ohne Serifen etc.
* `mathpazo'
  enthält die Symbole I, C, N, Q, R und Z, abgestimmt auf die Schrift
  `Palatino' (Beispiel in CTAN: fonts/mathpazo/pazotest.pdf.

Die Auswahl einer dieser Schriften ist reine Geschmackssache. Eine Hilfe
dazu bietet die Übersicht in der PostScript-Datei ``blackboard.ps''. Man
beachte, dass nur die eingangs genannten AmS-Symbole sowie die Schrift
`mathpazo' im Type-1-Format verfügbar sind; alle anderen gibt es bisher
nur im METAFONT-Format.

amssymb:        CTAN: fonts/amsfonts/latex/
bbold:          CTAN: fonts/bbold/
mathbbol:       CTAN: macros/latex/contrib/jknappen/
doublestroke:   CTAN: fonts/doublestroke/
bbm:            CTAN: fonts/cm/bbm/
                CTAN: fonts/cm/sauter/holin/bbm/
                CTAN: macros/latex/contrib/bbm
blackboard.ps:  CTAN: info/symbols/blackboard/blackboard.ps
mathpazo:       CTAN: fonts/mathpazo
 


8.2.2 Für Lagrange-Dichten hätte ich gern ein geschwungenes L;
\mathcal{L} ist nicht das, was ich wünsche!

Schreibschriftbuchstaben für den Mathematiksatz (nur Großbuchstaben)
sind in den `rsfs'-Schriften (Ralph Smith Formal Script) enthalten. Sie
können mit dem Paket `mathrsfs' und dem Befehl \mathscr{L} eingebunden
werden. Das Paket `calrsfs' ergibt Schreibschriftbuchstaben anstelle der
kalligraphischen Buchstaben mit dem Befehl \mathcal{L}.

rsfs:      CTAN: fonts/rsfs/
           CTAN: fonts/cm/sauter/holin/rsfs/b-rsfs.mf
mathrsfs:  CTAN: macros/latex/contrib/jknappen/
calrsfs:   CTAN: macros/latex/contrib/calrsfs/
 


8.2.3 Ich suche das Zeichen ... für den Formelsatz, und kann es nicht in
den Standard-Fonts finden?

Zeichen, die in den CM-Fonts fehlen, sind mit wirklich sehr großer
Wahrscheinlichkeit in den AmS-Fonts `msam' oder `msbm' vorhanden. Die
Einbindung in LaTeX erfolgt mit dem Paket `amsfonts', die Einbindung in
Plain-TeX mit ``\input amssym.tex''. Nähers dazu siehe auch
``amsfndoc.tex''.
Eine umfassende Übersicht von Symbolen mit Angabe der Bezugsquellen
enthält ``The Comprehensive LaTeX Symbol List'' von Scott Pakin.

amsfonts:       CTAN: fonts/amsfonts/
amssym:         CTAN: fonts/amsfonts/plaintex/amssym.tex
amsfndoc.tex:   CTAN: fonts/amsfonts/doc/amsfndoc.tex
symbols:        CTAN: info/symbols/
comprehensive:  CTAN: info/symbols/comprehensive/
 


8.2.4 Warum fügt TeX in einer mathematischen Formel hinter einem
Dezimalkomma einen kleinen Zwischenraum ein?

Die meisten TeX-Makropakete und -Formate gehen davon aus, daß man einen
Dezimalpunkt statt eines -kommas verwendet. Für den Dezimalpunkt, der in
einer mathematischen Formel die Bedeutung eines `Ordinary'-Symbols hat,
wird daher zwischen Ziffern kein zusätzlicher Zwischenraum eingefügt.
Das Komma hat in Formeln die Bedeutung eines `Punctuation'-Symbols, man
kann es daher als Trennzeichen in einer Aufzählung verwenden, da TeX mit
einem kleinen Zwischenraum dafür sorgt, daß Formeln wie `f(x, y)' gut
aussehen.
Das Problem des falschen Abstandes für ein Dezimalkomma kann man auf
verschiedene Arten beheben. Für einzelne Fälle mag es reichen, das Komma
einfach mit {...} zu klammern, da geklammerte Formelteile diesselben
Abstände wie ein `Ordinary'-Symbol bekommen:

  $\pi = 3{,}1415\ldots$

Eine andere Methode erklärt das Komma zu einem `Ordinary'-Symbol statt
eines Trennzeichens:

  %%%% alte Definition:
  %% \mathcode`\,="613B
  %%%% neue Definition:
  \mathcode`\,="013B

und wenn man statt der \mathcode-Zuweisung die Anweisung
\DeclareMathSymbol in LaTeX verwendet:

  %%%% alte Definition:
  %% \DeclareMathSymbol{,}{\mathpunct}{letters}{"3B}
  %%%% neue Definition:
  \DeclareMathSymbol{,}{\mathord}{letters}{"3B}

Der Preis hierfür ist natürlich, daß in `f(x,y)' der zusätzliche
Zwischenraum fehlt. Aber auch das läßt sich in den Griff bekommen:
Das Paket `icomma' ändert die Definition des Kommazeichen so, daß es im
mathematischen Modus zwischen `3,1415' und `f(x, y)' unterscheiden kann:
Steht hinter dem Komma ein Leerzeichen, ist das Trennzeichen mit etwas
Abstand gemeint, ansonsten das Dezimalkomma. Im Unterschied zu ähnlichen
Lösungen funktioniert diese Paket mit beliebigen Mathematik-Fonts.
Mit dem Paket `ziffer' ist das Leerzeichen nach dem Komma, um Mengen
oder Argumente zu kennzeichnen, bis auf einige Ausnahmen nicht
notwendig, so dass bestehende Texte nicht verändert werden müssen.

icomma:  CTAN: macros/latex/contrib/was/
ziffer:  CTAN: macros/latex/contrib/misc/ziffer.sty
 


8.2.5 AmS-LaTeX: Was ist der Unterschied zwischen dem Paket `amstex' und
`amsmath'?

Dies wird in der Datei ``diffs-m.txt'' des AmS-LaTeX-Packages erläutert:
In AmS-LaTeX Version 1.0 und 1.1, beide nur für LaTeX 2.09, war `amstex'
das Hauptpaket, das mehr oder weniger direkt aus Michael Spivaks
AmS-TeX-Makros entstanden ist. AmS-LaTeX Version 1.2 für LaTeX2e enthält
nun neben `amstex' ein neues Paket namens `amsmath', das nun unabhängig
von `amstex' weiterentwickelt werden kann. `amstex' kann dadurch
eingefroren werden, so daß alte Dokumente weiterhin unverändert
formatiert werden können. Für neue Dokumente sollte man `amsmath'
verwenden, da nur noch dieses Paket unterstützt und weiterentwickelt
wird. Die Unterschiede zwischen `amsmath' und `amstex' sind der
Dokumentation in der Datei ``diffs-m.txt'' zu entnehmen.

amslatex:     CTAN: macros/latex/required/amslatex/
AmS-LaTeX:    http://www.ams.org/tex/amslatex.html
The amsmath   http://www.ams.org/tex/amsmath.html
package: 
diffs-m.txt:  CTAN: macros/latex/required/amslatex/math/diffs-m.txt
 


8.2.6 Wieso bekomme ich mit AmS-LaTeX, wenn ich eigene Umgebungen, die
`equation', `gather' `align', `alignat', `flalignat' oder `split'
verwenden, Fehlermeldungen?

Mit AmS-LaTeX funktionieren Definitionen wie

  \newenvironment{myalign}{\begin{align}}{\end{align}}
  \newcommand{\ba}{\begin{align}}
  \newcommand{\ea}{\end{align}}

nicht mehr, weil diese Umgebungen zuerst die komplette Formel einlesen
müssen, da die Satzalgorithmen so geschrieben sind, daß diese Formel
mehrmals durchlaufen werden muß.
Damit man dennoch eigene Umgebungen definieren kann, ist statt
\begin{align} die Anweisung \align, statt \end{align} die Anweisung
\endalign in der Definition zu verwenden:

  \newenvironment{myalign}{\align}{\endalign}

Die Definition von Abkürzungsmakros für diese Umgebungen, wie oben
gezeigt, ist zwar mit einem Trick möglich. Jedoch sollten Umgebungen
grundsätzlich auch als solche im Dokument erkennbar sein, so daß von
solchen Abkürzungsmakros abgeraten und der Trick nicht verraten wird.
Näheres findet man in der Datei ``technote.tex'', das Teil der
Dokumentation von AmS-LaTeX ist.

technote.tex:  CTAN: macros/latex/required/amslatex/math/technote.tex
 


8.2.7 AmS-Fonts: Ein altes Dokument benutzt die Fonts `msxm' und `msym'.
Wo kann ich diese finden?

Die Fonts `msxm' und `msym' sind veraltet und wurden vor einigen Jahren
durch die Fonts namens `msam' und `msbm' ersetzt. Beide Fonts sind im
AmS-Font-Paket enthalten.
Selbst wenn man die Quellprogramme für die beiden veralteten Fonts
`msxm' und `msym' hätte, könnte man aus diesen keine gf- oder pk-Dateien
erzeugen, da die Fonts `msxm' und `msym' mit dem Vorgänger des aktuellen
METAFONT-Programmes namens `MF79' in der Sprache `SAIL' geschrieben
waren. Aus diesem Grund wurden die beiden Fonts auch nur als pxl- oder
pk-Dateien verteilt.
Als Ersatz gibt es mit `msx2mas' einen Satz virtueller Fonts für `msxm'
und `msym', die die Symbole der vorhandenen Schriften `msam' und `msbm'
verfügbar machen.

msxm/msym:  CTAN: fonts/vf-files/msx2msa/
 


8.2.8 Das Integral- und Summationszeichen ist für Dokumente, die in 11pt
oder gar 12pt gesetzt sind, zu klein.

Den Math-Extension-Font `cmex10', aus dem die `großen' Symbole stammen,
sollte man nicht einfach vergrößern, da einige Parameter dieses
besonderen Fonts den mathematischen Formelsatz in TeX bestimmen. Da es
bisher für 11pt und 12pt keine speziellen Math-Extension-Fonts gibt,
verwendet LaTeX für alle Schriftgrößen den 10pt-Font `cmex10'.
Mit dem Paket `exscale' verwendet LaTeXs skalierte `cmex10'-Fonts und
paßt die Anweisungen \big, \bigg etc. entsprechend an.

exscale:  CTAN: macros/latex/base/
 


8.2.9 Wie vermeide ich den Fehler `! Double superscript.', den ich für
$a^b^c$ erhalte?

Der Term a hoch b hoch c ist nicht eindeutig, da er entweder als (a^b)^c
oder als a^(b^c) interpretiert werden kann. Anstatt nun eine
möglicherweise falsche Interpretation des Terms anzunehmen, meldet TeX
obigen Fehler. Diesen muß man durch explizite Klammerung ${a^b}^c$ bzw.
$a^{b^c}$ auflösen, was dann zu Unterschieden in den Schriftgrößen
führt.
Das gleiche Problem stellt sich auch bei mehrfacher Indizierung $a_b_c$,
wo man die Mehrdeutigkeit ebenso durch Klammerung auflösen muß.

8.2.10 Wie setzt man physikalische Einheiten, etwa Längenangaben? (*)

Es gelten einigen Grundregeln, von denen die meisten das Paket `units'
automatisch korrekt erledigt:

* In wissenschaftlichen Werken werden Einheiten aufrecht und vor allem
  bei längeren Ausdrücken, etwa $F = 400\,\mathrm{kN}$, im Mathe-Modus
  gesetzt.
* Falls die Integration etwa in einen halbfetten Textteil wichtiger als
  die physikalische Korrektheit ist, sollte Textmodus, etwa \textbf{...
  3\,m ...}, verwendet werden. Hinweis: Der Unterschied zwischen Text-
  und Mathemodus wird deutlicher, wenn man mittels
  \renewcommand{\familydefault}{cmss} eine Serifenlose verwendet.
* Zwischen Zahl und Dimension findet kein Zeilenumbruch statt.
* Als Abstand zwischen Zahl und Dimension wählt man \,. Dagegen sehen
  die Richtlinien des Springer-Verlags ~ als Abstand vor.
* Einheiten werden _nicht_ in eckige Klammern, wie etwa [N], gesetzt.
  Die richtige Schreibweise ist $[F] = \mathrm{N}$.
* In Tabellen stehen Einheiten in runden Klammern in einer eigenen Zeile
  im Tabellenkopf, nicht etwa in jeder Zelle:

    =========================
    Erhoehte Reduktion  Druck
    bei Rolle 44
    (mm)                (MPa)
    -------------------------
    5                   8
    ...


Mehr Formatierungsoptionen, beispielsweise für den Abstand zwischen
Maßzahl und Einheit, und sehr viele Makros für Einheiten (z.B. Ohm,
Hertz) bietet das Paket `SIunits'. Darin ist außerdem eine ausführliche
Erörterung der SI-Einheiten enthalten. Zahlen und Einheiten werden von
diesem Paket jedoch in der meist serifenbehafteten Mathematikschrift
gesetzt, auch wenn eine serifenlose Brotschrift verwendet wird. Dieses
Problem löst das Paket `fancyunits', das das Paket `SIunits' fast ohne
Änderung eines bestehenden Dokuments ersetzen kann.

units:       CTAN: macros/latex/contrib/units
SIunits:     CTAN: macros/latex/contrib/SIunits
fancyunits:  http://tina.nat.uni-magdeburg.de/heiko/LaTeX/Tips_und_Tricks/fancyunits
 


8.2.11 Wie erhalte ich kursive große griechische Buchstaben?

Während im mathematischen Modus für kleine griechische Buchstaben kursiv
als richtige Schreibweise gewählt wird, erscheinen große griechische
Buchstaben senkrecht. Das Paket `fixmath' ändert dies bei den
üblicherweise verwendeten CM-Schriften. Die Pakete zur Benutzung anderer
mathematischer Schriften haben teilweise eine Option, die dazu führt,
daß große griechische Buchstaben ebenfalls kursiv gesetzt werden. Hierzu
bitte die Dokumentation der jeweiligen Pakete durchlesen.

fixmath:  CTAN: macros/latex/contrib/was/
 


8.3 Chemischer Struktur- und Formelsatz


8.3.1 Wie kann ich chemische Strukturformeln mit LaTeX setzen?

Die folgenden Pakete sind eine unvollständige Auswahl (Freiwillige?!).
Ob sie unter LaTeX2e, LaTeX 2.09 oder Plain-TeX verwendbar sind, muß,
falls dies nicht vermerkt ist, selbst getestet werden.

* PPCHTeX: Typesetting Chemical Formulas in TeX, von Hans Hagen und A.F.
  Otten
  Auf PiCTeX oder PSTricks basierendes Paket, mittlerweile das
  flexibelste und umfangreichste Paket. PPCHTeX ist für das TeX-Format
  ConTeXt entwickelt worden, kann aber auch mit Plain-TeX und LaTeX (2e
  und 2.09) eingesetzt werden. Eine ältere Version ist in den
  Proceedings of the 9th European TeX Conference EuroTeX'95, Arnhem,
  S. 197-222 und TUGboat 17(1), März 1996, S. 54-66 beschrieben. Für
  PPCHTeX gibt es eine mail-basierte Diskussionsliste (siehe Frage
  1.3.4).
* XymTeX: A Macro Package for Typsetting Chemical Structural Formulas,
  von Shinsaku Fujita
  Dieses System ist nach PPCHTeX das umfangreichste. Es verwendet
  vorgefertigte Molekülklassen, in denen die Atompositionen vom Anwender
  belegt werden können. Durch die `Kondensation' solcher Klassen lassen
  sich so ziemlich alle denkbaren Moleküle zaubern. Ohne Handbuch, das
  127 Seiten besitzt, und Zeit aber eher unbrauchbar, weil sehr
  kompliziert. Eine Beschreibung findet sich auch in der TUGboat 16(1),
  S. 81-88.
* Chemstruct: Chemische Strukturformeln mit TeX, von Michael Ramek
  Hier gibt man im wesentlichen von einem Bezugsatom ausgehend die Art
  und die Himmelsrichtung der Bindung an und gelangt so recht schnell zu
  brauchbaren Ergebnissen. So hangelt man sich von Atom zu Atom...
  (Handbuch mit 18 Seiten).
* ChemTeX: Typesetting Chemical Equations using LaTeX
  Scheint auch mit Molekülklassen zu arbeiten, wenn auch längst nicht so
  komplex wie XymTeX, damit anwendungsfreundlicher, aber auch nur für
  einen begrenzten Satz an Strukturen geeignet... (Handbuch mit
  42 Seiten).
* Chemsym: Chemical Symbols, von Mats Dahlgren
  Vereinfacht die Eingabe und den Satz von chemischen Summenformeln und
  Reaktionsgleichungen, indem Anweisungen für den Satz der Elemente
  inklusive Hoch- und Tiefstellung und eine große Menge von chemischen
  Symbolen vordefiniert werden. Für LaTeX2e, mit Dokumentation.
* streeTeX: One more Macro Package for typesetting Structural Formulae
  with LaTeX
  streeTeX, ein Kunstwort aus `structure' und `tree', verwendet
  emTeX-Specials zum Zeichnen der Moleküle. Molekülbindungen werden
  dabei von einem Atom ausgehend in 12 verschiedene Richtungen
  gezeichnet. Außerdem können NMR-Massenspektren gezeichnet werden.
  (Handbuch mit 20 Seiten, englisch oder russisch)
* OCHEM
  OCHEM ist ein Paket für den Satz chemischer Strukturformeln und
  Reaktionsschemata. Es besteht aus einem Perl-Script, das in einer
  speziellen Sprache formulierte Reaktionen in LaTeX- oder
  PostScript-Graphiken konvertiert, die automatisch in ein Dokument
  eingebunden werden können. Elemente eines Schemas sind Formeln, die
  lineare, verzweigte oder konvergente Reaktionsketten bilden und
  automatisch angeordnet werden. Elemente einer Formel sind Bindungen
  (Richtung/Länge), Textsymbole und Ringe bzw. allgemeine Strukturen.
  Die Beschreibung erfolgt teilweise nach geometrischen Gesichtspunkten,
  teilweise durch abstrakte Befehle. (Handbuch mit vielen Seiten und
  Beispielen)

Daneben gibt es noch Programme wie ChemDraw, ChemWindow o.ä., bei denen
man die erstellte Strukturformel als PS-Datei ausgeben und dann in
(La)TeX einbinden kann.

PPCHTeX:            http://www.pragma-ade.nl/ppchtex.htm
                    CTAN: macros/context/cont-ppc.zip
PPCHTeX-Datenbank:  http://www.walram.de/ppchtex/
XymTeX:             CTAN: macros/latex/contrib/xymtex/
chemstruct:         CTAN: macros/latex209/contrib/chemstruct/
chemtex:            CTAN: macros/latex209/contrib/chemtex/
chemsym:            CTAN: macros/latex/contrib/chemsym/
streeTeX:           CTAN: macros/latex/contrib/streetex/
OCHEM:              CTAN: support/ochem/
 


8.3.2 Bei der Verwendung des Paketes `chemtex' mit LaTeX2e erhalte ich
bei der Zuweisung \textfont1=\tenrm einen Fehler. Abhilfen?

\tenrm ist ein alter, nur intern in LaTeX 2.09 zu verwendender Name
eines Font (siehe auch Frage 5.2 ``LaTeX2e - Probleme beim Umstieg'').
Mit dem Paket `rawfonts' kann man diese Namen (nach-)definieren:

  \usepackage[only,tenrm]{rawfonts}


rawfonts:  CTAN: macros/latex/required/
 


8.3.3 Das Makro \chemical, das u.a. auch in Helmut Kopka, ``LaTeX - eine
Einführung'' beschrieben wird, funktioniert nicht. Was muß man ändern?

Der im Makro (das aus dem TeXbook stammt!) verwendete Name \tensy des
Math-Symbol-Font ist nur in Plain-TeX und LaTeX 2.09 definiert. LaTeX2e
lädt darüber hinaus die für den mathematischen Formelsatz notwendigen
Fonts erst zu Beginn der ersten zu setzenden Formel, so daß man auch
durch Nachdefinition mit Hilfe des Paketes `rawfonts' in bestimmten
Situationen einen Fehler bekommen kann.
Hier ist eine für LaTeX2e verwendbare Definition von \chemical (die man
in eine .sty-Datei schreiben oder mit \makeatletter ... \makeatother
klammern muß):

  %% Anpassung an LaTeX(2e) von Bernd Raichle
  \DeclareRobustCommand{\chemical}[1]{%
    {\(\m@th
     \edef\resetfontdimens{\noexpand\)%
         \fontdimen16\textfont2=\the\fontdimen16\textfont2
         \fontdimen17\textfont2=\the\fontdimen17\textfont2\relax}%
     \fontdimen16\textfont2=2.7pt \fontdimen17\textfont2=2.7pt
     \mathrm{#1}%
     \resetfontdimens}}


8.4 Notensatz (*)


8.4.1 Wie kann ich mit TeX Noten setzen? (*)

Notensatz mit TeX begann vor vielen Jahren mit dem Paket MuTeX, mit dem
einstimmiger Notensatz möglich war. Auf dessen Basis entwickelte Daniel
Taupin MusicTeX, das durch Ergänzungen insbesondere von Ross Mitchell
und Andreas Egler zu MusiXTeX wurde. Von Egler gibt es auch noch eine
Testversion namens OpusTeX. Die MuTeX-Entwicklung wurde schon vor der
endgültigen Fertigstellung eingestellt. MusicTeX wird gewartet, MusiXTeX
wird gewartet und weiterentwickelt.
MuTeX, MusicTeX und MusiXTeX sind auf CTAN verfügbar. Neue Benutzer
sollten ausschließlich MusiXTeX verwenden und möglichst auch einen der
Präprozessoren wie beispielsweise `PMX' oder speziell für Chor- und
Liedsatz `M-Tx'. Zu diesen drei Paketen gibt es in LaTeX geschriebene
Dokumentation: MusiXTeX 116 Seiten, PMX 18 Seiten, M-Tx 34 Seiten.
Ein weiteres Projekt, welches sich mit dem Notensatz befaßt, ist
`LilyPond'.

MusicTeX:   CTAN: macros/musictex/
MusiXTeX:   CTAN: macros/musixtex
MuTeX,
MusicTeX    http://icking-music-archive.sunsite.dk/
und
MusiXTeX: 
~:          http://icking-music-archive.sunsite.dk/software/indexmt6.html
LilyPond:   http://www.cs.uu.nl/~hanwen/lilypond/
GuitarTeX:  http://guitartex.sourceforge.net
 


8.4.2 Wer kann mir bei Fragen zu Notensatz mit TeX helfen?

Hilfe findet man oft in der MuTeX-Mailing-Liste (siehe Frage 1.3.4).

8.5 Verschiedenes (+)


8.5.1 Ich erhalte die Fehlermeldung `! You can't use \spacefactor in
vertical mode.' oder `Command \@ already defined.'. Mache ich etwas
falsch?

In den meisten Fällen liegt die Schuld an der Verwendung oder
Neudefinition eines Makros beginnend mit \@, also einem At-Zeichen `@'
am Anfang des Namens, in einem Dokument. Das At-Zeichen `@' ist aber
nicht als Bestandteil eines Makronamens innerhalb des Dokuments erlaubt.
Beispielsweise tritt der Fehler bei der Definition

  \renewcommand{section}{%
    \@startsection {section}{1}{\z@}{-3.5ex plus-1ex minus-.2ex}%
                   {2.3ex plus.2ex}{\normalfont\Large\bfseries}}

in der Dokumentpräambel auf.
Vermeiden kann man diesen Fehler, indem man die Definition in eine
.sty-Datei verschiebt oder in der Präambel mit \makeatletter ...
\makeatother klammert, wie beispielsweise

  \makeatletter
  \@removefromreset{footnote}{chapter}
  \makeatother


8.5.2 Wie kann ich erreichen, daß ein Zähler bei Erhöhung eines anderen
Zählers zurückgesetzt bzw. nicht zurückgesetzt wird?

Mit der Deklaration \@addtoreset{equation}{section} kann man erreichen,
daß der Gleichungszähler immer dann auf Null zurückgesetzt wird, wenn
der Abschnittszähler erhöht wird. Diese Deklaration wird implizit
aufgerufen, wenn man in der Deklaration des Gleichungszählers das
optionale Argument verwendet, also \newcounter{equation}[section]. Soll
das Gegenteil erreicht werden, so wird das Paket `remreset' benötigt,
das die Deklaration \@removefromreset implementiert, mit der man durch
\@removefromreset{equation}{section} obiges nachträglich wieder
rückgängig machen kann.
Einfacher geht es mit den Anweisungen \counterwithin und
\counterwithout, die das Paket `chngcntr' definiert. Beispiel:

    \counterwithin{equation}{section}

Näheres ist der Beschreibung am Ende der Datei ``chngcntr.sty'' zu
entnehmen.

remreset:  CTAN: macros/latex/contrib/carlisle/remreset.sty
chngcntr:  CTAN: macros/latex/contrib/misc/chngcntr.sty
 


8.5.3 Kann ich auch auf meinem System Umlaute und andere Sonderzeichen
direkt mit der Tastatur in mein LaTeX-Dokument eingeben?

Ja. Zu diesem Zweck dient das Standard-LaTeX-Paket `inputenc'. Es setzt
die leider nicht standardisierten Zeichen mit einem Code>127 in eine
einheitliche für TeX verständliche Kodierung um. Damit dies so wie
gewünscht erfolgt, muß als Paketoption die zutreffende Kodierung des
jeweiligen Betriebssystems angegeben werden:
                    \usepackage[Kodierung]{inputenc}
Die folgenden Angaben und weitere sind für `Kodierung' möglich:

latin1                             - Die meisten Unix-Systeme und VMS.
ansinew                            - Windows 3.x, 9x, NT. Unwesentliche
                                     Abweichungen zu `latin1'.
cp437de                            - MSDOS.
cp850                              - OS/2, auch mit MSDOS, falls
                                     explizit
die Codepage IBM-850 benutzt wird.
applemac                           - Apple-Macintosh.

Dokumente, die unter Verwendung von `inputenc' geschrieben sind, können
trotz unterschiedlicher Zeichenkodierung in den meisten Fällen auch auf
fremden Systemen übersetzt werden. Eine Mischung unterschiedlicher
Kodierungen ist allerdings nicht möglich. Siehe dazu auch

8.5.4 Wie kann ich Umlaute in Texinfo-Dokumenten verwenden? Gibt es eine
deutsche/internationalisierte Version von Texinfo?

Mit der aktuellen Version 4.0 können Umlaute mit dem Makro @" (Bsp:
@"A), Akzente mit @' (Bsp: @'e) usw. eingegeben werden. Darüberhinaus
existieren auch die Lettern wie @ss{}, die Ligaturen @AE{}, @ae{}, @OE{}
und @oe{}, die Lettern mit Ring @AA{} und @aa{}, die durchgestrichenen
Lettern @O{} und @o{} und einige mehr.
Die Unterstützung auch der deutschen Sprache ist in neueren Versionen
bereits enthalten.

  http://texinfo.org
 


8.5.5 Wie kann ich die Fehlermeldung `Text line contains an invalid
character' abstellen, die ich unter emTeX bekomme, sobald ich Umlaute
verwende?

Um Umlaute verwenden zu können, muß man unter emTeX eine Formatdatei
``8-bit clean'' erzeugen, da sonst alle Zeichen mit Code>127 auf das
Zeichen 127 (= ^^?) abgebildet werden, das in TeX normalerweise als
`invalid' deklariert ist. ``8-bit clean'' werden Formatdateien mit

  makefmt 8bit ...

(bzw. `tex -i -8 ...') erstellt.

8.5.6 Wie kann man mit LaTeX Serienbriefe erstellen?

Die Klasse `scrlettr' des KOMA-Script-Paketes und die Klasse `akletter',
beide zur Erstellung von Briefen gedacht, unterstützen die Erstellung
von Serienbriefen. Neben diesen gibt es mit den LaTeX-Paketen `mailing',
`textmerg', `finder', `formletter' und `tk_Brief' noch weitere Pakete
für Serienbriefe.
Für eine kleinere Anzahl von Serienbriefen kann man den Text des Briefes
auch in einem Makro mit \newcommand definieren, wobei man die für jeden
Empfänger unterschiedlichen Textteile diesem Makro als Parameter
übergibt. Anschließend wird dieses Makro dann mehrmals mit jeweiliger
Anrede, Name, Straße, Ort usw. aufgerufen.

KOMA-Script:  CTAN: macros/latex/contrib/koma-script/
akletter:     CTAN: macros/latex/contrib/akletter/
mailing:      CTAN: macros/latex/contrib/mailing/
textmerg:     CTAN: macros/latex/contrib/textmerg/
finder:       CTAN: macros/latex209/contrib/letters/finder/
formletter:   CTAN: macros/generic/formlett/
tk_Brief:     http://www.deres-mueller.de/tk_Brief/
 


8.5.7 Wie kann ich in LaTeX mehrere `enumerate'-Umgebungen verwenden,
ohne daß der Zähler immer wieder zurückgesetzt wird?

Mit dem im Paket `mdwlist' enthaltenen Anweisungen \suspend{enumerate}
und \resume{enumerate} kann der Zähler für die Aufzählungspunkte
entsprechend gesetzt werden.
Das `expdlist' bietet mit der Anweisung \listpart die Möglichkeit, in
Listen Einschübe einzuflechten. Benötigt man mehrere zusammengehörige
Aufzählungslisten nur wegen dieser Einschübe, so ist dieses Paket die
bessere Lösung.

mdwlist:   CTAN: macros/latex/contrib/mdwtools/
expdlist:  CTAN: macros/latex/contrib/expdlist/
 


8.5.8 Wie kann ich den Dateinamen meines LaTeX-Dokuments innerhalb des
Dokuments ausgeben?

Man verwende

  \jobname.tex

für diesen Zweck. Eine portable Lösung, um auch das Verzeichnis, in dem
sich die Datei befindet, zu erhalten, existiert nicht.

8.5.9 Meine Versuche, \figurename, \tablename o.ä. bei Verwendung des
Pakets `babel' umzudefinieren, mißlingen. Was kann ich tun?

Die naheliegende Lösung

  \renewcommand{\figurename}{Abb.}
  \renewcommand{\tablename}{Tab.}

funktioniert so mit dem Paket `german', wenn danach die Sprache nicht
gewechselt wird.
Das Paket `babel' schaltet jedoch erst zu Beginn des Dokuments auf die
gewählte Sprache um. In diesem Fall werden dann \figurename und
\tablename auf die in `babel' definierten Standardwerte `Abbildung' bzw.
`Tabelle' gesetzt. Mit folgender Definition kann das Problem gelöst
werden:

  \usepackage[german]{babel}

  \addto\captionsgerman{%
    \renewcommand{\figurename}{Abb.}%
    \renewcommand{\tablename}{Tab.}%
  }

Bei Verwendung der neuen deutschen Rechtschreibung ist entsprechend

  \usepackage[ngerman]{babel}

  \addto\captionsngerman{%
    \renewcommand{\figurename}{Abb.}%
    \renewcommand{\tablename}{Tab.}%
  }

einzufügen.

8.5.10 Ich habe neue Dateien zu dem TeX-Baum hinzugefügt, wieso werden
sie von TeX bzw. LaTeX nicht gefunden?

Um die Suche nach Dateien zu beschleunigen, verwenden einige TeX-Systeme
eine Datenbank mit den Dateinamen im TeX-Baum. Werden neue Dateien
hinzugefügt oder Dateien entfernt, so muß man bei diesen Systemen die
Datenbank auf den aktuellen Stand bringen.
Unter teTeX oder fpTeX geht das durch Aufruf von ``mktexlsr'' oder
``texconfig rehash''; in älteren Versionen muß man ``texhash''
verwenden.
Unter MikTeX sollte man fehlende Komponenten über das
MikTeX-Options-Tool installieren, das automatisch die Datenbank der
Dateinamen auf den aktuellen Stand bringt. Um diese Datenbank für den
TeXMF- und den lokalen Verzeichnisbaum in allen sonstigen Fällen zu
aktualisieren, klickt man auf `Start', `Programme', `MikTeX', `MikTeX
Options' und dort auf der Registerkarte `Roots' auf `Refresh FNDB' oder
man ruft in der MS-DOS-Eingabeaufforderung ``initexmf -u'' auf.

8.5.11 Wenn ich versuche, mit der Anweisung \tracingall Fehler in meinem
LaTeX-Dokument zu finden, erhalte ich viele unnütze Informationen. Kann
man das ändern?

Bei Verwendung des LaTeX-Pakets `trace' werden viele dieser oft unnützen
Informationen unterdrückt. Mit den enthaltenen Anweisungen \traceon und
\traceoff lassen sich die zu untersuchenden Bereiche weiter
einschränken. Besonders günstige Ergebnisse werden mit eLaTeX erzielt
(siehe Frage 3.3.4). Näheres ist in der Paketbeschreibung nachzulesen.

trace:  http://www.latex-project.org/code/experimental/trace/
 


8.5.12 Wieso bekomme ich bei einem Acute-Akzentzeichen oder einem
Anführungszeichen eine Fehlermeldung statt des gewünschten Zeichens?

Bei der Eingabe eines Apostrophzeichens für \'e, "' oder '' kommt es bei
Benutzung einer entsprechenden Tastaturbelegung immer wieder vor, daß
man statt des Apostrophs (Code 29 in ASCII) auf der Tastatur das ähnlich
aussehende Akzentzeichen (Code 180 in ISO Latin-1) verwendet.

8.5.13 Wie kann ich den üblichen Absatzeinzug auch innerhalb von
`minipage' bzw. `\parbox' erhalten?

Die üblichen Einstellungen von LaTeX sind derart, daß innerhalb einer
`minipage' oder einer `\parbox' Absätze ohne Einzug und mit vertikalem
Abstand gesetzt werden. Will man dies ändern, so kann man für
Einzelfälle die entsprechenden Längenregister anpassen:

  \begin{minipage}{...}
    \setlength{\parindent}{1em}
    \setlength{\parskip}{0pt}
    ...
  \end{minipage}

Soll diese Änderung für alle Umgebungen einheitlich erfolgen, so ist
eine der beiden internen Anweisungen `\@minipagerestore' oder
`\@parboxrestore' zu ändern. `\@minipagerestore' wirkt nur auf
`minipage'-Umgebungen, während `\@parboxrestore' neben `minipage' auch
auf `\parbox' als auch auf andere Umgebungen und Anweisungen (wie
Fließumgebungen, `\caption', `\marginpar', Fußnoten) wirkt. Folgendes
Beispiel zeigt die Änderung von `\@minipagerestore', wobei man diese
Zeilen in eine .sty-Datei oder mit \makeatletter ... \makeatother
geklammert in die Dokumentpräambel schreiben muß:

  \newcommand{\orig@minipagerestore}{}
  \let\orig@minipagerestore=\@minipagerestore
  \renewcommand{\@minipagerestore}{%
    \orig@minipagerestore
    \setlength{\parindent}{1em}%
    \setlength{\parskip}{0pt}%
  }


8.5.14 Wie kann ich die Schriftgröße relativ zur aktuell verwendeten
eine Stufe kleiner oder größer wählen?

Mit dem Paket `relsize' kann man die Schriftgröße um einige Stufen
kleiner oder größer als die aktuell verwendete wählen. Hierzu dienen die
Anweisungen \smaller, \larger oder \relsize{n} bzw. \textsmaller{text},
\textlarger{text} und \mathsmaller{formel}, \mathlarger{formel}.
Will man die Schriftgröße aller Fußnoten, Bildunterschriften oder
Überschriften um eine Stufe kleiner oder größer wählen, so ist es besser
die Makros für Fußnoten, Unterschriften bzw. Überschriften entsprechend
abzuändern. Dies kann sehr einfach mit Paketen wie `footmisc',
`caption2', `titlesec' oder `sectsty', die an anderer Stelle erwähnt
werden, erfolgen.

relsize:  CTAN: macros/latex/contrib/misc/relsize.sty
 


8.5.15 Wie verwende ich (La)TeX zusammen mit METAPOST?

Der Artikel ``Some Experiences in Running METAFONT and METAPOST'' von
Peter Wilson beschreibt die Verwendung von METAPOST in LaTeX.

Peter Wilson:
Some             CTAN: info/metafp.pdf
Experiences...: 
~:               CTAN: info/metafp.ps
Vincent
Zoonekynd:       http://www.math.jussieu.fr/~zoonek/LaTeX/Metapost/metapost.html
Métapost
exemples: 
~:               CTAN: info/metapost/examples/
 


8.5.16 Wie kann ich ein LaTeX-Makro umdefinieren und dabei auf dessen
bisherige Bedeutung zugreifen?

Die einfache Vorgehensweise eine vorhandene Anweisung \foo durch
beispielsweise

  \renewcommand{\foo}[1]{%
    ... tue was ... \foo{#1} ... nochmal was ...}

funktioniert nicht, da sich \foo immer wieder selbst (rekursiv) aufrufen
würde, man also eine Endlosschleife hätte. Um diese zu vermeiden, muß
man zuerst die Bedeutung des Makro \foo unter einem anderen Makronamen
retten und diesen dann in der neuen Definition verwenden:

  % Die Originaldefinition des Makros unter einem neuen Namen retten.
  % Sicherstellen, dass der neue Name bislang undefiniert ist:
  \newcommand{\origfoo}{}
  % Originaldefinition unter neuem Namen merken:
  \let\origfoo=\foo
  %
  % Makro nun neu definieren:
  \renewcommand{\foo}[1]{%
    ... tue was ...
    \origfoo{#1}%
    ... nochmal was ...}


8.5.17 Wie kann ich ein Zeichen hoch- oder tiefstellen, ohne den
Mathematikmodus zu benutzen?

Für das Hochstellen von Zeichen ohne Einschaltung des Mathematikmodus
bietet LaTeX die Anweisung \textsuperscript an.
Mit den folgenden Definitionen, die analog der Definiton von
\textsuperscript sind, erhält man eine entsprechende Anweisung
\textsubscript zum Tiefstellen von Zeichen:

  \DeclareRobustCommand*\textsubscript[1]{%
    \@textsubscript{\selectfont#1}}
  \newcommand{\@textsubscript}[1]{%
    {\m@th\ensuremath{_{\mbox{\fontsize\sf@size\z@#1}}}}}

Da diese Definitionen LaTeX-interne Anweisungen verwenden, müssen sie in
eine Paketdatei oder in \makeatletter ... \makeatother geklammert
werden.
Die Pakete `subscript' und `lhelp' sowie die aktuelle Version der
KOMA-Script-Klassen enthalten bereits diese Definition und ist daher
einer eigenen Definition vorzuziehen.

subscript:  CTAN: macros/latex/contrib/fragments/subscript.sty
lhelp:      CTAN: macros/latex/contrib/lhelp
 


8.5.18 Wie kann ich das aktuelle Datum oder die aktuelle Uhrzeit in mein
Dokument einbauen?

Die Anweisung \today liefert die sprachabhängig formatierte Darstellung
des aktuellen Datums, beispielsweise ,,September 19, 2003''.
Das Paket `scrtime' des KOMA-Script-Paketes stellt die Anweisung
\thistime zur Verfügung, mit der die aktuelle Uhrzeit in der Form hh:mm
ausgegeben wird.
Im Buch ,,Der LaTeX-Begleiter'' bei der Beschreibung des Paket `calc'
findet man als Anwendungsbeispiel eine von KOMA-Script unabhängige
Lösung, die wie \thistime das TeX-Register \time auswertet.
Eine komfortable Lösung zur unterschiedlichen Datumsdarstellung bietet
das Paket `isodate'. Hier werden neben der ``alten'' und ``neuen''
deutschen Darstellung auch österreichische, US-englische, französische,
dänische und norwegische Formate unterstützt.
Für Uhrzeiten und Uhrzeitbereichen in unterschiedlicher Darstellung
dient das Paket `uhrzeit'.

KOMA-Script:  CTAN: macros/latex/contrib/koma-script/
isodate:      CTAN: macros/latex/contrib/isodate/
uhrzeit:      CTAN: macros/latex/contrib/uhrzeit/
 


8.5.19 Wie kann ich das Aussehen von Listenumgebungen, speziell deren
vertikale Abstände, auf einfache Weise verändern?

Die Pakete `mdwlist', `paralist' und `expdlist' bieten verschiedene
Möglichkeiten, das Aussehen von Listen zu beeinflussen. Dabei können
sowohl die Einrückungstiefen und vertikale Abstände als auch das
Aussehen der Marken bei `description'-artige Listen angepaßt werden.
Außerdem stehen vordefinierte kompakte Listen, bei `paralist' auch
innerhalb des fließenden Textes, zur Verfügung.

mdwlist:   CTAN: macros/latex/contrib/mdwtools/
paralist:  CTAN: macros/latex/contrib/paralist/
expdlist:  CTAN: macros/latex/contrib/expdlist/
 


8.5.20 Wie kann ich den Wert eines Längenregister im Text oder in der
Protokollausgabe anzeigen lassen?

Leider bietet LaTeX hier keine Anweisungen an, aber man kann sich
dennoch einfacher TeX-Mittel bedienen. Der Wert eines Längenregister
\laenge wird in der Protokollausgabe mit \showthe\laenge ausgegeben; zur
Ausgabe wird der Formatierlauf unterbrochen und kann mit _Return_
fortgesetzt werden. Für die Anzeige im Text ist die Anweisung
\the\laenge hilfreich, die zum Wert des Längenregisters expandiert.
Beide Anweisungen geben den Wert in Punkten an, für andere Einheiten muß
selbst umgerechnet werden. Zum Umrechnen eignet sich das Paket
`printlen'.

printlen:  CTAN: macros/latex/contrib/misc/printlen.sty
 


8.5.21 Wie kann ich mit LaTeX Bildschirmpräsentationen erzeugen?

Es gibt etliche meist auf dem PDF-Format basierende Lösungen. Einen
guten Überblick bietet die folgende Adresse.

Michael Wiedmann:
Screen            http://www.miwie.org/presentations/presentations.html
Presentation
Tools: 
 


8.5.22 Welche veralteten oder ungünstigen LaTeX-Pakete und
LaTeX-Anweisungen sollte ich meiden? (+)

Die in der folgenden unvollständige Aufstellung unter ``zu ersetzen
durch'' gemachten Angaben sollten, auch wenn sie hier nicht näher
begründet werden können, befolgt werden. Es handelt sich _nicht_
vorrangig um formale Gründe, die diesen Empfehlungen zugrunde liegen. Im
Zweifelsfall ziehe man geeignete Dokumentationen zu Rate.

veraltetes/ungünstiges Paket zu ersetzen durch
a4, a4wide                   Klassenoption a4paper
caption                      caption2
doublespace                  setspace
epsfig, epsf                 graphicx
fancyheadings                fancyhdr
floatfig, picinpar           picins, floatflt, wrapfig
umlaut                       inputenc
\usepackage{isolatin1}       \usepackage[latin1]{inputenc}
natdin                       dinat
scrlettr                     scrlettr2
scrpage                      scrpage2
\usepackage{t1enc}           \usepackage[T1]{fontenc}
times oder pslatex           mathptmx, helvet, courier
palatino                     mathpazo, helvet, courier
\usepackage[ngerman]{babel}  Nur eines der beiden Pakete ist sinnvoll.
\usepackage{ngerman}          
 


veraltete/ungünstige Anweisung zu ersetzen durch
\it, \rm, \bf                  \itshape, \rmfamily, \bfseries
                               \textit{...}, \textrm{...}, \textbf{...}
Texthervorhebung mit:          \emph{...} (_oft so gemeint_)
\textit{...}                    
\parindent0pt                  \setlength{\parindent}{0pt}
center-Umgebung innerhalb      \centering
von figure-Umgebungen           
\\, um im Fließtext einen      Leerzeile oder \par
Absatz zu beginnen              
\usepackage[treiber]           \usepackage{graphicx}
{graphicx}                     (_meistens möglich_)
\includegraphics               \includegraphics{dateiname}
{dateiname.endung}             (_meistens möglich_)
$$...$$                        \begin{displaymath}...\end{displaymath}


--- DE-TeX-FAQ Ende Teil 8 ---
