diff options
Diffstat (limited to 'Master/texmf-doc/doc/german/FAQ-ge/html/makros3.html')
-rw-r--r-- | Master/texmf-doc/doc/german/FAQ-ge/html/makros3.html | 1749 |
1 files changed, 1749 insertions, 0 deletions
diff --git a/Master/texmf-doc/doc/german/FAQ-ge/html/makros3.html b/Master/texmf-doc/doc/german/FAQ-ge/html/makros3.html new file mode 100644 index 00000000000..14c09a76f1d --- /dev/null +++ b/Master/texmf-doc/doc/german/FAQ-ge/html/makros3.html @@ -0,0 +1,1749 @@ +<!DOCTYPE HTML PUBLIC "-//W3//DTD HTML 4.0 Transitional//EN" + "http://www.w3.org/TR/REC-html40/loose.dtd"> +<html> +<!-- XML file produced from file: de-tex-faq.tex -- + -- using Hyperlatex v 2.5br (c) Otfried Cheong-- + -- on Emacs 20.7.1, Fri Sep 19 14:00:09 2003 --> +<head> +<title>DE-TeX-FAQ -- 7 TeX, LaTeX, Makros etc. (III)</title> +<meta http-equiv="Content-Type" + content="text/html; charset=ISO-8859-1"> +<meta name="Keywords" lang="en" + content="FAQ,TeX,LaTeX,Typesetting,Fonts,DANTE e.V."> +<meta name="Keywords" lang="de" + content="FAQ,TeX,LaTeX,Schriftsatz,Buchsatz,Schrift,DANTE e.V."> +<meta name="Author" + content="Bernd Raichle, Rolf Niepraschk, Thomas Hafner"> +<meta name="ROBOTS" content="NOINDEX,NOFOLLOW"> +<meta name="Description" + content="German Speaking FAQ about TeX and DANTE e.V."> +<link rev="made" href="mailto:detexfaq@dante.de"> + +</head> + + +<body text="black" bgcolor="white"> +<a href="makros2.html"><img alt="Prev" src="previous.gif"></a><a href="de-tex-faq.html"><img alt="Up" src="up.gif"></a><a href="makros4.html"><img alt="Next" src="next.gif"></a><br /> +<b><tt>Zurück zu:  </tt></b><a href="makros2.html"><b>6 TeX, LaTeX, Makros etc. (II)</b></a><br /> +<b><tt>Hoch zu:  </tt></b><a href="de-tex-faq.html"><b>Inhalt</b></a><br /> +<b><tt>Weiter zu:  </tt></b><a href="makros4.html"><b>8 TeX, LaTeX, Makros etc. (IV)</b></a><br /> +<b><tt>Mehr zu TeX et al.: </tt></b><a href="http://www.dante.de/"><b>DANTE e.V.</b></a><br /> +<hr /> + + <div align="center"> +<b>DE-TeX-FAQ (Version 72 vom September 2003)</b><br /> +<b>Copyright © 1995-2003 B. Raichle, R. Niepraschk, Th. Hafner</b> + </div> +<hr /> + + +<h1 align=center>7 TeX, LaTeX, Makros etc. (III)</h1> +<menu> +<li><a href="#1">7.1 Gliederung, Inhalts-, Abbildungs- und andere Verzeichnisse</a> +<menu> +<li><a href="#2">7.1.1 Beim Formatieren von <tt>\tableofcontents</tt> erhalte ich + sehr viele Meldungen mit ,,<tt>overfull</tt> <tt>\hbox</tt>``. Woran liegt + das?</a> +<li><a href="#3">7.1.2 Bei einem Artikel mit sehr vielen Abschnitten und + Unterabschnitten ,,klebt`` die Überschrift im ,toc` + direkt hinter der Abschnittsnummer. Kann man den Platz verbreitern?</a> +<li><a href="#5">7.1.3 Warum werden die durch <tt>\subsubsection</tt> angegebenen + Abschnitte nicht mehr numeriert?</a> +<li><a href="#6">7.1.4 Wie erreiche ich, daß Abschnittsüberschriften + ein anderes Aussehen bekommen?</a> +<li><a href="#8">7.1.5 Warum werden die durch <tt>\subsubsection</tt> angegebenen + Abschnitte nicht mehr ins Inhaltsverzeichnis aufgenommen?</a> +<li><a href="#9">7.1.6 Wie kann ich verhindern, daß z.B. <tt>\subsection</tt> + usw. im Anhang in das Inhaltsverzeichnis aufgenommen werden?</a> +<li><a href="#10">7.1.7 Wie kann ich erreichen, daß Literatur-, + Abbildungs-, Tabellen- und sonstige Verzeichnisse in das + Inhaltsverzeichnis mit aufgenommen werden?</a> +<li><a href="#12">7.1.8 Wie kann ich die Formatierung der automatisch erzeugten + Inhalts-, Abbildungs- und Tabellenverzeichnisse ändern?</a> +<li><a href="#14">7.1.9 Wie kann ich mit <tt>\ref</tt> nicht nur die + Abschnittsnummer, sondern auch den Text einer + Abschnittsüberschrift erhalten?</a> +<li><a href="#16">7.1.10 Wie kann ich in einem Stichwortverzeichnis oder einem + Literaturverzeichnis noch Text zwischen die Überschrift und die + Verzeichnisliste bekommen?</a> +<li><a href="#18">7.1.11 Wie kann ich mehrere Verzeichnisse in der Art des + Stichwortverzeichnisses, z.B. ein zusätzliches Autorenverzeichnis, + anlegen?</a> +<li><a href="#20">7.1.12 In meinem LaTeX-Dokument fehlen die Einträge im + Inhalts-, Tabellen- und Abbildungsverzeichnis, obwohl die + Dateien .toc, .lot bzw. .lof vorhanden sind. Ich benutze das Paket + ,fancybox`.</a> +<li><a href="#22">7.1.13 Wie mache ich alle Labels von Querverweisen sichtbar und + wie erhalte ich eine Liste dieser Labels?</a> +<li><a href="#24">7.1.14 Wie kann ich erreichen, dass Referenzen in einem + LaTeX-Dokument, das ich nach PDF umwandle, als <em>Hyperlinks</em> + angezeigt werden, und kann man auch <em>Bookmarks</em> (Lesezeichen) + automatisch entsprechend dem Inhaltsverzeichnis erstellen lassen?</a> +<li><a href="#26">7.1.15 Um PDF zu erzeugen, binde ich das Paket + ,hyperref` ein, aber beim Betrachten mit ,acroread` + werden keine <em>Hyperlinks</em> und auch keine <em>Bookmarks</em> + angezeigt. Seltsamerweise zeigen ,xdvi` bzw. ,yap` bei Betrachten der dvi-Datei korrekte + <em>Hyperlinks</em> an.</a> +<li><a href="#28">7.1.16 Wieso werden, wenn ich unter Verwendung des Pakets + ,hyperref` auf dem Umweg über PostScript pdf-Dateien erzeuge + (mit ,ps2pdf` oder ,Adobe Acrobat Distiller`), + plötzlich alle Texte, die als Links dienen, insbesondere die + Abschnittsüberschriften im Inhaltsverzeichnis nicht mehr + umbrochen?</a> +<li><a href="#30">7.1.17 Wie erstelle ich ein Glossar?</a> +</menu> +<li><a href="#32">7.2 Literaturzitate, Literaturverzeichnis, BibTeX <img alt="»geändert«" border="0" src="upd-de.gif"></a> +<menu> +<li><a href="#33">7.2.1 Wie kann ich im Text mit dem Autor/Jahreszahl + o.ä. zitieren?</a> +<li><a href="#35">7.2.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.?</a> +<li><a href="#DEUTSCH-BST">7.2.3 Gibt es ans Deutsche angepaßte .bst-Dateien? <img alt="»geändert«" border="0" src="upd-de.gif"></a> +<li><a href="#39">7.2.4 Wie kann ich statt der eckigen Klammern <tt>[1]</tt> + im Text bzw. im Literaturverzeichnis hochgestellte Ziffern, + runde Klammern <tt>(1)</tt> oder Schrägstriche <tt>/1/</tt> + verwenden?</a> +<li><a href="#41">7.2.5 Wie erreiche ich, daß innerhalb eines <tt>\cite</tt> im + Dokumenttext umbrochen werden darf?</a> +<li><a href="#43">7.2.6 Wie kann ich verhindern, daß die Wörter im Titel eines + .bib-Eintrages kleingeschrieben werden?</a> +<li><a href="#45">7.2.7 Bei Labels wie <tt>[Rai95]</tt>, die aus Teilen des + Autorennamens gebildet werden, treten Fehler bei Autorennamen mit + Umlauten auf; wie kann ich das verhindern?</a> +<li><a href="#46">7.2.8 Kann ich Umlaute direkt in einer .bib-Datei verwenden?</a> +<li><a href="#47">7.2.9 Wie kann ich erreichen, daß mehrere Zitate + <tt>[5,3,1,7,6]</tt> zu <tt>[1,3,5-7]</tt> sortiert und + zusammengefaßt werden?</a> +<li><a href="#49">7.2.10 Wie kann man in einem Dokument verschiedene Abschnitte + mit eigenen Literaturverzeichnissen versehen?</a> +<li><a href="#51">7.2.11 Wie kann man ein thematisch untergliedertes + Literaturverzeichnis erstellen?</a> +<li><a href="#53">7.2.12 Wie kann ich in einer BibTeX-Datenbank WWW- oder ftp-Quellen, + die als URL vorliegen, zitieren?</a> +<li><a href="#55">7.2.13 Gibt es einen Weg, daß <tt>\cite</tt> gleich die + komplette Literaturstelle liefert?</a> +<li><a href="#57">7.2.14 Wie kann ich mit Kurzformen von Autor und Titel + zitieren oder zwischen Kurz- und Langformen wechseln?</a> +<li><a href="#59">7.2.15 Wie kann ich die Einträge in <tt>@phdthesis</tt> mit + ,,Diplomarbeit`` oder ähnlicher Klassifikation auszeichnen?</a> +</menu> +<li><a href="#60">7.3 <tt>\verb</tt>-Anweisung, verbatim- und Kommentar-Umgebungen <img alt="»neu«" border="0" src="new-de.gif"></a> +<menu> +<li><a href="#61">7.3.1 Wieso kann ich <tt>\verb</tt> nicht im Argument einer + anderen Anweisung wie <tt>\footnote</tt>, <tt>\parbox</tt> u.ä. verwenden? + Wieso geht dies mit LaTeX2e nicht mehr, obwohl es mit + LaTeX 2.09 ging?</a> +<li><a href="#63">7.3.2 Wieso bekomme ich die Fehlermeldung + ,<tt>! LaTeX Error: <tt>\verb</tt> ended by end of line.</tt>`, + wenn ich im Argument von <tt>\verb</tt> in der Eingabe ein + Zeilenende habe?</a> +<li><a href="#64">7.3.3 Wie kann ich eine eigene + ,<tt>verbatim</tt>`-Umgebung definieren?</a> +<li><a href="#66">7.3.4 Wie kann ich Programm-Code in mein LaTeX-Dokument + einbinden?</a> +<li><a href="#68">7.3.5 Wie kann ich den Inhalt einer Datei innerhalb einer + ,<tt>verbatim</tt>`-Umgebung darstellen?</a> +<li><a href="#70">7.3.6 Wie erreiche ich, dass innerhalb einer + ,<tt>verbatim</tt>`-Umgebung Umlaute und andere Sonderzeichen zu sehen + sind? <img alt="»neu«" border="0" src="new-de.gif"></a> +<li><a href="#71">7.3.7 Wie kann ich Zeilennummern zu meinem Text hinzufügen?</a> +<li><a href="#73">7.3.8 Gibt es eine Kommentarumgebung, mit der ich größere + Textteile auskommentieren kann?</a> +<li><a href="#75">7.3.9 Wie kann ich mehrere Versionen eines Textes erstellen oder + bedingte Textteile verwenden?</a> +<li><a href="#77">7.3.10 Ich will <tt>\verb</tt> z.B. für Dateinamen, + E-Mail-Adressen und URL verwenden. Wie schaffe ich es, daß innerhalb + von <tt>\verb</tt> an geeigneten Stellen getrennt wird?</a> +</menu> +<li><a href="#79">7.4 Zerbrechliche Anweisungen in ,moving arguments`</a> +<menu> +<li><a href="#80">7.4.1 Was sind ,fragile commands`/zerbrechliche Anweisungen, + was sind ,moving arguments`?</a> +<li><a href="#81">7.4.2 Wie kann ich innerhalb des Arguments von + <tt>\caption</tt>, <tt>\section</tt> etc. Anweisungen wie <tt>\cite</tt>, + <tt>\ref</tt>, <tt>\pageref</tt> oder <tt>\footnote</tt> verwenden, ohne Fehler wie + ,<tt>! Argument of <tt>\@sect</tt> has an + extra <tt>}</tt>.</tt>` oder + ,<tt>! Use of <tt>\@chapter</tt> doesn't match its + definition.</tt>` zu erhalten?</a> +</menu> +</menu> +<hr align="center" width="70%" /> + +<h2><a name="1">7.1 Gliederung, Inhalts-, Abbildungs- und andere Verzeichnisse</a></h2> + +<h3><a name="2">7.1.1 Beim Formatieren von <tt>\tableofcontents</tt> erhalte ich + sehr viele Meldungen mit ,,<tt>overfull</tt> <tt>\hbox</tt>``. Woran liegt + das?</a></h3> +<p> +Die Seitennummer wird in eine Box der Breite <tt>\@pnumwidth</tt> +gesetzt. Der in den Standardklassen hierfür verwendete Wert von +1.55em kann in manchen Situationen (Seitennummer<i>>=1000</i>, +breiterer Font) zu klein sein. Abhilfe: +<pre> +\renewcommand{\@pnumwidth}{2em}% statt `2em' evtl. groesserer Wert +</pre> + +Eventuell muß man dann auch den Wert im Makro <tt>\@tocrmarg</tt> +anpassen. Da man ein internes Makro ändert, ist diese Anweisung in +eine .sty-Datei oder mit <tt>\makeatletter</tt> ... <tt>\makeatother</tt> +geklammert in die Dokumentpräambel zu schreiben. +<p> +Längere Abschnittsnummern können eine andere Ursache dieses Fehlers sein. +Hier muß man in den Definitionen der Makros <tt>\l@<type></tt>, wie z.B. <tt>\l@section</tt>, im Aufruf des Makros <tt>\@dottedtocline</tt> das dritte Argument +entsprechend vergrößern. Näheres hierzu im Buch ,,Der + LaTeX-Begleiter`` (siehe <a href="vereine.html#16">Frage 2.4.1</a>). + +<h3><a name="3">7.1.2 Bei einem Artikel mit sehr vielen Abschnitten und + Unterabschnitten ,,klebt`` die Überschrift im ,toc` + direkt hinter der Abschnittsnummer. Kann man den Platz verbreitern?</a></h3> +<p> +In der Datei der verwendeten Klasse wird das Aussehen einer Zeile in +den Verzeichnissen durch ein Makro namens ,<tt>\l@<typ></tt>` +festgelegt. Für eine <tt>\subsection</tt> ist dies das Makro +<tt>\l@subsection</tt>, das z.B. in ,,<tt>article.cls</tt>`` durch +<pre> +\newcommand{\l@subsection}{\@dottedtocline{2}{1.5em}{2.3em}} +</pre> + +definiert ist. Die Länge 1.5em gibt an, wie breit der Einschub vom +linken Rand ist, die Länge 2.3em, wie breit der Platz für die +Abschnittsnummer sein soll. Will man diese vergrößern, kann man +dies beispielsweise mit +<pre> +\renewcommand{\l@subsection}{\@dottedtocline{2}{1.5em}{3.3em}} +</pre> + +in einer .sty-Datei oder mit <tt>\makeatletter</tt> ... <tt>\makeatother</tt> +geklammert in der Dokumentpräambel. Mehr dazu findet man im Buch ,,Der + LaTeX-Begleiter`` (siehe <a href="vereine.html#16">Frage 2.4.1</a>). +<p> +Sehr viel einfacher geht dies mit dem Paket ,tocloft`<a name="4" id="4">,</a> das einem +die volle Kontrolle über die Formatierung der einzelnen Verzeichnisse +erlaubt. Es benötigt noch das Paket ,stdclsdv`. +<table> + <tr> + <td> + <b>tocloft: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/tocloft"><code>macros/latex/contrib/tocloft</code></a></td> + </tr> + <tr> + <td> + <b>stdclsdv: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/stdclsdv"><code>macros/latex/contrib/stdclsdv</code></a></td> + </tr> + <tr> + <td> </td> + </tr> +</table> + + +<h3><a name="5">7.1.3 Warum werden die durch <tt>\subsubsection</tt> angegebenen + Abschnitte nicht mehr numeriert?</a></h3> +<p> +Jeder Gliederungsebene ist in LaTeX eine Nummer zugeordnet: +<p align="left"> +<table> + <tr> + <td align="right">-1</td> + <td>part</td> + <td align="right">1</td> + <td>section</td> + <td align="right">3</td> + <td>subsubsection</td> + <td align="right">5</td> + <td>subparagraph</td> + </tr> + <tr> + <td align="right">0</td> + <td>chapter</td> + <td align="right">2</td> + <td>subsection</td> + <td align="right">4</td> + <td>paragraph</td> + </tr> +</table> + +</p> +Bei der Klasse ,article` existiert der Befehl <tt>\chapter</tt> +nicht, und <tt>\part</tt> erhält die Nummer 0 zugeordnet. +<p> +Die Gliederungsebene, bis zu der numeriert wird, legt der Zähler +,secnumdepth` fest. Die Standardklassen setzen diesen Zähler +auf den Wert 2, also bis <tt>\subsection</tt>. Um auch für +tieferliegende Ebenen eine Numerierung zu erhalten, muß der Zähler +entsprechend erhöht werden. Mit <code>\setcounter{secnumdepth}{4}</code> +werden die Überschriften der Ebenen bis <tt>\paragraph</tt> mit einer +Nummer versehen, auch wenn dies nur in den allerwenigsten Fällen +sinnvoll ist. +<p> +Um die Numerierung von Überschriften im Dokument vollständig zu verhindern, +muß man den Zähler ,secnumdepth` auf den Wert -2 gesetzt +werden. Ein Inhaltsverzeichnis wird dennoch erzeugt, da dies durch +den Zähler ,tocdepth` gesteuert wird. + +<h3><a name="6">7.1.4 Wie erreiche ich, daß Abschnittsüberschriften + ein anderes Aussehen bekommen?</a></h3> +<p> +Die LaTeX-Anweisungen <tt>\section</tt>, <tt>\subsection</tt> etc. werden in +den Klassendateien wie z.B. ,,<tt>article.cls</tt>`` definiert. (In +LaTeX 2.09 wurden sie dagegen in den Hilfsdateien wie z.B. ,,<tt>art10.sty</tt>`` definiert.) Die Definitionen verwenden dabei die +allgemeinere Anweisung <tt>\@startsection</tt>, in deren sechstem Argument +man Formatieranweisungen angeben kann. Zur Änderung kopiert man sich +die Definition aus ,,<tt>article.cls</tt>`` bzw. die entsprechende +Klassendatei in eine .sty-Datei, ändert <tt>\newcommand</tt> (bzw. <tt>\def</tt>) zu <tt>\renewcommand</tt> und fügt die Anweisung +<tt>\centering</tt> zu den bestehenden Formatieranweisungen hinzu: +<pre> +\renewcommand{\section}{% + \@startsection {section}{1}{\z@}% + {-3.5ex plus -1ex minus -.2ex}% + {2.3ex plus.2ex}% + {\normalfont\Large\bfseries \centering}} +</pre> + +Man vergesse nicht, diese Definition mit <tt>\makeatletter</tt> ... +<tt>\makeatother</tt> zu klammern oder in eine .sty-Datei zu schreiben! +<p> +Mit dem Paket ,titlesec`<a name="7" id="7"> können</a> Abschnittsüberschriften noch +einfacher angepaßt werden. Beispielsweise erhält man mit +<pre> +\usepackage{titlesec} +\titleformat{\section}% + {\normalfont\Large\bfseries \filcenter}% + {\thesection}% + {1em}% + {}% +</pre> + +eine Zentrierung der <tt>\section</tt>-Überschriften. Hierbei wurde +<tt>\filcenter</tt>, eine spezielle Anweisung des Pakets verwendet, +jedoch kann auch <tt>\centering</tt> verwendet werden. Die Anweisung +<tt>\titleformat</tt> hat ein optionales Argument, mit dem man +beispielsweise wie bei <tt>\paragraph</tt> eingebettete oder in den Rand +ragende Überschriften erhalten kann. Abstände zwischen Überschrift +und Text werden mit der Anweisung <tt>\titlespacing</tt> vorgegeben. +<p> +Ebenso erleichtert das Paket ,sectsty` die Änderung der +Abschnittsüberschriften in den LaTeX-Standardklassen. +<p> +Bei Verwendung einer aktuellen Version der -Klassen +lassen sich beispielweise die Schriftart, die Ausrichtung sowie weiteres +ebenfalls leicht anpassen. +<table> + <tr> + <td> + <b>titlesec: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/titlesec"><code>macros/latex/contrib/titlesec</code></a></td> + </tr> + <tr> + <td> + <b>sectsty: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/sectsty"><code>macros/latex/contrib/sectsty</code></a></td> + </tr> + <tr> + <td> + <b>KOMA-Script: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/koma-script/"><code>macros/latex/contrib/koma-script/</code></a></td> + </tr> + <tr> + <td> </td> + </tr> +</table> + + +<h3><a name="8">7.1.5 Warum werden die durch <tt>\subsubsection</tt> angegebenen + Abschnitte nicht mehr ins Inhaltsverzeichnis aufgenommen?</a></h3> +<p> +Ebenso wie der Zähler ,secnumdepth` die Gliederungsebene +festlegt, bis zu der Abschnitte numeriert werden, legt der Zähler +,tocdepth` die Gliederungsebene fest, bis zu der Abschnitte in +das Inhaltsverzeichnis aufgenommen werden. Beispielsweise werden nach +der Anweisung <code>\setcounter{tocdepth}{4}</code> alle Abschnitte +einschließlich der <tt>\paragraph</tt>-Ebene in das Inhaltsverzeichnis +aufgenommen (siehe dazu <a href="#5">Frage 7.1.3</a>). Diese Anweisung +muß in der Präambel, auf jeden Fall vor <tt>\tableofcontents</tt> +verwendet werden. + +<h3><a name="9">7.1.6 Wie kann ich verhindern, daß z.B. <tt>\subsection</tt> + usw. im Anhang in das Inhaltsverzeichnis aufgenommen werden?</a></h3> +<p> +Der Zähler ,tocdepth` wird nur beim <tt>\tableofcontents</tt> +ausgewertet, also nur beim Satz und nicht bei der Erstellung der +.toc-Datei. Daher hat eine Änderung von ,tocdepth` nach dem +Befehl <tt>\appendix</tt> keine Wirkung. Stattdessen muß man dafür +sorgen, daß die Änderung von ,tocdepth` mit +<tt>\addtocontents</tt> in die .toc-Datei gelangt: +<pre> +\documentclass{article} +% +\newcommand{\settocdepth}[1]{% + \addtocontents{toc}{\protect\setcounter{tocdepth}{#1}}} +% +\begin{document} +\tableofcontents +\section{Abschnitt} +\subsection{Unterabschnitt} +blabla +% +\appendix +\settocdepth{1} +% +\section{Abschnitt} +\subsection{Unterabschnitt} +\subsubsection{Unterunterabschnitt} +blabla +\end{document} +</pre> + + +<h3><a name="10">7.1.7 Wie kann ich erreichen, daß Literatur-, + Abbildungs-, Tabellen- und sonstige Verzeichnisse in das + Inhaltsverzeichnis mit aufgenommen werden?</a></h3> +<p> +Diese Verzeichnisse werden normalerweise nicht in das +Inhaltsverzeichnis aufgenommen. Wenn dies dennoch notwendig ist oder +erwünscht wird, kann man es am einfachsten mit den Dokumentklassen +des KOMA-Script-Paketes erreichen, da diese Klassen die hierfür +gedachten Optionen ,liststotoc`, +,bibtotoc` bzw. ,bibtotocnumbered` und +,idxtotoc` kennen. +<p> +Bei Verwendung anderer Klassen kann eventuell das Paket +,tocbibind`<a name="11" id="11"> weiterhelfen.</a> Ansonsten könnte man als letzte +Lösung unmittelbar vor die Anweisungen +<tt>\bibliography</tt>, <tt>\listoftables</tt>, <tt>\listoffigures</tt> und +<tt>\printindex</tt> die Anweisungen +<pre> +\clearpage +\addcontentsline{toc}{section}{\refname} +</pre> + +schreiben. Statt <tt>\refname</tt> ist evtl. <tt>\bibname</tt> bzw. <tt>\listtablename</tt>, <tt>\listfigurename</tt> oder <tt>\indexname</tt> +einzusetzen; ,section` kann bei Verwendung der Dokumentklassen +,report` und ,book` durch ,chapter` ersetzt +werden. Außerdem muß bei Verwendung der Klassenoption +,twoside`, die bei ,book` voreingestellt ist, +<tt>\clearpage</tt> durch <tt>\cleardoublepage</tt> ersetzt werden. +<table> + <tr> + <td> + <b>KOMA-Script: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/koma-script/"><code>macros/latex/contrib/koma-script/</code></a></td> + </tr> + <tr> + <td> + <b>tocbibind: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/tocbibind/"><code>macros/latex/contrib/tocbibind/</code></a></td> + </tr> + <tr> + <td> </td> + </tr> +</table> + + +<h3><a name="12">7.1.8 Wie kann ich die Formatierung der automatisch erzeugten + Inhalts-, Abbildungs- und Tabellenverzeichnisse ändern?</a></h3> +<p> +Mit dem Paket ,titletoc`<a name="13" id="13">,</a> das zusammen mit dem Paket +,titlesec` verteilt und dokumentiert wird, kann man sehr frei +die Formatierung der Inhaltsverzeichniseinträge ändern. Daneben gibt +es noch das Paket ,tocloft`, mit dem man ebenso die Formatierung +des Inhalts-, Abbildungs- und Tabellenverzeichnisses anpassen kann. +<table> + <tr> + <td> + <b>titletoc/titlesec: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/titlesec/"><code>macros/latex/contrib/titlesec/</code></a></td> + </tr> + <tr> + <td> + <b>tocloft: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/tocloft/"><code>macros/latex/contrib/tocloft/</code></a></td> + </tr> + <tr> + <td> </td> + </tr> +</table> + + +<h3><a name="14">7.1.9 Wie kann ich mit <tt>\ref</tt> nicht nur die + Abschnittsnummer, sondern auch den Text einer + Abschnittsüberschrift erhalten?</a></h3> +<p> +Das Paket ,titleref`<a name="15" id="15"> stellt</a> hierzu die Anweisung <tt>\titleref</tt>, +der analog zu <tt>\ref</tt> und <tt>\pageref</tt> den Text einer +Abschnittsüberschrift oder Abbildungsunterschrift liefert. Hierzu +muß die Anweisung <tt>\label</tt> <em>nach</em> den Abschnittsanweisungen +und <tt>\caption</tt> erfolgen und darf <em>nicht</em> im Argument angegeben +werden. +<p> +Im ,hyperref`-Bündel existiert mit ,nameref` ein weiteres Paket, +das diese Funktionalität anbietet. +Dieses definiert die Anweisung <tt>\nameref</tt>. Insbesondere im Zusammenhang mit +der Erzeugung von pdf-Dateien sollte diese Lösung bevorzugt werden. +<table> + <tr> + <td> + <b>titleref: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/misc/titleref.sty"><code>macros/latex/contrib/misc/titleref.sty</code></a></td> + </tr> + <tr> + <td> + <b>nameref: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/hyperref/"><code>macros/latex/contrib/hyperref/</code></a></td> + </tr> + <tr> + <td> </td> + </tr> +</table> + + +<h3><a name="16">7.1.10 Wie kann ich in einem Stichwortverzeichnis oder einem + Literaturverzeichnis noch Text zwischen die Überschrift und die + Verzeichnisliste bekommen?</a></h3> +<p> +Hierfür muß man die Umgebung ,<tt>thebibliography</tt>`<a name="17" id="17"> bzw.</a> ,<tt>theindex</tt>` umdefinieren. Man kopiert sich dazu die +Definition dieser Umgebungen aus der Klassendatei in eine eigene +Paketdatei, ersetzt die Anweisung <tt>\newenvironment</tt> durch +<tt>\renewenvironment</tt>. Anschließend fügt man zwischen der +Überschrift, die mit <tt>\section</tt> oder <tt>\chapter</tt> erzeugt wird +und der Listen-Umgebung die Anweisungen +<pre> +\renewenvironment{\thebibliography}[1]{% + \section*{\refname + \@mkboth{\MakeUppercase\refname}{\MakeUppercase\refname}}% + % vvvv--- neu + \thebibliographyhook + \renewcommand{\thebibliographyhook}{}% Hook ruecksetzen + % ^^^^--- neu + \list{\@biblabel{\arabic{enumiv}}}% + ... +</pre> + +wie hier für ,<tt>thebibliography</tt>` gezeigt, ein. +<p> +Für das Stichwortverzeichnis werden diese Zeilen, diesmal mit +<tt>\theindexhook</tt>, in die entsprechend zu ändernde Definition der Umgebung +,<tt>theindex</tt>` eingefügt. Bei dieser muß man darauf achten, die beiden +Zeilen <em>in</em> das optionale Argument der Anweisung <tt>\twocolumn</tt> +einzufügen, wenn der Text über beide Spalten gehen soll. +<p> +Schließlich werden diese ,,Haken`` mit der neuen Definition +<pre> +\newcommand{\thebibliographyhook}{} % Standard-Wert: kein Text +\newcommand{\theindexhook}{} % Standard-Wert: kein Text +</pre> + +auf einen Wert gesetzt, der das bisherige Verhalten nicht verändert. Will +man nun zusätzlichen Text einfügen, so wird der jeweilige Hook direkt vor +dem entsprechenden Verzeichnis per <tt>\renewcommand</tt> auf den gewünschten +Text gesetzt. +<p> +Von Version 2.6c an bieten die Dokumentklassen des KOMA-Script-Paketes +einen noch einfacheren Weg mit den Anweisungen ,<tt>\setbibpreamble</tt>` und +,<tt>\setindexpreamble</tt>`. +<table> + <tr> + <td> + <b>KOMA-Script: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/koma-script/"><code>macros/latex/contrib/koma-script/</code></a></td> + </tr> + <tr> + <td> </td> + </tr> +</table> + + +<h3><a name="18">7.1.11 Wie kann ich mehrere Verzeichnisse in der Art des + Stichwortverzeichnisses, z.B. ein zusätzliches Autorenverzeichnis, + anlegen?</a></h3> +<p> +Zu diesem Zweck geeignet sind die LaTeX-Pakete ,camel`<a name="19" id="19"> und</a> +,multind`. +<table> + <tr> + <td> + <b>camel: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/camel/"><code>macros/latex/contrib/camel/</code></a></td> + </tr> + <tr> + <td> + <b>multind: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex209/contrib/misc/multind.sty"><code>macros/latex209/contrib/misc/multind.sty</code></a></td> + </tr> + <tr> + <td> </td> + </tr> +</table> + + +<h3><a name="20">7.1.12 In meinem LaTeX-Dokument fehlen die Einträge im + Inhalts-, Tabellen- und Abbildungsverzeichnis, obwohl die + Dateien .toc, .lot bzw. .lof vorhanden sind. Ich benutze das Paket + ,fancybox`.</a></h3> +<p> +Diese Besonderheit verschwindet mit einer aktuelleren Version des +Paketes ,fanycbox`<a name="21" id="21">,</a> mindestens Version 1.3. Um +sicherzustellen, daß man eine einigermaßen aktuelle Version +benützt, kann man beim Laden des Pakets das Datum angeben: +<pre> +\usepackage{fancybox}[2000/09/19] +</pre> + +<table> + <tr> + <td> + <b>fancybox: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/fancybox/"><code>macros/latex/contrib/fancybox/</code></a></td> + </tr> + <tr> + <td> </td> + </tr> +</table> + + +<h3><a name="22">7.1.13 Wie mache ich alle Labels von Querverweisen sichtbar und + wie erhalte ich eine Liste dieser Labels?</a></h3> +<p> +Mit dem Paket ,showkeys`<a name="23" id="23"> aus</a> dem ,tools`-Bündel werden +alle Querverweise im Dokument als Marginalien gesetzt. +<p> +Eine Liste der Labels eines Dokuments erhält man mit Hilfsdokument +,,<tt>lablst.tex</tt>``, das zu Beginn den Namen des Dokuments, die +Dokumentklasse als auch die durch Kommata getrennte Liste aller +verwendeten Pakete erfrägt. Dieses Hilfsdokument liegt jeder +LaTeX-Verteilung bei. +<table> + <tr> + <td> + <b>lablst.tex: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/base/"><code>macros/latex/base/</code></a></td> + </tr> + <tr> + <td> + <b>showkeys: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/required/tools/"><code>macros/latex/required/tools/</code></a></td> + </tr> + <tr> + <td> </td> + </tr> +</table> + + + +<h3><a name="24">7.1.14 Wie kann ich erreichen, dass Referenzen in einem + LaTeX-Dokument, das ich nach PDF umwandle, als <em>Hyperlinks</em> + angezeigt werden, und kann man auch <em>Bookmarks</em> (Lesezeichen) + automatisch entsprechend dem Inhaltsverzeichnis erstellen lassen?</a></h3> +<p> +All dies und vieles mehr wird automatisch von dem Paket +,hyperref`<a name="25" id="25"> erledigt.</a> Neben der automatischen Erzeugung von +<em>Hyperlinks</em> und <em>Bookmarks</em> stellt das Paket zusätzliche +Befehle zur Verfügung, mit denen Benutzer ihren Dokumenten weitere +Hypertext-Elemente hinzufügen können. Auch das Setzen bestimmter +PDF-Dokumenteigenschaften (Autorinformationen, Seitenübergänge) +und die ,,Steuerung`` des ,acroread` aus einem Dokument +heraus sind mit dem Paket möglich. +<table> + <tr> + <td> + <b>hyperref: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/hyperref/"><code>macros/latex/contrib/hyperref/</code></a></td> + </tr> + <tr> + <td> + <b>hyperref (<i>beta</i>-Version): </b></td> + <td><a href="http://www.tug.org/applications/hyperref/"><code>http://www.tug.org/applications/hyperref/</code></a></td> + </tr> + <tr> + <td> </td> + </tr> +</table> + + +<h3><a name="26">7.1.15 Um PDF zu erzeugen, binde ich das Paket + ,hyperref` ein, aber beim Betrachten mit ,acroread` + werden keine <em>Hyperlinks</em> und auch keine <em>Bookmarks</em> + angezeigt. Seltsamerweise zeigen ,xdvi` bzw. ,yap` bei Betrachten der dvi-Datei korrekte + <em>Hyperlinks</em> an.</a></h3> +<p> +Da es sehr viele Methoden gibt, LaTeX-Dokumente in PDF zu wandeln, +wobei die dafür verwendeten Programme jeweils eine andere Notation +verwenden, wie Links angegeben werden, ist ,hyperref`<a name="27" id="27"> auf</a> die +Verwendung von ,Treibern` angeweisen, die für jede Methode der +PDF-Erstellung festlegen, wie Links spezifiziert werden. +<p> +Wird kein Treiber explizit angegeben (als Paketoption; die +Dokumentation erklärt, wie das geht), so muss ,hyperref` raten, +welcher Treiber zu verwenden ist. Wird pdfTeX zur Übersetzung +verwendet, so wird automatisch der passende Treiber verwendet; bei +Benutzung von LaTeX ist der Standardtreiber jedoch fast immer +,hypertex`, was beispielsweise von ,xdvi` und +,yap` verstanden wird, jedoch zur Umwandlung in PDF ungeeignet +ist. +<p> +Wenn dieser (falsche) Treiber verwendet wird, so ist in der +Protokolldatei die Zeile +<pre> +*hyperref using default driver hypertex* +</pre> + +zu finden. +<p> +In diesem Fall muß entweder ein Treiber explizit als Paketoption +angegeben werden (Vorsicht, dies kann dazu führen, daß nun die +Übersetzung mit pdfTeX nicht mehr funktioniert!), oder es muß ein +passender Standardtreiber eingestellt werden. +<p> +Hierfür eignet sich die Datei ,,<tt>hyperref.cfg</tt>``, die von +,hyperref` automatisch nachgeladen wird, wenn sie (an passender +Stelle) existiert. Ob eine solche Datei existiert und geladen wird, +ist aus der Protokolldatei ersichtlich. +<p> +Wenn man PDF mit LaTeX, ,dvips` und Acrobat Distiller +erstellt, ist der korrekte Treiber ,dvips`. Diesen legt +man als Standardtreiber fest, indem man der Datei ,,<tt>hyperref.cfg</tt>`` +die folgenden Zeilen hinzufügt (bzw. eine Datei mit diesem Inhalt neu +erstellt): +<pre> +\@ifundefined{pdfoutput}{% + \let\pdfoutput=\@undefined + \ExecuteOptions{dvips}% +}{}% +</pre> + + +<h3><a name="28">7.1.16 Wieso werden, wenn ich unter Verwendung des Pakets + ,hyperref` auf dem Umweg über PostScript pdf-Dateien erzeuge + (mit ,ps2pdf` oder ,Adobe Acrobat Distiller`), + plötzlich alle Texte, die als Links dienen, insbesondere die + Abschnittsüberschriften im Inhaltsverzeichnis nicht mehr + umbrochen?</a></h3> +<p> +Das Paket ,hyperref`<a name="29" id="29"> kennt</a> die Option ,breaklinks`, +die festlegt, ob Links umbrochen werden dürfen. Diese Option ist bei +Verwendung von pdfLaTeX automatisch aktiv, bei ,dvips` +oder ,ps2pdf` aber nicht, da der im letzteren Fall verwendete +pdfmark-Mechanismus einen Umbruch von Links nicht zuläßt. Es ist in +diesem Fall also auf keinen Fall möglich, den Umbruch von Links +,,verlustfrei`` zuzulassen. Eine saubere Lösung dieses Dilemmas +besteht zur Zeit ausschließlich in der Verwendung eines Systems, das +den Linkumbruch erlaubt, wie etwa pdfTeX oder VTeX. +<p> +Man könnte die Paketoption ,breaklinks` bei +,hyperref` auch direkt angeben, muß dann aber damit leben, daß +die im Umbruchfall erstellten Links nicht oder nur eingeschränkt +funktionieren. +<p> +Ein total kaputtes Inhaltsverzeichnis kann man weiterhin durch Angabe +der Option ,linktocpage` vermeiden, die bewirkt, daß die +Links im Inhaltsverzeichnis den Seitenangaben statt den +Abschnittstiteln unterlegt werden. + +<h3><a name="30">7.1.17 Wie erstelle ich ein Glossar?</a></h3> +<p> +Um ein Wortverzeichnis mit Erklärungen oder im weiteren Sinne ein Verzeichnis +von benutzten Begriffen mit Erklärungen, wie beispielsweise von Formelzeichen +oder von Abkürzungen, zu erstellen, bietet LaTeX mit den Anweisungen +<tt>\makeglossary</tt> und <tt>\glossary</tt> die Möglichkeit, Einträge vorzunehmen. +Jedoch verbleibt es beim Autor, diese Einträge zu sortieren und zu +formatieren. +<p> +Um die Einträge zu sortieren wird meist ,makeindex`<a name="31" id="31">,</a> +,xindy` oder BibTeX, eventuell ergänzt um ein Zusatzprogramm, +verwendet. Zur Formatierung und zur leichteren oder differenzierteren Eingabe +verwendet man ein entsprechendes LaTeX-Paket. +<p> +Das Paket ,nomencl` ist entstanden, um Verzeichnisse von Formelzeichen +anzulegen, kann aber darüberhinaus noch mehr. Datenbanken mit Abkürzungen +etc. verwaltet das Paket ,gloss` mit Hilfe von BibTeX. Das Tool +,glosstex` erstellt automatisch ein Glossar, ein +Abkürzungsverzeichnis oder ganz allgemein sortierte Listen. Es kombiniert +die Funktionalität von ,acronym`, ,nomencl` und ,glotex` +und kann ebenfalls Datenbanken verwalten. Mit dem Paket ,makeglos` kann +in ein Dokument ein Glossar eingebunden werden, das beispielsweise mit +,makeindex` oder ,xindy` erstellt wurde. Dieses Paket ist +weniger umfangreich als ,glosstex`. +<table> + <tr> + <td> + <b>nomencl: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/nomencl"><code>macros/latex/contrib/nomencl</code></a></td> + </tr> + <tr> + <td> + <b>gloss: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/gloss"><code>macros/latex/contrib/gloss</code></a></td> + </tr> + <tr> + <td> + <b>glosstex: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/support/glosstex/"><code>support/glosstex/</code></a></td> + </tr> + <tr> + <td> + <b>acronym: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/acronym"><code>macros/latex/contrib/acronym</code></a></td> + </tr> + <tr> + <td> + <b>glotex: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/indexing/glo+idxtex/"><code>indexing/glo+idxtex/</code></a></td> + </tr> + <tr> + <td> + <b>makeglos: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/makeglos"><code>macros/latex/contrib/makeglos</code></a></td> + </tr> + <tr> + <td> </td> + </tr> +</table> + + +<h2><a name="32">7.2 Literaturzitate, Literaturverzeichnis, BibTeX <img alt="»geändert«" border="0" src="upd-de.gif"></a></h2> + +<h3><a name="33">7.2.1 Wie kann ich im Text mit dem Autor/Jahreszahl + o.ä. zitieren?</a></h3> +<p> +Hierfür gibt es eine größere Anzahl von Paketen, wie +,natbib`<a name="34" id="34">,</a> ,theapa` oder ,cite`, die dies erlauben. +<table> + <tr> + <td> + <b>natbib: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/natbib/"><code>macros/latex/contrib/natbib/</code></a></td> + </tr> + <tr> + <td> + <b>theapa: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex209/contrib/theapa/"><code>macros/latex209/contrib/theapa/</code></a></td> + </tr> + <tr> + <td> + <b>cite: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/cite/"><code>macros/latex/contrib/cite/</code></a></td> + </tr> + <tr> + <td> </td> + </tr> +</table> + + +<h3><a name="35">7.2.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.?</a></h3> +<p> +Die Programmiersprache von BibTeX, in der die .bst-Dateien +geschrieben sind, ist in der Datei ,,<tt>btxhak.tex</tt>`` 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`<a name="36" id="36"> +abgedeckt</a> 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. +<table> + <tr> + <td> + <b>custom-bib: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/custom-bib/"><code>macros/latex/contrib/custom-bib/</code></a></td> + </tr> + <tr> + <td> + <b>btxdoc/btxhak: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/biblio/bibtex/distribs/doc/"><code>biblio/bibtex/distribs/doc/</code></a></td> + </tr> + <tr> + <td> </td> + </tr> +</table> + + +<h3><a name="DEUTSCH-BST">7.2.3 Gibt es ans Deutsche angepaßte .bst-Dateien? <img alt="»geändert«" border="0" src="upd-de.gif"></a></h3> +<p> +Ja, zum Beispiel kann man mit dem in <a href="#35">Frage 7.2.2</a> +genannten Paket ,custom-bib`<a name="38" id="38"> .bst-Dateien</a> für verschiedene +Sprachen, darunter auch Deutsch, generieren. +<p> +Unter <a href="http://www.fh-hamburg.de/pers/Lorenzen/bibtex/"><code>http://www.fh-hamburg.de/pers/Lorenzen/bibtex/</code></a> findet man in +den Dateien ,,<tt>abbrvdin.zip</tt>``, ,,<tt>alphadin.zip</tt>``, +,,<tt>plaindin.zip</tt>``, ,,<tt>unsrtdin.zip</tt>`` und ,,<tt>natdin.zip</tt>`` an +DIN angepaßte BibTeX-Style-Dateien. ,,<tt>natdin.bst</tt>`` ermöglicht +Verfasser-Jahr-Zitierweisen zusammen mit DIN-Zitierstandard. Der +BibTeX-Style ,,<tt>dinat.bst</tt>`` ist eine verbesserte Versionen von +,,<tt>natdin.bst</tt>``. +<table> + <tr> + <td> + <b>Online-Tutorial: </b></td> + <td><a href="http://www.din1505.informationskompetenz.net/"><code>http://www.din1505.informationskompetenz.net/</code></a></td> + </tr> + <tr> + <td> + <b>dinat: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/biblio/bibtex/contrib/german/dinat/"><code>biblio/bibtex/contrib/german/dinat/</code></a></td> + </tr> + <tr> + <td> </td> + </tr> +</table> + +<p> +Außerdem gibt es folgende angepaßte .bst-Dateien und -Pakete (ohne +Gewähr, unvollständig, Reihenfolge ist <em>keine</em> Wertung): +<table> + <tr> + <td> + <b>abstyles: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/biblio/bibtex/contrib/abstyles/"><code>biblio/bibtex/contrib/abstyles/</code></a></td> + </tr> + <tr> + <td> +<b>germbib: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/biblio/bibtex/contrib/germbib/"><code>biblio/bibtex/contrib/germbib/</code></a></td> + </tr> + <tr> + <td> + <b>geralpha: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/obsolete/biblio/bibtex/contrib/geralpha/"><code>obsolete/biblio/bibtex/contrib/geralpha/</code></a></td> + </tr> + <tr> + <td> </td> + </tr> +</table> + + +<h3><a name="39">7.2.4 Wie kann ich statt der eckigen Klammern <tt>[1]</tt> + im Text bzw. im Literaturverzeichnis hochgestellte Ziffern, + runde Klammern <tt>(1)</tt> oder Schrägstriche <tt>/1/</tt> + verwenden?</a></h3> +<p> +Für die Form der Labels im Text ist die interne Anweisung +<tt>\@cite</tt>, für die Form im Literaturverzeichnis die interne +Anweisung <tt>\@biblabel</tt> anzupassen. Deren Standarddefinitionen +lauten: +<pre> +\newcommand{\@cite}[2]{[{#1\if@tempswa , #2\fi}]} +\newcommand{\@biblabel}[1]{[#1]} +</pre> + +<p> +Will man statt der eckigen Klammern Schrägstriche, so lauten die +Redefinitionen +<pre> +\renewcommand{\@cite}[2]{/{#1\if@tempswa , #2\fi}/} +\renewcommand{\@biblabel}[1]{/#1/} +</pre> + +<p> +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 <tt>\makeatletter</tt> ... +<tt>\makeatother</tt> geklammert werden! +<p> +Die Pakete ,cite`<a name="40" id="40"> und</a> ,overcite` definieren Befehle, wie +<tt>\citeleft</tt> und <tt>\citeright</tt>, die die Klammern erzeugen und die +der Benutzer mit <tt>\renewcommand</tt> sehr einfach umdefinieren +kann. Nach +<pre> +\usepackage{cite} +\renewcommand{\citeleft}{(} +\renewcommand{\citeright}{)} +</pre> + +bekommt man statt eckiger Klammern <tt>[1]</tt> runde +Klammern <tt>(1)</tt>. +<p> +Das Paket ,overcite` erlaubt es außerdem, Zitatstellen im Text +mit hochgestellten Ziffern zu markieren. +<table> + <tr> + <td> + <b>cite, overcite: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/cite/"><code>macros/latex/contrib/cite/</code></a></td> + </tr> + <tr> + <td> </td> + </tr> +</table> + + +<h3><a name="41">7.2.5 Wie erreiche ich, daß innerhalb eines <tt>\cite</tt> im + Dokumenttext umbrochen werden darf?</a></h3> +<p> +Das Paket ,cite`<a name="42" id="42"> definiert</a> die Zitieranweisung von LaTeX so um, daß +ein Zeilenumbruch möglich ist. +<table> + <tr> + <td> + <b>cite: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/cite/"><code>macros/latex/contrib/cite/</code></a></td> + </tr> + <tr> + <td> </td> + </tr> +</table> + + +<h3><a name="43">7.2.6 Wie kann ich verhindern, daß die Wörter im Titel eines + .bib-Eintrages kleingeschrieben werden?</a></h3> +<p> +Entweder den Titel komplett oder alle groß zu schreibenden Wörter +einzeln noch einmal klammern, also in der .bib-Datei statt +<pre> +title = {Fragen und Antworten} +</pre> + +einfach +<pre> +title = {{Fragen und Antworten}} +</pre> + +oder +<pre> +title = {{Fragen} und {Antworten}} +</pre> + +eingeben. +<p> +Eine alternative Lösung (oder besser: Ergänzung der Klammerung) ist +die Änderung oder Verwendung einer entsprechend geänderten +bst-Datei, in der bei der Formatierung des Titels und anderer Teile +eines Eintrages die BibTeX-Anweisung ,<tt>change.case$</tt>` +<em>nicht</em> ausgeführt wird. Dies sollte bei den an das Deutsche +angepaßten bst-Dateien (siehe <a href="#DEUTSCH-BST">Frage 7.2.3</a>) bereits +der Fall sein, im Paket ,custom-bib`<a name="44" id="44"> (siehe</a> +<a href="#35">Frage 7.2.2</a>) kann die Umwandlung über einen +Menüpunkt ausgewählt werden. + +<h3><a name="45">7.2.7 Bei Labels wie <tt>[Rai95]</tt>, die aus Teilen des + Autorennamens gebildet werden, treten Fehler bei Autorennamen mit + Umlauten auf; wie kann ich das verhindern?</a></h3> +<p> +Damit BibTeX die Konstruktion ,<tt>\"a</tt>` 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 ,<tt>{\"a}</tt>` oder ,<tt>{\ss}</tt>`. Tip: +BibTeX-Dokumentation in ,,<tt>btxdoc</tt>`` lesen! +<table> + <tr> + <td> + <b>btxdoc: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/biblio/bibtex/distribs/doc/"><code>biblio/bibtex/distribs/doc/</code></a></td> + </tr> + <tr> + <td> </td> + </tr> +</table> + + +<h3><a name="46">7.2.8 Kann ich Umlaute direkt in einer .bib-Datei verwenden?</a></h3> +<p> +Jein. Einige neuere BibTeX-Implementierungen erlauben die Ein- und +Ausgabe von Umlauten und anderen akzentuierten Zeichen. Will man +diese Dateien jedoch an Personen mit anderen Rechnersystemen und +anderen BibTeX-Implementierungen weitergeben, sollte man sich auf die +Standard-Kodierung mit ,<tt>{\"a}</tt>` etc. beschränken. +<p> +Im Schlüssel eines Verweises, also dem Argument von <tt>\cite</tt>, +ebenso wie im Schlüssel eines .bib-Eintrages, also dem ersten Wort +des Eintrags, darf man <em>keine Umlaute</em> verwenden. Hier sollte +man sich auf die 26 Klein- und 26 Großbuchstaben, die +10 Ziffern und die Satzzeichen beschränken. Der Grund liegt +darin, daß dieser Schlüssel von (La)TeX an BibTeX übergeben +werden muß und ein Schlüssel mit Umlauten auf diesem Wege eventuell +zu einer anderen Zeichenkette expandiert werden kann, 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. +<table> + <tr> + <td> + <b>8-Bit-BibTeX: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/biblio/bibtex/8-bit/"><code>biblio/bibtex/8-bit/</code></a></td> + </tr> + <tr> + <td> </td> + </tr> +</table> + + +<h3><a name="47">7.2.9 Wie kann ich erreichen, daß mehrere Zitate + <tt>[5,3,1,7,6]</tt> zu <tt>[1,3,5-7]</tt> sortiert und + zusammengefaßt werden?</a></h3> +<p> +Je nach Art der bevorzugten Darstellung der Zitate im Text erreicht man dies +mit den Paketen ,cite`<a name="48" id="48"> oder</a> ,overcite` sowie ,natbib` +(Optionen: ,,numbers,sort&compress``). Sollen im endgültigen Dokument +die Zitate unter Verwendung des Pakets ,hyperref` anklickbar werden, ist +die letztgenannte Lösung zu bevorzugen. Ergänzend kann das Paket +,hypernat` benutzt werden, um auch die Wirkung der +,hyperref`-Optionen ,backref` und ,pagebackref` +in diesem Fall sicherzustellen. +<table> + <tr> + <td> + <b>cite, overcite: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/cite/"><code>macros/latex/contrib/cite/</code></a></td> + </tr> + <tr> + <td> + <b>natbib: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/natbib/"><code>macros/latex/contrib/natbib/</code></a></td> + </tr> + <tr> + <td> + <b>hypernat: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/misc/"><code>macros/latex/contrib/misc/</code></a></td> + </tr> + <tr> + <td> </td> + </tr> +</table> + + +<h3><a name="49">7.2.10 Wie kann man in einem Dokument verschiedene Abschnitte + mit eigenen Literaturverzeichnissen versehen?</a></h3> +<p> +Die Pakete ,chapterbib`<a name="50" id="50"> und</a> ,bibunits` erlauben es, +mehrere Literaturverzeichnisse in einem Dokument zu verwenden, solange +diese in eigenen Abschnitten stehen. Bei ,chapterbib` muß +jeder der Abschnitte in einer getrennt mit <tt>\include</tt><tt>{...}</tt> +einzubindenden Datei stehen. Beide Pakete (,bibunits` ab +Version 2.1) arbeiten problemlos mit anderen Paketen wie +,natbib` zusammenarbeitet. +<table> + <tr> + <td> + <b>chapterbib: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/cite/"><code>macros/latex/contrib/cite/</code></a></td> + </tr> + <tr> + <td> + <b>bibunits: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/bibunits/"><code>macros/latex/contrib/bibunits/</code></a></td> + </tr> + <tr> + <td> </td> + </tr> +</table> + + +<h3><a name="51">7.2.11 Wie kann man ein thematisch untergliedertes + Literaturverzeichnis erstellen?</a></h3> +<p> +Das Paket ,bibtopic`<a name="52" id="52">,</a> vormals ,bibtopics`, ermöglicht die +Untergliederung eines Literaturverzeichnisses, wobei allerdings die +.bib-Datenbankdatei entsprechend der Gliederung in mehrere Dateien +aufgeteilt werden muß. Ein alternatives Paket ist ,multibib`, +bei dem die Aufteilung der .bib-Datenbankdatei nicht nötig ist. +<table> + <tr> + <td> +<b>bibtopic: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/bibtopic/"><code>macros/latex/contrib/bibtopic/</code></a></td> + </tr> + <tr> + <td> + <b>multibib: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/multibib/"><code>macros/latex/contrib/multibib/</code></a></td> + </tr> + <tr> + <td> </td> + </tr> +</table> + + +<h3><a name="53">7.2.12 Wie kann ich in einer BibTeX-Datenbank WWW- oder ftp-Quellen, + die als URL vorliegen, zitieren?</a></h3> +<p> +Die Quellen können mit den üblichen BibTeX-Styles auf unterschiedliche +Art und Weise zitiert werden. Eine Variante ist +<pre> +@manual{KEITH, + author = "Keith Reckdahl", + title = "Using Imported Graphics in \LaTeXe\ Documents", + year = "1997", + month = dec, + note = "CTAN: \url{tex-archive/info/epslatex.ps}"} +</pre> + +und eine weitere +<pre> +@misc{GRANT, + author = "Michael C. Grant and David Carlisle", + title = "The PSFrag system, version~3", + year = "1996", + month = nov, + howpublished = "CTAN: \url{tex-archive/macros/latex/contrib/% + supported/psfrag/pfgguide.tex}"} +</pre> + +<p> +In beiden Fällen wird das LaTeX-Paket ,url`<a name="54" id="54"> verwendet,</a> um den +Umbruch der Adressen zu erreichen (siehe <a href="#77">Frage 7.3.10</a>). Auf +dieses Paket kann verzichtet werden, wenn bereits das Paket +,hyperref`, mindestens Version 6.70s (2000-08-31) oder +aktueller, benutzt wird. +<p> +Wird das ,hyperref` <em>nicht</em> verwendet, so solle man das +Prozentzeichen am Zeilenende entfernen, da dann das Paket ,url` dieses +dann mit ausgeben würde. +<p> +Wird das Paket ,jurabib` verwendet, so kann man auch einfach wie folgt +zitieren: +<pre> +@manual{KEITH, + author = "Keith Reckdahl", + title = "Using Imported Graphics in \LaTeXe\ Documents", + year = "1997", + month = dec, + url = "ftp://ftp.dante.de/tex-archive/info/epslatex.ps"} +</pre> + +<table> + <tr> + <td> + <b>url: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/misc/url.sty"><code>macros/latex/contrib/misc/url.sty</code></a></td> + </tr> + <tr> + <td> + <b>hyperref: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/hyperref/"><code>macros/latex/contrib/hyperref/</code></a></td> + </tr> + <tr> + <td> + <b>jurabib: </b></td> + <td><a href="http://www.jurabib.org/"><code>http://www.jurabib.org/</code></a></td> + </tr> + <tr> + <td> </td> + </tr> +</table> + + +<h3><a name="55">7.2.13 Gibt es einen Weg, daß <tt>\cite</tt> gleich die + komplette Literaturstelle liefert?</a></h3> +<p> +Dies geht zwar nicht direkt mit der Anweisung <tt>\cite</tt>, aber im +Paket ,bibentry`<a name="56" id="56">,</a> das ,natbib` beiliegt, gibt es die +Anweisung <tt>\bibentry</tt>, die die vollständige Literaturangabe +liefert. Näheres ist der mitgelieferten Dokumentation zu entnehmen. +Eine Alternative bietet das Paket ,inlinebib`, das man +allerdings nur mit dem beigefügten ,,<tt>inlinebib.bst</tt>`` verwenden +kann. Auch das Paket ,jurabib` ist in der Lage, z.B. mittels +<tt>\fullcite</tt> oder der Option ,,<tt>citefull=all</tt>`` bzw. ,,<tt>citefull=first</tt>`` eine vollständige Literaturstelle zu liefern. +Es kann jedoch nur mit den ,jurabib`-eigenen BibTeX-Stil +,,<tt>jurabib</tt>`` verwendet werden. +<table> + <tr> + <td> + <b>bibentry: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/natbib/"><code>macros/latex/contrib/natbib/</code></a></td> + </tr> + <tr> + <td> + <b>inlinebib: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/biblio/bibtex/contrib/inlinebib/"><code>biblio/bibtex/contrib/inlinebib/</code></a></td> + </tr> + <tr> + <td> + <b>jurabib: </b></td> + <td><a href="http://www.jurabib.org/"><code>http://www.jurabib.org/</code></a></td> + </tr> + <tr> + <td> + <b>~: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/jurabib/"><code>macros/latex/contrib/jurabib/</code></a></td> + </tr> + <tr> + <td> </td> + </tr> +</table> + + +<h3><a name="57">7.2.14 Wie kann ich mit Kurzformen von Autor und Titel + zitieren oder zwischen Kurz- und Langformen wechseln?</a></h3> +<p> +Das Paket ,jurabib`<a name="58" id="58"> bietet</a> dazu die Eintragsfelder +<tt>juraauthor</tt> und <tt>juratitle</tt> an, in die man die zu +verwendende Kurzform des Autors bzw. des Titels einträgt. Es bietet +auch die Option ,,<tt>citefull=first</tt>``, mit dem bei Erstnennung eines +Werkes eine vollständige Literaturstelle erscheint, bei den weiteren +Zitaten erscheinen jedoch nur noch die angegebenen Kurzformen. Werden +keine Kurzformen angegeben, werden sie (größtenteils) von +,jurabib` generiert. Auch ,inlinebib` bietet Felder für +Kurzformen an. +<table> + <tr> + <td> + <b>inlinebib: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/biblio/bibtex/contrib/inlinebib/"><code>biblio/bibtex/contrib/inlinebib/</code></a></td> + </tr> + <tr> + <td> + <b>jurabib: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/jurabib/"><code>macros/latex/contrib/jurabib/</code></a></td> + </tr> + <tr> + <td> </td> + </tr> +</table> + + + +<h3><a name="59">7.2.15 Wie kann ich die Einträge in <tt>@phdthesis</tt> mit + ,,Diplomarbeit`` oder ähnlicher Klassifikation auszeichnen?</a></h3> +<p> +Im einfachsten Fall kann man die Art der These durch die Eigenschaft +<tt>type</tt> üeberschreiben, also mit <code>type="Dissertation"</code>. +Soll als Standard-Wert etwas anderes verwendet werden, so muß man die +.bst-Datei anpassen. + +<h2><a name="60">7.3 <tt>\verb</tt>-Anweisung, verbatim- und Kommentar-Umgebungen <img alt="»neu«" border="0" src="new-de.gif"></a></h2> + +<h3><a name="61">7.3.1 Wieso kann ich <tt>\verb</tt> nicht im Argument einer + anderen Anweisung wie <tt>\footnote</tt>, <tt>\parbox</tt> u.ä. verwenden? + Wieso geht dies mit LaTeX2e nicht mehr, obwohl es mit + LaTeX 2.09 ging?</a></h3> +<p> +Dies ging in LaTeX 2.09 auch nur, solange innerhalb des Arguments von +<tt>\verb</tt> keine Zeichen mit besonderer Bedeutung verwendet wurden. Für +diese Fälle hätte ein einfaches <code>{\tt ...}</code> auch ausgereicht. +Die Eingabe ,,<tt><tt>\footnote</tt><tt>{<tt>\verb</tt>+<tt>\cite</tt>+}</tt></tt>`` +liefert auch mit LaTeX 2.09 Fehler mit einer sehr kryptischen +Fehlermeldung, deshalb wird diese falsche Benutzung in LaTeX2e mit +der aussagekräftigeren Fehlermeldung ,<tt>! LaTeX Error: +<tt>\verb</tt> illegal in command argument.</tt>` verhindert. +<p> +Benutzt man das Paket ,fancyvrb`<a name="62" id="62"> und</a> verwendet man in der +Präambel des Dokuments die von diesem Paket definierte Anweisung +<tt>\VerbatimFootnotes</tt>, so können, anders als in Standard-LaTeX, +innerhalb von Fußnoten <tt>\verb</tt>-Anweisungen verwendet werden. +<table> + <tr> + <td> + <b>fancyvrb: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/fancyvrb"><code>macros/latex/contrib/fancyvrb</code></a></td> + </tr> + <tr> + <td> </td> + </tr> +</table> + + +<h3><a name="63">7.3.2 Wieso bekomme ich die Fehlermeldung + ,<tt>! LaTeX Error: <tt>\verb</tt> ended by end of line.</tt>`, + wenn ich im Argument von <tt>\verb</tt> in der Eingabe ein + Zeilenende habe?</a></h3> +<p> +LaTeX 2.09 war bei <tt>\verb</tt> sehr viel toleranter und hat den +Zeilenwechsel innerhalb des Arguments von <tt>\verb</tt> erlaubt, obwohl +dies keinen Sinn macht, da <tt>\verb</tt> nur für kurze Textstücke +gedacht ist und im formatierten Ergebnis kein Zeilenumbruch sichtbar +wurde. +<p> +Aus diesen Gründen wird nun in LaTeX2e ein eventuell vorhandenes +Zeilenende im Argument von <tt>\verb</tt> als Fehler gemeldet. Dies hat +den Vorteil, daß ein versehentlich vergessenes Argumentendezeichen +sehr früh erkannt und mit einer sinnvoller Fehlermeldung angezeigt +werden kann. Als Seiteneffekt kann hierdurch auch die Verwendung von +<tt>\verb</tt> im Argument einer anderen Anweisung erkannt und angezeigt +werden. +<p> +Eine Abhilfe ist sehr einfach möglich, indem man in der Eingabe einen +Zeilenwechsel im Argument von <tt>\verb</tt> vermeidet. + +<h3><a name="64">7.3.3 Wie kann ich eine eigene + ,<tt>verbatim</tt>`-Umgebung definieren?</a></h3> +<p> +Die intuitive Definition + +<div class="quote" align="center"> + +<code>\newenvironment{myverbatim}{%</code><br /> + <code>\begin{verbatim}%</code><br /> +<code>}{%</code><br /> + <code>\end{verbatim}%</code><br /> +<code>}</code><br /> +</div> + +<p> +einer solchen Umgebung ist nicht möglich, da ,<tt>verbatim</tt>`<a name="65" id="65"> +,festverdrahtet`</a> nach der Zeichenkette ,<tt>\end</tt><tt>{verbatim}</tt>` +sucht, so daß die neue Umgebung das ,<tt>\end</tt><tt>{myverbatim}</tt>` nicht +als Ende erkennen kann. +<p> +Um dennoch ,<tt>verbatim</tt>`-ähnliche Umgebungen definieren zu können, +gibt es mehrere Pakete: +<ul> +<li>,alltt` beläßt die drei Zeichen <code>\</code>, <code>{</code> und + <code>}</code> in ihrer besonderen Bedeutung, ist daher keine + vollständige verbatim-Umgebung. + <li>,verbatim` (von Rainer Schöpf et al.) erlaubt die + Definition eigener ,<tt>verbatim</tt>`-Umgebungen, wie z.B. +<div class="quote" align="center"> + + <code>\newenvironment{myverbatim}{%</code><br /> + <code>\verbatim % <== nicht \begin{verbatim} !</code><br /> +<code>}{%</code><br /> + <code>\endverbatim % <== nicht \end{verbatim} !</code><br /> +<code>}</code><br /> +</div> + + + <li>,moreverb` und ,fancyvrb` enthalten weitere + Umgebungen, die unterschiedliche ,<tt>verbatim</tt>`-ähnliche Umgebungen + vordefiniert enthalten oder mit denen man solche definieren kann. +</ul> + +<table> + <tr> + <td> + <b>alltt: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/base/"><code>macros/latex/base/</code></a></td> + </tr> + <tr> + <td> </td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/unpacked/"><code>macros/latex/unpacked/</code></a></td> + </tr> + <tr> + <td> </td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex209/contrib/misc/alltt.sty"><code>macros/latex209/contrib/misc/alltt.sty</code></a></td> + </tr> + <tr> + <td> + + <b>verbatim: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/required/tools/"><code>macros/latex/required/tools/</code></a></td> + </tr> + <tr> + <td> + <b>moreverb: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/moreverb"><code>macros/latex/contrib/moreverb</code></a></td> + </tr> + <tr> + <td> + <b>fancyvrb: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/fancyvrb"><code>macros/latex/contrib/fancyvrb</code></a></td> + </tr> + <tr> + <td> </td> + </tr> +</table> + + +<h3><a name="66">7.3.4 Wie kann ich Programm-Code in mein LaTeX-Dokument + einbinden?</a></h3> +<p> +Neben der Möglichkeit, kurze Abschnitte ,verbatim` einzubinden, +gibt es verschiedene Tools, die automatisch LaTeX-Code mit den +entsprechenden Syntaxhervorhebungen erzeugen: +<ul> +<li>,listings`<a name="67" id="67"> </a> <br /> +Reine LaTeX-Lösung; unterstützt viele Programmiersprachen; in + neueren Versionen kann ,listings` zusätzlich einige der + Möglichkeiten des Pakets ,fancyvrb` nutzen. + <li>,lgrind` <br /> +C-Programm und LaTeX-Style, für LaTeX2e; unterstützt sehr viele + Programmiersprachen. + <li>,tiny_c2l` <br /> +lex-Programm und LaTeX-Style; unterstützt neben C auch C++ + und Java; kann überlange Zeilen umbrechen. +</ul> + +<table> + <tr> + <td> + <b>listings: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/listings/"><code>macros/latex/contrib/listings/</code></a></td> + </tr> + <tr> + <td> + <b>lgrind: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/nonfree/support/lgrind/"><code>nonfree/support/lgrind/</code></a></td> + </tr> + <tr> + <td> + <b>tiny_C2l: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/support/tiny_c2l/"><code>support/tiny_c2l/</code></a></td> + </tr> + <tr> + <td> </td> + </tr> +</table> + + +<h3><a name="68">7.3.5 Wie kann ich den Inhalt einer Datei innerhalb einer + ,<tt>verbatim</tt>`-Umgebung darstellen?</a></h3> +<p> +,verbatim`<a name="69" id="69"> (von</a> Rainer Schöpf et al.) stellt für diese Zwecke +die Anweisung <tt>\verbatiminput</tt><tt>{<i>Dateiname</i>}</tt> zur Verfügung. +Die Pakete ,moreverb` und ,fancyvrb` stellen weitere Anweisungen +und Umgebungen zur Verfügung. +<table> + <tr> + <td> + <b>verbatim: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/required/tools/"><code>macros/latex/required/tools/</code></a></td> + </tr> + <tr> + <td> + <b>moreverb: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/moreverb"><code>macros/latex/contrib/moreverb</code></a></td> + </tr> + <tr> + <td> + <b>fancyvrb: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/fancyvrb"><code>macros/latex/contrib/fancyvrb</code></a></td> + </tr> + <tr> + <td> </td> + </tr> +</table> + + +<h3><a name="70">7.3.6 Wie erreiche ich, dass innerhalb einer + ,<tt>verbatim</tt>`-Umgebung Umlaute und andere Sonderzeichen zu sehen + sind? <img alt="»neu«" border="0" src="new-de.gif"></a></h3> +<p> +Zu diesem Zweck ist es nötig, die Art der Kodierung dieser Zeichen anzugeben. +Siehe dazu <a href="makros4.html#56">Frage 8.5.3</a>. + +<h3><a name="71">7.3.7 Wie kann ich Zeilennummern zu meinem Text hinzufügen?</a></h3> +<p> +Zu diesem Zweck gibt es die beiden LaTeX-Pakete ,lineno`<a name="72" id="72"> und</a> +,numline`. Handelt es sich um Programmcode, der numeriert werden soll, +sind jedoch die in <a href="#66">Frage 7.3.4</a> genannten Lösungen zu bevorzugen. +<table> + <tr> + <td> + <b>lineno: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/lineno"><code>macros/latex/contrib/lineno</code></a></td> + </tr> + <tr> + <td> + <b>numline: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/numline"><code>macros/latex/contrib/numline</code></a></td> + </tr> + <tr> + <td> </td> + </tr> +</table> + + +<h3><a name="73">7.3.8 Gibt es eine Kommentarumgebung, mit der ich größere + Textteile auskommentieren kann?</a></h3> +<p> +Um Teile eines Textes auszukommentieren, kann man entweder zwei sehr +einfache TeX-Konstrukte verwenden, oder man bedient sich spezieller +Pakete, die unterschiedlich mächtige Kommentar-Umgebungen anbieten. +<p> +Zu den einfachen Konstrukten, die TeX selbst anbietet, zählt zum +einen die Einklammerung des zu ignorierenden Textes mit den +TeX-Primitiven <tt>\iffalse</tt> ... <tt>\fi</tt>: +<pre> +\iffalse + Kommentartext, wird sehr schnell ueberlesen +\fi +</pre> + +<p> +Hier sollten im Kommentartext keine <tt>\if...</tt>-, <tt>\else</tt>- +und <tt>\fi</tt>-Tokens (bzw. diese müssen korrekt geschachtelt sein), +keine ,outer`-Makros oder unerlaubte Zeichen auftauchen, da +diese zu einem Fehler oder vielleicht zu doch nicht auskommentierten +Textteilen führen können. +<p> +Ein anderes, einfaches Verfahren ist die Verwendung eines Makros, +wobei der auszukommentierende Text in dessen Argument geschrieben +wird: +<pre> +\newcommand{\kommentar}[1]{} +% ... +\kommentar{% + Kommentartext, wird als Argument gelesen und ignoriert +}% +</pre> + +<p> +Auch hier sollten die oben genannten Tokens nicht im Kommentartext +auftauchen, außerdem darf der Kommentartext nicht zu lang sein, da +sonst TeXs ,main memory` überlaufen könnte. +<p> +Spezielle Kommentarumgebungen beseitigen diese Einschränkungen - und haben +meist selbst eigene Einschränkungen. ,verbatim`<a name="74" id="74"> aus</a> dem +,tools`-Bündel definiert eine sehr einfache Umgebung namens +,<tt>comment</tt>`, die man jedoch nicht schachteln kann. Weiterhin gibt es +noch ,xcomment` (von Timothy van Zandt), eine speziell an die +Erfordernisse des Paketes ,seminar` angepaßte und abgespeckte Version +des ,verbatim`. Mit ,comment` (von Victor Eijkhout) kann +man neue Kommentarumgebungen definieren, die mit <tt>\includecomment</tt>- und +<tt>\excludecomment</tt>-Deklarationen aus- und eingeblendet werden können. +<table> + <tr> + <td> + <b>verbatim: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/required/tools/"><code>macros/latex/required/tools/</code></a></td> + </tr> + <tr> + <td> + <b>xcomment: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/seminar/inputs/xcomment.sty"><code>macros/latex/contrib/seminar/inputs/xcomment.sty</code></a></td> + </tr> + <tr> + <td> + <b>comment: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/comment/"><code>macros/latex/contrib/comment/</code></a></td> + </tr> + <tr> + <td> </td> + </tr> +</table> + + +<h3><a name="75">7.3.9 Wie kann ich mehrere Versionen eines Textes erstellen oder + bedingte Textteile verwenden?</a></h3> +<p> +Auf der einen Seite kann man die in <a href="#73">Frage 7.3.8</a> +beschriebenen Kommentarumgebungen entsprechend verwenden. Daneben gibt es mit +den Paketen ,version`<a name="76" id="76">,</a> ,optional` und dem bereits erwähnten +,comment` Erweiterungen, mit denen man über Flags im Dokumentkopf +Textteile bedingt ein- oder ausblenden kann. +<table> + <tr> + <td> + <b>version: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/misc/version.sty"><code>macros/latex/contrib/misc/version.sty</code></a></td> + </tr> + <tr> + <td> + <b>optional: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/misc/optional.sty"><code>macros/latex/contrib/misc/optional.sty</code></a></td> + </tr> + <tr> + <td> + <b>comment: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/comment/"><code>macros/latex/contrib/comment/</code></a></td> + </tr> + <tr> + <td> </td> + </tr> +</table> + + +<h3><a name="77">7.3.10 Ich will <tt>\verb</tt> z.B. für Dateinamen, + E-Mail-Adressen und URL verwenden. Wie schaffe ich es, daß innerhalb + von <tt>\verb</tt> an geeigneten Stellen getrennt wird?</a></h3> +<p> +Für einige Anwendungen, wo man evtl. <tt>\verb</tt> benutzen könnte, +gibt es auch spezielle Lösungen, die für den Anwendungszweck besser +geeignet sind. So gibt es beispielsweise die Pakete ,url`<a name="78" id="78"> und</a> +,path` für Dateinamen, E-Mail- und WWW-Adressen, +bei denen nur an bestimmten Stellen umbrochen werden darf, dies aber bereits +automatisch geschieht. +<table> + <tr> + <td> + <b>url: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/misc/url.sty"><code>macros/latex/contrib/misc/url.sty</code></a></td> + </tr> + <tr> + <td> + <b>path: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/misc/path.sty"><code>macros/latex/contrib/misc/path.sty</code></a></td> + </tr> + <tr> + <td> </td> + </tr> +</table> + + +<h2><a name="79">7.4 Zerbrechliche Anweisungen in ,moving arguments`</a></h2> + +<h3><a name="80">7.4.1 Was sind ,fragile commands`/zerbrechliche Anweisungen, + was sind ,moving arguments`?</a></h3> +<p> +Der Text, den ein Autor im Argument von Anweisungen wie <tt>\caption</tt>, +<tt>\section</tt> etc. angibt, kann an mehreren Stellen in einem Dokument gesetzt +werden. Der Argumenttext von <tt>\section</tt> wird z.B. als Kapitelüberschrift +gesetzt und taucht evtl. nochmals im Inhaltsverzeichnis oder im Seitenkopf bzw. -fuß auf. Diese Argumente nennt man ,moving arguments`, da sie +vom Platz, wo ein Autor sie angibt, auch zu anderen Stellen verschoben werden. +<p> +Die korrekte Ausführung von ,zerbrechlichen Anweisungen` hängt intern +von Zuweisungen ab. Innerhalb eines ,moving argument` werden diese +Zuweisungen jedoch nicht durchgeführt, so daß solche Anweisungen +,zerbrechen`. Zu den zerbrechlichen Anweisungen zählen unter anderem +<tt>\cite</tt>, <tt>\ref</tt>, <tt>\pageref</tt> für Literatur- und Querverweise, +<tt>\footnote</tt>, <tt>\footnotemark</tt>, die Anweisungen <tt>\small</tt>, <tt>\large</tt> +etc. zur Wahl der Schriftgröße, mathematische Formelzeichen wie <tt>\sqrt</tt>, +<tt>\notin</tt>, <tt>\overbrace</tt> und viele mehr (siehe <a href="#81">Frage 7.4.2</a>, +Bemerkung am Ende). + + +<h3><a name="81">7.4.2 Wie kann ich innerhalb des Arguments von + <tt>\caption</tt>, <tt>\section</tt> etc. Anweisungen wie <tt>\cite</tt>, + <tt>\ref</tt>, <tt>\pageref</tt> oder <tt>\footnote</tt> verwenden, ohne Fehler wie + ,<tt>! Argument of <tt>\@sect</tt> has an + extra <tt>}</tt>.</tt>` oder + ,<tt>! Use of <tt>\@chapter</tt> doesn't match its + definition.</tt>` zu erhalten?</a></h3> +<p> +Zerbrechliche Befehle wie <tt>\cite</tt> müssen im ,moving +argument` der Anweisung <tt>\caption</tt> mit <tt>\protect</tt> geschützt +werden, d.h. statt +<pre> +\caption{Bildunterschrift~\cite{PartlKnappen95}} +</pre> + +ist ein <tt>\protect</tt> direkt und <em>ohne</em> geschweifte Klammern vor +die zu schützende Anweisung zu setzen: +<pre> +\caption{Bildunterschrift~\protect\cite{PartlKnappen95}} +</pre> + +<p> +Anweisungen wie <tt>\caption</tt>, <tt>\section</tt> etc. haben außerdem +noch die Möglichkeit, in einem optionalen Argument den zu +,verschiebenden Argumenttext` anzugeben. Das heißt, obiges +könnte auch in +<pre> +\caption[Bildunterschrift]% + {Bildunterschrift~\cite{PartlKnappen95}} +</pre> + +umformuliert werden. Jetzt ist das optionale Argument in []-Klammern +das ,moving argument`, in dem Sie zerbrechliche Anweisungen mit +<tt>\protect</tt> schützen müssen! +<p> +Beginnend mit LaTeX von Dezember 1995 sind Anweisungen wie +<tt>\cite</tt> und Anweisungen mit optionalem Argument, wie <tt>\sqrt</tt>, +nicht mehr zerbrechlich und benötigen damit kein <tt>\protect</tt> +mehr. Dennoch sollten Sie diese Anweisungen weiterhin mit +<tt>\protect</tt> schützen, wenn Sie Ihre Dokumente anderen zukommen +lassen wollen. + +<p> +<hr /> +<div> +<div align="center"> + + <b>DE-TeX-FAQ (Version 72 vom September 2003)</b><br /> +<b>Copyright © 1995-2003 B. Raichle, R. Niepraschk, Th. Hafner</b> +</div> + +<hr /> +<address> +Kommentare zur FAQ bitte an `<a href="mailto:detexfaq@dante.de"><code>detexfaq@dante.de</code></a>` + - bitte keine Fragen zu TeX!<br /> +Mehr Informationen über TeX et al. finden Sie auf dem WWW-Server von + <a href="http://www.dante.de/">DANTE e.V.</a>.<br /> +(Diese HTML-Version der DE-TeX-FAQ wurde am 19. September 2003 erzeugt) +</address> +</div> + +<a href="makros2.html"><img alt="Prev" src="previous.gif"></a><a href="de-tex-faq.html"><img alt="Up" src="up.gif"></a><a href="makros4.html"><img alt="Next" src="next.gif"></a></body> +</html> |