summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/koma-script/doc/english/scrhack.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script/doc/english/scrhack.tex')
-rw-r--r--Master/texmf-dist/source/latex/koma-script/doc/english/scrhack.tex164
1 files changed, 164 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/scrhack.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/scrhack.tex
new file mode 100644
index 00000000000..fce50ee9fda
--- /dev/null
+++ b/Master/texmf-dist/source/latex/koma-script/doc/english/scrhack.tex
@@ -0,0 +1,164 @@
+% ======================================================================
+% 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 ueber scrhack in der KOMA-Script-Anleitung
+% Verwaltet von Markus Kohm
+%
+% ============================================================================
+
+\ProvidesFile{scrhack.tex}[2012/03/06 KOMA-Script guide (chapter: scrhack)]
+\translator{Markus Kohm}
+
+% Date of the translated German file: 2011/10/07
+\chapter{Hacks for Third-Party Packages by Package \Package{scrhack}}
+\labelbase{scrhack}
+
+\BeginIndex{Package}{scrhack}
+Some packages from other authors may have problems with \KOMAScript{}. In my
+opinion some packages could be improved. With some packages this makes only
+sense, if \KOMAScript{} was used. With some other packages the package author
+has another opinion. Sometimes proposals was never answered. Package
+\Package{scrhack} contains all those improvement proposals for other
+packages. This means, \Package{scrhack} redefines macros of packages from
+other authors! The redefinitions are only activated, if those packages were
+loaded. Users may prevent \Package{scrhack} from redefining macros of
+individual packages.
+
+\section{State of Development Note}
+\label{scr:scrhack.draft}
+
+Though this package is part of \KOMAScript{} for long time and though it has
+been used by lot of users, there's one problem with it. While redefinition of
+macros of foreign packages, it depend on the exact definition an usage of
+those macros. This means additionally, that it depends on dedicated releases
+of those packages. If a unknown release of such a package will be used,
+\Package{scrhack} eventually couldn't do the needed patch. Contrary, in
+extreme cases the patch may cause errors and fault.
+
+So \Package{scrhack} has to be continuously modified to fit new releases of
+foreign packages and will never be finished. Because of this \Package{scrhack}
+will stay in beta state forever. Though the usage will generally be a
+benefit, the correct function couldn't be guaranteed forever.
+
+\LoadCommon{0}
+
+\section{Usage of \Package{tocbasic}}
+\label{sec:scrhack.improvement}
+
+In the early days of \KOMAScript{} users asked for handling lists of floats,
+that will be generated using package
+\Package{float}\IndexPackage{float}\important{\Package{float}}, like list of
+figures and list of tables, that are generated by \KOMAScript{} itself. At
+that time the \KOMAScript{} author contacted the author of \Package{float}, to
+submit a proposal of an interface with support for such an extention. A
+somehow modified version of that interface has been implemented with commands
+\Macro{float@listhead}\IndexCmd[indexmain]{float@listhead} and
+\Macro{float@addtolists}\IndexCmd[indexmain]{float@addtolists}.
+
+Sometimes later it has appeared, that those two commands were not flexible
+enough to support all of the comprehensive features supported by
+\KOMAScript. Unfortunately the author of \Package{float} has finalized the
+development already, so nobody should expect furthor changes of this package.
+
+Other package authors have also inherited these commands. Thereby it appeared,
+that the implementation in some packages, even in package \Package{float},
+will need a certain package loading order, though all these packages are not
+related to each other. Wrong loading order may result in an error or break the
+functionality of the commands.
+
+To clear all this disadvantages and problems, \KOMAScript{} officially doesn't
+support this old interface any more. Instead \KOMAScript{} warns, if the old
+interface is used. At the same time package
+\Package{tocbasic}\IndexPackage{tocbasic}\important{\Package{tocbasic}} (see
+\autoref{cha:tocbasic}) has been designed and implemented as a central
+interface for management of table of contents, lists of floats and similar
+lists. Usage of this package provides much more advantages and features than
+the two old commands, that has been alluded above.
+
+Though the effort using that package is very small, the authors of most of the
+packages, that are using the old interface, haven't done so currently. Because
+of this \Package{scrhack} contains appropriate modifications of packages
+\Package{float}\IndexPackage{float}\important{\Package{float},
+ \Package{floatrow}, \Package{listings}},
+\Package{floatrow}\IndexPackage{floatrow}, and
+\Package{listings}\IndexPackage{listings}. Loading \Package{scrhack} is enough
+to make these packages recognize not only setting of \KOMAScript{} option
+\Option{listof}\IndexOption{listof~=\PName{setting}}, but also language
+switching of package \Package{babel}\IndexPackage{babel}. More information
+about the features provided by the changeover to package \Package{tocbasic}
+may be found in \autoref{sec:tocbasic.toc}.
+
+If the modification for any of the packages is not wanted or causes problems,
+then is may be deactivated selectively with option
+\OptionValue{float}{false}\IndexOption[indexmain]{float~=\PValue{false}},
+\OptionValue{floatrow}{false}\IndexOption[indexmain]{floatrow~=\PValue{false}},
+or
+\OptionValue{listings}{false}\IndexOption[indexmain]{listings~=\PValue{false}}.
+Please note\textnote{Attention!} that changing these options after loading the
+corresponding package would do it!
+
+
+\section{Special Case \Package{hyperref}}
+\label{sec:scrhack.hyperref}
+
+Before version~6.79h package \Package{hyperref} set the link anchors after
+instead of before the heading of star version commands like \Macro{part*},
+\Macro{chapter*}, and so on. In the meantime this problem have been solved at
+the \KOMAScript{} author's suggestion. But because the \KOMAScript{} author
+wasn't patient enough to wait more than a year for the change of
+\Package{hyperref}, a corresponding patch has been added to
+\Package{scrhack}. This may be deactivated by
+\OptionValue{hyperref}{false}. Nevertheless, it is recommended to use the
+current \Package{hyperref} release. In this case \Package{scrhack} does
+automatically deactivate the not longer needed patch.%
+%
+\EndIndex{Package}{scrhack}
+
+\endinput
+
+%%% Local Variables:
+%%% mode: latex
+%%% mode: flyspell
+%%% ispell-local-dictionary: "english"
+%%% coding: us-ascii
+%%% TeX-master: "../guide"
+%%% End: