summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrhack.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrhack.tex')
-rw-r--r--Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrhack.tex169
1 files changed, 169 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrhack.tex b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrhack.tex
new file mode 100644
index 00000000000..e65ea03bf30
--- /dev/null
+++ b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrhack.tex
@@ -0,0 +1,169 @@
+% ======================================================================
+% scrhack.tex
+% Copyright (c) Markus Kohm, 2001-2012
+%
+% This file is part of the LaTeX2e KOMA-Script bundle.
+%
+% This work may be distributed and/or modified under the conditions of
+% the LaTeX Project Public License, version 1.3c of the license.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later and of this work.
+%
+% This work has the LPPL maintenance status "author-maintained".
+%
+% The Current Maintainer and author of this work is Markus Kohm.
+%
+% This work consists of all files listed in manifest.txt.
+% ----------------------------------------------------------------------
+% scrhack.tex
+% Copyright (c) Markus Kohm, 2001-2012
+%
+% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
+% Version 1.3c, verteilt und/oder veraendert werden.
+% Die neuste Version dieser Lizenz ist
+% http://www.latex-project.org/lppl.txt
+% und Version 1.3c ist Teil aller Verteilungen von LaTeX
+% Version 2005/12/01 oder spaeter und dieses Werks.
+%
+% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained"
+% (allein durch den Autor verwaltet).
+%
+% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm.
+%
+% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien.
+% ======================================================================
+%
+% Chapter about scrhack of the KOMA-Script guide
+% Maintained by Markus Kohm
+%
+% ----------------------------------------------------------------------------
+%
+% Kapitel über scrhack in der KOMA-Script-Anleitung
+% Verwaltet von Markus Kohm
+%
+% ============================================================================
+
+\ProvidesFile{scrhack.tex}[2011/10/07 KOMA-Script guide (chapter: scrhack)]
+
+\chapter{Fremdpakete verbessern mit \Package{scrhack}}
+\labelbase{scrhack}
+
+\BeginIndex{Package}{scrhack}
+Einige Pakete außerhalb von \KOMAScript{} arbeiten nicht sehr gut mit
+\KOMAScript{} zusammen. Für den \KOMAScript-Autor ist es dabei oftmals sehr
+mühsam, die Autoren der jeweiligen Pakete von einer Verbesserung zu
+überzeugen. Das betrifft auch Pakete, deren Entwicklung eingestellt
+wurde. Deshalb wurde das Paket \Package{scrhack} begonnen. Dieses Paket ändert
+Anweisungen und Definitionen anderer Pakete, damit sie besser mit
+\KOMAScript{} zusammenarbeiten.
+
+\section{Entwicklungsstand}
+\label{sec:hack.draft}
+
+Obwohl das Paket bereits seit längerer Zeit Teil von \KOMAScript{} ist und
+auch bereits von vielen Anwendern genutzt wird, hat es auch ein Problem. Bei
+der Umdefinierung von Makros fremder Pakete ist es von der genauen Definition
+und Verwendung dieser Makros abhängig. Damit ist es gleichzeitig auch von
+bestimmten Versionen dieser Pakete abhängig. Wird eine unbekannte Version
+eines der entsprechenden Pakete verwendet, kann \Package{scrhack} den
+notwendigen Patch eventuell nicht ausführen. Im Extremfall kann aber umgekehrt
+der Patch einer unbekannten Version auch zu einem Fehler führen.
+
+Da also \Package{scrhack} immer wieder an neue Versionen fremder Pakete
+angepasst werden muss, kann es niemals als fertig angesehen werden. Daher
+existiert von \Package{scrhack} dauerhaft nur eine Beta-Version. Obwohl die
+Benutzung in der Regel einige Vorteile mit sich bringt, kann die Funktion
+nicht dauerhaft garantiert werden.
+
+\LoadCommon{0}
+
+\section{Verwendung von \Package{tocbasic}}
+\label{sec:hack.improvement}
+
+In den Anfängen von \KOMAScript{} gab es von Anwenderseite den Wunsch, dass
+Verzeichnisse von Gleitumgebungen, die mit dem Paket
+\Package{float}\IndexPackage{float}\important{\Package{float}} erzeugt werden,
+genauso behandelt werden, wie das Abbildungsverzeichnis oder das
+Tabellenverzeichnis, das von den \KOMAScript-Klassen selbst angelegt
+wird. Damals setzte sich der \KOMAScript-Autor mit dem Autor von
+\Package{float} in Verbindung, um diesem eine Schnittstelle für entsprechende
+Erweiterungen zu unterbreiten. In etwas abgewandelter Form wurde diese in
+Gestalt der beiden Anweisungen
+\Macro{float@listhead}\IndexCmd[indexmain]{float@listhead} und
+\Macro{float@addtolists}\IndexCmd[indexmain]{float@addtolists} realisiert.
+
+Später zeigte sich, dass diese beiden Anweisungen nicht genug Flexibilität für
+eine umfangreiche Unterstützung aller \KOMAScript-Möglichkeiten boten. Leider
+hatte der Autor von \Package{float} die Entwicklung aber bereits eingestellt,
+so dass hier keine Änderungen mehr zu erwarten sind.
+
+Andere Paketautoren haben die beiden Anweisungen ebenfalls übernommen. Dabei
+zeigte sich, dass die Implementierung in einigen Paketen, darunter auch
+\Package{float}, dazu führt, dass all diese Pakete nur in einer bestimmten
+Reihenfolge geladen werden können, obwohl sie ansonsten in keinerlei Beziehung
+zu einander stehen.
+
+Um all diese Nachteile und Probleme zu beseitigen, unterstützt \KOMAScript{}
+diese alte Schnittstelle offiziell nicht mehr. Stattdessen wird bei Verwendung
+dieser Schnittstelle von \KOMAScript{} gewarnt. Gleichzeitig wurde in
+\KOMAScript{} das Paket
+\Package{tocbasic}\IndexPackage{tocbasic}\important{\Package{tocbasic}} (siehe
+\autoref{cha:tocbasic}) als zentrale Schnittstelle für die Verwaltung von
+Verzeichnissen entworfen und realisiert. Die Verwendung dieses Pakets bietet
+weit mehr Vorteile und Möglichkeiten als die beiden alten Anweisungen.
+
+Obwohl der Aufwand zur Verwendung dieses Pakets sehr gering ist, haben bisher
+die Autoren der Pakete, die auf die beiden alten Anweisungen gesetzt haben,
+keine Anpassung vorgenommen. Daher enthält \Package{scrhack} selbst
+entsprechende Anpassungen für die Pakete
+\Package{float}\IndexPackage{float}\important{\Package{float},
+ \Package{floatrow}, \Package{listings}},
+\Package{floatrow}\IndexPackage{floatrow} und
+\Package{listings}\IndexPackage{listings}. Allein durch das Laden von
+\Package{scrhack} reagieren diese Pakete dann nicht nur auf die Einstellungen
+von Option \Option{listof}\IndexOption{listof~=\PName{Einstellung}}, sondern
+beachtet auch Sprachumschaltungen durch das
+\Package{babel}-Paket\IndexPackage{babel}. Näheres zu den Möglichkeiten, die
+durch die Umstellung der Pakete auf \Package{tocbasic} nun zur Verfügung
+stehen, ist \autoref{sec:tocbasic.toc} zu entnehmen.
+
+Sollte diese Änderung für eines der Pakete nicht erwünscht sein oder zu
+Problemen führen, so kann sie selektiv mit den Einstellungen
+\OptionValue{float}{false}\IndexOption[indexmain]{float~=\PValue{false}},
+\OptionValue{floatrow}{false}\IndexOption[indexmain]{floatrow~=\PValue{false}}
+und
+\OptionValue{listings}{false}\IndexOption[indexmain]{listings~=\PValue{false}}
+abgeschaltet werden. Wichtig\textnote{Achtung!} dabei ist, dass eine Änderung
+der Optionen nach dem Laden des zugehörigen Pakets keinen Einfluss mehr hat!
+
+
+\section{Sonderfall \Package{hyperref}}
+\label{sec:hack.hyperref}
+
+Ältere Versionen von
+\Package{hyperref}\IndexPackage{hyperref}\important{\Package{hyperref}} vor
+6.79h haben bei den Sternformen der Gliederungsbefehle hinter, statt vor oder
+auf die Gliederungsüberschriften verlinkt. Inzwischen ist dieses Problem auf
+Vorschlag des \KOMAScript-Autors beseitigt. Da die entsprechende Änderung aber
+über ein Jahr auf sich warten lies, wurde in \Package{scrhack} ein
+entsprechender Patch aufgenommen. Zwar kann dieser ebenfalls durch
+\OptionValue{hyperref}{false} deaktiviert werden, empfohlen wird jedoch
+stattdessen die aktuelle Version von \Package{hyperref} zu verwenden. In
+diesem Fall wird die Änderung durch \Package{scrhack} automatisch verhindert.
+
+
+\EndIndex{Package}{scrwfile}
+
+%%% Local Variables:
+%%% mode: latex
+%%% coding: iso-latin-1
+%%% TeX-master: "../guide"
+%%% End:
+
+% LocalWords: Eindateiensystem Schreibdatei Zieldatei Zielendung Quellendung
+% LocalWords: Verzeichnisüberschrift Dateiendung Zielendungen Verzeichnisdatei
+% LocalWords: Benutzeranweisungen Dokumentpräambel Kapitelebene Sternformen
+% LocalWords: Sprachumschaltungen Gliederungsüberschriften Gliederungsbefehle
+% LocalWords: Paketautoren