From bec520863474a2c3743eeefb46847f4c09de096f Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 19 Feb 2012 23:32:17 +0000 Subject: new latex package footnoterange (19feb12) git-svn-id: svn://tug.org/texlive/trunk@25430 c570f23f-e606-0410-a88d-b1316a301751 --- .../source/latex/footnoterange/footnoterange.drv | 77 ++ .../source/latex/footnoterange/footnoterange.dtx | 984 +++++++++++++++++++++ .../source/latex/footnoterange/footnoterange.ins | 126 +++ 3 files changed, 1187 insertions(+) create mode 100644 Master/texmf-dist/source/latex/footnoterange/footnoterange.drv create mode 100644 Master/texmf-dist/source/latex/footnoterange/footnoterange.dtx create mode 100644 Master/texmf-dist/source/latex/footnoterange/footnoterange.ins (limited to 'Master/texmf-dist/source') diff --git a/Master/texmf-dist/source/latex/footnoterange/footnoterange.drv b/Master/texmf-dist/source/latex/footnoterange/footnoterange.drv new file mode 100644 index 00000000000..3235c0c1933 --- /dev/null +++ b/Master/texmf-dist/source/latex/footnoterange/footnoterange.drv @@ -0,0 +1,77 @@ +%% +%% This is file `footnoterange.drv', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% footnoterange.dtx (with options: `driver') +%% +%% This is a generated file. +%% +%% Project: footnoterange +%% Version: 2012/02/17 v1.0a +%% +%% Copyright (C) 2012 by +%% H.-Martin M"unch +%% +%% The usual disclaimer applies: +%% If it doesn't work right that's your problem. +%% (Nevertheless, send an e-mail to the maintainer +%% when you find an error in this package.) +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either +%% version 1.3c of this license or (at your option) any later +%% version. This version of this license is in +%% http://www.latex-project.org/lppl/lppl-1-3c.txt +%% and 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. +%% +%% This work has the LPPL maintenance status "maintained". +%% +%% The Current Maintainer of this work is H.-Martin Muench. +%% +%% This work consists of the main source file footnoterange.dtx, +%% the README, and the derived files +%% footnoterange.sty, footnoterange.pdf, +%% footnoterange.ins, footnoterange.drv, +%% footnoterange-example.tex, footnoterange-example.pdf. +%% +\NeedsTeXFormat{LaTeX2e}[2011/06/27] +\ProvidesFile{footnoterange.drv}% + [2012/02/17 v1.0a References to ranges of footnotes (HMM)] +\documentclass{ltxdoc}[2007/11/11]% v2.0u +\usepackage{holtxdoc}[2011/02/04]% v0.21 +%% footnoterange may work with earlier versions of LaTeX2e and those +%% class and package, but this was not tested. +%% Please consider updating your LaTeX, class, and package +%% to the most recent version (if they are not already the most +%% recent version). +\hypersetup{% + pdfsubject={References to ranges of footnotes (HMM)},% + pdfkeywords={LaTeX, footnoterange, footnotes, footnote, reference, H.-Martin Muench},% + pdfencoding=auto,% + pdflang={en},% + breaklinks=true,% + linktoc=all,% + pdfstartview=FitH,% + pdfpagelayout=OneColumn,% + bookmarksnumbered=true,% + bookmarksopen=true,% + bookmarksopenlevel=3,% + pdfmenubar=true,% + pdftoolbar=true,% + pdfwindowui=true,% + pdfnewwindow=true% +} +\CodelineIndex +\hyphenation{printing docu-ment} +\gdef\unit#1{\mathord{\thinspace\mathrm{#1}}}% +\begin{document} + \DocInput{footnoterange.dtx}% +\end{document} +\endinput +%% +%% End of file `footnoterange.drv'. diff --git a/Master/texmf-dist/source/latex/footnoterange/footnoterange.dtx b/Master/texmf-dist/source/latex/footnoterange/footnoterange.dtx new file mode 100644 index 00000000000..cb0d7252de3 --- /dev/null +++ b/Master/texmf-dist/source/latex/footnoterange/footnoterange.dtx @@ -0,0 +1,984 @@ +% \iffalse meta-comment +% +% File: footnoterange.dtx +% Version: 2012/02/17 v1.0a +% +% Copyright (C) 2012 by +% H.-Martin M"unch +% +% This work may be distributed and/or modified under the +% conditions of the LaTeX Project Public License, either +% version 1.3c of this license or (at your option) any later +% version. This version of this license is in +% http://www.latex-project.org/lppl/lppl-1-3c.txt +% and 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. +% +% This work has the LPPL maintenance status "maintained". +% +% The Current Maintainer of this work is H.-Martin Muench. +% +% This work consists of the main source file footnoterange.dtx, +% the README, and the derived files +% footnoterange.sty, footnoterange.pdf, +% footnoterange.ins, footnoterange.drv, +% footnoterange-example.tex, footnoterange-example.pdf. +% +% Distribution: +% CTAN:macros/latex/contrib/footnoterange/footnoterange.dtx +% CTAN:macros/latex/contrib/footnoterange/footnoterange.pdf +% CTAN:install/macros/latex/contrib/footnoterange.tds.zip +% +% Cf. http://ctan.org/pkg/footnoterange and +% http://www.tex.ac.uk/tex-archive/help/Catalogue/entries/footnoterange.html +% (when they have been created) +% +% Unpacking: +% (a) If footnoterange.ins is present: +% tex footnoterange.ins +% (b) Without footnoterange.ins: +% tex footnoterange.dtx +% (c) If you insist on using LaTeX +% latex \let\install=y\input{footnoterange.dtx} +% (quote the arguments according to the demands of your shell) +% +% Documentation: +% (a) If footnoterange.drv is present: +% (pdf)latex footnoterange.drv +% makeindex -s gind.ist footnoterange.idx +% (pdf)latex footnoterange.drv +% makeindex -s gind.ist footnoterange.idx +% (pdf)latex footnoterange.drv +% (b) Without footnoterange.drv: +% (pdf)latex footnoterange.dtx +% makeindex -s gind.ist footnoterange.idx +% (pdf)latex footnoterange.dtx +% makeindex -s gind.ist footnoterange.idx +% (pdf)latex footnoterange.dtx +% +% The class ltxdoc loads the configuration file ltxdoc.cfg +% if available. Here you can specify further options, e.g. +% use DIN A4 as paper format: +% \PassOptionsToClass{a4paper}{article} +% +% Installation: +% TDS:tex/latex/footnoterange/footnoterange.sty +% TDS:doc/latex/footnoterange/footnoterange.pdf +% TDS:doc/latex/footnoterange/footnoterange-example.tex +% TDS:doc/latex/footnoterange/footnoterange-example.pdf +% TDS:source/latex/footnoterange/footnoterange.dtx +% +%<*ignore> +\begingroup + \catcode123=1 % + \catcode125=2 % + \def\x{LaTeX2e}% +\expandafter\endgroup +\ifcase 0\ifx\install y1\fi\expandafter + \ifx\csname processbatchFile\endcsname\relax\else1\fi + \ifx\fmtname\x\else 1\fi\relax +\else\csname fi\endcsname +% +%<*install> +\input docstrip.tex +\Msg{*********************************************************************************} +\Msg{* Installation } +\Msg{* Package: footnoterange 2012/02/17 v1.0a References to ranges of footnotes (HMM)} +\Msg{*********************************************************************************} + +\keepsilent +\askforoverwritefalse + +\let\MetaPrefix\relax +\preamble + +This is a generated file. + +Project: footnoterange +Version: 2012/02/17 v1.0a + +Copyright (C) 2012 by + H.-Martin M"unch + +The usual disclaimer applies: +If it doesn't work right that's your problem. +(Nevertheless, send an e-mail to the maintainer + when you find an error in this package.) + +This work may be distributed and/or modified under the +conditions of the LaTeX Project Public License, either +version 1.3c of this license or (at your option) any later +version. This version of this license is in + http://www.latex-project.org/lppl/lppl-1-3c.txt +and 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. + +This work has the LPPL maintenance status "maintained". + +The Current Maintainer of this work is H.-Martin Muench. + +This work consists of the main source file footnoterange.dtx, +the README, and the derived files + footnoterange.sty, footnoterange.pdf, + footnoterange.ins, footnoterange.drv, + footnoterange-example.tex, footnoterange-example.pdf. + +\endpreamble +\let\MetaPrefix\DoubleperCent + +\generate{% + \file{footnoterange.ins}{\from{footnoterange.dtx}{install}}% + \file{footnoterange.drv}{\from{footnoterange.dtx}{driver}}% + \usedir{tex/latex/footnoterange}% + \file{footnoterange.sty}{\from{footnoterange.dtx}{package}}% + \usedir{doc/latex/footnoterange}% + \file{footnoterange-example.tex}{\from{footnoterange.dtx}{example}}% +} + +\catcode32=13\relax% active space +\let =\space% +\Msg{************************************************************************} +\Msg{*} +\Msg{* To finish the installation you have to move the following} +\Msg{* file into a directory searched by TeX:} +\Msg{*} +\Msg{* footnoterange.sty} +\Msg{*} +\Msg{* To produce the documentation run the file `footnoterange.drv'} +\Msg{* through (pdf)LaTeX, e.g.} +\Msg{* pdflatex footnoterange.drv} +\Msg{* makeindex -s gind.ist footnoterange.idx} +\Msg{* pdflatex footnoterange.drv} +\Msg{* makeindex -s gind.ist footnoterange.idx} +\Msg{* pdflatex footnoterange.drv} +\Msg{*} +\Msg{* At least three runs are necessary e.g. to get the} +\Msg{* references right!} +\Msg{*} +\Msg{* Happy TeXing!} +\Msg{*} +\Msg{************************************************************************} + +\endbatchfile +% +%<*ignore> +\fi +% +% +% \section{The documentation driver file} +% +% The next bit of code contains the documentation driver file for +% \TeX{}, i.\,e., the file that will produce the documentation you +% are currently reading. It will be extracted from this file by the +% \texttt{docstrip} programme. That is, run \LaTeX{} on \texttt{docstrip} +% and specify the \texttt{driver} option when \texttt{docstrip} +% asks for options. +% +% \begin{macrocode} +%<*driver> +\NeedsTeXFormat{LaTeX2e}[2011/06/27] +\ProvidesFile{footnoterange.drv}% + [2012/02/17 v1.0a References to ranges of footnotes (HMM)] +\documentclass{ltxdoc}[2007/11/11]% v2.0u +\usepackage{holtxdoc}[2011/02/04]% v0.21 +%% footnoterange may work with earlier versions of LaTeX2e and those +%% class and package, but this was not tested. +%% Please consider updating your LaTeX, class, and package +%% to the most recent version (if they are not already the most +%% recent version). +\hypersetup{% + pdfsubject={References to ranges of footnotes (HMM)},% + pdfkeywords={LaTeX, footnoterange, footnotes, footnote, reference, H.-Martin Muench},% + pdfencoding=auto,% + pdflang={en},% + breaklinks=true,% + linktoc=all,% + pdfstartview=FitH,% + pdfpagelayout=OneColumn,% + bookmarksnumbered=true,% + bookmarksopen=true,% + bookmarksopenlevel=3,% + pdfmenubar=true,% + pdftoolbar=true,% + pdfwindowui=true,% + pdfnewwindow=true% +} +\CodelineIndex +\hyphenation{printing docu-ment} +\gdef\unit#1{\mathord{\thinspace\mathrm{#1}}}% +\begin{document} + \DocInput{footnoterange.dtx}% +\end{document} +% +% \end{macrocode} +% +% \fi +% +% \CheckSum{207} +% +% \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 \~} +% +% \GetFileInfo{footnoterange.drv} +% +% \begingroup +% \def\x{\#,\$,\^,\_,\~,\ ,\&,\{,\},\%}% +% \makeatletter +% \@onelevel@sanitize\x +% \expandafter\endgroup +% \expandafter\DoNotIndex\expandafter{\x} +% \expandafter\DoNotIndex\expandafter{\string\ } +% \begingroup +% \makeatletter +% \lccode`9=32\relax +% \lowercase{%^^A +% \edef\x{\noexpand\DoNotIndex{\@backslashchar9}}%^^A +% }%^^A +% \expandafter\endgroup\x +% +% \DoNotIndex{\,,\\} +% \DoNotIndex{\documentclass,\usepackage,\ProvidesPackage,\begin,\end} +% \DoNotIndex{\MessageBreak} +% \DoNotIndex{\NeedsTeXFormat,\DoNotIndex,\verb} +% \DoNotIndex{\def,\edef,\gdef,\global,\xdef} +% \DoNotIndex{\ifx,\listfiles,\mathord,\mathrm} +% \DoNotIndex{\bigskip,\space,\thinspace,\ldots} +% \DoNotIndex{\indent,\noindent,\newline,\linebreak,\pagebreak,\newpage} +% \DoNotIndex{\textbf,\textit,\textsf,\texttt,\textsc,\textquotedblleft,\textquotedblright} +% \DoNotIndex{\plainTeX,\TeX,\LaTeX,\pdfLaTeX} +% \DoNotIndex{\section,\pagenumbering,\smallskip} +% \DoNotIndex{\@ifpackageloaded} +% \DoNotIndex{\arabic, \Alph, \alph, \alphalph, \Roman, \roman, \fnsymbol} +% +% \title{The \xpackage{footnoterange} package} +% \date{2012/02/17 v1.0a} +% \author{H.-Martin M\"{u}nch\\\xemail{Martin.Muench at Uni-Bonn.de}} +% +% \maketitle +% +% \begin{abstract} +% This \LaTeXe{} package provides the environments |footnoterange| and +% |footnoterange*|. Multiple footnotes inside these environments are not referenced +% as e.\,g. +% \makeatletter% +% \hbox {\textquotedblleft \@textsuperscript {\normalfont 1 2 3}\textquotedblright} +% but as \hbox {\textquotedblleft \@textsuperscript {\normalfont 1--3}\textquotedblright ,\ } +% \makeatother% +% i.\,e. the range (from first to last referred footnote at that place) is given. +% Depending on loading of \xpackage{hyperref} and use of its |hyperfootnotes|-option +% the references are hyperlinked. (References to footnotes in |footnoterange*| +% are never hyperlinked.) +% \end{abstract} +% +% \bigskip +% +% \noindent Disclaimer for web links: The author is not responsible for any contents +% referred to in this work unless he has full knowledge of illegal contents. +% If any damage occurs by the use of information presented there, only the +% author of the respective pages might be liable, not the one who has referred +% to these pages. +% +% \bigskip +% +% \noindent {\color{green} Save per page about $200\unit{ml}$ water, +% $2\unit{g}$ CO$_{2}$ and $2\unit{g}$ wood:\\ +% Therefore please print only if this is really necessary.} +% +% \pagebreak +% +% \tableofcontents +% +% \bigskip +% +% \section{Introduction\label{sec:Introduction}} +% +% \indent This \LaTeXe{} package provides the environments |footnoterange| and\\ +% |footnoterange*|. Multiple footnotes inside these environments are not referenced +% as e.\,g. +% \makeatletter% +% \hbox {\textquotedblleft \@textsuperscript {\normalfont 1 2 3}\textquotedblright} +% but as \hbox {\textquotedblleft \@textsuperscript {\normalfont 1--3}\textquotedblright ,\ } +% \makeatother% +% i.\,e. the range (from first to last +% referred footnote at that place) is given. Depending on loading of +% \xpackage{hyperref} and use of its |hyperfootnotes|-option the references are +% hyperlinked. References to footnotes in |footnoterange*| are never hyperlinked. +% +% \bigskip +% +% \section{Usage} +% +% \indent Just load the package placing +% \begin{quote} +% |\usepackage{footnoterange}| +% \end{quote} +% \noindent in the preamble of your \LaTeXe{} source file. There are no options to +% be used. The package should be loaded after \xpackage{hyperref} (if that package is used) +% and after any other package redefining footnotes. Usage of the |footnoterange| (or +% |footnoterange*|) environment is simple: Just encapsulate the footnotes, which shall +% be referred as range instead of referencing as single ones.\\ +% +% \pagebreak +% +% About hyperlinks:\\ +% Footnote-references in a |footnoterange*| environment are never hyperlinked.\\ +% Footnote-references in a |footnoterange| environment may be hyperlinked:\\ +% \begin{itemize} +% \item When the \xpackage{hyperref} package is not loaded, they are not +% hyperlinked (naturally). +% \item When the \xpackage{hyperref} package is loaded, it depends on the +% |hyperfootnotes| option of the \xpackage{hyperref} package: +% \begin{itemize} +% \item With |hyperfootnotes=true|, the references are hyperlinked. +% \item With |hyperfootnotes=false|, the references are not hyperlinked. +% \end{itemize} +% \end{itemize} +% |\footnote|s inside of the |footnoterange|/{}|footnoterange*| environment +% can use the optional parameter, i.\,e. |\footnote[42]{text}| even if this is the +% third footnote. When giving ranges as reference, this does not seem to be +% such a good idea, if this is not done consistently (i.\,e. footnotes +% |[42], [43], [44]| resulting in 42--44 is OK, +% but |[42]| (original~2), unchanged~3, unchanged~4 resulting in +% 42--4 is confusing). A warning about these changed footnotemarks is written +% into the \xfile{.log}-file.\\ +% +% When there is only a single footnote in a |footnoterange| environment, +% this does not produce some reference like % +% \makeatletter% +% \hbox {\textquotedblleft \@textsuperscript {\normalfont 7--7}\textquotedblright{},\ }% +% \makeatother% +% but only one footnotemark is used automatically. Because it is strange to use a +% |footnoterange| environment without a range of footnotes, an info is written +% into the \xfile{.log}-file about this.\\ +% +% The usage of other footnote-number-representations +% (e.\,g.~\verb|\Roman|, \verb|\roman|, \verb|\Alph|, \verb|\alph|, +% \verb|\fnsymbol|) is also possible, but two things must be taken +% into account: The number of footnote references is restricted (for +% example with \verb|\Alph| only references A to Z are possible), which +% can be fixed e.\,g. with the \url{http://ctan.org/pkg/alphalph} package +% (but not automatically), and references to footnote-symbol-ranges (\verb|\fnsymbol|) +% are probably not very clear.\\ +% +% \subsection*{Options} +% \indent The \xpackage{footnoterange} package takes no options.\\ +% +% \section{Alternatives\label{sec:Alternatives}} +% +% I do not know of any alternative package, but if you programmed or found +% another alternative, which is available at \CTAN{}, please send an e-mail +% to me with the name, location at \CTAN{}, and a short notice, and I will probably +% list it here.\\ +% +% \newpage +% +% \section{Example} +% +% \begin{macrocode} +%<*example> +\documentclass[british]{article}[2007/10/19]% v1.4h +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\usepackage[% + extension=pdf,% + plainpages=false,% + pdfpagelabels=true,% + hyperindex=false,% + pdflang={en},% + pdftitle={footnoterange package example},% + pdfauthor={H.-Martin Muench},% + pdfsubject={Example for the footnoterange package},% + pdfkeywords={LaTeX, footnoterange, H.-Martin Muench},% + pdfview=FitH,% + pdfstartview=FitH,% + pdfpagelayout=OneColumn,% + hyperfootnotes=true% +]{hyperref}[2012/02/06]% v6.82o + +\usepackage{footnoterange}[2012/02/17]% v1.0a + +\gdef\unit#1{\mathord{\thinspace\mathrm{#1}}}% +\listfiles +\begin{document} +\pagenumbering{arabic} +\section*{Example for footnoterange} + +This example demonstrates the use of package\newline +\textsf{footnoterange}, v1.0a as of 2012/02/17 (HMM).\newline +The package does not use options.\newline + +\noindent For more details please see the documentation!\newline + +\noindent Save per page about $200\unit{ml}$ water, +$2\unit{g}$ CO$_{2}$ and $2\unit{g}$ wood:\newline +Therefore please print only if this is really necessary.\newline + +This\footnote{Lorem} text bears a multiplicity of footnotes. +Because the \texttt{hyperref} package is used with option +\texttt{hyperfootnotes=true}, the footnotes% +\begin{footnoterange}% +\footnote{ipsum}% +\footnote{dolor}% +\footnote{sit}% +\footnote{amet,}% +\footnote{consectetur}% +\footnote{adipisicing}% +\footnote{elit,}% +\footnote{sed}% +\end{footnoterange}% + are hyperlinked.\footnote{do eiusmod\ldots} Using +\texttt{hyperfootnotes=false} or not using \texttt{hyperref} +will remove the hyperlinks to the footnotes.\newline + +% \end{macrocode} +% +% \pagebreak +% +% \begin{macrocode} +This text also bears a multiplicity of footnotes, +but due to the use of the starred% +\begin{footnoterange*}% +\footnote{Ut purus elit,}% +\footnote{vestibulum ut,}% +\footnote{placerat ac,}% +\footnote{adipiscing vitae,}% +\footnote{felis.}% +\footnote{Curabitur}% +\footnote{dictum}% +\footnote{gravida}% +\end{footnoterange*}% + form of the environment they are not +hyperlinked.\footnote{mauris\ldots}\newline + +The use of the optional parameter for footnotes% +\begin{footnoterange}% +\footnote[101]{Nam arcu libero,}% +\footnote[102]{nonummy eget,}% +\footnote[103]{consectetuer id,}% +\footnote[104]{vulputate a,}% +\footnote[105]{magna.} +\end{footnoterange}% + is also possible, but should be used consistently. + +\pagebreak + +When there is only one footnote% +\begin{footnoterange}% +\footnote{a single footnote}% +\end{footnoterange}% + in the \texttt{footnoterange} environment, only one +footnotemark is used and an info is written into the +log-file.\newline + +The usage of other footnote-number-representations +(e.\,g.~\verb|\Roman|, \verb|\roman|, \verb|\Alph|, \verb|\alph|, +\verb|\fnsymbol|) is also possible, but two things must be taken +into account: The number of footnote references is restricted (for +example with \verb|\Alph| only references A to Z are possible), which +can be fixed e.\,g. with the \texttt{alphalph} package, and references +to footnote-symbol-ranges (\verb|\fnsymbol|) are probably +not very clear. + +\end{document} +% +% \end{macrocode} +% +% \StopEventually{} +% +% \newpage +% +% \section{The implementation} +% +% We start off by checking that we are loading into \LaTeXe{} and +% announcing the name and version of this package. +% +% \begin{macrocode} +%<*package> +% \end{macrocode} +% +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e}[2011/06/27] +\ProvidesPackage{footnoterange}[2012/02/17 v1.0a + References to ranges of footnotes (HMM)] +% \end{macrocode} +% +% A short description of the \xpackage{footnoterange} package: +% +% \begin{macrocode} +%% Provides the footnoterange and footnoterange* environment to +%% refer to ranges of footnotes. +% \end{macrocode} +% +% We need the \xpackage{ltxcmds} and \xpackage{xspace} packages: +% +% \begin{macrocode} +\RequirePackage{ltxcmds}[2011/04/18]% v1.20; for "\ltx@ifpackageloaded" +\RequirePackage{xspace}[2009/10/20]% v1.13; for "\@\xspace" + +% \end{macrocode} +% +% The |\fnr@rangefootnote| is the internal replacement for the original\\ +% |\footnote| command inside of an |footnoterange| environment. +% +% \begin{macrocode} +\newcommand{\fnr@rangefootnote}[2][\empty]{% +% \end{macrocode} +% +% |#1| contains the optional argument, which is predefined as |\empty|. +% +% \begin{macrocode} + \nolinebreak% + % no \footnotemark here + \addtocounter{footnote}{+1}% + \ltx@ifpackageloaded{hyperref}{% hyperref loaded + \ifHy@hyperfootnotes% option hyperfootnotes=true + \addtocounter{Hfootnote}{+1}% + % Code from the hyperref package + \global\let\Hy@saved@currentHref\@currentHref% + \hyper@makecurrent{Hfootnote}% + \global\let\Hy@footnote@currentHref\@currentHref% + \global\let\@currentHref\Hy@saved@currentHref% + % End of code form the hyperref package + \fi% + }{% hyperref not loaded, nothing to be done here + }% + \xdef\fnr@opt{#1}% contains the optional argument + \xdef\fnr@arabic{\arabic{footnote}}% + \edef\fnr@formated{\thefootnote}% +% \end{macrocode} +% +% The |\footnotemark| is not set (yet), but the |\footnotetext|, +% and it gets a label. +% +% \begin{macrocode} + \ifx\fnr@opt\empty% + \footnotetext{\label{fnr:\fnr@arabic}#2}% + \else% + \PackageWarning{footnoterange}{% + Custom footnote-numbers used in a footnoterange\MessageBreak% + environment: Footnote with natural number\MessageBreak% + \ifx\fnr@formated\fnr@arabic% + \fnr@arabic \space % + \else% + \space \fnr@arabic \space (\fnr@formated )\MessageBreak% + \fi% + was renumbered to \fnr@opt % + }% + \ltx@ifpackageloaded{hyperref}{% hyperref loaded + \footnotetext[#1]{\phantomsection\label{fnr:\fnr@arabic}#2}% + }{% hyperref not loaded + \footnotetext[#1]{\label{fnr:\fnr@arabic}#2}% + }% + \fi% +}% + +% \end{macrocode} +% +% \begin{environment}{footnoterange} +% The |footnoterange| environment remembers the next footnote number as\\ +% |\fnr@first| and the current |\footnote| definition as |\fnr@origfn| +% and uses |\fnr@rangefootnote| instead. +% +% \begin{macrocode} + +\newenvironment{footnoterange}{% + % at begin of the footnoterange environment + \addtocounter{footnote}{+1}% + \xdef\fnr@first{\arabic{footnote}}% + \addtocounter{footnote}{-1}% + \let\fnr@origfn\footnote% + \let\footnote\fnr@rangefootnote% +% \end{macrocode} +% +% At the end of the environment the previous definition of |\footnote| is restored +% +% \begin{macrocode} +}{% at end of the footnoterange environment + \let\footnote\fnr@origfn% +% \end{macrocode} +% +% and the references are placed: +% +% \begin{macrocode} + \ifx\fnr@opt\empty% + \else% + \hspace{-0.85ex}% + \fi% + \ifx\fnr@first\fnr@arabic% + \PackageInfo{footnoterange}{% + Environment footnoterange used,\MessageBreak% + but only one footnote (number \fnr@first ) is contained% + \MessageBreak% + }% + \ltx@ifpackageloaded{hyperref}{% hyperref package loaded + \ifHy@hyperfootnotes% option hyperfootnotes=true + \hbox{\hyperref[fnr:\fnr@first]{% + \@textsuperscript {\normalfont \ref*{fnr:\fnr@first}}}}% + \else% option hyperfootnotes=false + \hbox {\@textsuperscript {\normalfont \ref*{fnr:\fnr@first}}}% + \fi% + }{% hyperref package not loaded + \hbox {\@textsuperscript {\normalfont \ref{fnr:\fnr@first}}}% + }% + \else% + \ltx@ifpackageloaded{hyperref}{% hyperref package loaded + \ifHy@hyperfootnotes% option hyperfootnotes=true + \hbox{\hyperref[fnr:\fnr@first]{% + \@textsuperscript {\normalfont \ref*{fnr:\fnr@first}}}% + \@textsuperscript {\normalfont --}% + \hyperref[fnr:\arabic{footnote}]{% + \@textsuperscript {\normalfont \ref*{% + fnr:\arabic{footnote}}}}}% + \else% option hyperfootnotes=false + \hbox {\@textsuperscript {\normalfont \ref*{fnr:\fnr@first}% + --\ref*{fnr:\arabic{footnote}}}}% + \fi% + }{% hyperref package not loaded + \hbox {\@textsuperscript {\normalfont \ref{fnr:\fnr@first}% + --\ref{fnr:\arabic{footnote}}}}% + }% + \fi% +\@\xspace% +} + +% \end{macrocode} +% +% \end{environment} +% +% \begin{environment}{footnoterange*} +% The |footnoterange*| environment does the same as the |footnoterange| +% environment but suppresses all hyperlinks to footnotes inside. +% +% \begin{macrocode} + +\newenvironment{footnoterange*}{% + % at begin of the footnoterange* environment + \addtocounter{footnote}{+1}% + \xdef\fnr@first{\arabic{footnote}}% + \addtocounter{footnote}{-1}% + \let\fnr@origfn\footnote% + \let\footnote\fnr@rangefootnote% +}{% at end of the footnoterange* environment + \let\footnote\fnr@origfn% + \ifx\fnr@first\fnr@arabic% + \PackageInfo{footnoterange}{% + Environment footnoterange used,\MessageBreak% + but only one footnote (number \fnr@first ) is contained% + }% + \ltx@ifpackageloaded{hyperref}{% hyperref package loaded + \hbox {\@textsuperscript {\normalfont \ref*{fnr:\fnr@first}}}% + }{% hyperref package not loaded + \hbox {\@textsuperscript {\normalfont \ref{fnr:\fnr@first}}}% + }% + \else% + \ltx@ifpackageloaded{hyperref}{% hyperref package loaded + \hbox {\@textsuperscript {\normalfont \ref*{fnr:\fnr@first}% + --\ref*{fnr:\arabic{footnote}}}}% + }{% hyperref package not loaded + \hbox {\@textsuperscript {\normalfont \ref{fnr:\fnr@first}% + --\ref{fnr:\arabic{footnote}}}}% + }% + \fi% +\@\xspace% +} +% \end{macrocode} +% +% \end{environment} +% +% |\@\xspace| will preserve the space behind the environment (if there is one). +% +% \begin{macrocode} +% +% \end{macrocode} +% +% \pagebreak +% +% \section{Installation} +% +% \subsection{Downloads\label{ss:Downloads}} +% +% Everything should become available on \CTAN{} soon, +% \url{http://www.ctan.org/tex-archive/}, +% but may need additional packages themselves.\\ +% +% \DescribeMacro{footnoterange.dtx} +% For unpacking the |footnoterange.dtx| file and constructing the documentation +% it is required: +% \begin{description} +% \item[-] \TeX{} Format \LaTeXe{}, \url{http://www.CTAN.org/} +% +% \item[-] document class \xpackage{ltxdoc}, 2007/11/11, v2.0u, +% \url{http://ctan.org/pkg/ltxdoc} +% +% \item[-] package \xpackage{holtxdoc}, 2011/02/04, v0.21, +% \url{http://ctan.org/pkg/holtxdoc} +% \end{description} +% +% \DescribeMacro{footnoterange.sty} +% The |footnoterange.sty| for \LaTeXe{} (i.\,e. each document using +% the \xpackage{footnoterange} package) requires: +% \begin{description} +% \item[-] \TeX{} Format \LaTeXe{}, \url{http://www.CTAN.org/} +% +% \item[-] package \xpackage{ltxcmds}, 2011/04/18, v1.20, +% \url{http://ctan.org/pkg/ltxcmds} +% +% \item[-] package \xpackage{xspace}, 2009/10/20, v1.13, +% \url{http://ctan.org/pkg/xspace} +% \end{description} +% +% \DescribeMacro{footnoterange-example.tex} +% The |footnoterange-example.tex| requires the same files as all +% documents using the \xpackage{footnoterange} package and additionally: +% \begin{description} +% \item[-] class \xpackage{article}, 2007/10/19, v1.4h, from \xpackage{classes.dtx}:\\ +% \CTAN{macros/latex/base/classes.dtx} +% +% \item[-] package \xpackage{footnoterange}, 2012/02/17, v1.0a,\\ +% \url{http://ctan.org/pkg/footnoterange}\\ +% (Well, it is the example file for this package, and because you are +% reading the documentation for the \xpackage{footnoterange} package, +% it can be assumed that you already have some version of it -- +% is it the current one?) +% +% \item[-] package \xpackage{hyperref}, 2012/02/06, v6.82o,\\ +% \CTAN{macros/latex/contrib/hyperref/hyperref.dtx} +% \end{description} +% +% \DescribeMacro{Oberdiek} +% \DescribeMacro{holtxdoc} +% \DescribeMacro{ltxcmds} +% \DescribeMacro{alphalph} +% All packages of \textsc{Heiko Oberdiek}'s bundle `oberdiek' +% (especially \xpackage{holtxdoc}, \xpackage{ltxcmds}, and \xpackage{alphalph}) +% are also available in a TDS compliant ZIP archive:\\ +% \CTAN{install/macros/latex/contrib/oberdiek.tds.zip}.\\ +% It is probably best to download and use this, because the packages in there +% are quite probably both recent and compatible among themselves.\\ +% +% \DescribeMacro{hyperref} +% \noindent \xpackage{hyperref} is not included in that bundle and needs to be +% downloaded separately,\\ +% \url{http://mirror.ctan.org/install/macros/latex/contrib/hyperref.tds.zip}.\\ +% +% \DescribeMacro{M\"{u}nch} +% A hyperlinked list of my (other) packages can be found at +% \url{http://www.Uni-Bonn.de/~uzs5pv/LaTeX.html}.\\ +% +% \pagebreak +% +% \subsection{Package, unpacking TDS} +% \paragraph{Package.} This package is available on \CTAN{} +% \begin{description} +% \item[\CTAN{macros/latex/contrib/footnoterange/footnoterange.dtx}]\hspace*{0.1cm} \\ +% The source file. +% \item[\CTAN{macros/latex/contrib/footnoterange/footnoterange.pdf}]\hspace*{0.1cm} \\ +% The documentation. +% \item[\CTAN{macros/latex/contrib/footnoterange/footnoterange-example.pdf}]\hspace*{0.1cm} \\ +% The compiled example file, as it should look like. +% \item[\CTAN{macros/latex/contrib/footnoterange/README}]\hspace*{0.1cm} \\ +% The README file. +% \end{description} +% There is also a footnoterange.tds.zip available: +% \begin{description} +% \item[\CTAN{install/macros/latex/contrib/footnoterange.tds.zip}]\hspace*{0.1cm} \\ +% Everything in \xfile{TDS} compliant, compiled format. +% \end{description} +% which additionally contains\\ +% \begin{tabular}{ll} +% footnoterange.ins & The installation file.\\ +% footnoterange.drv & The driver to generate the documentation.\\ +% footnoterange.sty & The \xext{sty}le file.\\ +% footnoterange-example.tex & The example file. +% \end{tabular} +% +% \bigskip +% +% \noindent For required other packages, please see the preceding subsection. +% +% \paragraph{Unpacking.} The \xfile{.dtx} file is a self-extracting +% \docstrip{} archive. The files are extracted by running the +% \xfile{.dtx} through \plainTeX{}: +% \begin{quote} +% \verb|tex footnoterange.dtx| +% \end{quote} +% +% About generating the documentation see paragraph~\ref{GenDoc} below.\\ +% +% \paragraph{TDS.} Now the different files must be moved into +% the different directories in your installation TDS tree +% (also known as \xfile{texmf} tree): +% \begin{quote} +% \def\t{^^A +% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}} +% footnoterange.sty & tex/latex/footnoterange/footnoterange.sty\\ +% footnoterange.pdf & doc/latex/footnoterange/footnoterange.pdf\\ +% footnoterange-example.tex & doc/latex/footnoterange/footnoterange-example.tex\\ +% footnoterange-example.pdf & doc/latex/footnoterange/footnoterange-example.pdf\\ +% footnoterange.dtx & source/latex/footnoterange/footnoterange.dtx\\ +% \end{tabular}^^A +% }^^A +% \sbox0{\t}^^A +% \ifdim\wd0>\linewidth +% \begingroup +% \advance\linewidth by\leftmargin +% \advance\linewidth by\rightmargin +% \edef\x{\endgroup +% \def\noexpand\lw{\the\linewidth}^^A +% }\x +% \def\lwbox{^^A +% \leavevmode +% \hbox to \linewidth{^^A +% \kern-\leftmargin\relax +% \hss +% \usebox0 +% \hss +% \kern-\rightmargin\relax +% }^^A +% }^^A +% \ifdim\wd0>\lw +% \sbox0{\small\t}^^A +% \ifdim\wd0>\linewidth +% \ifdim\wd0>\lw +% \sbox0{\footnotesize\t}^^A +% \ifdim\wd0>\linewidth +% \ifdim\wd0>\lw +% \sbox0{\scriptsize\t}^^A +% \ifdim\wd0>\linewidth +% \ifdim\wd0>\lw +% \sbox0{\tiny\t}^^A +% \ifdim\wd0>\linewidth +% \lwbox +% \else +% \usebox0 +% \fi +% \else +% \lwbox +% \fi +% \else +% \usebox0 +% \fi +% \else +% \lwbox +% \fi +% \else +% \usebox0 +% \fi +% \else +% \lwbox +% \fi +% \else +% \usebox0 +% \fi +% \else +% \lwbox +% \fi +% \else +% \usebox0 +% \fi +% \end{quote} +% If you have a \xfile{docstrip.cfg} that configures and enables \docstrip{}'s +% \xfile{TDS} installing feature, then some files can already be in the right +% place, see the documentation of \docstrip{}. +% +% \subsection{Refresh file name databases} +% +% If your \TeX{}~distribution (\teTeX{}, \mikTeX{},\dots{}) relies on file name +% databases, you must refresh these. For example, \teTeX{} users run +% \verb|texhash| or \verb|mktexlsr|. +% +% \subsection{Some details for the interested} +% +% \paragraph{Unpacking with \LaTeX{}.} +% The \xfile{.dtx} chooses its action depending on the format: +% \begin{description} +% \item[\plainTeX:] Run \docstrip{} and extract the files. +% \item[\LaTeX:] Generate the documentation. +% \end{description} +% If you insist on using \LaTeX{} for \docstrip{} (really, +% \docstrip{} does not need \LaTeX{}), then inform the autodetect routine +% about your intention: +% \begin{quote} +% \verb|latex \let\install=y\input{footnoterange.dtx}| +% \end{quote} +% Do not forget to quote the argument according to the demands +% of your shell. +% +% \paragraph{Generating the documentation.\label{GenDoc}} +% You can use both the \xfile{.dtx} or the \xfile{.drv} to generate +% the documentation. The process can be configured by a +% configuration file \xfile{ltxdoc.cfg}. For instance, put the following +% line into this file, if you want to have A4 as paper format: +% \begin{quote} +% \verb|\PassOptionsToClass{a4paper}{article}| +% \end{quote} +% +% \noindent An example follows how to generate the +% documentation with \pdfLaTeX{}: +% +% \begin{quote} +%\begin{verbatim} +%pdflatex footnoterange.dtx +%makeindex -s gind.ist footnoterange.idx +%pdflatex footnoterange.dtx +%makeindex -s gind.ist footnoterange.idx +%pdflatex footnoterange.dtx +%\end{verbatim} +% \end{quote} +% +% \subsection{Compiling the example} +% +% The example file, \textsf{footnoterange-example.tex}, can be compiled via\\ +% |(pdf)latex footnoterange-example.tex|.\\ +% +% \section{Acknowledgements} +% +% I would like to thank \textsc{Heiko Oberdiek} for providing a~lot~(!) of +% useful packages (from which I also got everything I know about creating +% a file in \xext{dtx} format, ok, say it: copying), and the +% \Newsgroup{comp.text.tex} and \Newsgroup{de.comp.text.tex} newsgroups +% for their help in all things \TeX{}. This package was created as response +% to question \textquotedblleft Compressing consecutive footnote +% marks\textquotedblright{} by user001\\ +% (\url{http://tex.stackexchange.com/users/10127/user001}) on\\ +% \url{http://tex.stackexchange.com/q/44165/6865}. +% +% \newpage +% +% \phantomsection +% \begin{History}\label{History} +% \begin{Version}{2011/02/11 v0.1ff.} +% \item Some versions at \url{http://tex.stackexchange.com/q/44165/6865}. +% \end{Version} +% \begin{Version}{2012/02/17 v1.0a} +% \item Package created and uploaded to CTAN. +% \end{Version} +% \end{History} +% +% \bigskip +% +% When you find a mistake or have a suggestion for an improvement of this package, +% please send an e-mail to the maintainer, thanks! (Please see BUG REPORTS in the README.) +% +% \bigskip +% +% \PrintIndex +% +% \Finale +\endinput \ No newline at end of file diff --git a/Master/texmf-dist/source/latex/footnoterange/footnoterange.ins b/Master/texmf-dist/source/latex/footnoterange/footnoterange.ins new file mode 100644 index 00000000000..710f418d4e3 --- /dev/null +++ b/Master/texmf-dist/source/latex/footnoterange/footnoterange.ins @@ -0,0 +1,126 @@ +%% +%% This is file `footnoterange.ins', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% footnoterange.dtx (with options: `install') +%% +%% This is a generated file. +%% +%% Project: footnoterange +%% Version: 2012/02/17 v1.0a +%% +%% Copyright (C) 2012 by +%% H.-Martin M"unch +%% +%% The usual disclaimer applies: +%% If it doesn't work right that's your problem. +%% (Nevertheless, send an e-mail to the maintainer +%% when you find an error in this package.) +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either +%% version 1.3c of this license or (at your option) any later +%% version. This version of this license is in +%% http://www.latex-project.org/lppl/lppl-1-3c.txt +%% and 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. +%% +%% This work has the LPPL maintenance status "maintained". +%% +%% The Current Maintainer of this work is H.-Martin Muench. +%% +%% This work consists of the main source file footnoterange.dtx, +%% the README, and the derived files +%% footnoterange.sty, footnoterange.pdf, +%% footnoterange.ins, footnoterange.drv, +%% footnoterange-example.tex, footnoterange-example.pdf. +%% +\input docstrip.tex +\Msg{*********************************************************************************} +\Msg{* Installation } +\Msg{* Package: footnoterange 2012/02/17 v1.0a References to ranges of footnotes (HMM)} +\Msg{*********************************************************************************} + +\keepsilent +\askforoverwritefalse + +\let\MetaPrefix\relax +\preamble + +This is a generated file. + +Project: footnoterange +Version: 2012/02/17 v1.0a + +Copyright (C) 2012 by + H.-Martin M"unch + +The usual disclaimer applies: +If it doesn't work right that's your problem. +(Nevertheless, send an e-mail to the maintainer + when you find an error in this package.) + +This work may be distributed and/or modified under the +conditions of the LaTeX Project Public License, either +version 1.3c of this license or (at your option) any later +version. This version of this license is in + http://www.latex-project.org/lppl/lppl-1-3c.txt +and 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. + +This work has the LPPL maintenance status "maintained". + +The Current Maintainer of this work is H.-Martin Muench. + +This work consists of the main source file footnoterange.dtx, +the README, and the derived files + footnoterange.sty, footnoterange.pdf, + footnoterange.ins, footnoterange.drv, + footnoterange-example.tex, footnoterange-example.pdf. + +\endpreamble +\let\MetaPrefix\DoubleperCent + +\generate{% + \file{footnoterange.ins}{\from{footnoterange.dtx}{install}}% + \file{footnoterange.drv}{\from{footnoterange.dtx}{driver}}% + \usedir{tex/latex/footnoterange}% + \file{footnoterange.sty}{\from{footnoterange.dtx}{package}}% + \usedir{doc/latex/footnoterange}% + \file{footnoterange-example.tex}{\from{footnoterange.dtx}{example}}% +} + +\catcode32=13\relax% active space +\let =\space% +\Msg{************************************************************************} +\Msg{*} +\Msg{* To finish the installation you have to move the following} +\Msg{* file into a directory searched by TeX:} +\Msg{*} +\Msg{* footnoterange.sty} +\Msg{*} +\Msg{* To produce the documentation run the file `footnoterange.drv'} +\Msg{* through (pdf)LaTeX, e.g.} +\Msg{* pdflatex footnoterange.drv} +\Msg{* makeindex -s gind.ist footnoterange.idx} +\Msg{* pdflatex footnoterange.drv} +\Msg{* makeindex -s gind.ist footnoterange.idx} +\Msg{* pdflatex footnoterange.drv} +\Msg{*} +\Msg{* At least three runs are necessary e.g. to get the} +\Msg{* references right!} +\Msg{*} +\Msg{* Happy TeXing!} +\Msg{*} +\Msg{************************************************************************} + +\endbatchfile +\endinput +%% +%% End of file `footnoterange.ins'. -- cgit v1.2.3