diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script/scrkftn.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/koma-script/scrkftn.dtx | 196 |
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> |