summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/koma-script/scrkftn.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script/scrkftn.dtx')
-rw-r--r--Master/texmf-dist/source/latex/koma-script/scrkftn.dtx196
1 files changed, 190 insertions, 6 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/scrkftn.dtx b/Master/texmf-dist/source/latex/koma-script/scrkftn.dtx
index 0ecf2864831..1f869f3bce0 100644
--- a/Master/texmf-dist/source/latex/koma-script/scrkftn.dtx
+++ b/Master/texmf-dist/source/latex/koma-script/scrkftn.dtx
@@ -1,8 +1,8 @@
-% \CheckSum{111}
+% \CheckSum{278}
% \iffalse meta-comment
% ======================================================================
% scrkftn.dtx
-% Copyright (c) Markus Kohm, 2002-2007
+% Copyright (c) Markus Kohm, 2002-2008
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -20,7 +20,7 @@
% This work consists of all files listed in manifest.txt.
% ----------------------------------------------------------------------
% scrkftn.dtx
-% Copyright (c) Markus Kohm, 2002-2007
+% Copyright (c) Markus Kohm, 2002-2008
%
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
% Version 1.3b, verteilt und/oder veraendert werden.
@@ -58,7 +58,7 @@
%%% From File: scrkftn.dtx
%<*driver>
% \fi
-\ProvidesFile{scrkftn.dtx}[2006/03/28 v2.95 KOMA-Script (footnotes)]
+\ProvidesFile{scrkftn.dtx}[2008/05/02 v3.00 KOMA-Script (footnotes)]
% \iffalse
\documentclass[halfparskip-]{scrdoc}
\usepackage[english,ngerman]{babel}
@@ -97,7 +97,79 @@
% \fi
%
% \subsection{Option}
-% Die Fußnoten werden nicht unmittelbar von Optionen beeinflusst.
+%
+% \begin{option}{footnotes}
+% \changes{v2.98c}{2008/02/01}{Neue Option für Mehrfachfußnoten}
+% Mehrfachfußnoten gibt es dann, wenn zu einer Textstelle mehrere Fußnoten
+% hintereinander gesetzt werden. Normalerweise werden die einfach ohne Abstand
+% hintereinander geklatscht. Man kann dann aber die beiden Fußnoten 1 und 2
+% beispielsweise nicht von der Fußnote 12 unterscheiden. Besser ist es, wenn
+% mehrere Fußnoten automatisch durch ein Trennzeichen getrennt
+% werden. Die Funktion ist \textsf{footmisc} entnommen und sollte inklusive
+% Ein- und Ausschalten auch zusammen mit diesem Paket funktionieren.
+% \begin{macrocode}
+\KOMA@key{footnotes}{%
+ \ifx\@footnotemark\scr@saved@footnotemark
+ \else
+ \ifx\@footnotemark\scr@footnotemark
+ \else
+%<class> \ClassWarning{\KOMAClassName}{%
+%<package> \PackageWarning{scrextend}{%
+ Change of `\string\@footnotemark' detected!\MessageBreak
+ Use of `footnotes=#1' may break\MessageBreak
+ another package!\MessageBreak
+ Maybe you should remove the usage of\MessageBreak
+ option `footnotes=#1'}%
+ \fi
+ \fi
+ \ifstr{#1}{multiple}{%
+ \let\@footnotemark\scr@footnotemark
+ \let\FN@mf@prepare\scr@mf@prepare
+ \def\scr@footmisc@options{multiple}%
+ }{%
+ \ifstr{#1}{nomultiple}{%
+ \let\@footnotemark\scr@saved@footnotemark
+ \let\FN@mf@prepare\relax
+ \let\scr@footmisc@options\@empty
+ }{%
+ \KOMA@unknown@keyval{footnotes}{#1}{`multiple' and `nomultiple'}%
+ }%
+ }%
+}
+% \end{macrocode}
+% \begin{macro}{\scr@footmisc@options}
+% \changes{v2.98c}{2008/02/14}{Neuer (intern)}
+% Für etwas mehr Kompatibilität mit \textsf{footmisc}, wird die aktuelle
+% Einstellung der \texttt{multifootnotes} an das Paket weitergereicht.
+% \begin{macrocode}
+\newcommand*{\scr@footmisc@options}{}
+\PassOptionsToPackage{\noexpand\scr@footmisc@options}{footmisc}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\scr@saved@footnotemark}
+% \changes{v2.98c}{2008/02/01}{Neu (intern)}
+% \begin{macro}{\scr@footnotemark}
+% \changes{v2.98c}{2008/02/01}{Neu (intern)}
+% \begin{macrocode}
+\newcommand*{\scr@saved@footnotemark}{%
+ \leavevmode
+ \ifhmode\edef\@x@sf{\the\spacefactor}\nobreak\fi
+ \@makefnmark
+ \ifhmode\spacefactor\@x@sf\fi
+ \relax}
+\expandafter\CheckCommand\expandafter*\expandafter\@footnotemark
+\expandafter{\scr@saved@footnotemark}
+\newcommand*{\scr@footnotemark}{%
+ \leavevmode
+ \ifhmode\edef\@x@sf{\the\spacefactor}\FN@mf@check\nobreak\fi
+ \@makefnmark
+ \csname FN@mf@prepare\endcsname
+ \ifhmode\spacefactor\@x@sf\fi
+ \relax}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{option}
%
%
% \iffalse
@@ -120,11 +192,13 @@
% \cs{@textbottom} nicht \cs{relax} ist. Das kann natürlich auch
% einmal schief gehen, ist dann aber auch nicht ganz so tragisch.
% \begin{macrocode}
+%<*class>
\renewcommand*\footnoterule{%
\kern-3\p@
\ifx\@textbottom\relax\else\vskip \z@ \@plus.05fil\fi
\hrule\@width.4\columnwidth
\kern 2.6\p@}
+%</class>
% \end{macrocode}
% \end{macro}
%
@@ -252,11 +326,98 @@
% \end{macro}
% \end{macro}
%
+% \begin{macro}{\FN@mf@check}
+% \changes{v2.98c}{2008/02/01}{Neu (intern)}
+% Dafür sorgen, dass hier ggf. der Trenner eingefügt wird.
+% \begin{macrocode}
+%<package>\providecommand*{\FN@mf@check}{%
+%<class>\newcommand*{\FN@mf@check}{%
+ \ifdim\lastkern=\multiplefootnotemarker\relax
+ \edef\@x@sf{\the\spacefactor}%
+ \unkern\multiplefootnoteseparator
+ \spacefactor\@x@sf\relax
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\scr@mf@prepare}
+% \changes{v2.98c}{2008/02/01}{Neu (intern)}
+% Damit |\FN@mf@check| informiert ist, dass es etwas zu tun hat.
+% \begin{macrocode}
+\newcommand*{\scr@mf@prepare}{%
+ \kern-\multiplefootnotemarker
+ \kern\multiplefootnotemarker\relax
+}
+% \end{macro}
+% \begin{macro}{\F@mf@prepare}
+% \changes{v2.98c}{2008/02/14}{Neu (intern)}
+% Aus Gründen der Kompatibilität mit \textsf{footmisc} wird das dann
+% vorsoglich auch noch definiert (und zwar als \cs{relax}, wenn es bisher noch
+% nicht definiert ist).
+\@ifundefined{FN@mf@prepare}{}{}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@footnotetext}
+% \begin{macro}{\scr@saved@footnotetext}
+% \changes{v2.98c}{2008/02/01}{Neu (intern)}
+% Auch hier muss dafür gesorgt werden, dass die Markierung erfolgt.
+% \begin{macrocode}
+\newcommand*{\scr@saved@footnotetext}{}
+\let\scr@saved@footnotetext\@footnotetext
+\renewcommand*{\@footnotetext}[1]{%
+ \scr@saved@footnotetext{#1}%
+ \csname FN@mf@prepare\endcsname
+}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% Es muss auch dafür gesorgt werden, dass \textsf{footmisc} nicht unnötig mit
+% Warnung um sich wirft.
+% \begin{macrocode}
+\BeforePackage{footmisc}{%
+ \ifx\@footnotemark\scr@footnotemark
+ \let\@footnotemark\scr@saved@footnotemark
+ \fi
+ \let\@footnotetext\scr@saved@footnotetext
+}
+% \end{macrocode}
+%
+% \begin{macro}{\multiplefootnoteseparator}
+% \changes{v2.98c}{2008/02/01}{Neu}
+% Das ist der formatierte Separator!
+% \begin{macrocode}
+\newcommand*{\multiplefootnoteseparator}{%
+ \begingroup\let\thefootnotemark\multfootsep\@makefnmark\endgroup
+}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\multfootsep}
+% \changes{v2.98c}{2008/02/01}{Neu}
+% Und hier \textsf{footmisc}-kompatibel unformatiert
+% \begin{macrocode}
+%<class>\newcommand*{\multfootsep}{,}
+%<package>\providecommand*{\multfootsep}{,}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\multiplefootnotemarker}
+% \changes{v2.98c}{2008/02/01}{Neu}
+% Das Markierungskerning wieder \textsf{footmisc}-kompatibel.
+% \begin{macrocode}
+\newcommand*{\multiplefootnotemarker}{3sp}
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macro}{\thefootnotemark}
% \changes{v2.4l}{1997/02/06}{neu}
% Makro, damit \cs{@thefnmark} auf Anwenderebene verfügbar wird:
% \begin{macrocode}
-\newcommand*{\thefootnotemark}{\@thefnmark}
+%<class>\newcommand*{\thefootnotemark}{\@thefnmark}
+%<package>\providecommand*{\thefootnotemark}{\@thefnmark}
% \end{macrocode}
% \end{macro}
%
@@ -264,11 +425,34 @@
% Fußnotengestaltgebung}
% \begin{macro}{\@makefnmark}
% \begin{macrocode}
+%<*class>
\deffootnote[1em]{1.5em}{1em}{\textsuperscript{\thefootnotemark}}
\deffootnotemark{\textsuperscript{\thefootnotemark}}
+%</class>
% \end{macrocode}
% \end{macro}
%
+% \subsection{Fußnotenreferenz}
+%
+% \begin{macro}{\footref}
+% \changes{v2.98c}{2008/02/01}{Neue Anweisung}
+% Damit man nicht nur zu diesem Zweck das Paket \textsf{footmisc} laden muss,
+% kann man jetzt auch mit \KOMAScript{} alleine Fußnoten setzen, die
+% Referenzen auf andere Fußnoten sind. Der Code stammt einerseits aus footmisc
+% andererseits auf der Usenet-Gruppe comp.text.tex. Wer den zuerst hatte, ist
+% für mich nicht mehr reproduzierbar. Jedenfalls steht er in footmisc unter
+% LPPL und \KOMAScript{} steht ebenfalls unter LPPL. Das sollte also im
+% Zweifelsfall nicht das Problem sein.
+% \begin{macrocode}
+%<class>\newcommand*{\footref}[1]{%
+%<package>\providecommand*{\footref}[1]{%
+ \begingroup
+ \unrestored@protected@xdef\@thefnmark{\ref{#1}}%
+ \endgroup
+ \@footnotemark
+}
+% \end{macrocode}
+% \end{macro}
%
% \iffalse
%</body>