diff options
Diffstat (limited to 'macros/latex/contrib/ncctools/source/nccfoots.dtx')
-rw-r--r-- | macros/latex/contrib/ncctools/source/nccfoots.dtx | 95 |
1 files changed, 95 insertions, 0 deletions
diff --git a/macros/latex/contrib/ncctools/source/nccfoots.dtx b/macros/latex/contrib/ncctools/source/nccfoots.dtx new file mode 100644 index 0000000000..c428928314 --- /dev/null +++ b/macros/latex/contrib/ncctools/source/nccfoots.dtx @@ -0,0 +1,95 @@ +% \iffalse +%% +%% File: nccfoots.dtx Copyright (C) 1998-2005 by Alexander I. Rozhenko +%% +%<package>\NeedsTeXFormat{LaTeX2e} +%<package>\ProvidesPackage{nccfoots} +%<package> [2005/02/03 v1.2 NCC Footnotes Package (NCC)] +% +% \changes{v1.0}{1998/12/18}{Initial version} +% \changes{v1.1}{2004/11/23}{Minor corrections of the documentation} +% \changes{v1.2}{2005/02/03}{\NCC@makemark rename to \NCC@makefnmark} +% +%<*driver> +\let\makeindex\relax +\documentclass{ltxdoc} +\usepackage{nccfoots} +\GetFileInfo{nccfoots.sty} +\begin{document} +\title{The \textsf{nccfoots} package\thanks{This file + has version number \fileversion, last + revised \filedate.}} +\author{Alexander I. Rozhenko\\rozhenko@oapmg.sscc.ru} +\date{\filedate} +\maketitle +\DocInput{nccfoots.dtx} +\end{document} +%</driver> +% \fi +% +% The package implements commands for generating footnotes marked by +% hands. +% +% \section{User Interface} +% +% \DescribeMacro\Footnotemark +% \DescribeMacro\Footnotetext +% \DescribeMacro\Footnote +% These commands are acompany to the ordinary \LaTeX's footnote mark +% command. They allow user to mark footnotes by hands. Their syntax is +% the following: +% \begin{quote} +% |\Footnotemark|\marg{marker}\\ +% |\Footnotetext|\marg{marker}\marg{inserted text}\\ +% |\Footnote|\marg{marker}\marg{inserted text} +% \end{quote} +% When \meta{marker} is empty the previous marker will be used. Hence, +% |\Footnote| command is equal to +% \begin{quote} +% |\Footnotemark|\marg{marker}|\Footnotetext{}|\marg{inserted text} +% \end{quote} +% +% \StopEventually{} +% +% \section{The Implementation} +% +% \begin{macro}{\NCC@makefnmark} +% We begin with the internal command |\NCC@makemark| which tests the +% footnote marker to be empty and globally redefines \LaTeX{} +% internal command |\@thefnmark| to be equal to this marker. +% We use exactly the same expansion method as in \LaTeXe{}. +% We also initialize |\@thefnmark| command to avoid error when the +% first marking command has an empty marker. +% \begin{macrocode} +%<*package> +\def\NCC@makefnmark#1{\def\@tempa{#1}% + \ifx\@tempa\@empty \else + \begingroup + \unrestored@protected@xdef\@thefnmark{#1}% + \endgroup + \fi +} +\let\@thefnmark\@empty +% \end{macrocode} +% \textbf{Note}. If you use an automatic enumeration and produce +% marker by |\the|\meta{counter} the internal command producing the +% shape of number have to be \emph{robust}. All standard shaping +% commands like |\arabic|, |\roman|, etc., are robust. Take it +% into account if you want design your own shape. +% \end{macro} +% +% \begin{macro}{\Footnote} +% \begin{macro}{\Footnotemark} +% \begin{macro}{\Footnotetext} +% Finally, we add the handle style footnote commands which are +% companions to the respective standard ones. +% \begin{macrocode} +\newcommand*{\Footnote}[1]{\Footnotemark{#1}\@footnotetext} +\newcommand*{\Footnotemark}[1]{\NCC@makefnmark{#1}\@footnotemark} +\newcommand*{\Footnotetext}[1]{\NCC@makefnmark{#1}\@footnotetext} +%</package> +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +\endinput |