Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!howland.erols.net!rill.news.pipex.net!pipex!uunet!in2.uu.net!158.250.39.26!Gamma.RU!srcc!news.uni-stuttgart.de!news.urz.uni-heidelberg.de!german
From: dantefaq@dante.de (DANTE e.V., FAQ-Maintainer)
Newsgroups: de.comp.text.tex,de.answers,news.answers
Subject: TeX, LaTeX, DANTE e.V.: FAQ - Fragen und Antworten (Part 7 of 11)
Supersedes: <de-tex-faq-7-853343532@dante.de>
Followup-To: de.comp.text.tex
Date: 3 Feb 1997 11:28:04 GMT
Organization: DANTE, Deutschsprachige Anwendervereinigung TeX e.V.
Lines: 444
Approved: news-answers-request@MIT.EDU
Distribution: world
Expires: 20 Mar 97 12:27:57
Message-ID: <de-tex-faq-7-854969277@dante.de>
References: <de-tex-faq-1-854969277@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.text.tex:289 de.answers:1035 news.answers:93725

Posted-By: auto-faq 3.3 beta (Perl 5.003)
Archive-name: de-tex-faq/part7
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.
	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

		 (Version 24 vom Februar 1997)

	    === Teil 7: TeX, LaTeX, Makros, etc. (III) ==


7.1) Gliederung, Inhalts-, Abbildungs- und andere Verzeichnisse
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

7.1.1) Beim Formatieren des \tableofcontents erhalte ich sehr viele
       Meldungen mit ``overfull \hbox''.  Woran liegt das?

Die Seitennummer wird in eine Box der Breite \@pnumwidth gesetzt.  Der
in den Standardklassen hierfuer verwendete Wert von 1.55em kann in
manchen Situationen (Seitennummer>=1000, breiterer Font) zu klein
sein.  Abhilfe:

  \renewcommand{\@pnumwidth}{2em}% statt `2em' evtl. gr��erer Wert

Eventuell mu� man dann auch den Wert im Makro \@tocrmarg anpassen.
  L�ngere Abschnittsnummern k�nnen eine andere Ursache dieses Fehlers
sein.  Hier mu� man in den Definitionen der Makros \l@<type>, wie
z.B. \l@section, im Aufruf des Makros \@dottedtocline das dritte
Argument entsprechend vergr��ern.  N�heres hierzu im Buch ``Der
LaTeX-Begleiter''.


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?

In der Datei der verwendeten Klasse wird das Aussehen einer Zeile in
den Verzeichnissen durch ein Makro namens `\l@<typ>' festgelegt.  F�r
eine \subsection ist dies das Makro \l@subsection, das z.B. in
`article.cls' durch

  \newcommand{\l@subsection}{\@dottedtocline{2}{1.5em}{2.3em}}

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

  \renewcommand{\l@subsection}{\@dottedtocline{2}{1.5em}{3.3em}}

in einer .sty-Datei oder mit \makeatletter...\makeatother geklammert
in der Dokumentpr�ambel.  Mehr dazu findet man im Buch ``Der LaTeX-
Begleiter''.


7.1.3) Warum werden die durch \subsubsection angegebenen Abschnitte
       nicht mehr numeriert?

Jeder Gliederungsebene ist in LaTeX eine Nummer zugeordnet:
 
 -1 part      1 section      3 subsubsection  5 subparagraph
  0 chapter   2 subsection   4 paragraph

Bei der Klasse 'article' existiert der Befehl \chapter nicht,
und \part erh�lt die Nummer 0 zugeordnet.
  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 \subsection.  Um auch f�r tieferliegende Ebenen eine
Numerierung zu erhalten, mu� der Z�hler entsprechend erh�ht werden.
Mit ``\setcounter{secnumdepth}{4}'' werden die �berschriften der
Ebenen bis \paragraph mit einer Nummer versehen, auch wenn dies nur in
den allerwenigsten F�llen sinnvoll ist.


7.1.4) Wie erreiche ich, da� Abschnitts�berschriften zentriert werden?

Die LaTeX-Anweisungen \section, \subsection etc. werden in den
Klassendateien wie z.B. ``article.cls'' definiert.  (In LaTeX 2.09
wurden sie dagegen in den Hilfsdateien wie z.B. ``art10.sty''
definiert.)  Die Definitionen verwenden dabei die allgemeinere
Anweisung \@startsection, in deren sechstem Argument man
Formatieranweisungen angeben kann.  Zur �nderung kopiert man sich die
Definition aus ``article.cls'' bzw. die entsprechende Klassendatei in
eine .sty-Datei, �ndert \newcommand (bzw. \def) zu \renewcommand und
f�gt die Anweisung \centering zu den bestehenden Formatieranweisungen
hinzu:

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

Man vergesse nicht, diese Definition mit \makeatletter ...
\makeatother zu klammern oder in eine .sty-Datei zu schreiben.


+7.1.5) Wie kann ich verhindern, da� z.B. \subsection usw. im Anhang in
       das Inhaltsverzeichnis aufgenommen werden?

Der Z�hler `tocdepth' wird nur beim \tableofcontents ausgewertet, also
nur beim Satz und nicht bei der Erstellung der `.toc'-Datei.  Daher
hat eine �nderung von `tocdepth' nach dem Befehl \appendix keine
Wirkung.  Stattdessen mu� man daf�r sorgen, da� die �nderung von
`tocdepth' mit \addtocontents in die `.toc'-Datei gelangt:

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







7.2) Literaturzitate, -verzeichnis, BibTeX
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

7.2.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 `cite', 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/
cite:     CTAN: macros/latex/contrib/supported/cite/


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.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/


7.2.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/


7.2.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!


7.2.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
	title = {Fragen und Antworten}
einfach
	title = {{Fragen und Antworten}}
oder
	title = {{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 7.2.3) bereits der Fall sein, im Paket `custom-bib' (siehe
7.2.2) kann die Umwandlung �ber einen Men�punkt ausgew�hlt werden.


7.2.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!


7.2.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.


7.2.8) Wie kann ich erreichen, da� f�r Zitate im Text statt der
       eckigen Klammern [1] hochgestellte Ziffern verwendet werden?

overcite: CTAN: macros/latex/contrib/supported/cite/overcite.sty


7.2.9) Wie kann ich erreichen, da� mehrere Zitate [1,3,5,7,6] zu
       [1,2,5-7] sortiert und zusammengefa�t werden?

Je nach Art der bevorzugten Darstellung der Zitate im Text erreicht
mit diese mit dem Paket `cite' oder `overcite'.

cite:     CTAN: macros/latex/contrib/supported/cite/cite.sty
overcite: CTAN: macros/latex/contrib/supported/cite/overcite.sty



7.3) \verb-Anweisung und verbatim-/Kommentar-/Comment-Umgebungen
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

7.3.1) Wieso kann ich \verb nicht im Argument einer anderen Anweisung
       wie \footnote, \parbox, u.�. verwenden?  Wieso geht dies mit
       LaTeX2e nicht mehr, obwohl es mit LaTeX 2.09 ging?!

Dies ging in LaTeX 2.09 auch nur, solange innerhalb des Arguments von
\verb keine Zeichen mit besonderer Bedeutung verwendet wurden.  F�r
diese F�lle h�tte ein einfaches {\tt ...} auch ausgereicht.  Die
Eingabe ``\footnote{\verb+\cite+}'' liefert auch mit LaTeX 2.09 Fehler
mit einer sehr kryptischen Fehlermeldung, deshalb wird diese falsche
Benutzung in 2e mit der aussagekr�ftigeren Fehlermeldung
	! LaTeX Error: \verb illegal in command argument.
verhindert.


7.3.2) Wie kann ich eine eigene verbatim-Umgebung definieren?

Die intuitive Definition

	\newenvironment{myverbatim}{%
	  \begin{verbatim}%
	}{%
	  \end{verbatim}%
	}

einer solchen Umgebung ist nicht m�glich, da verbatim `festverdrahtet'
nach der Zeichenkette `\end{verbatim}' sucht, so da� die neue Umgebung
das `\end{myverbatim}' nicht als Ende erkennen kann.
  Um dennoch verbatim-�hnliche Umgebungen definieren zu k�nnen, gibt
es zwei Pakete:
 a) `alltt' bel��t die drei Zeichen \, { und } in ihrer besonderen
    Bedeutung, ist daher keine vollst�ndige verbatim-Umgebung.
 b) `verbatim' (von Rainer Sch�pf et al.) erlaubt die Definition
    eigener verbatim-Umgebungen, wie z.B.

	\newenvironment{myverbatim}{%
	  \verbatim     % <== nicht \begin{verbatim} !
	}{%
	  \endverbatim  % <== nicht \end{verbatim} !
	}

alltt.sty: Das Package ist Bestandteil der LaTeX2e-Verteilung seit
           LaTeX2e <94/12/01>
           CTAN: macros/latex/{base,unpacked}/       (LaTeX2e-Verteilung)
           CTAN: macros/latex209/contrib/misc/alltt.sty  (f�r LaTeX 2.09)
verbatim.sty:  CTAN: macros/latex/packages/tools/


7.3.3) Wie kann ich eine Datei (z.B. mit Programmcode) innerhalb einer
       `verbatim'-Umgebung einbinden?

`verbatim' (von Rainer Sch�pf et al.) stellt f�r diese Zwecke die
Anweisung \verbatiminput{<filename>} zur Verf�gung.


7.3.4) Gibt es eine Kommentar-/comment-Umgebung, mit der ich gr��ere
       Textteile auskommentieren kann?

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.
  Zu den einfachen Konstrukten, die TeX selbst anbietet, z�hlt zum
einen die Einklammerung des zu ignorierenden Textes mit den TeX-
Primitiven \iffalse...\fi:

    \iffalse
      Kommentartext, wird sehr schnell �berlesen
    \fi

Hier sollten im Kommentartext keine `\if..'-, `\else'- und `\fi'-
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.
  Ein anderes, einfaches Verfahren ist die Verwendung eines Makros,
wobei der auszukommentierende Text in dessen Argument geschrieben
wird:

    \newcommand{\kommentar}[1]{}
    % ...
    \kommentar{%
      Kommentartext, wird als Argument gelesen und ignoriert
    }%

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.
  Spezielle Kommentar-Umgebungen beseitigen diese Einschr�nkungen --
und haben meist selbst eigene Einschr�nkungen.  `verbatim' aus dem
`tools'-Paket definiert eine sehr einfache `comment'-Umgebung, die man
jedoch nicht schachteln kann.  Weiterhin gibt es noch `xcomment' (von
T. van Zandt, eine speziell an die Erfordernisse des Paketes `seminar'
angepa�te und abgespeckte Version des `verbatim'.  Mit `comment' (von
V. Eijkhout) kann man neue Kommentar-Umgebungen definieren, die mit
\includecomment- und \excludecomment-Deklarationen aus- und
eingeblendet werden k�nnen.

verbatim.sty:  CTAN: macros/latex/packages/tools/
xcomment.sty:  CTAN: macros/latex/contrib/other/seminar/
               CTAN: macros/latex209/contrib/misc/xcomment.sty
comment.sty:   CTAN: macros/latex209/contrib/misc/comment.sty


7.3.5) Ich will \verb z.B. f�r Dateinamen und E-Mail-Adressen
       verwenden. Wie schaffe ich es, dass innerhalb von \verb an
       geeigneten Stellen getrennt wird?

F�r einige Anwendungen, wo man evtl. \verb benutzen k�nnte, gibt es
auch spezielle L�sungen, die fuer den Anwendungszweck besser geeignet
sind.  So gibt es beispielsweise die Pakete `path' und `url' f�r
Dateinamen, f�r E-Mail- und WWW-Adressen, bei denen nur an bestimmten
Stellen umbrochen werden darf.

path.sty:  CTAN: macros/latex209/contrib/misc/path.sty
url.sty:   CTAN: macros/latex/contrib/other/misc/url.sty



7.4) Zerbrechliche Anweisungen in `moving arguments'
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

7.4.1) Was sind `fragile commands'/zerbrechliche Anweisungen, was
       sind `moving arguments'?

Der Text, den ein Autor im Argument von Anweisungen wie \caption,
\section, etc. angibt, kann an mehreren Stellen in einem Dokument
gesetzt werden.  Der Argumenttext von \section wird z.B. als
Kapitel�berschrift gesetzt und taucht evtl. nochmals im
Inhaltsverzeichnis oder im Seitenkopf/-fu� auf.  Diese Argumente nennt
man daher `moving arguments'.
  Die korrekte Ausf�hrung von `zerbrechlichen Anweisungen' h�ngt
intern von Zuweisungen ab.  Innerhalb eines `moving arguments' werden
diese Zuweisungen jedoch nicht durchgef�hrt, soda� solche Anweisungen
`zerbrechen'.  Zu den zerbrechlichen Anweisungen z�hlen unter anderem
\cite, \ref, \pageref f�r Literatur- und Querverweise, \footnote, die
Anweisungen \small, \large, etc. zur Wahl der Schriftgr��e,
mathematische Formelzeichen wie \sqrt, \notin, \overbrace und viele
mehr (siehe Abschnitt 7.4.2, Bemerkung am Ende).


7.4.2) Wie kann ich innerhalb des Arguments von \caption, \section,
       etc. Anweisungen wie \cite, \ref und \pageref verwenden, ohne
       Fehler wie `! Argument of \@sect has an extra }.' zu erhalten?

Zerbrechliche Befehle wie \cite m�ssen im `moving argument' der
Anweisung \caption mit \protect gesch�tzt werden, d.h. statt

	\caption{Bildunterschrift~\cite{PartlKnappen95}}

ist ein \protect direkt und ohne(!) geschweifte Klammern vor die zu
sch�tzende Anweisung zu setzen:

	\caption{Bildunterschrift~\protect\cite{PartlKnappen95}}

  Anweisungen wie \caption, \section, 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

	\caption[Bildunterschrift]%
                {Bildunterschrift~\cite{PartlKnappen95}}

umformuliert werden.  Jetzt ist das optionale Argument in []-Klammern
das `moving argument', in dem Sie zerbrechliche Anweisungen mit
\protect sch�tzen m�ssen!
  Beginnend mit LaTeX2e vom Dezember 1995 sind Anweisungen wie \cite
und Anweisungen mit optionalem Argument, wie \sqrt, nicht mehr
zerbrechlich und ben�tigen damit kein \protect mehr.  Dennoch sollten
Sie diese Anweisungen weiterhin mit \protect sch�tzen, wenn Sie Ihre
Dokumente anderen zukommen lassen wollen.

--- DE-TeX-FAQ Ende Teil 7 ---