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/ |
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/ |
|
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/ |
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/ |
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
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 ich...: | http://home.vr-web.de/was/x/latexeuro.pdf |
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.
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/ |
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 |
Das LaTeX-Paket ,trfsigns` bietet diese Symbole.
trfsigns: | CTAN: macros/latex/contrib/trfsigns |
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/ |
|
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
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:
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 |
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/ |
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/ |
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`\,="013Bund 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 |
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 package: | http://www.ams.org/tex/amsmath.html |
diffs-m.txt: | CTAN: macros/latex/required/amslatex/math/diffs-m.txt |
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 |
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/ |
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/ |
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ß.
Es gelten einigen Grundregeln, von denen die meisten das Paket ,units` automatisch korrekt erledigt:
$F = 400\,\mathrm{kN}$
, im
Mathe-Modus gesetzt.
\textbf{... 3\,m ...}
, verwendet werden. Hinweis: Der Unterschied
zwischen Text- und Mathemodus wird deutlicher, wenn man mittels
\renewcommand{\familydefault}{cmss}
eine Serifenlose verwendet.
\,
. Dagegen
sehen die Richtlinien des Springer-Verlags ~
als Abstand vor.
$[F] = \mathrm{N}$
.
========================= 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 |
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/ |
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.
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).
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.
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).
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).
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, 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 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/ |
\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/ |
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}}
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 und MusiXTeX: | http://icking-music-archive.sunsite.dk/ |
~: | http://icking-music-archive.sunsite.dk/software/indexmt6.html |
LilyPond: | http://www.cs.uu.nl/~hanwen/lilypond/ |
GuitarTeX: | http://guitartex.sourceforge.net |
Hilfe findet man oft in der MuTeX-Mailing-Liste (siehe Frage 1.3.4).
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
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 |
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
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 |
|
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.
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/ |
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/ |
Man verwende
\jobname.texfür diesen Zweck. Eine portable Lösung, um auch das Verzeichnis, in dem sich die Datei befindet, zu erhalten, existiert nicht.
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.
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.
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/ |
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.
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}% }
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 |
Der Artikel ,,Some Experiences in Running METAFONT and METAPOST`` von Peter Wilson beschreibt die Verwendung von METAPOST in LaTeX.
Peter Wilson: Some Experiences...: | CTAN: info/metafp.pdf |
~: | CTAN: info/metafp.ps |
Vincent Zoonekynd: Métapost exemples: | http://www.math.jussieu.fr/~zoonek/LaTeX/Metapost/metapost.html |
~: | CTAN: info/metapost/examples/ |
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 ...}
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 |
Die Anweisung \today liefert die sprachabhängig formatierte Darstellung des aktuellen Datums, beispielsweise ,,19. September 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/ |
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/ |
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 |
Es gibt etliche meist auf dem PDF-Format basierende Lösungen. Einen guten Überblick bietet die folgende Adresse.
Michael Wiedmann: Screen Presentation Tools: | http://www.miwie.org/presentations/presentations.html |
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} |
detexfaq@dante.de
`
- bitte keine Fragen zu TeX!