Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!hookup!news.join.ad.jp!news.imnet.ad.jp!usenet.seri.re.kr!news.dacom.co.kr!news.postech.ac.kr!xpat.com!news.kreonet.re.kr!usenet.etri.re.kr!usenet.kornet.nm.kr!agate!newsgate.duke.edu!news.mathworks.com!newsfeed.internetmci.com!demos!news.uni-stuttgart.de!news.urz.uni-heidelberg.de!sun.dante.de!german
From: dantefaq@dante.de (DANTE e.V., FAQ-Maintainer)
Newsgroups: de.comp.tex,de.answers,news.answers
Subject: TeX, LaTeX, DANTE e.V.: FAQ - Fragen und Antworten (Part 6 of 8)
Supersedes: <de-tex-faq-6-836386058@dante.de>
Followup-To: de.comp.tex
Date: 3 Aug 1996 04:01:14 GMT
Organization: DANTE, Deutschsprachige Anwendervereinigung TeX e.V.
Lines: 764
Approved: news-answers-request@MIT.EDU
Distribution: world
Expires: 17 Sep 96 06:00:14
Message-ID: <de-tex-faq-6-839044815@dante.de>
References: <de-tex-faq-1-839044815@dante.de>
Reply-To: dantefaq@dante.de (DANTE e.V., FAQ-Maintainer)
NNTP-Posting-Host: sun.dante.de
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
Summary: This posting contains a list of Frequently Asked Questions
         (and their answers) about the typesetting system TeX and
         about DANTE e.V., the german-speaking TeX users group.
         It is in German and uses the ISO Latin-1 character set.
Keywords: FAQ TYPESETTING TeX USERGROUP DANTE
Originator: german@sun.dante.de
Xref: senator-bedfellow.mit.edu de.comp.tex:26876 de.answers:769 news.answers:78364

Posted-By: auto-faq 3.2.1.3
Archive-name: de-tex-faq/part6
Posting-Frequency: monthly
Copyright-Notice: siehe Abschnitt 1.1/see Section 1.1
URL: http://www.dante.de/dante/dante-faq.html


		Fragen und Antworten (FAQ) über

		   das Textsatzsystem TeX und
		       ~~~~~~~~~~~~~~~~~~
	DANTE, Deutschsprachige Anwendervereinigung TeX e.V.
	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


	=== Teil 6: TeX, LaTeX, Makros, etc. (Fortsetzung) ==


6.1) (Silben-)Trennung, Absatz-, Seitenumbruch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

6.1.1) Warum trennt (La)TeX Worte mit Umlauten nicht/nicht korrekt?

Wie TeX Worte mit Umlauten trennt, hängt davon ab, ob die verwendete
Schrift Umlaute als eigene Lettern enthält und ob man auf diese
Lettern durch entsprechende Paket-Deklarationen beim Setzen eines
Textes auch zugreift.
  Bei den alten CM-Schriften muß TeX Umlaute aus einem Buchstaben und
einem Akzent zusammenbasteln, da diese keine Lettern für Umlaute
enthalten.  Diese Akzent-Konstruktion irritiert TeXs Trennalgorithmus,
und so trennt TeX nur den Wortteil bis zum ersten Umlaut.  In
`german.sty' und einigen(!) Babel-Versionen wird durch einen aus dem
TeXbook (Anhang D, S. 394, \allowhyphens) entnommenen Trick erreicht,
daß alle Wortteile zwischen den Umlauten einzeln getrennt werden.  Bei
dieser Vorgehensweise werden nicht alle Trennstellen gefunden oder es
treten teilweise falsche Trennungen (Bsp.: "ubert-ragen statt
"uber-tra-gen) auf.
  Abhilfe schaffen nur Schriften wie die DC-Fonts, da in diesen die
Umlaute als einzelne Lettern enthalten sind.  Unter neueren Versionen
von LaTeX2e und `german.sty' bzw. Babel lassen sich die DC-Fonts recht
einfach durch die Deklaration

      \usepackage[T1]{fontenc}

(in der Präambel des Dokuments) verwenden.


6.1.2) Wie kann ich Trennungsausnahmen mit Umlauten in \hyphenation
       verwenden?

Auch hier gilt, daß man in \hyphenation in den Trennungsausnahmen nur
Zeichen verwenden kann, für die auch Lettern in der momentan benutzten
Schrift existieren (siehe Abschnitt 6.1.1).  Da mit CM-Schriften die
Umlaute aus zwei Lettern zusammengesetzt werden müssen, kann man für
Wörter mit Umlauten keine Trennungsausnahmen angeben.  Erst bei
Verwendung von T1-kodierten Schriften, wie den DC-Fonts, oder auch von
Schriften in einer entsprechenden anderen Kodierung, die eigene
Lettern für Umlaute enthalten, kann man Trennungsausnahmen angeben.

Hier ist ein einfaches Beispiel (`german.sty' ist hier nur zum
Umschalten auf die deutschen Trennmuster `ghyph31.tex' notwendig):

\documentclass{article}
  \usepackage{german}
  \usepackage[T1]{fontenc}
  \hyphenation{Ver-st\"ar-ker-aus-gang}
\begin{document}
\showhyphens{Verst\"arkerausgang}
% ohne Trennausnahme:  Ver-st^^e4r-ke-r-aus-gang
% mit Trennausnahme:   Ver-st^^e4r-ker-aus-gang
\end{document}


6.1.3) Wie kann ich `Hurenkinder' (engl. widows), also einzelne
       Zeilen eines Absatzes am Kopf von Buchseiten, bzw.
       `Schusterjungen/Waisenkinder' (engl. clubs), einzelne
       Absatzzeilen auf der Seite unten, verhindern?

TeX kennt die Parameter \widowpenalty und \clubpenalty, mit denen man
die `Strafpunkte' festlegen kann, falls ein Hurenkind bzw. ein
Schusterjunge beim Seitenumbruch entstehen sollte.  Außerdem gibt es
noch den Parameter \displaywidowpenalty für Hurenkinder nach einer
abgesetzten mathematischen Formel.  Da TeX den Wert 10000 als
unendlich große Strafe interpretiert, kann man mit den Zeilen

\clubpenalty = 10000
\widowpenalty = 10000 \displaywidowpenalty = 10000

Hurenkinder und Schusterjungen komplett unterdrücken.  (Das Paket
`schuster' enthält genau diese Zeilen.)
  Man sollte jedoch bedenken, daß man bei einem Satzspiegel mit fester
Höhe (\flushbottom) und registerhaltigem Satz Hurenkinder und
Schusterjungen nur schwerlich verhindern kann -- insbesondere wenn man
dies bei zweiseitigem Druck für jede Doppelseite beachten muß.  Hier
ist es oft besser, die einzelne Zeile zuzulassen oder zu versuchen,
einen Absatz durch geringfügige Umformulierung eine Zeile länger oder
kürzer zu machen.


6.1.4) Wie muß in LaTeX2e die Datei `hyphen.cfg' aussehen, um die
       deutschen Trennmuster `ghyph31.tex' in das LaTeX-Format
       einzubinden?

Eine Anleitung zur Installation der deutschen Trennmuster enthält
`germdoc', die Kurzbeschreibung des German-Styles vom Januar 1995.
Diese Anleitung beschreibt auch die Installation der Trennmuster in
plain-TeX und LaTeX 2.09.  Beispiel von `hyphen.cfg' für LaTeX2e:

%% Konfigurationsdatei -- Trennmuster: `hyphen.cfg'
\message{== Loading hyphenation patterns:}
 
\chardef\l@USenglish=\language
\chardef\l@english=\l@USenglish %% british english als `Dialekt'
\input hyphen
 
\newlanguage\l@german \language=\l@german
\chardef\l@austrian=\l@german
\input ghyph31
 
%% weitere Sprachen nach folgendem Schema:
% \newlanguage\l@SPRACHE \language=\l@SPRACHE
% \chardef\l@DIALEKT=\l@SPRACHE
% \input SPRACHhyphen
 
%% Default-Trennmuster: USenglish
\language=\l@USenglish \lefthyphenmin=2 \righthyphenmin=3
\endinput


germdoc:  CTAN: language/german/germdoc.tex


6.1.5) Wieso werden Texte in `typewriter'-Schriften nicht getrennt?
       Gibt es eine Möglichkeit, daß doch getrennt werden kann?

TeX trennt nur, wenn die aktuell verwendete Schrift einen Divis/
Trennungsstrich besitzt.  Dazu ist jeder Schrift ein Divis durch den
Parameter \hyphenchar<font> zugeordnet, der bei den meisten Schriften
auf den Wert `\-, also auf das Zeichen ``-'', gesetzt ist.  Bei den
`typewriter'-Schriften ist dieser Wert aber auf -1 gesetzt, d.h. auf
ein nicht vorhandenes Zeichen.  Damit ist die Trennung für diese
Schriften unterdrückt, was in den meisten Fällen auch sinnvoll ist.
  Will man dennoch, daß TeX einen in `typewriter' gesetzten Textteil
automatisch trennt, so muß man den \hyphenchar für diese Schriften auf
`\- setzen.  Dies geht in LaTeX2e am einfachsten, wenn man die
Anweisung \ttfamily umdefiniert:

  \newcommand{\origttfamily}{}% sollte noch nicht definiert sein!
  \let\origttfamily=\ttfamily % alte Definition von \ttfamily sichern
  \renewcommand{\ttfamily}{\origttfamily \hyphenchar\font=`\-}

Man könnte alternativ dazu auch die Dateien `*cmtt*.fd' ändern und die
Anweisung \hyphenchar\font\m@ne in \DeclareFontFamily entfernen.  Dies
ist jedoch nicht ratsam, wenn man Texte an andere weitergeben will, da
man dann nicht vergessen darf, die so geänderten `*.fd'-Dateien
mitzugeben.
  Für LaTeX 2.09 (oder analog auch für plain-TeX) muß das \tt-Makro
umdefiniert werden:

  \newcommand{\origtt}{}
  \let\origtt=\tt
  \renewcommand{\tt}{\tt \hyphenchar\font=`\-}

  Wichtiger Hinweis: TeX kann eine Schrift unter unterschiedlichen
Namen laden, wobei TeX alle diese Schriften nur ein einziges Mal lädt
und für die anderen Schriften nur `Aliases' anlegt.  Daher gibt es
\hyphenchar<font> nur einmal pro `echten' Font und \hyphenchar<font>
ist wie auch \fontdimen<font> ein besonderer Parameter: Alle
Zuweisungen an \hyphenchar<font> werden _immer_ global ausgeführt.
Außerdem sieht sich TeX diesen Parameter erst am Absatzende beim
Umbruch dieses Absatzes an, so daß mit obiger Änderung nicht möglich
ist, die Trennung für einen in `typewriter' gesetzten Textteil zu
ermöglichen, für einen anderen im selben Absatz zu verbieten.



6.2) Seitenlayout, Layout allgemein, Kopf-/Fußzeilen
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

6.2.1) Gibt es neben den Standard-LaTeX-Classes Classes mit einem
       `europäischeren' Design?

Die NTG hat verschiedene Classes entwickelt, die im Vergleich zum
Layout der Standard-LaTeX-Classes kleinere Überschriften und eine
einheitlichere Einrückung der Absätze und Listen definieren.
  Das KOMA-Script-Paket für LaTeX2e ist eine Weiterentwicklung des
Script-Paketes.  Letzteres wird nicht mehr gepflegt und kann nur unter
LaTeX 2.09 verwendet werden (es existiert eine LaTeX2e-`Anpassung').

ntgclass:  CTAN:  macros/latex/contrib/supported/ntgclass/
koma:      CTAN:  macros/latex/contrib/supported/koma-script/
script:    CTAN:  macros/latex209/contrib/script/
                  macros/latex/contrib/other/script/

6.2.2) Ich suche eine Class für Briefe, die weitgehend die
       unterschiedlichen DIN-Normen und deutschen Gepflogenheiten
       berücksichtigt.

Unter LaTeX 2.09 ist `dinbrief' weit verbreitet, der von anderen
Autoren auch für LaTeX2e verfügbar gemacht wurde.  Darüberhinaus
findet man im KOMA-Script-Paket die Class `scrlettr' und es gibt mit
`g-brief' und `myletter' noch weitere Beispiele für angepaßte Classes.

dinbrief:  CTAN: macros/latex/contrib/supported/dinbrief/ (für LaTeX2e)
                 macros/latex209/contrib/letters/dinbrief/ (für 2.09)
koma:      CTAN: macros/latex/contrib/supported/koma-script/
g-brief:   CTAN: macros/latex/contrib/supported/g-brief/
myletter:  CTAN: macros/latex/contrib/supported/myletter/
	   (Anm.: `myletter' ist ein schlecht gewählter Name.  Falls
	   jemand eigene Makros veröffentlichen will, bitte Namen wie
	   `myXYZ' oder `newXYZ' vermeiden!)


6.2.3) Gibt es eine bequemere Möglichkeit, ein Seitenlayout anzugeben,
       als dadurch, die Parameter wie \textheight alle einzeln zu
       verändern?
 
Das Paket `vmargin' erlaubt die Spezifikation des Papierformats sowie
der gewünschten Ränder in der Form
 
  \usepackage{vmargin}
  \setpapersize{A4}
  \setmargins{1.5cm}{1.5cm}% % linker & oberer Rand
             {18cm}{25cm}%   % Textbreite und -höhe
             {12pt}{25pt}%   % Kopfzeilenhöhe und -abstand
             {0pt}{30pt}%    % \footheight (egal) und Fußzeilenabstand
 
Diverse Papiergrößen sowie Hoch- und Querformat werden unterstützt,
und auch die `twoside'-Option wird richtig behandelt.  Das Paket
funktioniert mit LaTeX(2e) und LaTeX 2.09.
  Mit dem Paket `typearea' aus dem KOMA-Script-Paket kann man den
Textbereich für eine vorgegebene Papiergröße frei bestimmen

  \usepackage[a4paper]{typearea} % Ausgangspapiergröße
  \areaset[1cm]%                 % Zusätzlicher Rand fuer die Bindung
          {18cm}{25cm}           % Textbreite und Höhe

oder den Anteil des Textbereichs an der Gesamtseite festlegen

  % 1cm zusätzlicher Rand fuer die Bindung,
  % 9/12 der Restseite für Text:
  \usepackage[a4paper,BCOR1cm,DIV12]{typearea}

Die Verteilung der Ränder erfolgt dabei automatisch nach
typographischen Gesichtspunkten.  Diverse Papiergrößen sowie Hoch- und
Querformat werden unterstützt, zusätzliche Formate können definiert
werden, und auch die Option `twoside' wird korrekt behandelt. Das
Paket funktioniert mit LaTeX(2e), im alten Script-2.0-Paket gibt es
eine Version, die mit LaTeX 2.09 funktioniert.

vmargin:  CTAN: macros/latex/contrib/other/misc/vmargin.sty
koma:     CTAN: macros/latex/contrib/supported/koma-script/
script:   CTAN:  macros/latex209/contrib/script/


6.2.4) Gibt es einen einfachen Weg, die Seitennummer als `Seite 1 von
       16' anzugeben?

Dies geht mit dem Paket `lastpage' am einfachsten, man bekommt dann
mit ``\pageref{LastPage}'' die Nummer der letzten Seite.  Eine noch
mit LaTeX 2.09 laufenden Version ist im Paket `fancyheadings'
enthalten.  Mit diesem Paket oder mit `scrpage' aus dem KOMA-Script-
Paket kann man dann die Kopf- oder Fußzeile einer Seite mit der Angabe
`1 von 16' ohne große Mühen umdefinieren.

lastpage:  CTAN: macros/latex/contrib/other/lastpage/    (LaTeX2e)
fancyheadings:  CTAN: macros/latex209/contrib/fancyheadings/
koma:      CTAN: macros/latex/contrib/supported/koma-script/



6.3) Literaturzitate, -verzeichnis, BibTeX
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

6.3.1) Wie kann ich im Text mit dem Autor/Jahreszahl o.ä. zitieren?

Hierfür gibt es eine größere Anzahl von Paketen, wie `natbib',
`theapa' oder `overcite', die dies erlauben.

natbib:   CTAN: macros/latex/contrib/supported/natbib/  (LaTeX2e)
          CTAN: macros/latex209/contrib/natbib/  (LaTeX 2.09, veraltet!)
theapa:   CTAN: macros/latex209/contrib/theapa/
overcite: CTAN: macros/latex/contrib/other/misc/overcite.sty


6.3.2) Wie kann ich das BibTeX-Stylefile xyz.bst so abändern, daß an
       Stelle X ein/kein Komma/Punkt erscheint, daß der Eintrag Y
       anders formatiert wird, etc.etc.?

Die Programmiersprache von BibTeX, in der die .bst-Dateien geschrieben
sind, ist in der Datei `btxhak.tex' beschrieben, die jedem BibTeX-
Paket beiliegen sollte.  Bevor man diese für die meisten ungewohnte
Sprache lernt, sollte man zuerst überprüfen, ob die eigenen Wünsche
schon durch das Paket `custom-bib' abgedeckt werden können.  Dieses
Paket enthält ein menügesteuertes, in TeX selbst geschriebenes
Erzeugungsprogramm, das aus einer Master-bst-Datei eine bst-Datei mit
den ausgewählten Eigenschaften erzeugt.

custom-bib: CTAN: macros/latex/contrib/supported/custom-bib/  (LaTeX2e)
btxdoc/btxhak: CTAN: biblio/bibtex/distribs/doc/


6.3.3) Gibt es an's Deutsche angepasste .bst-Dateien?

Ja, zum Beispiel kann man mit dem unter 4.4.2 genannten Paket
`custom-bib' .bst-Dateien für verschiedene Sprachen, darunter auch
Deutsch, generieren.
  Außerdem gibt es folgende angepaßte .bst-Dateien und -Pakete (ohne
Gewähr, unvollständig, Reihenfolge ist _keine_ Wertung):

abstyles:  CTAN: biblio/bibtex/contrib/abstyles/
dinalpha:  CTAN: biblio/bibtex/contrib/dinalpha.bst
geralpha:  CTAN: biblio/bibtex/contrib/geralpha/
germbib:   CTAN: biblio/bibtex/contrib/germbib/


6.3.4) Wie kann ich statt der eckigen Klammern [1] im Text bzw. im
       Literaturverzeichnis runde Klammern (1) oder Schrägstriche /1/
       verwenden?

Für die Form der Labels im Text ist die interne Anweisung \@cite, für
die Form im Literaturverzeichnis die interne Anweisung \@biblabel
anzupassen.  Deren Standarddefinitionen lauten:
  \newcommand{\@cite}[2]{[{#1\if@tempswa , #2\fi}]} 
  \newcommand{\@biblabel}[1]{[#1]}

Will man statt der eckigen Klammern Schrägstriche, so lauten die
Redefinitionen
  \renewcommand{\@cite}[2]{/{#1\if@tempswa , #2\fi}/}
  \renewcommand{\@biblabel}[1]{/#1/}

Nicht vergessen: Redefinitionen von internen Anweisungen (= enthalten
ein `@' im Namen) müssen entweder in ein .sty-File geschrieben oder in
der Präambel des Dokuments durch \makeatletter...\makeatother
geklammert werden!


6.3.5) Wie kann ich verhindern, daß die Wörter im Titel eines
       .bib-Eintrages kleingeschrieben werden?

Entweder den Titel komplett oder alle groß zu schreibenden Worter
einzeln noch einmal klammern, also in der .bib-Datei statt
	titel = {Fragen und Antworten}
einfach
	titel = {{Fragen und Antworten}}
oder
	titel = {{Fragen} und {Antworten}}
eingeben.

Eine alternative Lösung (oder besser: Ergänzung der Klammerung) ist
die Änderung oder die Verwendung einer entsprechend geänderten
.bst-Datei, in der bei der Formatierung des Titels und anderer Teile
eines Eintrages die BibTeX-Anweisung `change.case$' _nicht_ ausgeführt
wird.  Dies sollte bei den an das Deutsche angepaßten bst-Dateien
(siehe 6.3.3) bereits der Fall sein, im Paket `custom-bib' (siehe
6.3.2) kann die Umwandlung über einen Menüpunkt ausgewählt werden.


6.3.6) Bei Labels wie [Rai95], die aus Teilen des Autorennamens
       gebildet werden, treten Fehler bei Autorennamen mit Umlauten
       auf, wie kann ich das verhindern?

Damit BibTeX die Konstruktion `\"a' für Umlaute als ein einzelnes
Zeichen korrekt erkennen kann, muß der Umlaut mit einer zusätzlichen
Klammerung im Eintrag in der .bib-Datei eingegeben werden, also als
`{\"a}' oder `{\ss}'.  Tip: BibTeX-Dokumentation lesen!


6.3.7) Kann ich Umlaute direkt in einer .bib-Datei verwenden?

Jein.  Einige neuere BibTeX-Implementierungen erlauben die Ein- und
Ausgabe von Umlauten und anderen akzentuierten Zeichen.  Will man
diese Dateien jedoch an Personen auf anderen Rechnersystemen und
anderen BibTeX-Implementierungen weitergeben, sollte man sich auf die
Standard-Kodierung mit `{\"a}' etc. beschränken.

Im Schlüssel eines Verweises, also dem Argument von \cite bzw. dem
ersten Wort eines .bib-Eintrages, sollte man sich auf die 2*26 Klein-
und Großbuchstaben, die 10 Ziffern und die Satzzeichen beschränken.
Dieser Schlüssel muß von (La)TeX an BibTeX übergeben werden und ein
Schlüssel mit Umlauten kann auf diesem Wege eventuell zu einer anderen
Zeichenkette expandiert werden, die im BibTeX-Lauf mit keinem
Schlüssel in der .bib-Datei übereinstimmt.  Dadurch kann dann der
Eintrag von BibTeX bzw. von (La)TeX nicht gefunden werden.



6.4) Mathematischer Formelsatz
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

6.4.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/LaTeX 2.09).
  So auf die Schnelle ist auch die `poor man's solution' mit
\(\mathsf{I\!\!\:N}\) ausreichend.  Jedoch wird diese Lösung
spätestens für die ganzen, rationalen und komplexen Zahlen (Z, Q, C)
schwieriger.
  Ansonsten könnte man auch auf \mathcal (\cal in LaTeX 2.09) und bei
Verwendung von AMS-(La)TeX auf \mathbb bzw. \Bbb ausweichen.

  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
 - doublestroke (von Olaf Kummer)
   mit Serifen wie CMR, ein dicker und ein dünner Strich,
   nur Großbuchstaben
 - bbm (von Gilles F. Robert)
   sollte allen Wünschen gerecht werden, alle Varianten, wie fett,
   mit oder ohne Serifen, etc.

Die Auswahl einer dieser Schriften ist reine Geschmackssache.

bbold:         CTAN: fonts/bbold/
mathbbol:      CTAN: macros/latex/contrib/supported/jknappen/
          definiert AMS-(La)TeXs \mathbb-Anweisung so um, daß statt
          der Original-AMS- die `bbold'-Schriften verwendet werden
doublestroke:  CTAN: fonts/doublestroke/
bbm:           CTAN: fonts/cm/bbm/
                     (bzw. fonts/cm/sauter23/holin/bbm/)
                     macros/latex/contrib/supported/bbm/


6.4.2) Für Lagrangedichten 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/sauter23/holin/rsfs/b-rsfs.mf
mathrsfs:  CTAN: macros/latex/contrib/supported/jknappen/
calrsfs:   CTAN: macros/latex/contrib/other/calrsfs/


6.4.3) Ich suche das Zeichen ... für den Formelsatz, und kann es nicht
       in den Standardfonts 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'.
 
amsfonts: CTAN: fonts/ams/amsfonts/...
amssym:   CTAN: fonts/ams/amsfonts/plaintex/amssym.tex


6.4.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 LaTeX2e 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,
etwa mit Definitionen wie

	% make ',' an ordinary Symbol in decimal numbers
	\mathchardef\CommaOrdinary="013B
	\mathchardef\CommaPunct   ="613B
	\mathcode`,="8000   % , im Math-Mode aktiv machen
	{\catcode`\,=\active
	 \gdef ,{\obeyspaces\futurelet\next\CommaCheck}}
	\def\CommaCheck{\if\space\next\CommaPunct\else\CommaOrdinary\fi}

Hiermit ist es möglich, zwischen `3,1415' und `f(x, y)' zu
unterscheiden; steht hinter dem Komma ein Leerzeichen, ist das
Trennzeichen gemeint, sonst das Dezimalkomma.


6.4.5) AMS-LaTeX: Kann mir jemand erklären, was der Unterschied
       zwischen dem `amstex'- und dem `amsmath'-Paket ist?

Dies wird in der Datei `diff12.tex' des AMS-LaTeX-Packages erläutert:
In AMS-LaTeX Version 1.0 und 1.1, beide nur für LaTeX 2.09, war
`amstex.sty' 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.sty' ein neues Paket namens
`amsmath.sty', das nun unabhängig von `amstex.sty' weiterentwickelt
werden kann.  `amstex.sty' kann dadurch eingefroren werden, sodaß alte
Dokumente weiterhin unverändert formatiert werden können.  Für neue
Dokumente sollte man `amsmath.sty' verwenden, da nur noch dieses Paket
unterstützt und weiterentwickelt wird.  Die Unterschiede zwischen
`amsmath.sty' und `amstex.sty' sind der Dokumentation in der Datei
`diff12.tex' zu entnehmen.

amslatex:    CTAN: macros/latex/packages/amslatex/
diff12.tex:  CTAN: macros/latex/packages/amslatex/math/diff12.tex


6.4.6) 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.

msxm/msym:  CTAN: fonts/vf-files/msx2msa/
            (enthält virtuelle Fonts für `msxm' und `msym', die die
             realen Fonts `msam' und `msbm' verwenden)


6.4.7) Das Integral- und Summationszeichen ist für in 11pt und
       besonders für in 12pt gesetzte Dokumente zu klein.

Den Math-Extension-Font `cmex10', aus dem die `großen' Symbole
stammen, sollte an 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 LaTeX2e für alle Schriftgrößen
den 10pt-Font `cmex10'.
  Mit dem Paket `exscale' verwendet LaTeX2e skalierte `cmex10'-Fonts
und paßt die Anweisungen \big, \bigg, etc. entsprechend an.

exscale.sty:  CTAN: macros/latex/{base,unpacked}/ (LaTeX2e-Verteilung)



6.5) Verschiedene sonstige Zeichen
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

6.5.1) Wie bekomme ich ein Gradzeichen?

Das Gradzeichen erhält man am einfachsten mit LaTeX2e 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 DC-Fonts installiert,
kann man auch mit dem Paket `textcomp' auf ein Gradzeichen mit
\textdegree und auf ein fertig zusammengesetztes Grad-Celsius-Zeichen
mit \textcentigrade zugreifen.

dc-fonts,
tc-fonts:  CTAN: fonts/dc/
textcomp:  CTAN: fonts/psfonts/ts1/  (momentan als Testversion!)


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

`Die TeXnische Komödie' vom Dezember 1993 enthielt folgende Lösung,
die auf der TeXbook-Lösung zu Übung 11.6, S. 67+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.

Ein viel bessere Lösung in Form von fertigen Lettern bieten die
`wasy'- und die Text- bzw. Text-Companion-Schriften der DC-Fonts v1.2:

Promillezeichen aus den `wasy'-Schriften:
  \usepackage{wasysym}
  \permil

Promillezeichen aus der Text-Companion-(tc)-Schrift der DC-Fonts:
  \usepackage{textcomp}
  \textperthousand

Diese Lösungen haben den Vorteil, daß sie auch von der Form zum
üblichen Prozentzeichen passen.

wasy:      CTAN: fonts/wasy2/
wasysym:   CTAN: macros/latex/contrib/supported/wasysym/
dc-fonts,
tc-fonts:  CTAN: fonts/dc/
textcomp:  CTAN: fonts/psfonts/ts1/  (momentan als Testversion!)


6.5.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
mf-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, kann man unter LaTeX2e die Anweisung \rotatebox aus dem
`graphicx'-Package verwenden:

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

graphicx:  CTAN: macros/latex/packages/graphics/


6.5.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 LaTeX2e 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
DC-Font-Paket v1.2.  Unter LaTeX2e gibt es zur einfachen Einbindung
das `textcomp'-Package.
  Beginnend mit LaTeX2e 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).

tc-Fonts:  CTAN: fonts/dc/
textcomp:  CTAN: fonts/psfonts/ts1/  (momentan nur als Betatest-Version!)



6.6) Chemischer Struktur- und Formelsatz
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

6.6.1) Wie kann ich chemische Strukturformeln mit LaTeX setzen?

Folgende drei Pakete können unter LaTeX 2.09 verwendet werden.  Ob sie
auch unter LaTeX2e oder plain-TeX verwendbar sind, muß selbst getestet
werden.  [Die folgende Liste ist recht unvollständig! Freiwillige?]

 - XymTeX: A Macro Package for Typsetting Chemical Structural
           Formulas, von Shinsaku Fujita

   Dieses System ist 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
   (127 Seiten) 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 Himmelrichtung der Bindung an und gelangt so recht
   schnell zu brauchbaren Ergebnissen.  So hangelt man sich von Atom
   zu Atom...  (Handbuch mit 18 S.)

 - ChemTeX: Typsetting 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 S.)

 - PPCHTeX: Typesetting Chemical Formulas in TeX,
            von J. Hagen und A.F. Otten

   Auf PiCTeX basierendes Paket, mächtig.  Beschrieben in Proceedings
   of the 9th European TeX Conference EuroTeX'95, Arnhem, S. 197--222
   und TUGboat 17(1), März 1996, S. 54-66.
   Bezugsquelle/ftp-Server: Autoren.

 - Chemsym -- Chemical Symbols, von Mats Dahlgren

   Vereinfacht die Eingabe und den Satz von chemischen
   Reaktionsformeln, indem eine große Menge von chemischen Symbolen
   vordefiniert werden.  Für LaTeX2e, mit Dokumentation.

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.

xymtex:      CTAN: macros/latex209/contrib/xymtex/
chemstruct:  CTAN: macros/latex209/contrib/chemstruct/
chemtex:     CTAN: macros/latex209/contrib/chemtex/
chemsym:     CTAN: macros/latex/contrib/supported/chemsym/


6.6.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 Teil ``LaTeX2e -- Probleme beim Umstieg'').
Mit dem Package `rawfonts' kann man diese Namen (nach-)definieren:

\usepackage[only,tenrm]{rawfonts}

rawfonts:  CTAN: macros/latex/packages/tools/


6.6.3) Das Makro \chemical, das u.a. auch in Helmut Kopka, ``LaTeX --
       eine Einführung'' beschrieben wird, funktioniert ebenso nicht
       mehr.  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überhinaus 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 Packages `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 muss):

\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}}


--- DE-TeX-FAQ Ende Teil 6 ---
