summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2018-10-15 21:22:13 +0000
committerKarl Berry <karl@freefriends.org>2018-10-15 21:22:13 +0000
commit0eb89ce20c33dedfda750f23765d0e5d8a4c626d (patch)
tree749569e56d746d7e0d4aab9d4de9546f1a6d69d5
parent112508304cf71930dbc4f6a5e29f7f21d412b335 (diff)
footnoterange (15oct18)
git-svn-id: svn://tug.org/texlive/trunk@48912 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/footnoterange/README81
-rw-r--r--Master/texmf-dist/doc/latex/footnoterange/footnoterange-example.pdfbin81029 -> 82980 bytes
-rw-r--r--Master/texmf-dist/doc/latex/footnoterange/footnoterange-example.tex142
-rw-r--r--Master/texmf-dist/doc/latex/footnoterange/footnoterange.pdfbin301230 -> 319711 bytes
-rw-r--r--Master/texmf-dist/source/latex/footnoterange/footnoterange.drv29
-rw-r--r--Master/texmf-dist/source/latex/footnoterange/footnoterange.dtx634
-rw-r--r--Master/texmf-dist/source/latex/footnoterange/footnoterange.ins40
-rw-r--r--Master/texmf-dist/tex/latex/footnoterange/footnoterange.sty193
8 files changed, 596 insertions, 523 deletions
diff --git a/Master/texmf-dist/doc/latex/footnoterange/README b/Master/texmf-dist/doc/latex/footnoterange/README
index b17ef571e9b..30812580a56 100644
--- a/Master/texmf-dist/doc/latex/footnoterange/README
+++ b/Master/texmf-dist/doc/latex/footnoterange/README
@@ -1,4 +1,4 @@
-README for footnoterange package, 2012/02/17, v1.0a
+README for footnoterange package, 2018/10/15, v1.0b
TABLE OF CONTENTS
@@ -17,7 +17,7 @@ TABLE OF CONTENTS
1 INTRODUCTION
==============
-This LaTeX2e package provides the environments footnoterange
+This LaTeX package provides the environments footnoterange
and footnoterange*. Multiple footnotes inside these
environments are not referenced as e.g. "1 2 3" but as
"1-3", i.e. the range (from first to last referred footnote
@@ -25,38 +25,32 @@ at that place) is given. Depending on loading of hyperref
package and use of its hyperfootnotes-option the references
are hyperlinked. (References to footnotes in the
footnoterange* environment are never hyperlinked.)
-This material is subject to the LaTeX Project Public License
-(LPPL). See http://www.ctan.org/tex-archive/help/Catalogue/
-licenses.lppl.html for the details of that license.
+
+This material is published under the LPPL 1.3c: 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
+https://www.latex-project.org/lppl/lppl-1-3c.txt
+and the latest version of this license is in
+https://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.
2 DOWNLOAD
==========
`footnoterange' is available on CTAN:
- CTAN:macros/latex/contrib/footnoterange/
-
-Running
-tex footnoterange.dtx
-generates the files
-footnoterange.ins, footnoterange.drv, footnoterange.sty,
-and footnoterange-example.tex.
-
-Also a ZIP file is provided that contains these files,
-the manual (footnoterange.pdf), the compiled example
-(footnoterange-example.pdf), and this README, already
-sorted in a TDS tree:
- CTAN:install/macros/latex/contrib/footnoterange.tds.zip
-
-`CTAN:' means one of the `Comprehensive TeX Archive Network'
-nodes or one of its mirrors. This is explained in
- http://www.tex.ac.uk/cgi-bin/texfaq2html?label=archives
+https://www.ctan.org/pkg/footnoterange
-The CTAN stuff will be mirrored automatically from the
-ftp server, so
- ftp://ftp.tug.org/pub/tex/footnoterange/
-corresponds to
- CTAN:macros/latex/contrib/footnoterange/
+Also a ZIP file is provided that contains the files:
+the manual (footnoterange.pdf),
+the compiled example (footnoterange-example.pdf),
+driver (footnoterange.drv), footnoterange.dtx,
+installation file (footnoterange.ins),
+the style file (footnoterange.sty),
+and this README, already sorted in a TDS tree:
+http://mirror.ctan.org/install/macros/latex/contrib/footnoterange.tds.zip
3 INSTALLATION
@@ -67,7 +61,8 @@ Installation with ZIP file in TDS format
The ZIP file `footnoterange.tds.zip' contains the files
sorted in a TDS tree. Thus you can directly unpack the
ZIP file inside a TDS tree.
-(See CTAN:tds.zip for an explanation of TDS.)
+See https://www.ctan.org/TDS-guidelines for an explanation
+of TDS.
Example:
cd /...somewhere.../texmf
unzip /...downloadpath.../footnoterange.tds.zip
@@ -80,13 +75,15 @@ Manual installation
-------------------
a) Download the footnoterange files from CTAN.
If necessary, unpack them.
-b) Generate the package and driver files:
+b) Generate the package, driver, and example files:
+ tex footnoterange.ins
+ footnoterange.ins can also be created by
tex footnoterange.dtx
-c) Install the file `*.sty' in your TDS tree:
- cp *.sty TDS:tex/latex/footnoterange/
+c) Install the file `footnoterange.sty' in your TDS tree:
+ cp footnoterange.sty TDS:tex/latex/footnoterange/
Replace `TDS:' by the prefix of your TDS tree
(texmf directory).
-d) Create the documentation (if necessary), e.g.
+d) Create the documentation, if necessary, e.g.
pdflatex footnoterange.dtx
makeindex -s gind.ist footnoterange.idx
pdflatex footnoterange.dtx
@@ -94,11 +91,11 @@ d) Create the documentation (if necessary), e.g.
pdflatex footnoterange.dtx
e) Update the databases if necessary, e.g. for teTeX:
mktexlsr .../texmf
-f) Create the footnoterange-example.pdf (if necessary), e.g.
+f) Create the footnoterange-example.pdf, if necessary, e.g.
pdflatex footnoterange-example.tex
pdflatex footnoterange-example.tex
pdflatex footnoterange-example.tex
-g) Copy the documentation files to
+h) Copy the documentation files to
"TDS:doc/latex/footnoterange/":
README, footnoterange.pdf, footnoterange-example.tex,
footnoterange-example.pdf.
@@ -108,8 +105,8 @@ g) Copy the documentation files to
=====================
footnoterange loads other packages:
-* ltxcmds, http://ctan.org/pkg/ltxcmds
-* xspace, http://ctan.org/pkg/xspace
+* ltxcmds, https://www.ctan.org/pkg/ltxcmds
+* letltxmacro, https://www.ctan.org/pkg/letltxmacro
which again load other packages
(see the result of the \listfiles command in the log-file
of the example).
@@ -125,13 +122,13 @@ be loaded after hyperref.
6 AUTHOR/MAINTAINER
-=====================
+===================
-* H.-Martin Münch
+H.-Martin Münch
7 BUG REPORTS
-==============
+=============
A bug report should contain:
* Comprehensive problem description. This includes error or
@@ -158,6 +155,8 @@ Bug reports can be send to the maintainer:
8 KNOWN PROBLEMS
-=================
+================
-* as yet: none. \ No newline at end of file
+The footnoterange package does not handle \footnotemark
+in footnoteranges (see \fnr@rangefootnotemark in the
+documentation). \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/footnoterange/footnoterange-example.pdf b/Master/texmf-dist/doc/latex/footnoterange/footnoterange-example.pdf
index c936fb82d1c..75cd9a4f490 100644
--- a/Master/texmf-dist/doc/latex/footnoterange/footnoterange-example.pdf
+++ b/Master/texmf-dist/doc/latex/footnoterange/footnoterange-example.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/footnoterange/footnoterange-example.tex b/Master/texmf-dist/doc/latex/footnoterange/footnoterange-example.tex
deleted file mode 100644
index 659dad9b703..00000000000
--- a/Master/texmf-dist/doc/latex/footnoterange/footnoterange-example.tex
+++ /dev/null
@@ -1,142 +0,0 @@
-%%
-%% This is file `footnoterange-example.tex',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% footnoterange.dtx (with options: `example')
-%%
-%% This is a generated file.
-%%
-%% Project: footnoterange
-%% Version: 2012/02/17 v1.0a
-%%
-%% Copyright (C) 2012 by
-%% H.-Martin M"unch <Martin dot Muench at Uni-Bonn dot de>
-%%
-%% 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.
-%%
-\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
-
-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}
-\endinput
-%%
-%% End of file `footnoterange-example.tex'.
diff --git a/Master/texmf-dist/doc/latex/footnoterange/footnoterange.pdf b/Master/texmf-dist/doc/latex/footnoterange/footnoterange.pdf
index d986d81b496..06e83948ef7 100644
--- a/Master/texmf-dist/doc/latex/footnoterange/footnoterange.pdf
+++ b/Master/texmf-dist/doc/latex/footnoterange/footnoterange.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/footnoterange/footnoterange.drv b/Master/texmf-dist/source/latex/footnoterange/footnoterange.drv
index 3235c0c1933..a694c080967 100644
--- a/Master/texmf-dist/source/latex/footnoterange/footnoterange.drv
+++ b/Master/texmf-dist/source/latex/footnoterange/footnoterange.drv
@@ -9,23 +9,25 @@
%% This is a generated file.
%%
%% Project: footnoterange
-%% Version: 2012/02/17 v1.0a
+%% Version: 2018/10/15 v1.0b
%%
-%% Copyright (C) 2012 by
+%% Copyright (C) 2012 - 2018 by
%% H.-Martin M"unch <Martin dot Muench at Uni-Bonn dot de>
+%% Portions of code copyrighted by other people as marked;
+%% lines marked "FMi": code by Frank Mittelbach, thanks!
%%
%% The usual disclaimer applies:
%% If it doesn't work right that's your problem.
-%% (Nevertheless, send an e-mail to the maintainer
+%% (Nevertheless, please 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
+%% https://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
+%% https://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.
%%
@@ -39,11 +41,16 @@
%% 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
+%% In memoriam
+%% Claudia Simone Barth + 1996/01/30
+%% Tommy Muench + 2014/01/02
+%% Hans-Klaus Muench + 2014/08/24
+%%
+\NeedsTeXFormat{LaTeX2e}[2015/01/01]
+\ProvidesFile{footnoterange.drv}[2018/10/15 v1.0b
+ References to ranges of footnotes (HMM)]
+\documentclass{ltxdoc}[2015/03/26]% v2.0w
+\usepackage{holtxdoc}[2012/03/21]% v0.24
%% 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
@@ -68,7 +75,7 @@
}
\CodelineIndex
\hyphenation{printing docu-ment}
-\gdef\unit#1{\mathord{\thinspace\mathrm{#1}}}%
+\gdef\unit#1{\mathord{\thinspace\mathrm{#1}}}
\begin{document}
\DocInput{footnoterange.dtx}%
\end{document}
diff --git a/Master/texmf-dist/source/latex/footnoterange/footnoterange.dtx b/Master/texmf-dist/source/latex/footnoterange/footnoterange.dtx
index cb0d7252de3..50432562ea3 100644
--- a/Master/texmf-dist/source/latex/footnoterange/footnoterange.dtx
+++ b/Master/texmf-dist/source/latex/footnoterange/footnoterange.dtx
@@ -1,18 +1,20 @@
% \iffalse meta-comment
%
% File: footnoterange.dtx
-% Version: 2012/02/17 v1.0a
+% Version: 2018/10/15 v1.0b
%
-% Copyright (C) 2012 by
+% Copyright (C) 2012 - 2018 by
% H.-Martin M"unch <Martin dot Muench at Uni-Bonn dot de>
+% Portions of code copyrighted by other people as marked;
+% lines marked "FMi": code by Frank Mittelbach, thanks!
%
% 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
+% https://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
+% https://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.
%
@@ -26,14 +28,12 @@
% 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
+% 'footnoterange' is available on CTAN:
+% https://www.ctan.org/pkg/footnoterange
%
-% Cf. http://ctan.org/pkg/footnoterange and
-% http://www.tex.ac.uk/tex-archive/help/Catalogue/entries/footnoterange.html
-% (when they have been created)
+% Also a TDS.ZIP file is provided that contains all the files
+% already sorted in a TDS tree:
+% http://mirror.ctan.org/install/macros/latex/contrib/footnoterange.tds.zip
%
% Unpacking:
% (a) If footnoterange.ins is present:
@@ -84,8 +84,8 @@
%<*install>
\input docstrip.tex
\Msg{*********************************************************************************}
-\Msg{* Installation }
-\Msg{* Package: footnoterange 2012/02/17 v1.0a References to ranges of footnotes (HMM)}
+\Msg{* Installation}
+\Msg{* Package: footnoterange 2018/10/15 v1.0b References to ranges of footnotes (HMM)}
\Msg{*********************************************************************************}
\keepsilent
@@ -97,23 +97,25 @@
This is a generated file.
Project: footnoterange
-Version: 2012/02/17 v1.0a
+Version: 2018/10/15 v1.0b
-Copyright (C) 2012 by
+Copyright (C) 2012 - 2018 by
H.-Martin M"unch <Martin dot Muench at Uni-Bonn dot de>
+Portions of code copyrighted by other people as marked;
+lines marked "FMi": code by Frank Mittelbach, thanks!
The usual disclaimer applies:
If it doesn't work right that's your problem.
-(Nevertheless, send an e-mail to the maintainer
+(Nevertheless, please 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
+ https://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
+ https://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.
@@ -127,6 +129,11 @@ the README, and the derived files
footnoterange.ins, footnoterange.drv,
footnoterange-example.tex, footnoterange-example.pdf.
+In memoriam
+ Claudia Simone Barth + 1996/01/30
+ Tommy Muench + 2014/01/02
+ Hans-Klaus Muench + 2014/08/24
+
\endpreamble
\let\MetaPrefix\DoubleperCent
@@ -146,7 +153,7 @@ the README, and the derived files
\Msg{* To finish the installation you have to move the following}
\Msg{* file into a directory searched by TeX:}
\Msg{*}
-\Msg{* footnoterange.sty}
+\Msg{* footnoterange.sty}
\Msg{*}
\Msg{* To produce the documentation run the file `footnoterange.drv'}
\Msg{* through (pdf)LaTeX, e.g.}
@@ -172,19 +179,19 @@ the README, and the derived files
% \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
+% \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}
+% \verb|docstrip| programme. That is, run \LaTeX{} on \verb|docstrip|
+% and specify the \verb|driver| option when \verb|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
+\NeedsTeXFormat{LaTeX2e}[2015/01/01]
+\ProvidesFile{footnoterange.drv}[2018/10/15 v1.0b
+ References to ranges of footnotes (HMM)]
+\documentclass{ltxdoc}[2015/03/26]% v2.0w
+\usepackage{holtxdoc}[2012/03/21]% v0.24
%% 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
@@ -209,7 +216,7 @@ the README, and the derived files
}
\CodelineIndex
\hyphenation{printing docu-ment}
-\gdef\unit#1{\mathord{\thinspace\mathrm{#1}}}%
+\gdef\unit#1{\mathord{\thinspace\mathrm{#1}}}
\begin{document}
\DocInput{footnoterange.dtx}%
\end{document}
@@ -218,7 +225,7 @@ the README, and the derived files
%
% \fi
%
-% \CheckSum{207}
+% \CheckSum{321}
%
% \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
@@ -252,7 +259,6 @@ the README, and the derived files
% \edef\x{\noexpand\DoNotIndex{\@backslashchar9}}%^^A
% }%^^A
% \expandafter\endgroup\x
-%
% \DoNotIndex{\,,\\}
% \DoNotIndex{\documentclass,\usepackage,\ProvidesPackage,\begin,\end}
% \DoNotIndex{\MessageBreak}
@@ -261,25 +267,25 @@ the README, and the derived files
% \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{\textbf,\textit,\textsf,\textsc,\texttt,\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}
+% \date{2018/10/15 v1.0b}
% \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.
+% \noindent This 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 ,\ }
+% \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
@@ -290,36 +296,35 @@ the README, and the derived files
% \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.
+% referred to in this work unless if having 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.}
+% \noindent 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
+% \bigskip
%
% \tableofcontents
%
-% \bigskip
-%
-% \section{Introduction\label{sec:Introduction}}
+%\newpage
%
-% \indent This \LaTeXe{} package provides the environments |footnoterange| and\\
+% \section{Introduction}
+% \indent This \LaTeXe{} package provides the environments |footnoterange| and\newline
% |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 ,\ }
+% \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.
+% hyperlinked. References to footnotes in |footnoterange*| are never hyperlinked.\newline
+% |\footnotemark\footnotetext| instead of |\footnote| is not supported inside
+% |footnoterange| and |footnoterange*| environments.
%
% \bigskip
%
@@ -333,13 +338,11 @@ the README, and the derived files
% 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.\\
+% be referred as range instead of referencing as single ones (see the example file).
%
-% \pagebreak
-%
-% About hyperlinks:\\
-% Footnote-references in a |footnoterange*| environment are never hyperlinked.\\
-% Footnote-references in a |footnoterange| environment may be hyperlinked:\\
+% About hyperlinks:\newline
+% Footnote-references in a |footnoterange*| environment are never hyperlinked.\newline
+% 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).
@@ -357,43 +360,64 @@ the README, and the derived files
% |[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.\\
+% 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{},\ }%
+% \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.\\
+% 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
+% can be fixed e.\,g. with the \url{https://ctan.org/pkg/alphalph} package
% (but not automatically), and references to footnote-symbol-ranges (\verb|\fnsymbol|)
-% are probably not very clear.\\
+% are probably not very clear.
%
% \subsection*{Options}
-% \indent The \xpackage{footnoterange} package takes no 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
+% The \xpackage{fnpct} (\url{https://www.ctan.org/pkg/fnpct}) package allows to set
+% multiple footnotes (|\multfootnote|), suppress a footnotemark \hbox{(|*|),}
+% and customize the multi-footnote-separator \hbox{(|\setfnpct{mult-fn-sep={|
+% \emph{something} |}}|)}.
+% Combining these with stepping of the footnotecounter gives a footnoterange:
+%
+% \begin{verbatim}
+% \documentclass{article}
+% \usepackage{hyperref}
+% \usepackage{fnpct}
+% \begin{document}
+% The three little pigs built their houses
+% out of straw\footnote{not to be confused with hay},
+% sticks\footnote{or lumber according to some sources}
+% and bricks%
+% \makeatletter%
+% \setfnpct{mult-fn-sep={--}}%
+% \multfootnote{probably fired clay bricks\addtocounter\@mpfn{+1};%
+% *or something else;%
+% what do I know}. %
+% \makeatother%
+% \end{document}
+% \end{verbatim}
+%
+% \noindent If you programmed or found another alternative, which is available at
+% \url{https://www.CTAN.org/}, please send an e-mail to me with the name,
+% location at CTAN, and a short notice, and I will probably list it here.
%
% \section{Example}
%
% \begin{macrocode}
%<*example>
-\documentclass[british]{article}[2007/10/19]% v1.4h
+\documentclass[british]{article}[2014/09/29]% v1.4h
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage[%
extension=pdf,%
@@ -409,9 +433,9 @@ the README, and the derived files
pdfstartview=FitH,%
pdfpagelayout=OneColumn,%
hyperfootnotes=true%
-]{hyperref}[2012/02/06]% v6.82o
+]{hyperref}[2012/11/06]% v6.83m
-\usepackage{footnoterange}[2012/02/17]% v1.0a
+\usepackage{footnoterange}[2018/10/15]% v1.0b
\gdef\unit#1{\mathord{\thinspace\mathrm{#1}}}%
\listfiles
@@ -420,8 +444,14 @@ the README, and the derived files
\section*{Example for footnoterange}
This example demonstrates the use of package\newline
-\textsf{footnoterange}, v1.0a as of 2012/02/17 (HMM).\newline
+\textsf{footnoterange}, v1.0b as of 2018/10/15 (HMM).\newline
The package does not use options.\newline
+\verb|footnoterange-example.pdf| can be created by\newline
+\verb|pdflatex footnoterange-example.tex|,\newline
+and \verb|footnoterange-example.tex| can be created by\newline
+\verb|tex footnoterange.dtx|.\newline
+\verb|footnoterange.dtx| is at
+\url{https://www.ctan.org/pkg/footnoterange}.\newline
\noindent For more details please see the documentation!\newline
@@ -430,9 +460,9 @@ $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}%
+Because the \verb|hyperref| package is used with option
+\verb|hyperfootnotes=true|, the footnotes
+\begin{footnoterange}
\footnote{ipsum}%
\footnote{dolor}%
\footnote{sit}%
@@ -441,19 +471,14 @@ Because the \texttt{hyperref} package is used with option
\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{footnoterange}
+are hyperlinked.\footnote{do eiusmod\ldots} Using
+\verb|hyperfootnotes=false| or not using \verb|hyperref|
+will remove the hyperlinks to the footnotes.\medskip
-% \end{macrocode}
-%
-% \pagebreak
-%
-% \begin{macrocode}
This text also bears a multiplicity of footnotes,
-but due to the use of the starred%
-\begin{footnoterange*}%
+but due to the use of the starred
+\begin{footnoterange*}
\footnote{Ut purus elit,}%
\footnote{vestibulum ut,}%
\footnote{placerat ac,}%
@@ -462,38 +487,39 @@ but due to the use of the starred%
\footnote{Curabitur}%
\footnote{dictum}%
\footnote{gravida}%
-\end{footnoterange*}%
- form of the environment they are not
-hyperlinked.\footnote{mauris\ldots}\newline
+\end{footnoterange*}
+form of the environment they are not
+hyperlinked.\footnote{mauris\ldots}\medskip
-The use of the optional parameter for footnotes%
-\begin{footnoterange}%
+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.
+\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
+When there is only one footnote
+\begin{footnoterange}
+\footnote{a single footnote}
+\end{footnoterange}
+in the \verb|footnoterange| environment, only one
footnotemark is used and an info is written into the
-log-file.\newline
+\verb|log|-file.\medskip
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.
+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
+\href{https://www.ctan.org/pkg/alphalph}{\texttt{alphalph} package},
+and references to footnote-symbol-ranges (\verb|\fnsymbol|)
+are probably not very clear.
\end{document}
%</example>
@@ -501,8 +527,6 @@ not very clear.
%
% \StopEventually{}
%
-% \newpage
-%
% \section{The implementation}
%
% We start off by checking that we are loading into \LaTeXe{} and
@@ -514,27 +538,53 @@ not very clear.
%
% \begin{macrocode}
\NeedsTeXFormat{LaTeX2e}[2011/06/27]
-\ProvidesPackage{footnoterange}[2012/02/17 v1.0a
+\ProvidesPackage{footnoterange}[2018/10/15 v1.0b
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
+%% Provides the footnoterange and footnoterange* environments to
%% refer to ranges of footnotes.
% \end{macrocode}
%
-% We need the \xpackage{ltxcmds} and \xpackage{xspace} packages:
+% We need the \xpackage{ltxcmds} package:
%
% \begin{macrocode}
-\RequirePackage{ltxcmds}[2011/04/18]% v1.20; for "\ltx@ifpackageloaded"
-\RequirePackage{xspace}[2009/10/20]% v1.13; for "\@\xspace"
+\RequirePackage{ltxcmds}[2011/11/09]% v1.22; for "\ltx@ifpackageloaded"
+\RequirePackage{letltxmacro}[2010/09/02]% v1.4; for "\GlobalLetLtxMacro"
% \end{macrocode}
%
-% The |\fnr@rangefootnote| is the internal replacement for the original\\
-% |\footnote| command inside of an |footnoterange| environment.
+% We use |\ifHy@hyperfootnotes ... \else ... \fi|, but when the \xpackage{hyperref}
+% package has not been loaded, |\ifHy@hyperfootnotes| is not defined, and \LaTeX
+% relates the |\else| and/or |\fi| (wrongly) to other |\if|s or groups.
+% Therefore the |\ifHy@hyperfootnotes| are placed in their own commands,
+% which are not looked at when the \xpackage{hyperref} package has not been loaded.
+%
+% \pagebreak
+%
+% \begin{macro}{\fnr@ifhyperrfn}
+% \begin{macrocode}
+\newcommand{\fnr@ifhyperrfn}{%
+ \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 from the hyperref package
+ \fi%
+}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\fnr@rangefootnote}
+% The |\fnr@rangefootnote| is the internal replacement for the original\newline
+% |\footnote| command inside of a |footnoterange| environment.
%
% \begin{macrocode}
\newcommand{\fnr@rangefootnote}[2][\empty]{%
@@ -545,21 +595,15 @@ not very clear.
% \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
- }%
+ \addtocounter\@mpfn{+1}%
+ \ltx@ifpackageloaded{hyperref}{\fnr@ifhyperrfn}{\relax}%
+% \end{macrocode}
+%
+% See the explanation before the declaration of the |\fnr@ifhyperrfn| command!
+%
+% \begin{macrocode}
\xdef\fnr@opt{#1}% contains the optional argument
- \xdef\fnr@arabic{\arabic{footnote}}%
+ \xdef\fnr@arabic{\arabic\@mpfn}%
\edef\fnr@formated{\thefootnote}%
% \end{macrocode}
%
@@ -574,11 +618,12 @@ not very clear.
Custom footnote-numbers used in a footnoterange\MessageBreak%
environment: Footnote with natural number\MessageBreak%
\ifx\fnr@formated\fnr@arabic%
- \fnr@arabic \space %
+ \fnr@arabic\space%
\else%
- \space \fnr@arabic \space (\fnr@formated )\MessageBreak%
+ \space\fnr@arabic\space (\fnr@formated )%
\fi%
- was renumbered to \fnr@opt %
+ \MessageBreak%
+ was renumbered to \fnr@opt\MessageBreak%
}%
\ltx@ifpackageloaded{hyperref}{% hyperref loaded
\footnotetext[#1]{\phantomsection\label{fnr:\fnr@arabic}#2}%
@@ -586,79 +631,128 @@ not very clear.
\footnotetext[#1]{\label{fnr:\fnr@arabic}#2}%
}%
\fi%
-}%
+}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macrocode}
+
+% \end{macrocode}
+% \pagebreak
+%
+% |\ifHy@hyperfootnotes| \textquotedblleft encapsulation\textquotedblright{} again:
+%
+% \begin{macro}{\fnr@ifhyperfnrA}
+% \begin{macrocode}
+\newcommand{\fnr@ifhyperfnrA}{%
+ \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%
+}
+
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\fnr@ifhyperfnrN}
+% \begin{macrocode}
+\newcommand{\fnr@ifhyperfnrN}{%
+ \ifHy@hyperfootnotes% option hyperfootnotes=true
+ \hbox{\hyperref[fnr:\fnr@first]{%
+ \@textsuperscript{\normalfont \ref*{fnr:\fnr@first}}}%
+ \@textsuperscript{\normalfont --}%
+ \hyperref[fnr:\arabic\@mpfn]{%
+ \@textsuperscript{\normalfont \ref*{fnr:\arabic\@mpfn}}}}%
+ \else% option hyperfootnotes=false
+ \hbox{\@textsuperscript{\normalfont \ref*{fnr:\fnr@first}%
+ --\ref*{fnr:\arabic\@mpfn}}}%
+ \fi%
+}
% \end{macrocode}
+% \end{macro}
%
% \begin{environment}{footnoterange}
-% The |footnoterange| environment remembers the next footnote number as\\
+% The |footnoterange| environment remembers the next footnote number as\newline
% |\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}%
+ \ifhmode \unskip \fi% FMi
+ \addtocounter\@mpfn{+1}%
+ \xdef\fnr@first{\arabic\@mpfn}%
+ \addtocounter\@mpfn{-1}%
\let\fnr@origfn\footnote%
\let\footnote\fnr@rangefootnote%
+ \GlobalLetLtxMacro{\fnr@origfnmark}{\footnotemark}%
+ \GlobalLetLtxMacro{\footnotemark}{\fnr@rangefootnotemark}%
+ \ignorespaces% FMi
% \end{macrocode}
%
-% At the end of the environment the previous definition of |\footnote| is restored
+% End of the environment:
%
% \begin{macrocode}
}{% at end of the footnoterange environment
+ \ifhmode% FMi
+ \unskip% FMi
+% \end{macrocode}
+%
+% Remember the spacefactor for restoring after the environment has ended
+% (only in |hmode|!). \% FMi
+%
+% \begin{macrocode}
+ \xdef\fnr@aftergroup{\spacefactor\the\spacefactor\relax}% FMi
+ \else% FMi
+% \end{macrocode}
+%
+% Otherwise do something harmless. \% FMi
+%
+% \begin{macrocode}
+ \xdef\fnr@aftergroup{\relax}%
+ \fi% FMi
+% \end{macrocode}
+%
+% At the end of the environment the previous definition of |\footnote| is restored
+%
+% \begin{macrocode}
\let\footnote\fnr@origfn%
+ \GlobalLetLtxMacro{\footnotemark}{\fnr@origfnmark}%
% \end{macrocode}
%
% and the references are placed:
%
% \begin{macrocode}
- \ifx\fnr@opt\empty%
- \else%
- \hspace{-0.85ex}%
- \fi%
- \ifx\fnr@first\fnr@arabic%
+ \ifx\fnr@first\fnr@arabic% There is only one reference in the environment.
\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%
+ \ltx@ifpackageloaded{hyperref}{\fnr@ifhyperfnrA% hyperref package loaded
}{% hyperref package not loaded
- \hbox {\@textsuperscript {\normalfont \ref{fnr:\fnr@first}}}%
+ \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%
+ \ltx@ifpackageloaded{hyperref}{\fnr@ifhyperfnrN% hyperref package loaded
}{% hyperref package not loaded
- \hbox {\@textsuperscript {\normalfont \ref{fnr:\fnr@first}%
- --\ref{fnr:\arabic{footnote}}}}%
+ \hbox{\@textsuperscript{\normalfont \ref{fnr:\fnr@first}%
+ --\ref{fnr:\arabic\@mpfn}}}%
}%
\fi%
-\@\xspace%
+% \end{macrocode}
+%
+% Restore the spacefactor after the environment has ended. \% FMi
+%
+% \begin{macrocode}
+ \aftergroup\fnr@aftergroup% FMi
}
% \end{macrocode}
-%
% \end{environment}
%
% \begin{environment}{footnoterange*}
@@ -666,42 +760,82 @@ not very clear.
% 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}%
+ \ifhmode \unskip \fi% FMi
+ \addtocounter\@mpfn{+1}%
+ \xdef\fnr@first{\arabic\@mpfn}%
+ \addtocounter\@mpfn{-1}%
\let\fnr@origfn\footnote%
\let\footnote\fnr@rangefootnote%
+ \GlobalLetLtxMacro{\fnr@origfnmark}{\footnotemark}%
+ \GlobalLetLtxMacro{\footnotemark}{\fnr@rangefootnotemark}%
+ \ignorespaces% FMi
}{% at end of the footnoterange* environment
+ \ifhmode% FMi
+ \unskip% FMi
+ \xdef\fnr@aftergroup{\spacefactor\the\spacefactor\relax}% FMi
+ \else% FMi
+ \xdef\fnr@aftergroup{\relax}%
+ \fi% FMi
\let\footnote\fnr@origfn%
- \ifx\fnr@first\fnr@arabic%
+ \GlobalLetLtxMacro{\footnotemark}{\fnr@origfnmark}%
+ \ifx\fnr@first\fnr@arabic% There is only one reference in the environment.
\PackageInfo{footnoterange}{%
Environment footnoterange used,\MessageBreak%
but only one footnote (number \fnr@first ) is contained%
+ \MessageBreak%
}%
+% \end{macrocode}
+% \pagebreak
+% \begin{macrocode}
\ltx@ifpackageloaded{hyperref}{% hyperref package loaded
- \hbox {\@textsuperscript {\normalfont \ref*{fnr:\fnr@first}}}%
+ \hbox{\@textsuperscript{\normalfont \ref*{fnr:\fnr@first}}}%
}{% hyperref package not loaded
- \hbox {\@textsuperscript {\normalfont \ref{fnr:\fnr@first}}}%
+ \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}}}}%
+ \hbox{\@textsuperscript{\normalfont \ref*{fnr:\fnr@first}%
+ --\ref*{fnr:\arabic\@mpfn}}}%
}{% hyperref package not loaded
- \hbox {\@textsuperscript {\normalfont \ref{fnr:\fnr@first}%
- --\ref{fnr:\arabic{footnote}}}}%
+ \hbox{\@textsuperscript{\normalfont \ref{fnr:\fnr@first}%
+ --\ref{fnr:\arabic\@mpfn}}}%
}%
\fi%
-\@\xspace%
+ \aftergroup\fnr@aftergroup% FMi
}
+
% \end{macrocode}
-%
% \end{environment}
%
-% |\@\xspace| will preserve the space behind the environment (if there is one).
+% The \xpackage{footnoterange} package does not handle |\footnotemark|s,
+% but at least the user is made aware of this:
+%
+% \begin{macro}{\fnr@rangefootnotemark}
+% \begin{macrocode}
+
+\newcommand{\fnr@rangefootnotemark}[1][\empty]{%
+ \PackageError{footnoterange}{%
+ \string\footnotemark\space not supported in footnoterange(*) environment%
+ }{The footnoterange package does not handle a \string\footnotemark.\MessageBreak%
+ Either use \string\footnote\string{...\string}\space instead of%
+ \string\footnotemark\space and \string\footnotetext\string{...\string}\MessageBreak%
+ in footnoterange and footnoterange* environments,\MessageBreak%
+ or do not use those environments around a \string\footnotemark\MessageBreak%
+ (or \string\renewcommand\string{\string\fnr@rangefootnotemark\string}\MessageBreak%
+ with your own fixing code).%
+ }%
+ \xdef\fnr@mopt{#1}%
+ \ifx\fnr@mopt\empty%
+ \fnr@origfnmark%
+ \else%
+ \fnr@origfnmark[#1]%
+ \fi%
+}
+
+% \end{macrocode}
+% \end{macro}
%
% \begin{macrocode}
%</package>
@@ -713,52 +847,49 @@ not very clear.
%
% \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.\\
+% Everything is available on CTAN,
+% \url{https://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:
+% For unpacking the \xfile{footnoterange.dtx} file
+% and constructing the documentation it is required:
% \begin{description}
-% \item[-] \TeX{} Format \LaTeXe{}, \url{http://www.CTAN.org/}
+% \item[-] \TeX{} Format \LaTeXe{}, \url{https://www.CTAN.org/}
%
-% \item[-] document class \xpackage{ltxdoc}, 2007/11/11, v2.0u,
-% \url{http://ctan.org/pkg/ltxdoc}
+% \item[-] document class \xpackage{ltxdoc}, 2015/03/26, v2.0w,
+% \url{https://ctan.org/pkg/ltxdoc}
%
-% \item[-] package \xpackage{holtxdoc}, 2011/02/04, v0.21,
-% \url{http://ctan.org/pkg/holtxdoc}
+% \item[-] package \xpackage{holtxdoc}, 2012/03/21, v0.24,
+% \url{https://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[-] \TeX{} Format \LaTeXe{}, \url{https://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}
+% \url{https://www.ctan.org/pkg/ltxcmds}
% \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[-] class \xpackage{article}, 2007/10/19, v1.4h, from \xpackage{classes.dtx}:\newline
+% \url{https://www.ctan.org/tex-archive/macros/latex/base/}
%
-% \item[-] package \xpackage{footnoterange}, 2012/02/17, v1.0a,\\
-% \url{http://ctan.org/pkg/footnoterange}\\
+% \item[-] package \xpackage{footnoterange}, 2018/10/15, v1.0b,\newline
+% \url{https://www.ctan.org/pkg/footnoterange}\newline
% (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}
+% \item[-] package \xpackage{hyperref}, 2012/11/06, v6.83m,\newline
+% \url{https://www.ctan.org/pkg/hyperref}
% \end{description}
%
% \DescribeMacro{Oberdiek}
@@ -767,45 +898,43 @@ not very clear.
% \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}.\\
+% are also available in a TDS compliant ZIP archive:\newline
+% \url{http://mirror.ctan.org/install/macros/latex/contrib/oberdiek.tds.zip}.\newline
% It is probably best to download and use this, because the packages in there
-% are quite probably both recent and compatible among themselves.\\
+% should be both recent and compatible.
%
% \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}.\\
+% downloaded separately,\newline
+% \url{http://mirrors.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}.\\
+% A list of my packages can be found at \url{https://www.ctan.org/author/muench-hm}.
%
% \pagebreak
%
% \subsection{Package, unpacking TDS}
-% \paragraph{Package.} This package is available on \CTAN{}
+% \paragraph{Package.} This package is available on \url{https://www.CTAN.org}.
% \begin{description}
-% \item[\CTAN{macros/latex/contrib/footnoterange/footnoterange.dtx}]\hspace*{0.1cm} \\
+% \item[\url{http://mirror.ctan.org/macros/latex/contrib/footnoterange/footnoterange.dtx}]\hspace*{0.1cm}
% The source file.
-% \item[\CTAN{macros/latex/contrib/footnoterange/footnoterange.pdf}]\hspace*{0.1cm} \\
+% \item[\url{http://mirror.ctan.org/macros/latex/contrib/footnoterange/footnoterange.pdf}]\hspace*{0.1cm}
% The documentation.
-% \item[\CTAN{macros/latex/contrib/footnoterange/footnoterange-example.pdf}]\hspace*{0.1cm} \\
+% \item[\url{http://mirror.ctan.org/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} \\
+% \item[\url{http://mirror.ctan.org/macros/latex/contrib/footnoterange/README}]\hspace*{0.1cm}\newline\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.
+% \item[\url{http://mirror.ctan.org/install/macros/latex/contrib/footnoterange.tds.zip}]\hspace*{0.1cm}
+% Everything in TDS compliant, compiled format.
% \end{description}
-% which additionally contains\\
+% which additionally contains\newline
% \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.
+% footnoterange.sty & The \xext{sty}le file.
% \end{tabular}
%
% \bigskip
@@ -814,12 +943,12 @@ not very clear.
%
% \paragraph{Unpacking.} The \xfile{.dtx} file is a self-extracting
% \docstrip{} archive. The files are extracted by running the
-% \xfile{.dtx} through \plainTeX{}:
+% \xfile{.dtx} through \plainTeX:
% \begin{quote}
% \verb|tex footnoterange.dtx|
% \end{quote}
%
-% About generating the documentation see paragraph~\ref{GenDoc} below.\\
+% 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
@@ -893,14 +1022,14 @@ not very clear.
% \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{}.
+% If you have a \xfile{docstrip.cfg} that configures and enables \docstrip's
+% 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
+% If your \TeX~distribution (\TeX{} Live, \mikTeX, \teTeX, \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}
@@ -912,7 +1041,7 @@ not very clear.
% \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
+% \docstrip{} does not need \LaTeX ), then inform the autodetect routine
% about your intention:
% \begin{quote}
% \verb|latex \let\install=y\input{footnoterange.dtx}|
@@ -930,37 +1059,46 @@ not very clear.
% \end{quote}
%
% \noindent An example follows how to generate the
-% documentation with \pdfLaTeX{}:
+% documentation with \pdfLaTeX :
%
% \begin{quote}
%\begin{verbatim}
-%pdflatex footnoterange.dtx
+%pdflatex footnoterange.drv
%makeindex -s gind.ist footnoterange.idx
-%pdflatex footnoterange.dtx
+%pdflatex footnoterange.drv
%makeindex -s gind.ist footnoterange.idx
-%pdflatex footnoterange.dtx
+%pdflatex footnoterange.drv
%\end{verbatim}
% \end{quote}
%
% \subsection{Compiling the example}
%
-% The example file, \textsf{footnoterange-example.tex}, can be compiled via\\
-% |(pdf)latex footnoterange-example.tex|.\\
+% The example file, \textsf{footnoterange-example.tex}, can be compiled via\newline
+% \indent \verb|(pdf)latex footnoterange-example.tex|\newline
+% but will need probably two compiler runs to get everything right.\newline
+% \verb|footnoterange-example.tex| can be created by\newline
+% \indent \verb|tex footnoterange.dtx|.\newline
+% \verb|footnoterange.dtx| is at
+% \url{https://www.ctan.org/pkg/footnoterange}.\newline
%
% \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\\
+% I (H.-Martin M\"{u}nch) 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), \textsc{Frank Mittelbach} for several bug reports,
+% for code for improving the package, and for pointing me to the \xpackage{fnpct}
+% package as alternative, everybody of the CTAN team for managing CTAN, and the
+% \Newsgroup{comp.text.tex} and \Newsgroup{de.comp.text.tex}
+% newsgroups and everybody at \url{https://tex.stackexchange.com/}
+% for their help in all things \hbox{\TeX{}.}
+% This package was created as response to question
+% \textquotedblleft Compressing consecutive footnote
+% marks\textquotedblright{} by user001\newline
+% (\url{http://tex.stackexchange.com/users/10127/user001}) on\newline
% \url{http://tex.stackexchange.com/q/44165/6865}.
%
% \newpage
-%
% \phantomsection
% \begin{History}\label{History}
% \begin{Version}{2011/02/11 v0.1ff.}
@@ -969,6 +1107,12 @@ not very clear.
% \begin{Version}{2012/02/17 v1.0a}
% \item Package created and uploaded to CTAN.
% \end{Version}
+% \begin{Version}{2018/10/15 v1.0b}
+% \item Fixed/updated minor details.
+% \item Bug fix: Did not work without \xpackage{hyperref}, wrong spacefactor.
+% \item Listing the \href{https://www.ctan.org/pkg/fnpct}{\xpackage{fnpct}}
+% package as alternative.
+% \end{Version}
% \end{History}
%
% \bigskip
@@ -976,8 +1120,6 @@ not very clear.
% 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
diff --git a/Master/texmf-dist/source/latex/footnoterange/footnoterange.ins b/Master/texmf-dist/source/latex/footnoterange/footnoterange.ins
index 710f418d4e3..7a50dcdd840 100644
--- a/Master/texmf-dist/source/latex/footnoterange/footnoterange.ins
+++ b/Master/texmf-dist/source/latex/footnoterange/footnoterange.ins
@@ -9,23 +9,25 @@
%% This is a generated file.
%%
%% Project: footnoterange
-%% Version: 2012/02/17 v1.0a
+%% Version: 2018/10/15 v1.0b
%%
-%% Copyright (C) 2012 by
+%% Copyright (C) 2012 - 2018 by
%% H.-Martin M"unch <Martin dot Muench at Uni-Bonn dot de>
+%% Portions of code copyrighted by other people as marked;
+%% lines marked "FMi": code by Frank Mittelbach, thanks!
%%
%% The usual disclaimer applies:
%% If it doesn't work right that's your problem.
-%% (Nevertheless, send an e-mail to the maintainer
+%% (Nevertheless, please 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
+%% https://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
+%% https://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.
%%
@@ -39,10 +41,15 @@
%% footnoterange.ins, footnoterange.drv,
%% footnoterange-example.tex, footnoterange-example.pdf.
%%
+%% In memoriam
+%% Claudia Simone Barth + 1996/01/30
+%% Tommy Muench + 2014/01/02
+%% Hans-Klaus Muench + 2014/08/24
+%%
\input docstrip.tex
\Msg{*********************************************************************************}
-\Msg{* Installation }
-\Msg{* Package: footnoterange 2012/02/17 v1.0a References to ranges of footnotes (HMM)}
+\Msg{* Installation}
+\Msg{* Package: footnoterange 2018/10/15 v1.0b References to ranges of footnotes (HMM)}
\Msg{*********************************************************************************}
\keepsilent
@@ -54,23 +61,25 @@
This is a generated file.
Project: footnoterange
-Version: 2012/02/17 v1.0a
+Version: 2018/10/15 v1.0b
-Copyright (C) 2012 by
+Copyright (C) 2012 - 2018 by
H.-Martin M"unch <Martin dot Muench at Uni-Bonn dot de>
+Portions of code copyrighted by other people as marked;
+lines marked "FMi": code by Frank Mittelbach, thanks!
The usual disclaimer applies:
If it doesn't work right that's your problem.
-(Nevertheless, send an e-mail to the maintainer
+(Nevertheless, please 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
+ https://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
+ https://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.
@@ -84,6 +93,11 @@ the README, and the derived files
footnoterange.ins, footnoterange.drv,
footnoterange-example.tex, footnoterange-example.pdf.
+In memoriam
+ Claudia Simone Barth + 1996/01/30
+ Tommy Muench + 2014/01/02
+ Hans-Klaus Muench + 2014/08/24
+
\endpreamble
\let\MetaPrefix\DoubleperCent
@@ -103,7 +117,7 @@ the README, and the derived files
\Msg{* To finish the installation you have to move the following}
\Msg{* file into a directory searched by TeX:}
\Msg{*}
-\Msg{* footnoterange.sty}
+\Msg{* footnoterange.sty}
\Msg{*}
\Msg{* To produce the documentation run the file `footnoterange.drv'}
\Msg{* through (pdf)LaTeX, e.g.}
diff --git a/Master/texmf-dist/tex/latex/footnoterange/footnoterange.sty b/Master/texmf-dist/tex/latex/footnoterange/footnoterange.sty
index c7b369f60d0..6623596dac7 100644
--- a/Master/texmf-dist/tex/latex/footnoterange/footnoterange.sty
+++ b/Master/texmf-dist/tex/latex/footnoterange/footnoterange.sty
@@ -9,23 +9,25 @@
%% This is a generated file.
%%
%% Project: footnoterange
-%% Version: 2012/02/17 v1.0a
+%% Version: 2018/10/15 v1.0b
%%
-%% Copyright (C) 2012 by
+%% Copyright (C) 2012 - 2018 by
%% H.-Martin M"unch <Martin dot Muench at Uni-Bonn dot de>
+%% Portions of code copyrighted by other people as marked;
+%% lines marked "FMi": code by Frank Mittelbach, thanks!
%%
%% The usual disclaimer applies:
%% If it doesn't work right that's your problem.
-%% (Nevertheless, send an e-mail to the maintainer
+%% (Nevertheless, please 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
+%% https://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
+%% https://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.
%%
@@ -39,32 +41,38 @@
%% footnoterange.ins, footnoterange.drv,
%% footnoterange-example.tex, footnoterange-example.pdf.
%%
+%% In memoriam
+%% Claudia Simone Barth + 1996/01/30
+%% Tommy Muench + 2014/01/02
+%% Hans-Klaus Muench + 2014/08/24
+%%
\NeedsTeXFormat{LaTeX2e}[2011/06/27]
-\ProvidesPackage{footnoterange}[2012/02/17 v1.0a
+\ProvidesPackage{footnoterange}[2018/10/15 v1.0b
References to ranges of footnotes (HMM)]
-%% Provides the footnoterange and footnoterange* environment to
+%% Provides the footnoterange and footnoterange* environments to
%% refer to ranges of footnotes.
-\RequirePackage{ltxcmds}[2011/04/18]% v1.20; for "\ltx@ifpackageloaded"
-\RequirePackage{xspace}[2009/10/20]% v1.13; for "\@\xspace"
+\RequirePackage{ltxcmds}[2011/11/09]% v1.22; for "\ltx@ifpackageloaded"
+\RequirePackage{letltxmacro}[2010/09/02]% v1.4; for "\GlobalLetLtxMacro"
+
+\newcommand{\fnr@ifhyperrfn}{%
+ \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 from the hyperref package
+ \fi%
+}
\newcommand{\fnr@rangefootnote}[2][\empty]{%
\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
- }%
+ \addtocounter\@mpfn{+1}%
+ \ltx@ifpackageloaded{hyperref}{\fnr@ifhyperrfn}{\relax}%
\xdef\fnr@opt{#1}% contains the optional argument
- \xdef\fnr@arabic{\arabic{footnote}}%
+ \xdef\fnr@arabic{\arabic\@mpfn}%
\edef\fnr@formated{\thefootnote}%
\ifx\fnr@opt\empty%
\footnotetext{\label{fnr:\fnr@arabic}#2}%
@@ -73,11 +81,12 @@
Custom footnote-numbers used in a footnoterange\MessageBreak%
environment: Footnote with natural number\MessageBreak%
\ifx\fnr@formated\fnr@arabic%
- \fnr@arabic \space %
+ \fnr@arabic\space%
\else%
- \space \fnr@arabic \space (\fnr@formated )\MessageBreak%
+ \space\fnr@arabic\space (\fnr@formated )%
\fi%
- was renumbered to \fnr@opt %
+ \MessageBreak%
+ was renumbered to \fnr@opt\MessageBreak%
}%
\ltx@ifpackageloaded{hyperref}{% hyperref loaded
\footnotetext[#1]{\phantomsection\label{fnr:\fnr@arabic}#2}%
@@ -85,90 +94,134 @@
\footnotetext[#1]{\label{fnr:\fnr@arabic}#2}%
}%
\fi%
-}%
+}
+
+
+\newcommand{\fnr@ifhyperfnrA}{%
+ \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%
+}
+\newcommand{\fnr@ifhyperfnrN}{%
+ \ifHy@hyperfootnotes% option hyperfootnotes=true
+ \hbox{\hyperref[fnr:\fnr@first]{%
+ \@textsuperscript{\normalfont \ref*{fnr:\fnr@first}}}%
+ \@textsuperscript{\normalfont --}%
+ \hyperref[fnr:\arabic\@mpfn]{%
+ \@textsuperscript{\normalfont \ref*{fnr:\arabic\@mpfn}}}}%
+ \else% option hyperfootnotes=false
+ \hbox{\@textsuperscript{\normalfont \ref*{fnr:\fnr@first}%
+ --\ref*{fnr:\arabic\@mpfn}}}%
+ \fi%
+}
\newenvironment{footnoterange}{%
% at begin of the footnoterange environment
- \addtocounter{footnote}{+1}%
- \xdef\fnr@first{\arabic{footnote}}%
- \addtocounter{footnote}{-1}%
+ \ifhmode \unskip \fi% FMi
+ \addtocounter\@mpfn{+1}%
+ \xdef\fnr@first{\arabic\@mpfn}%
+ \addtocounter\@mpfn{-1}%
\let\fnr@origfn\footnote%
\let\footnote\fnr@rangefootnote%
+ \GlobalLetLtxMacro{\fnr@origfnmark}{\footnotemark}%
+ \GlobalLetLtxMacro{\footnotemark}{\fnr@rangefootnotemark}%
+ \ignorespaces% FMi
}{% at end of the footnoterange environment
+ \ifhmode% FMi
+ \unskip% FMi
+ \xdef\fnr@aftergroup{\spacefactor\the\spacefactor\relax}% FMi
+ \else% FMi
+ \xdef\fnr@aftergroup{\relax}%
+ \fi% FMi
\let\footnote\fnr@origfn%
- \ifx\fnr@opt\empty%
- \else%
- \hspace{-0.85ex}%
- \fi%
- \ifx\fnr@first\fnr@arabic%
+ \GlobalLetLtxMacro{\footnotemark}{\fnr@origfnmark}%
+ \ifx\fnr@first\fnr@arabic% There is only one reference in the environment.
\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%
+ \ltx@ifpackageloaded{hyperref}{\fnr@ifhyperfnrA% hyperref package loaded
}{% hyperref package not loaded
- \hbox {\@textsuperscript {\normalfont \ref{fnr:\fnr@first}}}%
+ \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%
+ \ltx@ifpackageloaded{hyperref}{\fnr@ifhyperfnrN% hyperref package loaded
}{% hyperref package not loaded
- \hbox {\@textsuperscript {\normalfont \ref{fnr:\fnr@first}%
- --\ref{fnr:\arabic{footnote}}}}%
+ \hbox{\@textsuperscript{\normalfont \ref{fnr:\fnr@first}%
+ --\ref{fnr:\arabic\@mpfn}}}%
}%
\fi%
-\@\xspace%
+ \aftergroup\fnr@aftergroup% FMi
}
-
\newenvironment{footnoterange*}{%
% at begin of the footnoterange* environment
- \addtocounter{footnote}{+1}%
- \xdef\fnr@first{\arabic{footnote}}%
- \addtocounter{footnote}{-1}%
+ \ifhmode \unskip \fi% FMi
+ \addtocounter\@mpfn{+1}%
+ \xdef\fnr@first{\arabic\@mpfn}%
+ \addtocounter\@mpfn{-1}%
\let\fnr@origfn\footnote%
\let\footnote\fnr@rangefootnote%
+ \GlobalLetLtxMacro{\fnr@origfnmark}{\footnotemark}%
+ \GlobalLetLtxMacro{\footnotemark}{\fnr@rangefootnotemark}%
+ \ignorespaces% FMi
}{% at end of the footnoterange* environment
+ \ifhmode% FMi
+ \unskip% FMi
+ \xdef\fnr@aftergroup{\spacefactor\the\spacefactor\relax}% FMi
+ \else% FMi
+ \xdef\fnr@aftergroup{\relax}%
+ \fi% FMi
\let\footnote\fnr@origfn%
- \ifx\fnr@first\fnr@arabic%
+ \GlobalLetLtxMacro{\footnotemark}{\fnr@origfnmark}%
+ \ifx\fnr@first\fnr@arabic% There is only one reference in the environment.
\PackageInfo{footnoterange}{%
Environment footnoterange used,\MessageBreak%
but only one footnote (number \fnr@first ) is contained%
+ \MessageBreak%
}%
\ltx@ifpackageloaded{hyperref}{% hyperref package loaded
- \hbox {\@textsuperscript {\normalfont \ref*{fnr:\fnr@first}}}%
+ \hbox{\@textsuperscript{\normalfont \ref*{fnr:\fnr@first}}}%
}{% hyperref package not loaded
- \hbox {\@textsuperscript {\normalfont \ref{fnr:\fnr@first}}}%
+ \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}}}}%
+ \hbox{\@textsuperscript{\normalfont \ref*{fnr:\fnr@first}%
+ --\ref*{fnr:\arabic\@mpfn}}}%
}{% hyperref package not loaded
- \hbox {\@textsuperscript {\normalfont \ref{fnr:\fnr@first}%
- --\ref{fnr:\arabic{footnote}}}}%
+ \hbox{\@textsuperscript{\normalfont \ref{fnr:\fnr@first}%
+ --\ref{fnr:\arabic\@mpfn}}}%
}%
\fi%
-\@\xspace%
+ \aftergroup\fnr@aftergroup% FMi
}
+
+
+\newcommand{\fnr@rangefootnotemark}[1][\empty]{%
+ \PackageError{footnoterange}{%
+ \string\footnotemark\space not supported in footnoterange(*) environment%
+ }{The footnoterange package does not handle a \string\footnotemark.\MessageBreak%
+ Either use \string\footnote\string{...\string}\space instead of%
+ \string\footnotemark\space and \string\footnotetext\string{...\string}\MessageBreak%
+ in footnoterange and footnoterange* environments,\MessageBreak%
+ or do not use those environments around a \string\footnotemark\MessageBreak%
+ (or \string\renewcommand\string{\string\fnr@rangefootnotemark\string}\MessageBreak%
+ with your own fixing code).%
+ }%
+ \xdef\fnr@mopt{#1}%
+ \ifx\fnr@mopt\empty%
+ \fnr@origfnmark%
+ \else%
+ \fnr@origfnmark[#1]%
+ \fi%
+}
+
\endinput
%%
%% End of file `footnoterange.sty'.