diff options
Diffstat (limited to 'Master/texmf-doc/doc/german/FAQ-ge/html/makros1.html')
-rw-r--r-- | Master/texmf-doc/doc/german/FAQ-ge/html/makros1.html | 1539 |
1 files changed, 1539 insertions, 0 deletions
diff --git a/Master/texmf-doc/doc/german/FAQ-ge/html/makros1.html b/Master/texmf-doc/doc/german/FAQ-ge/html/makros1.html new file mode 100644 index 00000000000..3cc18259c29 --- /dev/null +++ b/Master/texmf-doc/doc/german/FAQ-ge/html/makros1.html @@ -0,0 +1,1539 @@ +<!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:08 2003 --> +<head> +<title>DE-TeX-FAQ -- 5 TeX, LaTeX, Makros etc. (I)</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="woher.html"><img alt="Prev" src="previous.gif"></a><a href="de-tex-faq.html"><img alt="Up" src="up.gif"></a><a href="makros2.html"><img alt="Next" src="next.gif"></a><br /> +<b><tt>Zurück zu:  </tt></b><a href="woher.html"><b>4 Textsatzsystem TeX - Bezugsquellen</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="makros2.html"><b>6 TeX, LaTeX, Makros etc. (II)</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>5 TeX, LaTeX, Makros etc. (I)</h1> +<menu> +<li><a href="#1">5.1 LaTeX - Grundlegendes</a> +<menu> +<li><a href="#2">5.1.1 Was benötige ich, wenn ich von LaTeX 2.09 auf LaTeX2e + umsteigen bzw. eine neuere LaTeX-Version installieren will?</a> +<li><a href="#4">5.1.2 Ich habe gehört, daß es für meine LaTeX-Versionen Patches + gibt. Welche Dateien benötige ich, was muß ich tun?</a> +<li><a href="#5">5.1.3 Was kann ich mit einer Datei mit Endung ,.dtx` anfangen? + Benötige ich dazu auf alle Fälle LaTeX?</a> +<li><a href="#7">5.1.4 Wie installiert man am besten ein neues Paket, + eine neue Klasse oder eine neue Schrift in einem bestehenden + TeX-System?</a> +<li><a href="#8">5.1.5 Wie gehe ich am besten vor, wenn ich eine bestehende + LaTeX-Klasse ändern bzw. an meine eigenen Vorgaben anpassen will?</a> +<li><a href="#10">5.1.6 Wie kann ich unter LaTeX eine Anweisung mit optionalem + Parameter definieren?</a> +<li><a href="#11">5.1.7 Wie erkenne ich bei einer Anweisung mit optionalem Parameter, + ob dieser vom Autor angegeben wurde?</a> +<li><a href="#13">5.1.8 Wie kann ich in LaTeX eine Anweisung mit mehr als einem + optionalen Parameter definieren?</a> +<li><a href="#15">5.1.9 Wie kann ich innerhalb des optionalen Arguments einer + Anweisung zusätzliche eckige Klammern, beispielsweise die eines + optionalen Arguments einer anderen Anweisung, verwenden?</a> +</menu> +<li><a href="#16">5.2 LaTeX - Probleme beim Umstieg von LaTeX 2.09</a> +<menu> +<li><a href="#17">5.2.1 Anweisungen wie <tt>\tenrm</tt>, <tt>\twlrm</tt>, <tt>\fivrm</tt> etc., + die von einigen Paketen wie PiCTeX verwendet werden, sind nicht + mehr definiert. Was muß ich da ändern?</a> +<li><a href="#19">5.2.2 Beim Umstieg von LaTeX 2.09 mit NFSS + (Version 1) auf LaTeX2e ändert sich auch das Verhalten der + Anweisungen <tt>\rm</tt>, <tt>\bf</tt>, <tt>\it</tt> etc. auf das Verhalten des + Original-LaTeX 2.09. Wie bekomme ich das alte inkompatible + Verhalten von NFSS Version 1?</a> +<li><a href="#21">5.2.3 Einige mathematische Symbole (<tt>\Box</tt>, <tt>\lhd</tt>, + <tt>\leadsto</tt>, <tt>\Join</tt>, <tt>\mho</tt>, <tt>\sqsubset</tt> etc.) sind + nicht mehr definiert - wieso?</a> +<li><a href="#23">5.2.4 Kann es sein, daß es in LaTeX2e den Parameter + <tt>\footheight</tt> und die internen Parameter <tt>\@maxsep</tt> und + <tt>\@dblmaxsep</tt> nicht mehr gibt? Gibt es einen Ersatz?</a> +<li><a href="#24">5.2.5 Mit älteren Dokumentklassen bekomme ich den Fehler + ,<tt>! Undefined control sequence.</tt>` oder + ,<tt>! LaTeX Error: <tt>\mit</tt> undefined.</tt>` + für die Schriften <tt>\mit</tt> und <tt>\cal</tt>. Wieso?</a> +</menu> +<li><a href="#25">5.3 (Silben-)Trennung, Absatz-, Seitenumbruch</a> +<menu> +<li><a href="#26">5.3.1 Wie kann ich LaTeX an die neue deutsche Rechtschreibung + anpassen? Gibt es Trennmuster für die neuen Trennregeln?</a> +<li><a href="#27">5.3.2 Warum trennt (La)TeX Worte mit Umlauten nicht oder + nicht korrekt?</a> +<li><a href="#29">5.3.3 Wie kann ich Trennungsausnahmen mit Umlauten in + <tt>\hyphenation</tt> verwenden?</a> +<li><a href="#31">5.3.4 Wie kann ich ,Hurenkinder` (engl. widows), also einzelne + Zeilen eines Absatzes am Kopf von Buchseiten, bzw. + ,Schusterjungen/Waisenkinder` (engl. clubs), einzelne Absatzzeilen auf + der Seite unten, verhindern?</a> +<li><a href="#33">5.3.5 Wie muß in LaTeX die Datei ,,<tt>hyphen.cfg</tt>`` + aussehen, um die deutschen Trennmuster ,,<tt>dehypht.tex</tt>`` (vormals + ,,<tt>ghyph31.tex</tt>``) in das LaTeX-Format einzubinden?</a> +<li><a href="#34">5.3.6 Wieso werden Texte in ,typewriter`-Schriften + nicht getrennt? Gibt es eine Möglichkeit, daß doch getrennt werden + kann?</a> +<li><a href="#36">5.3.7 Warum trennt LaTeX Wörter mit Bindestrich nicht bzw. nur am Bindestrich, auch wenn die Trennausnahmeliste diese + enthält?</a> +</menu> +<li><a href="#38">5.4 Seitenlayout, Layout allgemein, Kopf- und Fußzeilen <img alt="»geändert«" border="0" src="upd-de.gif"></a> +<menu> +<li><a href="#39">5.4.1 Gibt es neben den Standard-LaTeX-Klassen auch Klassen + mit einem ,europäischeren` Design?</a> +<li><a href="#41">5.4.2 Ich suche eine Klasse für Briefe, die weitgehend die + verschiedenen DIN-Normen und deutschen Gepflogenheiten berücksichtigt.</a> +<li><a href="#43">5.4.3 Gibt es eine bequemere Möglichkeit, ein Seitenlayout anzugeben, + als dadurch, Parameter, wie <tt>\textheight</tt>, einzeln zu verändern?</a> +<li><a href="#45">5.4.4 Wieso ist mit der Klasse ,book` oder mit der + Klassenoption ,twoside` der innere Rand kleiner + als der äußere?</a> +<li><a href="#46">5.4.5 Gibt es einen einfachen Weg, die Seitennummer als + ,Seite 1 von 16` anzugeben?</a> +<li><a href="#48">5.4.6 Wie kann ich den Kolumnentitel, die Kopfzeile der + Seite, oder die Fußzeile nach meinen Wünschen gestalten, z.B. mit einem + Strich versehen?</a> +<li><a href="#50">5.4.7 Wie kann ich einem zweispaltig gesetzten Text + (Klassenoption ,twocolumn`) eine beide Spalten + übergreifende Überschrift und Zusammenfassung voransetzen?</a> +<li><a href="#52">5.4.8 Wie kann ich verhindern, daß der Beginn eines Absatzes + eingezogen wird? Ich will Absätze stattdessen mit zusätzlichem + Durchschuß markieren. <img alt="»geändert«" border="0" src="upd-de.gif"></a> +<li><a href="#54">5.4.9 Wie kann ich den Durchschuß meines Dokuments vergrößern, + wenn ich beispielsweise ein Dokument mit 1,5- oder 2-fachem Zeilenabstand + abliefern soll?</a> +<li><a href="#56">5.4.10 Wieso bekomme ich mit <tt>\pagestyle</tt><tt>{empty}</tt> dennoch eine + Seitennummer auf der ersten Seite mit dem Artikeltitel?</a> +<li><a href="#58">5.4.11 Wie kann ich mein gesamtes LaTeX-Dokument im Querformat + setzen?</a> +<li><a href="#60">5.4.12 Wie kann ich Teile meines Dokumentes im Querformat setzen?</a> +</menu> +</menu> +<hr align="center" width="70%" /> + +<h2><a name="1">5.1 LaTeX - Grundlegendes</a></h2> + + + +<h3><a name="2">5.1.1 Was benötige ich, wenn ich von LaTeX 2.09 auf LaTeX2e + umsteigen bzw. eine neuere LaTeX-Version installieren will?</a></h3> +<p> +Grundsätzlich sollte man sich beim Umstieg von 2.09 oder beim Update +einer älteren 2e-Version immer die komplette LaTeX-Distribution im +Verzeichnis ,,<tt>base</tt>`` besorgen und installieren, nie einzelne +Dateien oder nur einzelne Class-Dateien. Nach dem Entpacken der +Distribution und Installation der einzelnen Dateien ist ein neues +Format zu generieren. Die Anleitung +,,<tt><a href="ftp://ftp.dante.de/tex-archive/macros/latex/base/install.txt">install.txt</a></tt>`` +enthält genauere Informationen und wichtige Hinweise - bitte +durchlesen! +<dl> +<dt><b>Notwendig:</b></dt> +<dd><br /> +<ul> +<li>alle Dateien im Verzeichnis ,,<tt>base</tt>``. + <li>alle Zusatzpakete wie ,graphics`<a name="3" id="3"> und</a> damit alle Dateien + in den Verzeichnissen unter dem Verzeichnis ,,<tt>required</tt>``. + <li>die zusätzlichen CM-Schriften ,cmmib` und ,cmbsy` + in den Designgrößen 5, 6, 7, 8 und 9 Punkt. + </ul> + +<dt><b>Optional, da schon in ,,<tt>base</tt>`` enthalten:</b></dt> +<dd><br /> +<ul> +<li>Will man sich, insbesondere auf langsameren Rechnern, das + Entpacken der dtx-Dateien in ,,<tt>base</tt>`` sparen, benötigt + man noch zusätzlich die Dateien im Verzeichnis + ,,<tt>unpacked</tt>``. + <li>Ebenso befindet sich im Verzeichnis ,,<tt>doc</tt>`` die schon + formatierte Dokumentation, also die Dateien + ,,<tt>base/???guide.tex</tt>``. + </ul> + +</dl> + +<table> + <tr> + <td> + <b>base: </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/required/"><code>macros/latex/required/</code></a></td> + </tr> + <tr> + <td> + <b>line/lcircle/lasy: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/fonts/latex/mf/"><code>fonts/latex/mf/</code></a></td> + </tr> + <tr> + <td> </td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/fonts/latex/tfm/"><code>fonts/latex/tfm/</code></a></td> + </tr> + <tr> + <td> + <b>cmmib/cmbsy: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/fonts/amsfonts/sources/extracm/"><code>fonts/amsfonts/sources/extracm/</code></a></td> + </tr> + <tr> + <td> </td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/fonts/amsfonts/tfm/"><code>fonts/amsfonts/tfm/</code></a></td> + </tr> + <tr> + <td> </td> + <td>oder</td> + </tr> + <tr> + <td> </td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/fonts/cm/sauter/"><code>fonts/cm/sauter/</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/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/latex/doc/"><code>macros/latex/doc/</code></a></td> + </tr> + <tr> + <td> </td> + </tr> +</table> + + +<h3><a name="4">5.1.2 Ich habe gehört, daß es für meine LaTeX-Versionen Patches + gibt. Welche Dateien benötige ich, was muß ich tun?</a></h3> +<p> +Für jeden LaTeX-Patch benötigt man immer zumindest die Datei +<a href="ftp://ftp.dante.de/tex-archive/macros/latex/base/patches.txt">,,<tt>patches.txt</tt>``</a>. Sie beschreibt genau, welche +weitere Dateien man noch zu einem <em>kompletten</em> Patch benötigt. In +vielen Fällen gibt es neben der Datei +<a href="ftp://ftp.dante.de/tex-archive/macros/latex/base/ltpatch.ltx">,,<tt>ltpatch.ltx</tt>``</a>, die LaTeX-Kernel-Patches +enthält, noch neue Versionen weiterer Dateien! Näheres in +<a href="ftp://ftp.dante.de/tex-archive/macros/latex/base/patches.txt">,,<tt>patches.txt</tt>``</a>. +<p> +Nachdem man die Dateien geholt und installiert hat, muß ein neues +Format erstellt und installiert werden, damit die Patches in +,,<tt>ltpatch.ltx</tt>`` aktiv werden. Zur Kontrolle: Danach sollte beim +Formatieren eines Dokuments nach der Meldung ,LaTeX2e +<1999/06/01>` noch der Zusatz +,patch level X` erscheinen, wobei ,X` mit dem +installierten Patch übereinstimmen muß. +<table> + <tr> + <td> + <b>patches.txt: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/base/patches.txt"><code>macros/latex/base/patches.txt</code></a></td> + </tr> + <tr> + <td> </td> + </tr> +</table> + + +<h3><a name="5">5.1.3 Was kann ich mit einer Datei mit Endung ,.dtx` anfangen? + Benötige ich dazu auf alle Fälle LaTeX?</a></h3> +<p> +Dateien mit ,<tt>.dtx</tt>` sind sogenannte ,docstrip archive +files`, also ein Archiv, aus dem man mit dem Programm ,docstrip`<a name="6" id="6"> +verschiedene</a> Dateien entpacken kann. Zum Entpacken benötigen Sie nur +die Datei <a href="ftp://ftp.dante.de/tex-archive/macros/latex/unpacked/docstrip.tex">,,<tt>docstrip.tex</tt>``</a> oder +<a href="ftp://ftp.dante.de/tex-archive/macros/latex/base/docstrip.dtx">,,<tt>docstrip.dtx</tt>``</a> und das +Programm TeX. ,,<tt>docstrip.tex</tt>`` können Sie mit LaTeX 2.09, +LaTeX2e und auch mit Plain-TeX verwenden. +<p> +Wie Sie eine ,<tt>.dtx</tt>`-Datei entpacken müssen, sollten Sie +aus einer Beschreibung zu Beginn der ,<tt>.dtx</tt>`-Datei oder +einer separaten README-Datei entnehmen können. Existiert eine +gleichnamige Datei mit Endung ,<tt>.ins</tt>`, so können Sie in den +meisten Fällen das ,<tt>.dtx</tt>`-Archiv ,,<tt>file.dtx</tt>`` mit +,,<tt>tex file.ins</tt>`` entpacken. In der Regel erzeugt dieser Aufruf +eine oder mehrere ,<tt>.sty</tt>`-Dateien sowie weitere Hilfs- und +Beispieldateien. Näheres entnehmen Sie bitte der Beschreibung des +Archivs. +<p> +Die Dokumentation eines Pakets und der Makros sind ebenso in einem +,<tt>.dtx</tt>`-Archiv enthalten. Zum Formatieren dieser +Dokumentation benötigen Sie jedoch ein installiertes LaTeX2e - +für einige ältere Archive reicht auch noch das alte LaTeX 2.09. +Üblicherweise kann die Dokumentation (,<tt>.dvi</tt>`-Datei) durch +,,<tt>latex file.dtx</tt>`` oder ,,<tt>latex file.drv</tt>`` erzeugt werden. +<p> +Ein Befehlsindex eines Paketes kann i.d.R. durch +<pre> +makeindex -s gind.ist file +</pre> + +und einen anschließenden erneuten LaTeX-Lauf erzeugt werden. +<p> +Bei der Erzeugung der Dokumentation wird der dokumentierte Quellcode +meist nicht aufgenommen; um ihn einzuschließen, kann vor dem +LaTeX-Lauf im aktuellen Verzeichnis eine Datei ,,<tt>ltxdoc.cfg</tt>`` +angelegt werden, die die folgende Zeile enthält: +<pre> +\AtBeginDocument{\AlsoImplementation} +</pre> + +Näheres ist, falls vorhanden, der mitgelieferten Beschreibung des +Archivs zu entnehmen. +<p> +Hinweis: Mit LaTeX ab Dezember 1995 wurde eine Version des Tool +,,<tt>docstrip.dtx</tt>`` verteilt, das gleichzeitig mehrere Dateien aus einem +Archiv entpacken kann und damit um einiges schneller ist. Deshalb lohnt es +sich, wenn Sie eine ältere Version benutzen, diese durch die neue Version zu +ersetzen. +<table> + <tr> + <td> + <b>docstrip: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/base/docstrip.dtx"><code>macros/latex/base/docstrip.dtx</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/base/docstrip.ins"><code>macros/latex/base/docstrip.ins</code></a></td> + </tr> + <tr> + <td> </td> + <td>(Bestandteil von LaTeX, kann aber auch mit Plain-TeX + verwendet</td> + </tr> + <tr> + <td> </td> + <td>werden!)</td> + </tr> +</table> + + +<h3><a name="7">5.1.4 Wie installiert man am besten ein neues Paket, + eine neue Klasse oder eine neue Schrift in einem bestehenden + TeX-System?</a></h3> +<p> +Aktuelle TeX-Systeme legen alle Dateien in einer hierarchischen Struktur +gemäß dem TeX-Directory-Structure-Standard (TDS, siehe +<a href="uebersicht.html#13">Frage 3.1.7</a>) an. Das Wurzelverzeichnis eines solchen Baumes lautet +meist ,,<tt>texmf</tt>``. Unter teTeX, fpTeX und anderen TeX-Systemen +werden die Suchpfade in der Datei ,,<tt>texmf.cnf</tt>`` angegeben, deren Ort man +mit ,,<tt>kpsewhich texmf.cnf</tt>`` herausfinden kann. +<p> +Für nachträglich installierte Pakete empfiehlt es sich, diese in +einer eigenen lokalen Verzeichnishierarchie zu installieren +(beispielsweise unter dem Verzeichnis ,,<tt>texmf.local</tt>``, siehe +Variable <tt>TEXMFLOCAL</tt> in ,,<tt>texmf.cnf</tt>``). +<p> +Besteht ein LaTeX-Paket nach dem eventuell notwendigen Entpacken der +dtx-Dateien aus einer Einzeldatei, so wird diese in der TDS-Hierarchie +in ,,<tt>texmf.local/tex/latex/misc/</tt>`` abgelegt. Gehören zu +dem Paket mehrere sty-, cls-, fd- oder ähnliche +Dateien, so werden diese in ein neu erzeugtes Verzeichnis unter +,,<tt>texmf.local/tex/latex/<em>Paketname</em></tt>`` verschoben. +<p> +Schriften, Dokumentation, BibTeX-Dateien, dvips-Konfigurationsdateien +u.ä. werden analog gemäß TDS in entsprechende Unterverzeichnisse +unter ,,<tt>texmf.local</tt>`` verschoben. Näheres sollte in der +README-Datei des Pakets erläutert sein. +<p> +Zum Abschluss darf man nicht vergessen, die sogenannte +<em>Filename-Database</em> auf den aktuellen Stand zu bringen, da sonst die neu +installierten Dateien nicht gefunden werden. Näheres finden Sie in der +Dokumentation Ihres TeX-Systems und unter <a href="makros4.html#67">Frage 8.5.10</a>. +<p> +Einige TeX-Systeme bieten ein Konfigurations-Werkzeug, um zusätzliche Pakete +nachträglich zu installieren oder vorhandene Pakete zu aktualisieren. Unter +fpTeX geht dies über das Setup-Menü, unter MikTeX verwendet man das +Options-Tool. Beide sorgen nach der Änderung automatisch für die +Aktualisierung der Dateinamens-Datenbank. +<table> + <tr> + <td> + <b>Managing a one-person TeX system: </b></td> + <td><a href="http://www.ctan.org/installationadvice/"><code>http://www.ctan.org/installationadvice/</code></a></td> + </tr> + <tr> + <td> </td> + </tr> +</table> + + +<h3><a name="8">5.1.5 Wie gehe ich am besten vor, wenn ich eine bestehende + LaTeX-Klasse ändern bzw. an meine eigenen Vorgaben anpassen will?</a></h3> +<p> +Statt von einer bestehenden Klasse wie ,,<tt>article.cls</tt>`` eine Kopie +unter eigenem Namen, hier als Beispiel ,,<tt>detexfaq.cls</tt>``, +anzulegen, empfiehlt es sich, eine schon bestehende Klasse zu laden +und anschließend alle notwendigen Änderungen durchzuführen. Hierzu +bietet LaTeX eine Reihe von Möglichkeiten, die in der +Dokumentation für Klassen-Autoren ,,<tt>clsguide.tex</tt>`` beschrieben +sind. Als einfaches Beispiel hätte damit die neue Klasse +,,<tt>detexfaq.cls</tt>``, in der als Standard-Optionen +,11pt,a4paper` verwendet werden und die beiden Pakete +,german`<a name="9" id="9"> und</a> ,remreset` bereits implizit geladen werden, +folgendes Aussehen: +<pre> +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% CUT HERE +%% detexfaq.cls -- DE-TeX-FAQ's modified ``article.cls'' +\NeedsTeXFormat{LaTeX2e}\relax +\ProvidesClass{detexfaq}[2000/05/11 Article Class from DE-TeX-FAQ] +%% Lade nun ``article.cls'', wobei als Default-Optionen ``11pt'' und +%% A4-Papierformat als Default gesetzt werden (fuer diese muss explizit +%% eine Deklaration hier vorhanden sein) und alle weiteren vom Autor +%% gegebenen Optionen einfach `durchgereicht' werden: +\DeclareOption{a4paper}{\PassOptionsToClass{\CurrentOption}{article}} +\DeclareOption{11pt}{\PassOptionsToClass{\CurrentOption}{article}} +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}} +\ExecuteOptions{a4paper,11pt} +\ProcessOptions\relax +\LoadClass{article} +%% Ab hier kann man Aenderungen an den Makros der geladenen Klasse +%% durchfuehren (bitte mit \renewenvironment oder \renewcommand!), +%% Pakete hinzuladen und/oder eigene Anweisungen und Umgebungen +%% definieren: +\RequirePackage{german} +\RequirePackage{remreset} +%% Schliesslich wird die Klassendatei `sauber' beendet': +\endinput +%% End of ``detexfaq.cls'' +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% CUT HERE +</pre> + +<p> +Diese Vorgehensweise hat einige Vorteile. So bleibt die eigene +Klassendatei relativ klein und enthält nur die notwendigen +Änderungen und Ergänzungen. Ändert sich an der verwendeten Klasse +etwas, z.B. werden Fehler korrigiert, so sind in den meisten Fällen +keinerlei Änderung an der eigenen Klassendatei zum Nachvollziehen +dieser Änderungen notwendig. Daneben dokumentiert man explizit, von +welcher Klasse und Versionsnummer man als Basis ausgegangen ist, zumal +diese Klasse und alle geladenen Pakete mit ihren Versionsnummern bei +einem im Dokumentkopf eingefügten <tt>\listfiles</tt> auftauchen. +<table> + <tr> + <td> + <b>clsguide.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> </td> + </tr> +</table> + + +<h3><a name="10">5.1.6 Wie kann ich unter LaTeX eine Anweisung mit optionalem + Parameter definieren?</a></h3> +<p> +In LaTeX kann man mit den Anweisungen <tt>\newcommand</tt>, <tt>\renewcommand</tt>, +<tt>\newenvironment</tt> und <tt>\renewenvironment</tt> eigene Anweisungen und +Umgebungen definieren, die einen optionalen Parameter als erstes +Argument besitzen. Nähere Informationen finden sich in der +Dokumentation für Autoren ,,<tt>usrguide.tex</tt>``. +<table> + <tr> + <td> + <b>usrguide.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> </td> + </tr> +</table> + + + +<h3><a name="11">5.1.7 Wie erkenne ich bei einer Anweisung mit optionalem Parameter, + ob dieser vom Autor angegeben wurde?</a></h3> +<p> +Mit Hilfe des im Paket ,ifthen`<a name="12" id="12"> definierten</a> Vergleichs +<tt>\equal</tt> kann man das optionale Argument mit dem voreingestellten +Wert vergleichen. Das folgende Beispiel geht davon aus, daß der +voreingestellte Wert leer sein soll: +<pre> +\usepackage{ifthen} +\newcommand{\meineanweisung}[2][]{% #1 = optional, #2 = notwendig + \ifthenelse{\equal{#1}{}}{% + % Autor hat kein oder leeres optionales Argument angegeben + }{% + % Autor hat optionales Argument angegeben + }} +</pre> + +<table> + <tr> + <td> + <b>ifthen: </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> + </tr> +</table> + + +<h3><a name="13">5.1.8 Wie kann ich in LaTeX eine Anweisung mit mehr als einem + optionalen Parameter definieren?</a></h3> +<p> +Mit <tt>\newcommand</tt> kann man nur ein Makro mit einem einzigen optionalen +Parameter definieren. Will man ein Makro mit mehr als einem optionalen +Parameter definieren, so muß man hierzu mehrere Makros mit jeweils einem +optionalen Parameter definieren, die den Wert des Parameters zwischenspeichern +und das nächste Makro aufrufen. +<p> +Hier ist ein Beispiel für ein Makro +<tt>\cubic[a][b][c]{d}</tt> mit drei optionalen Argumenten: +<pre> +\newcommand{\erstesargument}{} +\newcommand{\zweitesargument}{} + +\newcommand{\cubic}[1][a]{% erstes optionales Argument + \begingroup % Definitionen von \...argument lokal halten + \renewcommand{\erstesargument}{#1}% opt. Argument speichern + \cubicZwei} +\newcommand{\cubicZwei}[1][b]{% zweites optionales Argument + \renewcommand{\zweitesargument}{#1}% opt. Argument speichern + \cubicDrei} +\newcommand{\cubicDrei}[2][c]{% drittes opt. + notwendiges Argument + \({\erstesargument}x^3+{\zweitesargument}x^2+#1x+#2\)% + \endgroup} +</pre> + +<p> +Eine weitere Möglichkeit bietet das Paket ,twoopt`<a name="14" id="14">:</a> +<pre> +\newcommandtwoopt{\Cmd}[3][DefaultA][DefaultB]{Args: #1, #2, #3} +</pre> + +In Anlehnung an die Standard-LaTeX-Definitionen existieren auch die +Anweisungen <tt>\renewcommandtwoopt</tt> und <tt>\providecommandtwoopt</tt>. +<table> + <tr> + <td> + <b>twoopt: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/oberdiek/"><code>macros/latex/contrib/oberdiek/</code></a></td> + </tr> + <tr> + <td> </td> + </tr> +</table> + + +<h3><a name="15">5.1.9 Wie kann ich innerhalb des optionalen Arguments einer + Anweisung zusätzliche eckige Klammern, beispielsweise die eines + optionalen Arguments einer anderen Anweisung, verwenden?</a></h3> +<p> +Im Unterschied zu den geschwungenen Klammern <code>{...}</code>, die immer +paarweise und korrekt geschachtelt werden müssen, sucht LaTeX bei +eckigen Klammern einfach nach der nächsten schließenden eckigen +Klammer <code>]</code>, ohne auf korrekte Schachtelung dieser Klammern zu +achten. Um dies zu verhindern, muß man einfach innerhalb der eckigen +Klammern <code>[...]</code> ein geschweiftes Klammerpaar einfügen, wie +dies hier als Beispiel für <tt>\twocolumn</tt> gezeigt wird: +<pre> +\twocolumn[{ ... \sqrt[3]{x^2} ... }] +</pre> + + +<h2><a name="16">5.2 LaTeX - Probleme beim Umstieg von LaTeX 2.09</a></h2> + + + + +<h3><a name="17">5.2.1 Anweisungen wie <tt>\tenrm</tt>, <tt>\twlrm</tt>, <tt>\fivrm</tt> etc., + die von einigen Paketen wie PiCTeX verwendet werden, sind nicht + mehr definiert. Was muß ich da ändern?</a></h3> +<p> +Diese Namen für Schriften wurden nie dokumentiert und sollten im +alten LaTeX 2.09 nur LaTeX-intern verwendet werden. Da das +Fontauswahlschema namens NFSS2 in LaTeX2e komplett neu geschrieben +wurde, sind diese ehemals internen Namen nicht mehr vorhanden. Es ist +daher am besten, diese alten Pakete so umzuschreiben, daß diese +internen Schriftnamen nicht mehr verwendet werden. In der +Zwischenzeit kann man mit Hilfe des Paketes ,rawfonts`<a name="18" id="18"> diese</a> +Namen nachdefinieren, wie z.B. mit +<pre> +\usepackage[only,fivrm]{rawfonts} +</pre> + +für PiCTeX. +<table> + <tr> + <td> + <b>rawfonts.sty: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/required/"><code>macros/latex/required/</code></a></td> + </tr> + <tr> + <td> </td> + </tr> +</table> + + +<h3><a name="19">5.2.2 Beim Umstieg von LaTeX 2.09 mit NFSS + (Version 1) auf LaTeX2e ändert sich auch das Verhalten der + Anweisungen <tt>\rm</tt>, <tt>\bf</tt>, <tt>\it</tt> etc. auf das Verhalten des + Original-LaTeX 2.09. Wie bekomme ich das alte inkompatible + Verhalten von NFSS Version 1?</a></h3> +<p> +Mit dem Paket ,newlfont`<a name="20" id="20"> erhält</a> man das Verhalten von NFSS v1, ohne +daß man in den meisten Fällen das Dokument ändern muß: +<pre> +\usepackage{newlfont} +</pre> + +<p> +Für neue Dokumente sollte man jedoch besser gleich die neuen +Anweisungen <code>\textrm{...}</code>, <code>\textbf{...}</code>, +<code>\textit{...}</code> etc. verwenden. Diese Anweisungen haben darüber +hinaus den Vorteil, daß eine eventuell notwendige ,italic +correction` automatisch eingefügt wird. +<table> + <tr> + <td> + <b>newlfont.sty: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/required/"><code>macros/latex/required/</code></a></td> + </tr> + <tr> + <td> </td> + </tr> +</table> + + +<h3><a name="21">5.2.3 Einige mathematische Symbole (<tt>\Box</tt>, <tt>\lhd</tt>, + <tt>\leadsto</tt>, <tt>\Join</tt>, <tt>\mho</tt>, <tt>\sqsubset</tt> etc.) sind + nicht mehr definiert - wieso?</a></h3> +<p> +Die LaTeX-Symbolschriften ,lasy10`<a name="22" id="22"> und</a> ,lasyb10` +enthalten nur sehr wenige relativ selten benutzte Symbole. Daher +werden diese Schriften in LaTeX2e nicht mehr standardmäßig geladen, +sondern müssen vom Benutzer durch Laden von ,latexsym` aktiviert +werden: +<pre> +\usepackage{latexsym} +</pre> + + +<h3><a name="23">5.2.4 Kann es sein, daß es in LaTeX2e den Parameter + <tt>\footheight</tt> und die internen Parameter <tt>\@maxsep</tt> und + <tt>\@dblmaxsep</tt> nicht mehr gibt? Gibt es einen Ersatz?</a></h3> +<p> +Der Parameter <code>\footheight</code> und die internen Parameter +<code>\@maxsep</code> und <code>\@dblmaxsep</code> wurden in LaTeX 2.09 nie +ausgewertet. Deshalb wurden sie in LaTeX2e entfernt, um die dadurch +gesparten Längenregister für andere Zwecke einsetzen zu können. +Zur Anpassung von alten Dokumentstilen an LaTeX2e kann man daher +eine Zuweisung an diese Parameter einfach ersatzlos streichen. + +<h3><a name="24">5.2.5 Mit älteren Dokumentklassen bekomme ich den Fehler + ,<tt>! Undefined control sequence.</tt>` oder + ,<tt>! LaTeX Error: <tt>\mit</tt> undefined.</tt>` + für die Schriften <tt>\mit</tt> und <tt>\cal</tt>. Wieso?</a></h3> +<p> +Bis LaTeX2e <code><1994/12/01></code> wurden <tt>\cal</tt> und <tt>\mit</tt> im Kernel +definiert. Weil diese Definitionen aber in jeder Standard-Dokumentklasse +durch robustere Varianten ersetzt werden, hat das LaTeX-Team beschlossen, +<tt>\cal</tt> und <tt>\mit</tt> nicht mehr im Kernel vorzudefinieren. Damit ist es +aber erforderlich, daß alle Dokumentklassen, die <tt>\cal</tt> und <tt>\mit</tt> +nicht definieren oder mit <tt>\renewcommand</tt> umdefinieren, angepaßt werden +müssen. Bei den Standard-Dokumentklassen hat das niemand bemerkt, da die +notwendigen Anpassungen dieser Dateien automatisch mit einer neuen +LaTeX-Version mitinstalliert werden. + +<h2><a name="25">5.3 (Silben-)Trennung, Absatz-, Seitenumbruch</a></h2> + + + +<h3><a name="26">5.3.1 Wie kann ich LaTeX an die neue deutsche Rechtschreibung + anpassen? Gibt es Trennmuster für die neuen Trennregeln?</a></h3> +<p> +Die ,,alten`` Trennmuster wurden von Hand so angepaßt, daß die +neuen Trennregeln beachtet werden, wobei die Trennung weiterhin eher +nach Wortherkunft und nicht nach strikter Silbentrennung, die +ebenfalls erlaubt ist, erfolgt. Diese Trennmuster sind in der Datei +,,<tt>dehyphn.tex</tt>`` (vormals ,,<tt>gnhyph01.tex</tt>``) verfügbar. Um +diese Trennmuster nutzen zu können, benötigt man ,,german.sty`` +ab Version 2.5e. +<table> + <tr> + <td> + <b>dehyphn: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/language/hyphenation/dehyphn.tex"><code>language/hyphenation/dehyphn.tex</code></a></td> + </tr> + <tr> + <td> + <b>german.sty: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/language/german/"><code>language/german/</code></a></td> + </tr> + <tr> + <td> </td> + </tr> +</table> + + +<h3><a name="27">5.3.2 Warum trennt (La)TeX Worte mit Umlauten nicht oder + nicht korrekt?</a></h3> +<p> +Wie TeX Worte mit Umlauten trennt, hängt davon ab, ob die +verwendete Schrift Umlaute als eigene Lettern enthält und ob man auf +diese Lettern durch entsprechende Paket-Deklarationen beim Setzen +eines Textes auch zugreift. +<p> +Bei den alten CM-Schriften muß TeX Umlaute aus einem Buchstaben +und einem Akzent zusammenbasteln, da diese keine Lettern für Umlaute +enthalten. Diese Akzent-Konstruktion irritiert TeXs +Trennalgorithmus, und so trennt TeX nur den Wortteil bis zum ersten +Umlaut. Im Paket ,german`<a name="28" id="28"> und</a> <em>einigen</em> Babel-Versionen wird +durch einen aus dem TeXbook (Anhang D, S. 394, +<tt>\allowhyphens</tt>) entnommenen Trick erreicht, daß alle Wortteile +zwischen den Umlauten einzeln getrennt werden. Bei dieser +Vorgehensweise werden nicht alle Trennstellen gefunden oder es treten +teilweise falsche Trennungen (Bsp.: <tt>"ubert-ragen</tt> statt +<tt>"uber-tra-gen</tt>) auf. +<p> +Abhilfe schaffen nur Schriften, die die Umlaute und andere +akzentuierte Zeichen als einzelne Lettern enthalten. Ein Beispiel +hierfür sind alle T1-kodierten Schriften, darunter die +EC-Schriftfamilie (siehe <a href="fonts2.html#4">Frage 10.1.3</a>) und die +T1-kodierten PostScript-Schriften. Unter neueren Versionen von +LaTeX und ,german.sty` bzw. Babel lassen sich T1-kodierte +Schriften recht einfach durch die Deklaration +<pre> +\usepackage[T1]{fontenc} +</pre> + +in der Präambel des Dokuments verwenden. + +<h3><a name="29">5.3.3 Wie kann ich Trennungsausnahmen mit Umlauten in + <tt>\hyphenation</tt> verwenden?</a></h3> +<p> +Auch hier gilt, daß man in <tt>\hyphenation</tt> in den Trennungsausnahmen nur +Zeichen verwenden kann, für die auch Lettern in der momentan benutzten Schrift +existieren (siehe <a href="#27">Frage 5.3.2</a>). Da mit CM-Schriften die Umlaute aus +zwei Lettern zusammengesetzt werden müssen, kann man für Wörter mit Umlauten +keine Trennungsausnahmen angeben. Erst bei Verwendung von T1-kodierten +Schriften, wie der EC-Schriftfamilie, oder auch von Schriften in einer +entsprechenden anderen Kodierung, die eigene Lettern für Umlaute enthalten, +kann man Trennungsausnahmen angeben. +<p> +Hier ist ein einfaches Beispiel (,german.sty`<a name="30" id="30"> ist</a> hier nur zum +Umschalten auf die deutschen Trennmuster ,,<tt>dehypht.tex</tt>`` +notwendig): +<pre> +\documentclass{article} + \usepackage{german} + \usepackage[T1]{fontenc} + \hyphenation{Ver-st\"ar-ker-aus-gang} +\begin{document} +\showhyphens{Verst\"arkerausgang} +% ohne Trennausnahme: Ver-st^^e4r-ke-r-aus-gang +% mit Trennausnahme: Ver-st^^e4r-ker-aus-gang +\end{document} +</pre> + + +<h3><a name="31">5.3.4 Wie kann ich ,Hurenkinder` (engl. widows), also einzelne + Zeilen eines Absatzes am Kopf von Buchseiten, bzw. + ,Schusterjungen/Waisenkinder` (engl. clubs), einzelne Absatzzeilen auf + der Seite unten, verhindern?</a></h3> +<p> +TeX kennt die Parameter <tt>\widowpenalty</tt> und <tt>\clubpenalty</tt>, +mit denen man die ,Strafpunkte` festlegen kann, falls ein +Hurenkind bzw. ein Schusterjunge beim Seitenumbruch entstehen sollte. +Außerdem gibt es noch den Parameter <tt>\displaywidowpenalty</tt> für +Hurenkinder nach einer abgesetzten mathematischen Formel. Da TeX +den Wert 10000 als unendlich große Strafe interpretiert, kann man mit +den Zeilen +<pre> +\clubpenalty = 10000 +\widowpenalty = 10000 \displaywidowpenalty = 10000 +</pre> + +Hurenkinder und Schusterjungen komplett unterdrücken. (Das Paket +,schuster`<a name="32" id="32"> enthält</a> genau diese Zeilen.) +<p> +Man sollte jedoch bedenken, daß man bei einem Satzspiegel mit fester +Höhe (<tt>\flushbottom</tt>) und registerhaltigem Satz Hurenkinder und +Schusterjungen nur schwerlich verhindern kann - insbesondere wenn man +dies bei zweiseitigem Druck für jede Doppelseite beachten muß. Hier +ist es oft besser, die einzelne Zeile zuzulassen oder zu versuchen, +einen Absatz durch geringfügige Umformulierung eine Zeile länger +oder kürzer zu machen. +<p> +Weiterhin gibt es die Möglichkeit, Absätze, die schon sehr voll +sind, mit <code>\looseness=1</code> um eine Zeile zu dehnen oder Absätze, +die recht leer sind, mit <code>\looseness=-1</code> um eine Zeile zu +kürzen. Manchmal führt dies jedoch zu merklichen Änderungen des +Grauwerts des Absatzes. (Achtung: Der Wert von <tt>\looseness</tt> gilt +außerhalb von Listen-Umgebungen nur für den aktuellen Absatz. +Innerhalb einer Listen-Umgebung muß die Zuweisung zusammen mit +<tt>\par</tt> durch eine Gruppe lokal gehalten werden +<code>{\looseness=1 \par}</code>, +wenn die Änderung nur für einen Absatz gelten soll.) + +<h3><a name="33">5.3.5 Wie muß in LaTeX die Datei ,,<tt>hyphen.cfg</tt>`` + aussehen, um die deutschen Trennmuster ,,<tt>dehypht.tex</tt>`` (vormals + ,,<tt>ghyph31.tex</tt>``) in das LaTeX-Format einzubinden?</a></h3> +<p> +Eine Anleitung zur Installation der deutschen Trennmuster enthält +,,<tt>gerdoc</tt>``, die Kurzbeschreibung des German-Styles vom Mai 1997. +Diese Anleitung beschreibt auch die Installation der Trennmuster in +Plain-TeX und LaTeX 2.09. Beispiel von ,,<tt>hyphen.cfg</tt>`` für +LaTeX: +<pre> +%% Konfigurationsdatei -- Trennmuster: `hyphen.cfg' +\message{== Loading hyphenation patterns:} + +\chardef\l@USenglish=\language +\chardef\l@english=\l@USenglish %% british english als `Dialekt' +\input hyphen + +\newlanguage\l@german \language=\l@german +\chardef\l@austrian=\l@german +\input dehypht + +\newlanguage\l@ngerman \language=\l@ngerman +\input dehyphn + +%% weitere Sprachen nach folgendem Schema: +% \newlanguage\l@SPRACHE \language=\l@SPRACHE +% \chardef\l@DIALEKT=\l@SPRACHE +% \input SPRACHhyphen + +%% Default-Trennmuster: USenglish +\language=\l@USenglish \lefthyphenmin=2 \righthyphenmin=3 +\endinput +</pre> + +<p> +<em>Hinweis:</em> Einige Distributionen benutzen stillschweigend die +Datei ,,<tt>hyphen.cfg</tt>`` aus dem Babel-Paket. Außerdem wurde meist +,,<tt>hyphen.tex</tt>`` in ,,<tt>ushyph1.tex</tt>`` umbenannt, um unter dem +Namen ,,<tt>hyphen.tex</tt>`` die Datei ,,<tt>hyphen.cfg</tt>`` aus Babel auch +für Plain-TeX einbinden zu können. In diesem Fall führt ein +,,<tt><tt>\input</tt> hyphen</tt>``, wie im obigen Beispiel beschrieben, zu +einer Endlosschleife! +<table> + <tr> + <td> + <b>gerdoc: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/language/german/gerdoc.tex"><code>language/german/gerdoc.tex</code></a></td> + </tr> + <tr> + <td> </td> + </tr> +</table> + + +<h3><a name="34">5.3.6 Wieso werden Texte in ,typewriter`-Schriften + nicht getrennt? Gibt es eine Möglichkeit, daß doch getrennt werden + kann?</a></h3> +<p> +TeX trennt nur, wenn die aktuell verwendete Schrift einen +Divis (Trennungsstrich) besitzt. Dazu ist jeder Schrift ein Divis +durch den Parameter <tt>\hyphenchar</tt><tt><font></tt> zugeordnet, der +bei den meisten Schriften auf den Wert <code>`\-</code>, also auf das +Zeichen ,,-``, gesetzt ist. Bei den +,typewriter`-Schriften ist dieser Wert aber auf -1 gesetzt, +d.h. auf ein nicht vorhandenes Zeichen. Damit ist die Trennung +für diese Schriften unterdrückt, was in den meisten Fällen auch +sinnvoll ist. +<p> +Will man dennoch, daß TeX einen in ,typewriter` gesetzten +Textteil automatisch trennt, so muß man den <tt>\hyphenchar</tt> für +diese Schriften auf <code>`\-</code> setzen. Dies geht in LaTeX am +einfachsten, wenn man die Anweisung <tt>\ttfamily</tt> umdefiniert: +<pre> +\newcommand{\origttfamily}{}% sollte noch nicht definiert sein! +\let\origttfamily=\ttfamily % alte Definition von \ttfamily sichern +\renewcommand{\ttfamily}{\origttfamily \hyphenchar\font=`\-} +</pre> + +<p> +Man könnte alternativ dazu auch die Dateien ,,<tt>*cmtt*.fd</tt>`` ändern +und die Anweisung <code>\hyphenchar\font\m@ne</code> in +<tt>\DeclareFontFamily</tt> entfernen. Dies ist jedoch nicht ratsam, +wenn man Texte an andere weitergeben will, da man dann nicht vergessen +darf, die so geänderten ,*.fd`-Dateien mitzugeben. +<p> +Für LaTeX 2.09 (oder analog auch für Plain-TeX) muß das Makro +<tt>\tt</tt> umdefiniert werden: +<pre> +\newcommand{\origtt}{} +\let\origtt=\tt +\renewcommand{\tt}{\origtt \hyphenchar\font=`\-} +</pre> + +<p> +Wichtiger Hinweis: TeX kann eine Schrift unter unterschiedlichen +Namen laden, wobei TeX alle diese Schriften nur ein einziges Mal +lädt und für die anderen Schriften nur ,Aliases` anlegt. Daher +gibt es <tt>\hyphenchar</tt><tt><font></tt> nur einmal pro ,echten` +Font und <tt>\hyphenchar</tt><tt><font></tt> ist wie auch +<tt>\fontdimen</tt><tt><font></tt> ein besonderer Parameter: Alle +Zuweisungen an <tt>\hyphenchar</tt><tt><font></tt> werden <em>immer</em> +global ausgeführt. Außerdem sieht sich TeX diesen Parameter erst +am Absatzende beim Umbruch dieses Absatzes an, so daß mit obiger +Änderung nicht möglich ist, die Trennung für einen in +,typewriter` gesetzten Textteil zu ermöglichen, für einen +anderen im selben Absatz zu verbieten. +<p> +Eine weitere Methode, Trennungen für ,typewriter`-Schriften zu +erlauben, bietet das Paket ,hyphenat`<a name="35" id="35">:</a> +<pre> +\usepackage[htt]{hyphenat} +</pre> + +<p> +Darüber hinaus kann es auch benutzt werden, um Trennung selektiv zu +erlauben oder zu verbieten. +<table> + <tr> + <td> + <b>hyphenat: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/hyphenat/"><code>macros/latex/contrib/hyphenat/</code></a></td> + </tr> + <tr> + <td> </td> + </tr> +</table> + + +<h3><a name="36">5.3.7 Warum trennt LaTeX Wörter mit Bindestrich nicht bzw. nur am Bindestrich, auch wenn die Trennausnahmeliste diese + enthält?</a></h3> +<p> +TeX fügt nach dem aktuellen Trennzeichen implizit (fast) immer +einen sogenannten <tt>\discretionary</tt> ein, der wie <tt>\-</tt> eine +explizite Trennstelle angibt. Da sowohl <tt>\-</tt> als auch +<tt>\discretionary</tt> dazu führen, daß die Trennung in den übrigen +Wortteilen unterdrückt wird, werden solche Wörter außer am +Trennstrich nicht mehr getrennt. Dieses eigenwillige Verhalten von +TeX ist für Sprachen, in denen wenige Bindestriche verwendet +werden, günstig und sinnvoll, da zusätzliche Trennungen in solchen +Wörtern meist die Lesbarkeit erschweren. +<p> +Um Wörter mit Bindestrichen dennoch zu trennen, existieren zwei +Möglichkeiten: Man gibt im Dokumenttext bei diesen Wörtern, +insbesondere wo schlecht getrennt werden kann, mit <tt>\-</tt> oder +<code>"-</code> weitere mögliche Trennstellen vor oder man verwendet +<code>"=</code> anstelle des Bindestrichs. Näheres ist hierzu der +Dokumentation des Paketes ,german`<a name="37" id="37"> zu</a> entnehmen. +<p> +Die andere Möglichkeit, die bislang nur von Experten umgesetzt werden +kann, besteht bei Schriften, die eine zweite Letter für einen +Bindestrich besitzen. Für diese Schriften kann man diese zweite +Letter als Trennstrich deklarieren. Zusammen mit den zusätzlichen +Trennmustern in ,,<tt>hypht1.tex</tt>`` ist damit eine automatische +Trennung von Wörtern mit Bindestrichen und deren Aufnahme in die +Trennausnahmeliste möglich. +<table> + <tr> + <td> + <b>german.sty: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/language/german/"><code>language/german/</code></a></td> + </tr> + <tr> + <td> + <b>hypht1.tex: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/language/hyphenation/hypht1.tex"><code>language/hyphenation/hypht1.tex</code></a></td> + </tr> + <tr> + <td> </td> + </tr> +</table> + + + +<h2><a name="38">5.4 Seitenlayout, Layout allgemein, Kopf- und Fußzeilen <img alt="»geändert«" border="0" src="upd-de.gif"></a></h2> + + +<h3><a name="39">5.4.1 Gibt es neben den Standard-LaTeX-Klassen auch Klassen + mit einem ,europäischeren` Design?</a></h3> +<p> +Die NTG hat verschiedene Klassen<a name="40" id="40"> entwickelt,</a> die im +Vergleich zum Layout der Standard-LaTeX-Klassen kleinere +Überschriften und eine einheitlichere Einrückung der Absätze und +Listen definieren. +<p> +Das KOMA-Script-Paket enthält ebenfalls Klassen (,scrartcl`, +,scrreprt`, ,scrbook` und ,scrlettr`), die die +Standardklassen ersetzen. Es wurden dort eine Vielzahl von Änderungen +eingeführt, die ein günstigeres Aussehen bewirken. So wird z.B. der +Satzspiegel besser an das Papierformat angeglichen. Nähere +Einzelheiten enthält die ausführliche Beschreibung in der +beigefügten Datei ,,<tt>scrguide.dvi</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> + <b>NTG-Klassen: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/ntgclass/"><code>macros/latex/contrib/ntgclass/</code></a></td> + </tr> + <tr> + <td> </td> + </tr> +</table> + + +<h3><a name="41">5.4.2 Ich suche eine Klasse für Briefe, die weitgehend die + verschiedenen DIN-Normen und deutschen Gepflogenheiten berücksichtigt.</a></h3> +<p> +Unter LaTeX 2.09 ist ,dinbrief`<a name="42" id="42"> weit</a> verbreitet, der von +anderen Autoren auch für LaTeX2e verfügbar gemacht wurde. +Darüber hinaus findet man im KOMA-Script-Paket die Klasse +,scrlettr` und es gibt mit ,g-brief` und ,akletter` +noch weitere Beispiele für angepaßte Klassen. +<table> + <tr> + <td> + <b>dinbrief: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/dinbrief/"><code>macros/latex/contrib/dinbrief/</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> + <b>g-brief: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/g-brief/"><code>macros/latex/contrib/g-brief/</code></a></td> + </tr> + <tr> + <td> + <b>akletter: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/akletter/"><code>macros/latex/contrib/akletter/</code></a></td> + </tr> + <tr> + <td> </td> + <td>(Anm.: ,akletter` hieß in früheren Version ,myletter`, + ein schlechter,</td> + </tr> + <tr> + <td> </td> + <td>weil häufig gewählter Name.)</td> + </tr> +</table> + + +<h3><a name="43">5.4.3 Gibt es eine bequemere Möglichkeit, ein Seitenlayout anzugeben, + als dadurch, Parameter, wie <tt>\textheight</tt>, einzeln zu verändern?</a></h3> +<p> +Mit dem Paket ,typearea`<a name="44" id="44"> aus</a> dem KOMA-Script-Paket kann man den +Anteil des Textbereichs an der Gesamtseite abhängig von der +Schriftgröße nach Tschicholds (siehe <a href="vereine.html#18">Frage 2.4.2</a>) +<i>n</i>-Teilung der Seite berechnen lassen +<pre> +\documentclass[a4paper,11pt]{...} % Ausgangspapiergroesse +% BCOR1cm: zusaetzlich 1cm Rand fuer die Bindung. +% DIV10: fuer 11pt-Schrift wird 10-Teilung verwendet, bei `oneside' +% nimmt der Text 7/10 der Restseite ein. +\usepackage[BCOR1cm]{typearea} +</pre> + +<p> +Die Verteilung der Ränder erfolgt dabei automatisch nach typographischen +Gesichtspunkten. Diverse Papiergrößen sowie Hoch- und Querformat werden +unterstützt, zusätzliche Formate können definiert werden, und auch die +Option ,twoside` wird korrekt behandelt. Ausführliche +Informationen dazu findet man in der beigefügten Datei ,,<tt>scrguide.dvi</tt>``. +<p> +Mit diesem Paket, das einem die Berechnung eines wohldefinierten +Satzspiegels abnehmen kann, kann man auch die LaTeX-Parameter für +den Textbereich durch eine einfache Schnittstelle setzen: +<pre> +\documentclass[a4paper]{...} % Ausgangspapiergroesse +\usepackage{typearea} +\areaset[1cm]% % Zusaetzlicher Rand fuer die Bindung + {18cm}{25cm} % Textbreite und Hoehe +</pre> + +<p> +Neben ,typearea` gibt es mit ,vmargin` und +,geometry` drei weitere Pakete, mit denen man die +LaTeX-Parameter leichter setzen kann. Bei ,vmargin` haben die +Makroaufrufe eine festgelegte Parameterreihenfolge, ,geometry` +dagegen benutzt das Paket ,keyval`, mit dem die Parameter in +beliebiger Reihenfolge angegeben werden können: +<pre> +\usepackage{geometry} +\geometry{left=1.5cm,textwidth=18cm,top=1.5cm,textheight=25cm} +</pre> + +<pre> +\usepackage{vmargin} +\setpapersize{A4} +\setmargins{1.5cm}{1.5cm}% % linker & oberer Rand + {18cm}{25cm}% % Textbreite und -hoehe + {12pt}{25pt}% % Kopfzeilenhoehe und -abstand + {0pt}{30pt}% % \footheight (egal) und Fusszeilenabstand +</pre> + +Eine gute Möglichkeit der visuellen Kontrolle des Ergebnisses bietet +das Paket ,layouts`. +<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>script: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex209/contrib/script/"><code>macros/latex209/contrib/script/</code></a></td> + </tr> + <tr> + <td> + <b>geometry: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/geometry/"><code>macros/latex/contrib/geometry/</code></a></td> + </tr> + <tr> + <td> + <b>vmargin: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/vmargin/"><code>macros/latex/contrib/vmargin/</code></a></td> + </tr> + <tr> + <td> + <b>layouts: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/layouts"><code>macros/latex/contrib/layouts</code></a></td> + </tr> + <tr> + <td> </td> + </tr> +</table> + + +<h3><a name="45">5.4.4 Wieso ist mit der Klasse ,book` oder mit der + Klassenoption ,twoside` der innere Rand kleiner + als der äußere?</a></h3> +<p> +Bei doppelseitiger Formatierung werden die Seitenränder so gewählt, +daß sie nicht für eine einzelne Seite sondern für eine +aufgeschlagene Doppelseite passen. Bei dieser bilden die Ränder der +beiden Seiten drei vertikale weiße Streifen (links außen, mittig, +rechts außen), die gleich breit sein sollen. Da der mittlere +Streifen aus den Rändern zweier Seiten gebildet wird, sind diese auch +nur halb so breit. Aus diesem Grund legt man unter LaTeX die Werte +für <tt>\evensidemargin</tt> und <tt>\oddsidemargin</tt>, also für den +linken Rand der geraden (linken) und den der ungeraden (rechten) +Seite, entsprechend fest. Näheres findet sich u.a. in der +Dokumentation der KOMA-Script-Klassen. +<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="46">5.4.5 Gibt es einen einfachen Weg, die Seitennummer als + ,Seite 1 von 16` anzugeben?</a></h3> +<p> +Mit dem Paket ,lastpage`<a name="47" id="47"> erhält</a> man durch +,,<tt><tt>\pageref</tt><tt>{LastPage}</tt></tt>`` eine Referenz auf die Seitennummer der +letzten Seite. Das Paket ,count1to` bietet mit +,,<tt><tt>\pageref</tt><tt>{TotalPages}</tt></tt>`` eine Referenz auf die Gesamtzahl der +Seiten. Selbiges leistet das Paket ,totpages`, wobei man mit +,,<tt><tt>\ref</tt><tt>{TotPages}</tt></tt>`` die Gesamtzahl aller Seiten, mit +,,<tt><tt>\pageref</tt><tt>{TotPages}</tt></tt>`` die Seitennummer der letzten Seite +erhalten kann. +<p> +Diese ,pageref`-Anweisungen können unter Zuhilfenahme des Paketes +,fancyhdr` oder des Paketes ,scrpage` aus dem KOMA-Script-Paket in +der Form ,<tt>\thepage</tt><tt>{}</tt> von <tt>\pageref</tt><tt>{LastPage}</tt>` in die +Kopf- oder Fußzeilen eingefügt werden. +<table> + <tr> + <td> + <b>lastpage: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/lastpage/"><code>macros/latex/contrib/lastpage/</code></a></td> + </tr> + <tr> + <td> + <b>count1to: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/ms/"><code>macros/latex/contrib/ms/</code></a></td> + </tr> + <tr> + <td> + <b>totpages: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/totpages/"><code>macros/latex/contrib/totpages/</code></a></td> + </tr> + <tr> + <td> + <b>fancyhdr: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/fancyhdr/"><code>macros/latex/contrib/fancyhdr/</code></a></td> + </tr> + <tr> + <td> + <b>Kurzbeschreibung: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/info/german/fancyhdr/"><code>info/german/fancyhdr/</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="48">5.4.6 Wie kann ich den Kolumnentitel, die Kopfzeile der + Seite, oder die Fußzeile nach meinen Wünschen gestalten, z.B. mit einem + Strich versehen?</a></h3> +<p> +Mit dem Paket ,scrpage`<a name="49" id="49"> und</a> den Klassen aus dem +KOMA-Script-Paket oder mit dem Paket ,fancyhdr` kann man die +Kopf- und Fußzeile einer Seite fast beliebig festlegen. Beide Pakete +enthalten eine ausführliche Dokumentation, die auch auf andere +Probleme eingeht und dafür Lösungen und Tips hat. +<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>fancyhdr: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/fancyhdr/"><code>macros/latex/contrib/fancyhdr/</code></a></td> + </tr> + <tr> + <td> + <b>Kurzbeschreibung: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/info/german/fancyhdr/"><code>info/german/fancyhdr/</code></a></td> + </tr> + <tr> + <td> </td> + </tr> +</table> + + +<h3><a name="50">5.4.7 Wie kann ich einem zweispaltig gesetzten Text + (Klassenoption ,twocolumn`) eine beide Spalten + übergreifende Überschrift und Zusammenfassung voransetzen?</a></h3> +<p> +Will man nur mit <tt>\maketitle</tt> eine Überschrift mit den +Autorenangaben einspaltig in voller Breite über beide Spalten setzen, +so verwendet man die Klassenoption ,twocolumn` und +ändert sonst nichts, da dies bei den Standard-Klassen und den meisten +anderen Klassen automatisch vorgesehen ist. +<p> +Soll jedoch zusätzlich zur Überschrift noch weiterer Text wie eine +Zusammenfassung einspaltig gesetzt werden, muß man auf die +Klassenoption ,twocolumn` verzichten und stattdessen die +Anweisung <tt>\twocolumn</tt> verwenden. Diese hat ein optionales +Argument, in der man diejenigen Textteile angibt, die einspaltig über +die gesamte Breite gesetzt werden sollen. Da die Anweisung +<tt>\maketitle</tt> und die Umgebung ,<tt>abstract</tt>`<a name="51" id="51"> jedoch</a> nicht +einfach im optionalen Argument von <tt>\twocolumn</tt> verwendet werden +kann, muß man zu einem kleinen, leider nicht ganz sauberen Trick mit +<tt>\csname</tt><tt>@twocolumnfalse</tt><tt>\endcsname</tt> greifen. +<pre> +\documentclass[...]{article} +... +\begin{document} +\twocolumn[{\csname @twocolumnfalse\endcsname + \maketitle + \begin{abstract} + ... + \end{abstract} +}] +... +\end{document} +</pre> + +<p> +Innerhalb des optionalen Arguments von <tt>\twocolumn</tt> funktionieren +leider keine Fußnoten und damit tauchen auch für die Anweisung +<tt>\thanks</tt> in der Autorenliste keine Fußnoten auf. Werden diese +benötigt, muß man sie von Hand mit <tt>\footnotetext</tt> nach dem +optionalen Argument setzen. + +<h3><a name="52">5.4.8 Wie kann ich verhindern, daß der Beginn eines Absatzes + eingezogen wird? Ich will Absätze stattdessen mit zusätzlichem + Durchschuß markieren. <img alt="»geändert«" border="0" src="upd-de.gif"></a></h3> +<p> +Meist kommt auf diese Frage +<div class="quote" align="center"> + + <tt>\setlength</tt><tt>{<tt>\parskip</tt>}</tt><tt>{<tt>\baselineskip</tt>}</tt> + <tt>\setlength</tt><tt>{<tt>\parindent</tt>}</tt><tt>{0pt}</tt> +</div> + +als Antwort, jedoch fügt LaTeX <tt>\parskip</tt> auch an verschiedenen anderen +Plätzen ein, u.a. auch zu Beginn und am Ende einer Liste und zwischen den +Listenelementen. Dies kann man mit dem Paket ,parskip`<a name="53" id="53"> von</a> +Hubert Partl zum Teil verhindern, wenn auch nicht komplett. +<p> +Weitergehende Lösungen finden sich in den KOMA-Script- und NTG-Klassen. Die +KOMA-Script-Klassen kennen die Klassenoption ,parskip` und +verschiedene Varianten davon. Zu den NTG-Klassen gehören ,artikel3`, +,rapport3` und ,boek3`, die ebenfalls ein Layout ohne +Absatzeinzug und mit zusätzlichen Durchschuß bieten. +<p> +Ob man nun den Beginn eines neuen Absatzes mit einem Einzug oder mit +einem zusätzlichen Durchschuß markiert, ist immer wieder Anlaß zu +mehr oder weniger ausgiebigen Diskussionen. Um einen +weitverbreiteten Irrtum auszuräumen: Der einzuglose Satz hat im +,,deutschen Buchsatz`` keine Tradition. Einzugloser Satz, ob nun +mit oder ohne zusätzlichen Durchschuß, ist im Zeitungs- und +Zeitschriftensatz weit verbreitet, so daß er manchen vertrauter +erscheint als der traditionelle Buchsatz mit Einzug. Letztendlich +sollte man bei der Wahl, ob mit oder ohne Einzug, an den Leser denken; +wie einfach dieser einen neuen Absatz, den Beginn eines neuen Teils +der niedergeschriebenen Gedankenfolge, immer klar und deutlich +erkennen kann. +<table> + <tr> + <td> + <b>parskip.sty: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/misc/parskip.sty"><code>macros/latex/contrib/misc/parskip.sty</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> + <b>NTG-Klassen: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/ntgclass/"><code>macros/latex/contrib/ntgclass/</code></a></td> + </tr> + <tr> + <td> </td> + </tr> +</table> + + +<h3><a name="54">5.4.9 Wie kann ich den Durchschuß meines Dokuments vergrößern, + wenn ich beispielsweise ein Dokument mit 1,5- oder 2-fachem Zeilenabstand + abliefern soll?</a></h3> +<p> +Abgesehen davon, daß man eine solch starke Vergrößerung des Zeilenabstand +vermeiden sollte, hilft das Paket ,setspace`<a name="55" id="55">:</a> +<pre> +\usepackage{setspace} +\doublespacing % doppelzeilig oder +%\onehalfspacing % anderthalbzeilig +</pre> + +<table> + <tr> + <td> + <b>setspace: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/setspace/"><code>macros/latex/contrib/setspace/</code></a></td> + </tr> + <tr> + <td> </td> + </tr> +</table> + + +<h3><a name="56">5.4.10 Wieso bekomme ich mit <tt>\pagestyle</tt><tt>{empty}</tt> dennoch eine + Seitennummer auf der ersten Seite mit dem Artikeltitel?</a></h3> +<p> +Fast alle LaTeX-Klassen definieren die Anweisung <tt>\maketitle</tt> so, +daß für diese Seite mit <tt>\thispagestyle</tt> auf den Seitenstil +,plain` umgeschalten wird. <tt>\thispagestyle</tt> überschreibt +damit den gewählten Seitenstil für diese eine Seite. Um dies zu +verhindern, muß man entweder eine besser geeignete Klasse wählen, die +Definition in der Klasse ändern oder folgenden Trick anwenden: +<em>Direkt</em> nach der Anweisung <tt>\maketitle</tt> wird +<tt>\thispagestyle</tt><tt>{empty}</tt> eingefügt. Alternativ kann das Paket +,nopageno`<a name="57" id="57"> verwendet</a> werden. +<table> + <tr> + <td> + <b>nopageno: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/carlisle/nopageno.sty"><code>macros/latex/contrib/carlisle/nopageno.sty</code></a></td> + </tr> + <tr> + <td> </td> + </tr> +</table> + + +<h3><a name="58">5.4.11 Wie kann ich mein gesamtes LaTeX-Dokument im Querformat + setzen?</a></h3> +<p> +Zu diesem Zweck ist bei der Dokumentenklasse die Klassen-Option +,landscape` anzugeben. Zusätzlich muß dem verwendeten +dvi-Treiber die nun vom Standard abweichende Seitengröße mitgeteilt +werden. Im Falle von ,dvips`<a name="59" id="59"> kann</a> man dies statt per +Kommandozeilenoption mit Hilfe des Pakets ,geometry` erreichen. +<pre> +\usepackage[dvips]{geometry} +</pre> + +<table> + <tr> + <td> + <b>geometry: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/geometry/"><code>macros/latex/contrib/geometry/</code></a></td> + </tr> + <tr> + <td> </td> + </tr> +</table> + + +<h3><a name="60">5.4.12 Wie kann ich Teile meines Dokumentes im Querformat setzen?</a></h3> +<p> +Dokumentteile können nur gedreht werden, wenn dies auch vom +verwendeten dvi-Gerätetreiber unterstützt wird. In den meisten +Fällen bedeutet dies, daß die dvi-Datei nach PostScript zu +konvertieren ist. Zum Betrachten und Ausdrucken ist ein +PostScript-Viewer wie beispielsweise ,gv`<a name="61" id="61"> oder</a> +,gsview` unter Verwendung von ,Ghostscript` +geeignet. +<p> +Das LaTeX-Bundle ,graphics` enthält das Paket ,lscape`, +das eine ,<tt>landscape</tt>`-Umgebung zur Verfügung stellt. Der +Inhalt dieser Umgebung wird um 90 Grad gegen den Uhrzeigersinn +gedreht und auf eine eigene Seite plaziert. Zu Beginn und am Ende der +Umgebung wird ein <tt>\clearpage</tt> ausgeführt: +<pre> +\usepackage{lscape} +% etc. +\begin{landscape} + \begin{figure} + gedrehte Abbildung + \caption{gedrehte Unterschrift} + \end{figure} + % evtl. noch weitere Abbildungen/normaler Text/etc. +\end{landscape} +% etc. +</pre> + +<p> +Wird ein Dokument mit solcherart gedrehten Seiten per pdfLaTeX zu +einer pdf-Datei kompiliert, wäre es wünschenswert, wenn die +gedrehten Seiten bei Betrachtung mit ,Acrobat Reader` in +aufrechter Schrift, also um 90 Grad gedreht, dargestellt +würden. In diesem Fall ist das Paket ,pdflscape` zu verwenden, +das wiederum das Paket ,lscape` lädt und um entsprechende +PDF-Anweisungen ergänzt: +<pre> +\usepackage{pdflscape} +% ... +</pre> + +<p> +Will man nicht ganze Seiten drehen oder stören die implizit +ausgeführten <tt>\clearpage</tt>-Anweisungen, so kann man auch nur die +Anweisung <tt>\rotatebox</tt> aus dem Paket ,graphics` verwenden: +<pre> +\usepackage{graphics} % oder `graphicx' +% etc. +\begin{figure} + \rotatebox{90}{% + \begin{minipage}{.6\textheight} + gedrehte Abbildung + \caption{gedrehte Unterschrift} + \end{minipage}% + } +\end{figure} +</pre> + +<p> +Das Paket ,rotating` bietet statt der einfachen +<tt>\rotatebox</tt>-Anweisung mit all ihren Nachteilen (Stichwort: +,<tt>verbatim</tt>`!) die Umgebungen ,<tt>rotate</tt>`, ,<tt>turn</tt>` und +,<tt>sideways</tt>`, innerhalb der man (fast) beliebigen Text plazieren kann. +Für den Spezialfall, daß eine Abbildung bzw. Tafel wie mit der Umgebung +,<tt>landscape</tt>` eine komplette Seite füllt und um 90 Grad gegen +den Uhrzeigersinn gedreht werden soll, gibt es die den ,<tt>figure</tt>`- und +,<tt>table</tt>`- entsprechenden ,<tt>sidewaysfigure</tt>`- und +,<tt>sidewaystable</tt>`-Umgebungen. Außerdem ist eine ältere Version +dieses Pakets auch für LaTeX 2.09 verfügbar. +<p> +Mehr über diese Pakete findet man in der Dokumentation ,,<tt>grfguide.tex</tt>`` +des ,graphics`-Bundle, der mit ,rotating` mitgelieferten +Dokumentation und dem Buch ,Der LaTeX-Begleiter` (siehe +<a href="vereine.html#16">Frage 2.4.1</a>) sowie in Keith Reckdahls Artikel ,Using + Imported Graphics in LaTeX2e` (siehe <a href="vereine.html#18">Frage 2.4.2</a>). +<table> + <tr> + <td> + <b>lscape: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/required/graphics/"><code>macros/latex/required/graphics/</code></a></td> + </tr> + <tr> + <td> + <b>pdflscape: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/oberdiek/"><code>macros/latex/contrib/oberdiek/</code></a></td> + </tr> + <tr> + <td> + <b>rotating: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/macros/latex/contrib/rotating"><code>macros/latex/contrib/rotating</code></a></td> + </tr> + <tr> + <td> + <b>epslatex: </b></td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/info/epslatex.ps"><code>info/epslatex.ps</code></a></td> + </tr> + <tr> + <td> </td> + <td><a href="allgemein.html#11">CTAN:</a> <a href="ftp://ftp.dante.de/tex-archive/info/epslatex.pdf"><code>info/epslatex.pdf</code></a></td> + </tr> + <tr> + <td> </td> + </tr> +</table> + + +<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="woher.html"><img alt="Prev" src="previous.gif"></a><a href="de-tex-faq.html"><img alt="Up" src="up.gif"></a><a href="makros2.html"><img alt="Next" src="next.gif"></a></body> +</html> |