diff options
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.tex | 164 |
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: |