summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/koma-script/scrkernel-miscellaneous.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script/scrkernel-miscellaneous.dtx')
-rw-r--r--Master/texmf-dist/source/latex/koma-script/scrkernel-miscellaneous.dtx176
1 files changed, 160 insertions, 16 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/scrkernel-miscellaneous.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-miscellaneous.dtx
index 94517c5e516..994dd0f7183 100644
--- a/Master/texmf-dist/source/latex/koma-script/scrkernel-miscellaneous.dtx
+++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-miscellaneous.dtx
@@ -1,8 +1,8 @@
-% \CheckSum{449}
+% \CheckSum{611}
% \iffalse meta-comment
% ======================================================================
% scrkernel-miscellaneous.dtx
-% Copyright (c) Markus Kohm, 2002-2016
+% Copyright (c) Markus Kohm, 2002-2017
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -20,7 +20,7 @@
% This work consists of all files listed in manifest.txt.
% ----------------------------------------------------------------------
% scrkernel-miscellaneous.dtx
-% Copyright (c) Markus Kohm, 2002-2016
+% Copyright (c) Markus Kohm, 2002-2017
%
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
% Version 1.3c, verteilt und/oder veraendert werden.
@@ -55,15 +55,15 @@
% Right brace \} Tilde \~}
%
% \iffalse
-%%% From File: $Id: scrkernel-miscellaneous.dtx 2463 2016-05-19 07:27:47Z kohm $
+%%% From File: $Id: scrkernel-miscellaneous.dtx 2605 2017-02-23 19:27:27Z kohm $
%<*driver>
% \fi
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2016-05-19 09:27:47 +0200 (Thu, 19 May 2016) $
+ \filedate$Date: 2017-02-23 20:27:27 +0100 (Thu, 23 Feb 2017) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
- \filerevision$Revision: 2463 $
+ \filerevision$Revision: 2605 $
\edef\reserved@a{%
\noexpand\endgroup
\noexpand\ProvidesFile{scrkernel-miscellaneous.dtx}%
@@ -73,7 +73,7 @@
}%
\reserved@a
% \iffalse
-\documentclass[halfparskip-]{scrdoc}
+\documentclass[parskip=half-]{scrdoc}
\usepackage[english,ngerman]{babel}
\usepackage[latin1]{inputenc}
\CodelineIndex
@@ -157,13 +157,39 @@
Cannot detect any KOMA-Script class.\MessageBreak
Package `scrletter' is an extension to\MessageBreak
KOMA-Script classes.\MessageBreak
- Usage with another class is not supported.\MessageBreak
- Expect several errors while using it with\MessageBreak
- another class.%
+ Usage with another class is not recommended%
+ \@ifclassloaded{article}{}{%
+ \@ifclassloaded{report}{}{%
+ \@ifclassloaded{book}{}{%
+ \MessageBreak and can result in several errors%
+ }%
+ }%
+ }%
}%
+ \RequirePackage{scrextend}%
+% \end{macrocode}
+%
+% \begin{macro}{\setparsizes}
+% \changes{v3.23}{2017/02/22}{wird notfalls vereinfacht definiert}^^A
+% \begin{macro}{\par@updaterelative}
+% \changes{v3.23}{2017/02/22}{wird notfalls vereinfacht definiert}^^A
+% Diese beiden Befehle werden normalerweise von den \KOMAScript-Klassen
+% definiert. Wird das Paket mit einer anderen Klasse verwendet, existieren
+% sie nicht. Es wird dann eine vereinfachte Definition verwendet.
+% \begin{macrocode}
+ \providecommand*{\setparsizes}[3]{%
+ \setlength{\parindent}{#1}%
+ \setlength{\parskip}{#2}%
+ \setlength{\parfillskip}{#3}%
+ }
+ \providecommand*{\par@updaterelative}{}
+% \end{macrocode}
+% \end{macro}^^A \par@updaterelative
+% \end{macro}^^A \setparsizes
+% \begin{macrocode}
}{}
% \end{macrocode}
-
+%
% \begin{macro}{\scr@renewforletter}
% \changes{v3.20}{2014/04/10}{neu Anweisung}^^A
% Wird wie \cs{renewcommand} verwendet, verzögert die Umdefinierung aber bis
@@ -582,8 +608,9 @@
% \changes{v3.17}{2015/03/23}{in zwei Anweisungen ausgeteilt}^^A
% \begin{macro}{\is@thispageodd@setlabel}
% \changes{v3.17}{2015/03/23}{neu (intern)}^^A
-% \changes{v3.20}{2016/03/25}{write to \texttt{aux}-file only
+% \changes{v3.20}{2016/03/25}{schreibe in die \texttt{aux}-Datei nur
% \cs{if@filesw}}^^A
+% \changes{v3.23}{2017/02/23}{Macro leert sich nach Benutzung selbst}^^A
% Diese Makros machen die eigentliche Arbeit. Sie funktionieren nicht wie
% ein normales \cs{iffalse} oder \cs{iftrue}, denn es kann nicht
% geschachtelt innerhalb anderer \cs{if\dots} \dots \cs{fi}
@@ -619,6 +646,8 @@
\noexpand\string
\noexpand\new@tpo@label{\scr@tpo}{\noexpand\arabic{page}}}%
\fi
+ \noexpand\def\noexpand\is@thispageodd@setlabel
+ {\unexpanded\expandafter{\is@thispageodd@setlabel}}%
}%
#1%
\@esphack
@@ -755,7 +784,16 @@
% und Optionen von \KOMAScript{} nicht.
% \begin{macrocode}
\scr@package@not@recommended{titleps}{%
- package `scrlayer-scrpage`}
+ package `scrlayer-scrpage'}
+% \end{macrocode}
+% \changes{v3.23}{2017/02/04}{Verwendung von \textsf{minitoc} kann nicht
+% empfohlen werden}^^A
+% \textsf{minitoc} definiert u.\,a. \cs{@sect} hart um und zerstört so diverse
+% Erweiterungen von \KOMAScript. Es ist nicht abschließend untersucht, was das
+% Paket noch alles zerstört. Derzeit gibt es nur einen Workaround für das
+% genannte Problem mit \cs{@sect}.
+% \begin{macrocode}
+\scr@package@not@recommended{minitoc}{}
%</class>
% \end{macrocode}
% \end{macro}^^A \scr@package@not@recommended
@@ -763,8 +801,114 @@
% \subsection{Workarounds für fremde Pakete}
% \label{sec:packageworkarounds}
%
+% \changes{v3.23}{2017/02/04}{\textsf{minitoc} verursacht ein schwerwiegendes
+% Problem}^^A
+% Das Paket \textsf{minitoc} verursacht ein schwerwiegendes Problem indem es
+% \cs{@sect} hart umdefiniert, ohne zuvor zu testen, ob die Definition den
+% Erwartungen entspricht. Ich werde hier einmal versuchen, mich darum herum zu
+% lavieren. Eine wirklich gute Lösung ist das sicher nicht. Man sollte das
+% Paket schlicht besser nicht mit \KOMAScript{} zusammen verwenden.
+% \begin{macrocode}
+%<*class>
+%<*!letter>
+\BeforePackage{minitoc}{%
+ \let\scr@mt@saved@sect\@sect
+}
+\AfterPackage{minitoc}{%
+ \def\@tempa#1#2#3#4#5#6[#7]#8{%
+ \ifnum #2<1 \relax
+ \addtocontents{toc}{\protect\sectbegin}
+ \fi
+ \stc@sect{#1}{#2}{#3}{#4}{#5}{#6}[{#7}]{#8}%
+ }%
+ \ifx\@sect\@tempa
+% \end{macrocode}
+% Note: There are several bugs in this definition (e.g. missing
+% \cs{expandafter} and orphan spaced). Nevertheless its the original one from
+% \textsf{minitoc} 61 and so I have to use it.
+% \begin{macrocode}
+ \def\@tempa#1#2#3#4#5#6[#7]#8{
+ \expandafter
+ \ifx\csname #1\endcsname\section\relax
+ \addcontentsline{lof}{xsect}{#7}%
+ \addcontentsline{lot}{xsect}{#7}%
+ \fi
+ \ifx\csname #1\endcsname\starsection\relax
+ \addcontentsline{lof}{xsect}{#7}%
+ \addcontentsline{lot}{xsect}{#7}%
+ \fi
+ \ifnum #2>\c@secnumdepth\relax
+ \let\@svsec\@empty
+ \else
+ \refstepcounter{#1}%
+ \edef\@svsec{\csname the#1\endcsname\hskip 1em}%
+ \fi
+ \@tempskipa #5\relax
+ \ifdim \@tempskipa>\z@
+ \begingroup #6\relax
+ \@hangfrom{\hskip #3\relax\@svsec}%
+ {\interlinepenalty \@M #8\par}%
+ \endgroup
+ \csname #1mark\endcsname{#7}%
+ \addcontentsline{toc}{#1}{%
+ \ifnum #2>\c@secnumdepth\relax
+ \else
+ \protect\numberline{\csname the#1\endcsname}%
+ \fi
+ #7%
+ }%
+ \else
+ \def\@svsechd{#6\hskip #3\relax
+ \@svsec #8\csname #1mark\endcsname{#7}%
+ \addcontentsline{toc}{#1}{%
+ \ifnum #2>\c@secnumdepth\relax
+ \else
+ \protect\numberline{\csname the#1\endcsname}
+ \fi
+ #7}%
+ }%
+ \fi
+ \@xsect{#5}%
+ }%
+ \ifx\stc@sect\@tempa
+ \ClassWarning{\KOMAClassName}{%
+ Redefining minitoc's internal command
+ `\string\stc@sect'\MessageBreak
+ to prevent minitoc to destroy several features\MessageBreak
+ of KOMA-Script%
+ }%
+ \let\stc@sect\scr@mt@saved@sect
+ \else
+ \ClassInfo{\KOMAClassName}{%
+ Deactivating the `minitoc' workaround,\MessageBreak
+ because of unexpected definition of\MessageBreak
+ `\string\stc@sect'%
+ }%
+ \let\scr@mt@saved@sect\relax
+ \fi
+ \else
+ \ifx\@sect\scr@mt@saved@sect
+ \ClassInfo{\KOMAClassName}{%
+ Deactivating the `minitoc' workaround for
+ `\string\@sect',\MessageBreak
+ because it is not needed%
+ }%
+ \else
+ \ClassInfo{\KOMAClassName}{%
+ Deactivating the `minitoc' workaround,\MessageBreak
+ because of unexpected definition of\MessageBreak
+ `\string\@sect'%
+ }%
+ \fi
+ \let\scr@mt@saved@sect\relax
+ \fi
+}
+%</!letter>
+%</class>
+% \end{macrocode}
+%
% \changes{v3.13a}{2014/10/09}{\textsf{titlesec} hat ein schwerwiegendes
-% Problem}
+% Problem}^^A
% Das Paket \textsf{titlesec} hat ein schwerwiegendes Problem, wenn
% Überschriften nicht per \cs{@startsection} definiert sind. Ich werde hier
% einmal versuchen, mich darum herum zu lavieren. Eine wirklich gute Lösung
@@ -791,11 +935,11 @@
% \begin{macrocode}
\@ifpackagelater{titlesec}{2016/03/22}{%
\ClassInfo{\KOMAClassName}{%
- Deactivating the `titlesec` workaround,\MessageBreak
+ Deactivating the `titlesec' workaround,\MessageBreak
because package is newer than expected%
}%
}{%
- \PackageWarning{\KOMAClassName}{%
+ \ClassWarning{\KOMAClassName}{%
Activating an ugly workaround for a missing\MessageBreak
feature of package `titlesec`%
}%