From 0eb89ce20c33dedfda750f23765d0e5d8a4c626d Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 15 Oct 2018 21:22:13 +0000 Subject: footnoterange (15oct18) git-svn-id: svn://tug.org/texlive/trunk@48912 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/footnoterange/README | 81 ++- .../latex/footnoterange/footnoterange-example.pdf | Bin 81029 -> 82980 bytes .../latex/footnoterange/footnoterange-example.tex | 142 ----- .../doc/latex/footnoterange/footnoterange.pdf | Bin 301230 -> 319711 bytes .../source/latex/footnoterange/footnoterange.drv | 29 +- .../source/latex/footnoterange/footnoterange.dtx | 634 +++++++++++++-------- .../source/latex/footnoterange/footnoterange.ins | 40 +- .../tex/latex/footnoterange/footnoterange.sty | 193 ++++--- 8 files changed, 596 insertions(+), 523 deletions(-) delete mode 100644 Master/texmf-dist/doc/latex/footnoterange/footnoterange-example.tex 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 Binary files a/Master/texmf-dist/doc/latex/footnoterange/footnoterange-example.pdf and b/Master/texmf-dist/doc/latex/footnoterange/footnoterange-example.pdf 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 -%% -%% 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 Binary files a/Master/texmf-dist/doc/latex/footnoterange/footnoterange.pdf and b/Master/texmf-dist/doc/latex/footnoterange/footnoterange.pdf 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 +%% 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 +% 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 +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} % @@ -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} % @@ -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 +%% 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 +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 +%% 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'. -- cgit v1.2.3