diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/footnoterange |
Initial commit
Diffstat (limited to 'macros/latex/contrib/footnoterange')
-rw-r--r-- | macros/latex/contrib/footnoterange/README | 162 | ||||
-rw-r--r-- | macros/latex/contrib/footnoterange/footnoterange-example.pdf | bin | 0 -> 82980 bytes | |||
-rw-r--r-- | macros/latex/contrib/footnoterange/footnoterange.dtx | 1126 | ||||
-rw-r--r-- | macros/latex/contrib/footnoterange/footnoterange.pdf | bin | 0 -> 319711 bytes |
4 files changed, 1288 insertions, 0 deletions
diff --git a/macros/latex/contrib/footnoterange/README b/macros/latex/contrib/footnoterange/README new file mode 100644 index 0000000000..30812580a5 --- /dev/null +++ b/macros/latex/contrib/footnoterange/README @@ -0,0 +1,162 @@ +README for footnoterange package, 2018/10/15, v1.0b + + +TABLE OF CONTENTS +================= + +1 Introduction +2 Download +3 Installation +4 Additional Packages +5 Package Compatibility +6 Author/Maintainer +7 Bug Reports +8 Known Problems + + +1 INTRODUCTION +============== + +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 +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 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: +https://www.ctan.org/pkg/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 +============== + +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 https://www.ctan.org/TDS-guidelines for an explanation +of TDS. +Example: + cd /...somewhere.../texmf + unzip /...downloadpath.../footnoterange.tds.zip +Do not forget to refresh the file name database of this +TDS tree. +Example: + texhash /...somewhere.../texmf + +Manual installation +------------------- +a) Download the footnoterange files from CTAN. + If necessary, unpack them. +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 `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. + pdflatex footnoterange.dtx + makeindex -s gind.ist footnoterange.idx + pdflatex footnoterange.dtx + makeindex -s gind.ist footnoterange.idx + 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. + pdflatex footnoterange-example.tex + pdflatex footnoterange-example.tex + pdflatex footnoterange-example.tex +h) Copy the documentation files to + "TDS:doc/latex/footnoterange/": + README, footnoterange.pdf, footnoterange-example.tex, + footnoterange-example.pdf. + + +4 ADDITIONAL PACKAGES +===================== + +footnoterange loads other packages: +* 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). + + +5 PACKAGE COMPATIBILITY +======================= + +footnoterange should be loaded quite late, i.e. after +footnote handling is changed by other packages. +If the hyperref package is used, footnoterange should +be loaded after hyperref. + + +6 AUTHOR/MAINTAINER +=================== + +H.-Martin Münch + + +7 BUG REPORTS +============= + +A bug report should contain: +* Comprehensive problem description. This includes error or + warning messages. +* \errorcontextlines=\maxdimen can be added in the + TeX code to get more information in TeX error messages. +* Minimal test file that shows the problem, but does not + contain any unnecessary packages and code. +* Used drivers/programs. +* Version information about used packages and programs. +* If you are using LaTeX, then add "\listfiles". Then + a list of version information is printed at the end + of the LaTeX run. +* Please no other files than the minimal test file. + The other files .log, .dvi, .ps, .pdf are seldom + necessary, so send them only on request. +* Please .zip or .tar.gz your file(s) before sending them! + +Bug address +----------- +Bug reports can be send to the maintainer: + H.-Martin Münch + <Martin [dot] Muench [at] Uni-Bonn [dot] de> + + +8 KNOWN PROBLEMS +================ + +The footnoterange package does not handle \footnotemark +in footnoteranges (see \fnr@rangefootnotemark in the +documentation).
\ No newline at end of file diff --git a/macros/latex/contrib/footnoterange/footnoterange-example.pdf b/macros/latex/contrib/footnoterange/footnoterange-example.pdf Binary files differnew file mode 100644 index 0000000000..75cd9a4f49 --- /dev/null +++ b/macros/latex/contrib/footnoterange/footnoterange-example.pdf diff --git a/macros/latex/contrib/footnoterange/footnoterange.dtx b/macros/latex/contrib/footnoterange/footnoterange.dtx new file mode 100644 index 0000000000..50432562ea --- /dev/null +++ b/macros/latex/contrib/footnoterange/footnoterange.dtx @@ -0,0 +1,1126 @@ +% \iffalse meta-comment +% +% File: footnoterange.dtx +% Version: 2018/10/15 v1.0b +% +% 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 +% 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. +% +% 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. +% +% 'footnoterange' is available on CTAN: +% https://www.ctan.org/pkg/footnoterange +% +% 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: +% tex footnoterange.ins +% (b) Without footnoterange.ins: +% tex footnoterange.dtx +% (c) If you insist on using LaTeX +% latex \let\install=y\input{footnoterange.dtx} +% (quote the arguments according to the demands of your shell) +% +% Documentation: +% (a) If footnoterange.drv is present: +% (pdf)latex footnoterange.drv +% makeindex -s gind.ist footnoterange.idx +% (pdf)latex footnoterange.drv +% makeindex -s gind.ist footnoterange.idx +% (pdf)latex footnoterange.drv +% (b) Without footnoterange.drv: +% (pdf)latex footnoterange.dtx +% makeindex -s gind.ist footnoterange.idx +% (pdf)latex footnoterange.dtx +% makeindex -s gind.ist footnoterange.idx +% (pdf)latex footnoterange.dtx +% +% The class ltxdoc loads the configuration file ltxdoc.cfg +% if available. Here you can specify further options, e.g. +% use DIN A4 as paper format: +% \PassOptionsToClass{a4paper}{article} +% +% Installation: +% TDS:tex/latex/footnoterange/footnoterange.sty +% TDS:doc/latex/footnoterange/footnoterange.pdf +% TDS:doc/latex/footnoterange/footnoterange-example.tex +% TDS:doc/latex/footnoterange/footnoterange-example.pdf +% TDS:source/latex/footnoterange/footnoterange.dtx +% +%<*ignore> +\begingroup + \catcode123=1 % + \catcode125=2 % + \def\x{LaTeX2e}% +\expandafter\endgroup +\ifcase 0\ifx\install y1\fi\expandafter + \ifx\csname processbatchFile\endcsname\relax\else1\fi + \ifx\fmtname\x\else 1\fi\relax +\else\csname fi\endcsname +%</ignore> +%<*install> +\input docstrip.tex +\Msg{*********************************************************************************} +\Msg{* Installation} +\Msg{* Package: footnoterange 2018/10/15 v1.0b References to ranges of footnotes (HMM)} +\Msg{*********************************************************************************} + +\keepsilent +\askforoverwritefalse + +\let\MetaPrefix\relax +\preamble + +This is a generated file. + +Project: footnoterange +Version: 2018/10/15 v1.0b + +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, 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 + 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. + +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. + +In memoriam + Claudia Simone Barth + 1996/01/30 + Tommy Muench + 2014/01/02 + Hans-Klaus Muench + 2014/08/24 + +\endpreamble +\let\MetaPrefix\DoubleperCent + +\generate{% + \file{footnoterange.ins}{\from{footnoterange.dtx}{install}}% + \file{footnoterange.drv}{\from{footnoterange.dtx}{driver}}% + \usedir{tex/latex/footnoterange}% + \file{footnoterange.sty}{\from{footnoterange.dtx}{package}}% + \usedir{doc/latex/footnoterange}% + \file{footnoterange-example.tex}{\from{footnoterange.dtx}{example}}% +} + +\catcode32=13\relax% active space +\let =\space% +\Msg{************************************************************************} +\Msg{*} +\Msg{* To finish the installation you have to move the following} +\Msg{* file into a directory searched by TeX:} +\Msg{*} +\Msg{* footnoterange.sty} +\Msg{*} +\Msg{* To produce the documentation run the file `footnoterange.drv'} +\Msg{* through (pdf)LaTeX, e.g.} +\Msg{* pdflatex footnoterange.drv} +\Msg{* makeindex -s gind.ist footnoterange.idx} +\Msg{* pdflatex footnoterange.drv} +\Msg{* makeindex -s gind.ist footnoterange.idx} +\Msg{* pdflatex footnoterange.drv} +\Msg{*} +\Msg{* At least three runs are necessary e.g. to get the} +\Msg{* references right!} +\Msg{*} +\Msg{* Happy TeXing!} +\Msg{*} +\Msg{************************************************************************} + +\endbatchfile +%</install> +%<*ignore> +\fi +%</ignore> +% +% \section{The documentation driver file} +% +% The next bit of code contains the documentation driver file for +% \TeX , i.\,e., the file that will produce the documentation you +% are currently reading. It will be extracted from this file by the +% \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}[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 +%% to the most recent version (if they are not already the most +%% recent version). +\hypersetup{% + pdfsubject={References to ranges of footnotes (HMM)},% + pdfkeywords={LaTeX, footnoterange, footnotes, footnote, reference, H.-Martin Muench},% + pdfencoding=auto,% + pdflang={en},% + breaklinks=true,% + linktoc=all,% + pdfstartview=FitH,% + pdfpagelayout=OneColumn,% + bookmarksnumbered=true,% + bookmarksopen=true,% + bookmarksopenlevel=3,% + pdfmenubar=true,% + pdftoolbar=true,% + pdfwindowui=true,% + pdfnewwindow=true% +} +\CodelineIndex +\hyphenation{printing docu-ment} +\gdef\unit#1{\mathord{\thinspace\mathrm{#1}}} +\begin{document} + \DocInput{footnoterange.dtx}% +\end{document} +%</driver> +% \end{macrocode} +% +% \fi +% +% \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 +% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} +% +% \GetFileInfo{footnoterange.drv} +% +% \begingroup +% \def\x{\#,\$,\^,\_,\~,\ ,\&,\{,\},\%}% +% \makeatletter +% \@onelevel@sanitize\x +% \expandafter\endgroup +% \expandafter\DoNotIndex\expandafter{\x} +% \expandafter\DoNotIndex\expandafter{\string\ } +% \begingroup +% \makeatletter +% \lccode`9=32\relax +% \lowercase{%^^A +% \edef\x{\noexpand\DoNotIndex{\@backslashchar9}}%^^A +% }%^^A +% \expandafter\endgroup\x +% \DoNotIndex{\,,\\} +% \DoNotIndex{\documentclass,\usepackage,\ProvidesPackage,\begin,\end} +% \DoNotIndex{\MessageBreak} +% \DoNotIndex{\NeedsTeXFormat,\DoNotIndex,\verb} +% \DoNotIndex{\def,\edef,\gdef,\global,\xdef} +% \DoNotIndex{\ifx,\listfiles,\mathord,\mathrm} +% \DoNotIndex{\bigskip,\space,\thinspace,\ldots} +% \DoNotIndex{\indent,\noindent,\newline,\linebreak,\pagebreak,\newpage} +% \DoNotIndex{\textbf,\textit,\textsf,\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{2018/10/15 v1.0b} +% \author{H.-Martin M\"{u}nch\\\xemail{Martin.Muench at Uni-Bonn.de}} +% +% \maketitle +% +% \begin{abstract} +% \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 ,\ } +% \makeatother% +% i.\,e. the range (from first to last referred footnote at that place) is given. +% Depending on loading of \xpackage{hyperref} and use of its |hyperfootnotes|-option +% the references are hyperlinked. (References to footnotes in |footnoterange*| +% are never hyperlinked.) +% \end{abstract} +% +% \bigskip +% +% \noindent Disclaimer for web links: The author is not responsible for any contents +% referred to in this work unless 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. +% +% \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. +% +% \bigskip +% +% \tableofcontents +% +%\newpage +% +% \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 ,\ } +% \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.\newline +% |\footnotemark\footnotetext| instead of |\footnote| is not supported inside +% |footnoterange| and |footnoterange*| environments. +% +% \bigskip +% +% \section{Usage} +% +% \indent Just load the package placing +% \begin{quote} +% |\usepackage{footnoterange}| +% \end{quote} +% \noindent in the preamble of your \LaTeXe{} source file. There are no options to +% be used. The package should be loaded after \xpackage{hyperref} (if that package is used) +% and after any other package redefining footnotes. Usage of the |footnoterange| (or +% |footnoterange*|) environment is simple: Just encapsulate the footnotes, which shall +% be referred as range instead of referencing as single ones (see the example file). +% +% 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). +% \item When the \xpackage{hyperref} package is loaded, it depends on the +% |hyperfootnotes| option of the \xpackage{hyperref} package: +% \begin{itemize} +% \item With |hyperfootnotes=true|, the references are hyperlinked. +% \item With |hyperfootnotes=false|, the references are not hyperlinked. +% \end{itemize} +% \end{itemize} +% |\footnote|s inside of the |footnoterange|/{}|footnoterange*| environment +% can use the optional parameter, i.\,e. |\footnote[42]{text}| even if this is the +% third footnote. When giving ranges as reference, this does not seem to be +% such a good idea, if this is not done consistently (i.\,e. footnotes +% |[42], [43], [44]| resulting in 42--44 is OK, +% but |[42]| (original~2), unchanged~3, unchanged~4 resulting in +% 42--4 is confusing). A warning about these changed footnotemarks is written +% into the \xfile{.log}-file. +% +% When there is only a single footnote in a |footnoterange| environment, +% this does not produce some reference like % +% \makeatletter% +% \hbox{\textquotedblleft \@textsuperscript {\normalfont 7--7}\textquotedblright{},\ }% +% \makeatother% +% but only one footnotemark is used automatically. Because it is strange to use +% a |footnoterange| environment without a range of footnotes, an info is written +% into the \xfile{.log}-file about this. +% +% The usage of other footnote-number-representations +% (e.\,g.~\verb|\Roman|, \verb|\roman|, \verb|\Alph|, \verb|\alph|, +% \verb|\fnsymbol|) is also possible, but two things must be taken +% into account: The number of footnote references is restricted (for +% example with \verb|\Alph| only references A to Z are possible), which +% can be fixed e.\,g. with the \url{https://ctan.org/pkg/alphalph} package +% (but not automatically), and references to footnote-symbol-ranges (\verb|\fnsymbol|) +% are probably not very clear. +% +% \subsection*{Options} +% \indent The \xpackage{footnoterange} package takes no options. +% +% \section{Alternatives\label{sec:Alternatives}} +% +% 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}[2014/09/29]% 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/11/06]% v6.83m + +\usepackage{footnoterange}[2018/10/15]% v1.0b + +\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.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 + +\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 \verb|hyperref| package is used with option +\verb|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 +\verb|hyperfootnotes=false| or not using \verb|hyperref| +will remove the hyperlinks to the footnotes.\medskip + +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}\medskip + +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 \verb|footnoterange| environment, only one +footnotemark is used and an info is written into the +\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 +\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> +% \end{macrocode} +% +% \StopEventually{} +% +% \section{The implementation} +% +% We start off by checking that we are loading into \LaTeXe{} and +% announcing the name and version of this package. +% +% \begin{macrocode} +%<*package> +% \end{macrocode} +% +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e}[2011/06/27] +\ProvidesPackage{footnoterange}[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* environments to +%% refer to ranges of footnotes. +% \end{macrocode} +% +% We need the \xpackage{ltxcmds} package: +% +% \begin{macrocode} +\RequirePackage{ltxcmds}[2011/11/09]% v1.22; for "\ltx@ifpackageloaded" +\RequirePackage{letltxmacro}[2010/09/02]% v1.4; for "\GlobalLetLtxMacro" + +% \end{macrocode} +% +% 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]{% +% \end{macrocode} +% +% |#1| contains the optional argument, which is predefined as |\empty|. +% +% \begin{macrocode} + \nolinebreak% + % no \footnotemark 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\@mpfn}% + \edef\fnr@formated{\thefootnote}% +% \end{macrocode} +% +% The |\footnotemark| is not set (yet), but the |\footnotetext|, +% and it gets a label. +% +% \begin{macrocode} + \ifx\fnr@opt\empty% + \footnotetext{\label{fnr:\fnr@arabic}#2}% + \else% + \PackageWarning{footnoterange}{% + Custom footnote-numbers used in a footnoterange\MessageBreak% + environment: Footnote with natural number\MessageBreak% + \ifx\fnr@formated\fnr@arabic% + \fnr@arabic\space% + \else% + \space\fnr@arabic\space (\fnr@formated )% + \fi% + \MessageBreak% + was renumbered to \fnr@opt\MessageBreak% + }% + \ltx@ifpackageloaded{hyperref}{% hyperref loaded + \footnotetext[#1]{\phantomsection\label{fnr:\fnr@arabic}#2}% + }{% hyperref not loaded + \footnotetext[#1]{\label{fnr:\fnr@arabic}#2}% + }% + \fi% +} + +% \end{macrocode} +% \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\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 + \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} +% +% 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@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}{\fnr@ifhyperfnrA% hyperref package loaded + }{% hyperref package not loaded + \hbox{\@textsuperscript{\normalfont \ref{fnr:\fnr@first}}}% + }% + \else% + \ltx@ifpackageloaded{hyperref}{\fnr@ifhyperfnrN% hyperref package loaded + }{% hyperref package not loaded + \hbox{\@textsuperscript{\normalfont \ref{fnr:\fnr@first}% + --\ref{fnr:\arabic\@mpfn}}}% + }% + \fi% +% \end{macrocode} +% +% Restore the spacefactor after the environment has ended. \% FMi +% +% \begin{macrocode} + \aftergroup\fnr@aftergroup% FMi +} + +% \end{macrocode} +% \end{environment} +% +% \begin{environment}{footnoterange*} +% The |footnoterange*| environment does the same as the |footnoterange| +% environment but suppresses all hyperlinks to footnotes inside. +% +% \begin{macrocode} +\newenvironment{footnoterange*}{% + % at begin of the footnoterange* environment + \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% + \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}}}% + }{% hyperref package not loaded + \hbox{\@textsuperscript{\normalfont \ref{fnr:\fnr@first}}}% + }% + \else% + \ltx@ifpackageloaded{hyperref}{% hyperref package loaded + \hbox{\@textsuperscript{\normalfont \ref*{fnr:\fnr@first}% + --\ref*{fnr:\arabic\@mpfn}}}% + }{% hyperref package not loaded + \hbox{\@textsuperscript{\normalfont \ref{fnr:\fnr@first}% + --\ref{fnr:\arabic\@mpfn}}}% + }% + \fi% + \aftergroup\fnr@aftergroup% FMi +} + +% \end{macrocode} +% \end{environment} +% +% 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> +% \end{macrocode} +% +% \pagebreak +% +% \section{Installation} +% +% \subsection{Downloads\label{ss:Downloads}} +% +% Everything is available on CTAN, +% \url{https://www.ctan.org/tex-archive/}, +% but may need additional packages themselves. +% +% \DescribeMacro{footnoterange.dtx} +% For unpacking the \xfile{footnoterange.dtx} file +% and constructing the documentation it is required: +% \begin{description} +% \item[-] \TeX{} Format \LaTeXe{}, \url{https://www.CTAN.org/} +% +% \item[-] document class \xpackage{ltxdoc}, 2015/03/26, v2.0w, +% \url{https://ctan.org/pkg/ltxdoc} +% +% \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{https://www.CTAN.org/} +% +% \item[-] package \xpackage{ltxcmds}, 2011/04/18, v1.20, +% \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}:\newline +% \url{https://www.ctan.org/tex-archive/macros/latex/base/} +% +% \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/11/06, v6.83m,\newline +% \url{https://www.ctan.org/pkg/hyperref} +% \end{description} +% +% \DescribeMacro{Oberdiek} +% \DescribeMacro{holtxdoc} +% \DescribeMacro{ltxcmds} +% \DescribeMacro{alphalph} +% All packages of \textsc{Heiko Oberdiek}'s bundle `oberdiek' +% (especially \xpackage{holtxdoc}, \xpackage{ltxcmds}, and \xpackage{alphalph}) +% are also available in a TDS compliant ZIP archive:\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 +% should be both recent and compatible. +% +% \DescribeMacro{hyperref} +% \noindent \xpackage{hyperref} is not included in that bundle and needs to be +% downloaded separately,\newline +% \url{http://mirrors.ctan.org/install/macros/latex/contrib/hyperref.tds.zip}. +% +% \DescribeMacro{M\"{u}nch} +% 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 \url{https://www.CTAN.org}. +% \begin{description} +% \item[\url{http://mirror.ctan.org/macros/latex/contrib/footnoterange/footnoterange.dtx}]\hspace*{0.1cm} +% The source file. +% \item[\url{http://mirror.ctan.org/macros/latex/contrib/footnoterange/footnoterange.pdf}]\hspace*{0.1cm} +% The documentation. +% \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[\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[\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\newline +% \begin{tabular}{ll} +% footnoterange.ins & The installation file.\\ +% footnoterange.drv & The driver to generate the documentation.\\ +% footnoterange.sty & The \xext{sty}le file. +% \end{tabular} +% +% \bigskip +% +% \noindent For required other packages, please see the preceding subsection. +% +% \paragraph{Unpacking.} The \xfile{.dtx} file is a self-extracting +% \docstrip{} archive. The files are extracted by running the +% \xfile{.dtx} through \plainTeX: +% \begin{quote} +% \verb|tex footnoterange.dtx| +% \end{quote} +% +% About generating the documentation see paragraph~\ref{GenDoc} below. +% +% \paragraph{TDS.} Now the different files must be moved into +% the different directories in your installation TDS tree +% (also known as \xfile{texmf} tree): +% \begin{quote} +% \def\t{^^A +% \begin{tabular}{@{}>{\ttfamily}l@{ $\rightarrow$ }>{\ttfamily}l@{}} +% footnoterange.sty & tex/latex/footnoterange/footnoterange.sty\\ +% footnoterange.pdf & doc/latex/footnoterange/footnoterange.pdf\\ +% footnoterange-example.tex & doc/latex/footnoterange/footnoterange-example.tex\\ +% footnoterange-example.pdf & doc/latex/footnoterange/footnoterange-example.pdf\\ +% footnoterange.dtx & source/latex/footnoterange/footnoterange.dtx\\ +% \end{tabular}^^A +% }^^A +% \sbox0{\t}^^A +% \ifdim\wd0>\linewidth +% \begingroup +% \advance\linewidth by\leftmargin +% \advance\linewidth by\rightmargin +% \edef\x{\endgroup +% \def\noexpand\lw{\the\linewidth}^^A +% }\x +% \def\lwbox{^^A +% \leavevmode +% \hbox to \linewidth{^^A +% \kern-\leftmargin\relax +% \hss +% \usebox0 +% \hss +% \kern-\rightmargin\relax +% }^^A +% }^^A +% \ifdim\wd0>\lw +% \sbox0{\small\t}^^A +% \ifdim\wd0>\linewidth +% \ifdim\wd0>\lw +% \sbox0{\footnotesize\t}^^A +% \ifdim\wd0>\linewidth +% \ifdim\wd0>\lw +% \sbox0{\scriptsize\t}^^A +% \ifdim\wd0>\linewidth +% \ifdim\wd0>\lw +% \sbox0{\tiny\t}^^A +% \ifdim\wd0>\linewidth +% \lwbox +% \else +% \usebox0 +% \fi +% \else +% \lwbox +% \fi +% \else +% \usebox0 +% \fi +% \else +% \lwbox +% \fi +% \else +% \usebox0 +% \fi +% \else +% \lwbox +% \fi +% \else +% \usebox0 +% \fi +% \else +% \lwbox +% \fi +% \else +% \usebox0 +% \fi +% \end{quote} +% If you have a \xfile{docstrip.cfg} that configures and enables \docstrip's +% 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 (\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} +% +% \paragraph{Unpacking with \LaTeX{}.} +% The \xfile{.dtx} chooses its action depending on the format: +% \begin{description} +% \item[\plainTeX:] Run \docstrip{} and extract the files. +% \item[\LaTeX:] Generate the documentation. +% \end{description} +% If you insist on using \LaTeX{} for \docstrip{} (really, +% \docstrip{} does not need \LaTeX ), then inform the autodetect routine +% about your intention: +% \begin{quote} +% \verb|latex \let\install=y\input{footnoterange.dtx}| +% \end{quote} +% Do not forget to quote the argument according to the demands +% of your shell. +% +% \paragraph{Generating the documentation.\label{GenDoc}} +% You can use both the \xfile{.dtx} or the \xfile{.drv} to generate +% the documentation. The process can be configured by a +% configuration file \xfile{ltxdoc.cfg}. For instance, put the following +% line into this file, if you want to have A4 as paper format: +% \begin{quote} +% \verb|\PassOptionsToClass{a4paper}{article}| +% \end{quote} +% +% \noindent An example follows how to generate the +% documentation with \pdfLaTeX : +% +% \begin{quote} +%\begin{verbatim} +%pdflatex footnoterange.drv +%makeindex -s gind.ist footnoterange.idx +%pdflatex footnoterange.drv +%makeindex -s gind.ist footnoterange.idx +%pdflatex footnoterange.drv +%\end{verbatim} +% \end{quote} +% +% \subsection{Compiling the example} +% +% 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 (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.} +% \item Some versions at \url{http://tex.stackexchange.com/q/44165/6865}. +% \end{Version} +% \begin{Version}{2012/02/17 v1.0a} +% \item Package created and uploaded to CTAN. +% \end{Version} +% \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 +% +% 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.) +% +% \PrintIndex +% +% \Finale +\endinput
\ No newline at end of file diff --git a/macros/latex/contrib/footnoterange/footnoterange.pdf b/macros/latex/contrib/footnoterange/footnoterange.pdf Binary files differnew file mode 100644 index 0000000000..06e83948ef --- /dev/null +++ b/macros/latex/contrib/footnoterange/footnoterange.pdf |