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.dtx179
1 files changed, 171 insertions, 8 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 3a3ff52eb79..d6f576092ba 100644
--- a/Master/texmf-dist/source/latex/koma-script/scrkernel-miscellaneous.dtx
+++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-miscellaneous.dtx
@@ -1,4 +1,4 @@
-% \CheckSum{223}
+% \CheckSum{405}
% \iffalse meta-comment
% ======================================================================
% scrkernel-miscellaneous.dtx
@@ -55,11 +55,19 @@
% Right brace \} Tilde \~}
%
% \iffalse
-%%% From File: $Id: scrkernel-miscellaneous.dtx 1529 2013-12-03 07:36:57Z mjk $
+%%% From File: $Id: scrkernel-miscellaneous.dtx 1803 2014-10-09 08:18:02Z kohm $
%<*driver>
% \fi
-\ProvidesFile{scrkernel-miscellaneous.dtx}[2013/12/08 v3.12 KOMA-Script
- (miscellaneous, maybe everything or nothing)]
+\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
+\begingroup
+ \def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
+ \filedate$Date: 2014-10-09 10:18:02 +0200 (Thu, 09 Oct 2014) $
+ \def\filerevision$#1: #2 ${\gdef\filerevision{#2}}
+ \filerevision$Revision: 1803 $
+\endgroup
+\ProvidesFile{scrkernel-miscellaneous.dtx}[\filedate\space\filerevision\space
+ KOMA-Script (miscellaneous, maybe
+ everything or nothing)]
% \iffalse
\documentclass[halfparskip-]{scrdoc}
\usepackage[english,ngerman]{babel}
@@ -134,6 +142,70 @@
% \StopEventually{\PrintIndex\PrintChanges}
%
% \iffalse
+%<*init>
+% \fi
+% \subsection{Test auf die eine \KOMAScript-Klasse}
+%
+% \begin{macrocode}
+%<*package&letter>
+\scr@ifundefinedorrelax{KOMAClassName}{%
+ \PackageWarningNoLine{scrletter}{%
+ 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.%
+ }%
+}{}
+% \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
+% zu einem optionalen Zeitpunkt. Dazu wird intern
+% \cs{scrletter@extra@\meta{macro}} definiert.
+% \begin{macro}{\@renewforletter}
+% \changes{v3.20}{2014/04/10}{neu Anweisung (intern)}%^^A
+% \begin{macro}{\do@renewforletter@list}
+% \changes{v3.20}{2014/04/10}{neu Anweisung (intern)}%^^A
+% Die do-Liste der später umzudefinierenden Anweisungen.
+% \begin{macro}{\do@renewforletter}
+% \changes{v3.20}{2014/04/10}{neu Anweisung (intern)}%^^A
+% Definiert die in der do-Liste gespeicherten Anweisungen um.
+% \begin{macrocode}
+\newcommand*{\scr@renewforletter}{%
+ \@ifstar {\@renewforletter*}%
+ {\@renewforletter{}}%
+}
+\newcommand*{\@renewforletter}[2]{%
+ \g@addto@macro\do@renewforletter@list{\do#2}%
+ \edef\reserved@a{%
+ \noexpand\newcommand\noexpand#1\expandafter\noexpand
+ \csname scrletter@extra@\string#2\endcsname
+ }%
+ \expandafter\reserved@a
+}
+\newcommand*{\do@renewforletter@list}{}
+\newcommand*{\do@renewforletter}{%
+ \begingroup
+ \def\do##1{%
+ \aftergroup\let\aftergroup##1
+ \expandafter\aftergroup\csname scrletter@extra@\string##1\endcsname
+ }%
+ \do@renewforletter@list
+ \endgroup
+ \let\do@renewforletter@list\@empty
+}
+%</package&letter>
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \iffalse
+%</init>
%<*option>
% \fi
%
@@ -154,6 +226,7 @@
% Sicht der Klassen, ob Zeilenüberhänge mit einem schwarzen Balken
% angezeigt werden sollen oder nicht.
% \begin{macrocode}
+%<*class|extend>
\KOMA@key{draft}[true]{%
\KOMA@set@ifkey{draft}{@tempswa}{#1}%
\ifx\FamilyKeyState\FamilyKeyStateProcessed
@@ -167,6 +240,7 @@
\KOMA@DeclareStandardOption
%<package&extend>[scrextend]
{final}{draft=false}
+%</class|extend>
% \end{macrocode}
% \end{option}
% \end{option}
@@ -222,12 +296,12 @@
% \changes{v3.11c}{2013/03/04}{Option \texttt{headings!=big} nicht für die
% Briefklasse}
% \begin{macrocode}
-%<*!extend>
+%<*class>
\KOMAExecuteOptions{%
parskip=false,%
%<!letter> headings=big%
}
-%</!extend>
+%</class>
\KOMAProcessOptions\relax
% \end{macrocode}
%
@@ -365,11 +439,11 @@
% \cs{framebox} und dem Inhalt, \cs{fboxrule} ist die Dicke des
% Rahmens.
% \begin{macrocode}
-%<*!extend>
+%<*class>
\setlength{\skip\@mpfootins}{\skip\footins}
\setlength\fboxsep{3\p@}
\setlength\fboxrule{.4\p@}
-%</!extend>
+%</class>
% \end{macrocode}
% \end{Length}
% \end{Length}
@@ -428,6 +502,7 @@
% Definition eines neuen \emph{true}-\emph{page}-\emph{odd} Labels.
% Wird in der \texttt{aux}-Datei verwendet.
% \begin{macrocode}
+%<*class|extend>
\newcommand*{\new@tpo@label}{\@newl@bel{tpo}}
% \end{macrocode}
% \end{macro}
@@ -507,6 +582,7 @@
\expandafter\@secondoftwo
\fi
}
+%</class|extend>
% \end{macrocode}
% \end{macro}
%
@@ -526,12 +602,14 @@
% unverändert auf die Definition aus dem \LaTeX-Kern zurückgegriffen
% wird.
% \begin{macrocode}
+%<*class|extend>
\DeclareRobustCommand*\textsubscript[1]{%
\@textsubscript{\selectfont#1}%
}
\providecommand*{\@textsubscript}[1]{%
{\m@th\ensuremath{_{\mbox{\fontsize\sf@size\z@#1}}}}%
}
+%</class|extend>
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -582,6 +660,91 @@
% \end{macrocode}
% \end{macro}^^A \scr@package@not@recommended
%
+% \subsection{Workarounds für fremde Pakete}
+% \label{sec:packageworkarounds}
+%
+% \changes{v3.13a}{2014/10/09}{\textsf{titlesec} hat ein schwerwiegendes
+% Problem}
+% 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
+% ist das sicher nicht. Man sollte das Paket schlicht besser nicht mit
+% \KOMAScript{} zusammen verwenden.
+% \begin{macrocode}
+%<*class>
+%<*!letter>
+\BeforePackage{titlesec}{%
+ \let\scr@ttl@saved@section\section
+ \let\scr@ttl@saved@subsection\subsection
+ \let\scr@ttl@saved@subsubsection\subsubsection
+ \let\scr@ttl@saved@paragraph\paragraph
+ \let\scr@ttl@saved@subparagraph\subparagraph
+}
+\AfterPackage{titlesec}{%
+ \@ifpackagelater{titlesec}{2014/10/09}{%
+ \ClassInfo{\KOMAClassName}{%
+ Deactivating the `titlesec` workaround,\MessageBreak
+ because package is newer than expected%
+ }%
+ }{%
+ \PackageWarning{\KOMAClassName}{%
+ Activating an ugly workaround for a missing\MessageBreak
+ feature of package `titlesec`%
+ }%
+ \def\scr@ttl@@extract#1\scr@startsection#2#3#4#5#6#7#8{%
+ \@tempskipa=#5
+ \@tempskipb=#6
+ \ifdim\@tempskipa<\z@
+ \toks@{\titlespacing*#8{#4}}%
+ \@tempskipa-\@tempskipa
+ \else
+ \toks@{\titlespacing#8{#4}}%
+ \fi
+ \@ifundefined{ttl@space}{}{%
+ \ttl@assign\@tempskipa*\ttl@space\relax\beforetitleunit}%
+ \ifdim\@tempskipb<\z@
+ \if@tempswa
+ \titleformat#8[runin]%
+ {\ttl@fonts\ttl@sizes{#3}}{\@seccntformat{#2}}%
+ {\z@}\ttl@passexplicit
+ \else
+ \titleformat#8[runin]%
+ {#7}{\@seccntformat{#2}}%
+ {\z@}\ttl@passexplicit
+ \fi
+ \@tempskipb-\@tempskipb
+ \else
+ \if@tempswa
+ \titleformat#8%
+ {\ttl@fil\ttl@fonts\ttl@sizes{#3}}{\@seccntformat{#2}}%
+ {\z@}\ttl@passexplicit
+ \else
+ \titleformat#8%
+ {#7}{\@seccntformat{#2}}%
+ {\z@}\ttl@passexplicit
+ \fi
+ \@ifundefined{ttl@space}{}{%
+ \ttl@assign\@tempskipb*\ttl@space\relax\aftertitleunit}%
+ \fi
+ \edef\ttl@a{\the\toks@{\the\@tempskipa}{\the\@tempskipb}}
+ \ttl@a}%
+ \expandafter\scr@ttl@@extract\scr@ttl@saved@section\section
+ \expandafter\scr@ttl@@extract\scr@ttl@saved@subsection\subsection
+ \expandafter\scr@ttl@@extract\scr@ttl@saved@subsubsection\subsubsection
+ \expandafter\scr@ttl@@extract\scr@ttl@saved@paragraph\paragraph
+ \expandafter\scr@ttl@@extract\scr@ttl@saved@subparagraph\subparagraph
+ \let\scr@ttl@saved@section\relax
+ \let\scr@ttl@saved@subsection\relax
+ \let\scr@ttl@saved@subsubsection\relax
+ \let\scr@ttl@saved@paragraph\relax
+ \let\scr@ttl@saved@subparagraph\relax
+ \let\scr@ttl@@extract\relax
+ }%
+}
+%</!letter>
+%</class>
+% \end{macrocode}
+%
%
% \iffalse
%</body>