% \CheckSum{278} % \iffalse meta-comment % ====================================================================== % scrkftn.dtx % Copyright (c) Markus Kohm, 2002-2009 % % 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. % ---------------------------------------------------------------------- % scrkftn.dtx % Copyright (c) Markus Kohm, 2002-2009 % % 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. % ====================================================================== % \fi % % \CharacterTable % {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z % Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z % Digits \0\1\2\3\4\5\6\7\8\9 % Exclamation \! Double quote \" Hash (number) \# % Dollar \$ Percent \% Ampersand \& % Acute accent \' Left paren \( Right paren \) % Asterisk \* Plus \+ Comma \, % Minus \- Point \. Solidus \/ % Colon \: Semicolon \; Less than \< % Equals \= Greater than \> Question mark \? % Commercial at \@ Left bracket \[ Backslash \\ % Right bracket \] Circumflex \^ Underscore \_ % Grave accent \` Left brace \{ Vertical bar \| % Right brace \} Tilde \~} % % \iffalse %%% From File: scrkftn.dtx %<*driver> % \fi \ProvidesFile{scrkftn.dtx}[2008/11/22 v3.01a KOMA-Script (footnotes)] % \iffalse \documentclass[halfparskip-]{scrdoc} \usepackage[english,ngerman]{babel} \usepackage[latin1]{inputenc} \CodelineIndex \RecordChanges \GetFileInfo{scrkftn.dtx} \title{\KOMAScript{} \partname\ \texttt{\filename}% \footnote{Dies ist Version \fileversion\ von Datei \texttt{\filename}.}} \date{\filedate} \author{Markus Kohm} \begin{document} \maketitle \tableofcontents \DocInput{\filename} \end{document} % % \fi % % \selectlanguage{ngerman} % % \changes{v2.95}{2002/07/01}{% % erste Version aus der Aufteilung von \texttt{scrclass.dtx}} % % \section{Fußnoten} % % Die Fußnotengestaltung in \KOMAScript{} basiert auf einem Hinweis % aus dem dokumentierten \LaTeX-Kern. % % \StopEventually{\PrintIndex\PrintChanges} % % \iffalse %<*option> % \fi % % \subsection{Option} % % \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 % \ClassWarning{\KOMAClassName}{% % \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 % %<*body> % \fi % % \subsection{Definitionen für Fußnoten} % % \begin{macro}{\footnoterule} % \changes{v2.3a}{1995/07/08}{\cs{@width} verwendet} % \changes{v2.8q}{2002/02/06}{\cs{raggedbottom}-Verbesserung % eingefügt} % \changes{v2.95}{2002/01/07}{\texttt{.05fil} statt % \texttt{.005fil}} % Im Fall, dass \cs{raggedbottom} verwendet wird, die Fußnotenlinie % nach unten gedrückt. Dies funktioniert nur dann nicht, wenn % Abbildungen oder Tabellen mit der Option "`\texttt{b}"' an das Ende % der Seite gesetzt werden. \cs{raggedbottom} wird daran erkannt, dass % \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@} % % \end{macrocode} % \end{macro} % % \begin{Counter}{footnote} % Der Fußnotenzähler wird mit \cs{chapter} zurückgesetzt, die Fußnoten % werden also kapitelweise nummeriert. % \begin{macrocode} %\@addtoreset{footnote}{chapter} % \end{macrocode} % \end{Counter} % % \begin{macro}{\deffootnote} % \changes{v2.4l}{1997/02/06}{neu} % \changes{v2.95}{2002/07/09}{Absatzeinzug korrigiert} % \changes{v2.9l}{2003/01/28}{\cs{edef}\cs{@tempa} ersetzt} % \changes{v2.9q}{2004/01/31}{\cs{ftn@font} erlaubt aus Gr"unden der % Kompatibilität mit dem \textsl{footnote} Paket kein Argument mehr} % Dieses Makro zur Definition der Gestalt von Fußnoten erlaubt einen % optionalen und erwartet drei weitere Parameter. Der erste, optionale % gibt den Einzug der ersten Zeile des Fußnotentextes vom linken Rand % an. Die Fußnotenmarkierungen werden rechtsbündig in diesen Einzug % gesetzt. Der zweite, also erste nicht optionale Parameter gibt den % Einzug jeder weiteren Zeile des Fußnotentextes vom linken Rand % an. Fehlt der optionale Parameter so ist er gleich diesem. Der % dritte, also zweite nicht optionale Parameter gibt den zusätzlichen % Einzug jedes weiteren Absatzes einer Fußnote an. Der letzte % Parameter schließlich bestimmt die Ausgabe der Fußnotenmarkierung in % der Fußnote. Diese wird zusätzlich in eine \cs{hbox} gesetzt. % \begin{macrocode} \newcommand\deffootnote[4][]{% \long\def\@makefntext##1{% \setlength{\@tempdimc}{#3}% \def\@tempa{#1}\ifx\@tempa\@empty \@setpar{\@@par \@tempdima = \hsize \addtolength{\@tempdima}{-#2}% \parshape \@ne #2 \@tempdima}% \else \addtolength{\@tempdimc}{#2}% \addtolength{\@tempdimc}{-#1}% \@setpar{\@@par \@tempdima = \hsize \addtolength{\@tempdima}{-#1}% \@tempdimb = \hsize \addtolength{\@tempdimb}{-#2}% \parshape \tw@ #1 \@tempdima #2 \@tempdimb }% \fi \par \parindent\@tempdimc\noindent \ftn@font\hbox to \z@{\hss\@@makefnmark}##1% }% % \end{macrocode} % \begin{macro}{\@@makefnmark} % \changes{v2.4l}{1997/02/06}{neu} % Makro zum Setzen der Fußnotenmarkierung in der Fußnote: % \begin{macrocode} \def\@@makefnmark{\hbox{\ftnm@font{#4}}}% % \end{macrocode} % \end{macro} % \begin{macrocode} } % \end{macrocode} % \end{macro} % % \begin{macro}{\ftn@font} % \changes{v2.8q}{2001/11/16}{neu (intern)} % \begin{macro}{\scr@fnt@footnote} % \changes{v2.8q}{2001/11/16}{neues Element \texttt{footnote}} % \begin{macro}{\ftnm@font} % \changes{v2.8q}{2001/11/16}{neu (intern)} % \begin{macro}{\scr@fnt@footnotenumber} % \changes{v2.8q}{2001/11/16}{neues Element % \texttt{footnotenumber}} % \begin{macro}{\scr@fnt@footnotenlabel} % \changes{v2.8q}{2001/11/16}{neues Element \texttt{footnotelabel}} % \begin{macro}{\scr@fnt@instead@footnotetext} % \changes{v2.8q}{2001/11/16}{neuer Ersatz für Element % \texttt{footnotetext}} % Das erste Element gibt die Schrift an, in der die Fußnote gesetzt % wird. Davon abweichend kann mit dem zweiten Element die Schriftart % für die Fußnotennummer getrennt angegeben werden. Aufgrund der % Definition kann auch ein Makro verwendet werden, das ein Argument % erwartet. % \begin{macrocode} \newcommand*{\ftn@font}{\normalfont} \newcommand*{\scr@fnt@footnote}{\ftn@font} \newcommand*{\ftnm@font}{} \newcommand*{\scr@fnt@footnotenumber}{\ftnm@font} \newcommand*{\scr@fnt@footnotelabel}{\ftnm@font} \newcommand*{\scr@fnt@instead@footnotetext}{footnote} % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % \end{macro} % % \begin{macro}{\deffootnotemark} % \changes{v2.4l}{1997/02/06}{neu} % Makro zur Definition der Fußnotenmarkierung im Text: % \begin{macrocode} \newcommand*\deffootnotemark[1]{% \def\@makefnmark{\hbox{\ftntm@font{#1}}}% } % \end{macrocode} % % \begin{macro}{\ftntm@font} % \changes{v2.8q}{2001/11/16}{neu (intern)} % \begin{macro}{\scr@fnt@footnotereference} % \changes{v2.8q}{2001/11/16}{neues Element % \texttt{footnotereference}} % \begin{macro}{\scr@fnt@footnoteref} % \changes{v2.8q}{2001/11/16}{neues Element \texttt{footnoteref}} % Dies ist die Schriftart der Fußnotenreferenz im Text. Auch hier kann % ggf. ein Makro verwendet werden, das ein Argument erwartet. % \begin{macrocode} \newcommand*{\ftntm@font}{} \newcommand*{\scr@fnt@footnotereference}{\ftntm@font} \newcommand*{\scr@fnt@footnoteref}{\ftntm@font} % \end{macrocode} % \end{macro} % \end{macro} % \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} %\providecommand*{\FN@mf@check}{% %\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} % \changes{v3.01a}{2008/11/22}{long} % \begin{macro}{\scr@saved@footnotetext} % \changes{v2.98c}{2008/02/01}{Neu (intern)} % \changes{v3.01a}{2008/11/22}{long} % 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} %\newcommand*{\multfootsep}{,} %\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} %\providecommand*{\thefootnotemark}{\@thefnmark} % \end{macrocode} % \end{macro} % % \changes{v2.4l}{1997/02/06}{Verwendung der neuen Makros zur % Fußnotengestaltgebung} % \begin{macro}{\@makefnmark} % \begin{macrocode} %<*class> \deffootnote[1em]{1.5em}{1em}{\textsuperscript{\thefootnotemark}} \deffootnotemark{\textsuperscript{\thefootnotemark}} % % \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} %\newcommand*{\footref}[1]{% %\providecommand*{\footref}[1]{% \begingroup \unrestored@protected@xdef\@thefnmark{\ref{#1}}% \endgroup \@footnotemark } % \end{macrocode} % \end{macro} % % \iffalse % % \fi % % \Finale % \endinput % % end of file `scrkftn.dtx' %%% Local Variables: %%% mode: doctex %%% TeX-master: t %%% End: