allanswers.org - TeX, LaTeX, DANTE e.V.: FAQ - Fragen und Antworten (Part 8 of 11)

 Home >  FAQ on different themes > de-tex-faq >
 TeX, LaTeX, DANTE e.V.: FAQ - Fragen und Antworten (Part 8 of 11)

Section 2 of 2 - Prev - Next


falsch?

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

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

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

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


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

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

    \counterwithin{equation}{section}

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

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


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

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

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

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

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

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

  http://texinfo.org
 


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

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

  makefmt 8bit ...

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

8.5.6 Wie kann man mit LaTeX Serienbriefe erstellen?

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

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


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

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

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


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

Man verwende

  \jobname.tex

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

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

Die naheliegende Lösung

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

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

  \usepackage[german]{babel}

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

Bei Verwendung der neuen deutschen Rechtschreibung ist entsprechend

  \usepackage[ngerman]{babel}

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

einzufügen.

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

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

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

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

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


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

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

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

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

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

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

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


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

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

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


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

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

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


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

Die einfache Vorgehensweise eine vorhandene Anweisung \foo durch
beispielsweise

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

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

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


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

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

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

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

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


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

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

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


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

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

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


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

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

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


8.5.21 Wie kann ich mit LaTeX Bildschirmpräsentationen erzeugen?

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

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


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

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

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


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


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

Section 2 of 2 - Prev - Next

Back to category de-tex-faq - Discuss "TeX, LaTeX, DANTE e.V.: FAQ - Fragen und Antworten (Part 8 of 11)"
Home - Search - About the project - Forum - Feedback

© allanswers.org | Terms of use

rax