summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/footnotebackref
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/footnotebackref
Initial commit
Diffstat (limited to 'macros/latex/contrib/footnotebackref')
-rw-r--r--macros/latex/contrib/footnotebackref/README11
-rw-r--r--macros/latex/contrib/footnotebackref/footnotebackref.pdfbin0 -> 119384 bytes
-rw-r--r--macros/latex/contrib/footnotebackref/footnotebackref.sty77
-rw-r--r--macros/latex/contrib/footnotebackref/footnotebackref.tex35
4 files changed, 123 insertions, 0 deletions
diff --git a/macros/latex/contrib/footnotebackref/README b/macros/latex/contrib/footnotebackref/README
new file mode 100644
index 0000000000..25497f2169
--- /dev/null
+++ b/macros/latex/contrib/footnotebackref/README
@@ -0,0 +1,11 @@
+README for footnotebackref, 2012/07/01
+
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3
+of this license or (at your option) any later version.
+The latest version of this license is in
+ http://www.latex-project.org/lppl.txt
+and version 1.3 or later is part of all distributions of LaTeX
+version 2005/12/01 or later.
+
+The footnotebackref package allows the creation of hyperlinks from the footnote at the bottom of the page back to the occurence of the footnote in the main text. The references and hyperlinks are created by the hyperref package.
diff --git a/macros/latex/contrib/footnotebackref/footnotebackref.pdf b/macros/latex/contrib/footnotebackref/footnotebackref.pdf
new file mode 100644
index 0000000000..8520b89857
--- /dev/null
+++ b/macros/latex/contrib/footnotebackref/footnotebackref.pdf
Binary files differ
diff --git a/macros/latex/contrib/footnotebackref/footnotebackref.sty b/macros/latex/contrib/footnotebackref/footnotebackref.sty
new file mode 100644
index 0000000000..9f2a7be5f9
--- /dev/null
+++ b/macros/latex/contrib/footnotebackref/footnotebackref.sty
@@ -0,0 +1,77 @@
+%File: footnotebackref.sty
+% Copyright (C) 2012 Holger Lange
+%
+%
+% This work may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2005/12/01 or later.
+
+\NeedsTeXFormat{LaTeX2e}[2011/06/27]
+\ProvidesPackage{footnotebackref}%
+ [2012/07/01 v1.0 Backreferences for footnotes (Holger Lange)]
+
+% This package was inspired by http://tex.stackexchange.com/a/40282
+
+\RequirePackage{letltxmacro}
+\RequirePackage{hyperref}
+\RequirePackage{kvoptions}[2010/12/23]% v3.10
+
+\SetupKeyvalOptions{family=FootnoteBackref, prefix=FootnoteBackref@}
+
+% The symbol between the footnotenumber and the footnotetext
+% If empty no symbol will be printed
+\DeclareStringOption{symbol}
+
+% Option to hyperlink the footnotenumber
+\DeclareBoolOption[true]{numberlinked}
+\ProcessKeyvalOptions*
+
+% A new counter to create an unambiguous label-tag for all hyperfootnotes
+\newcounter{BackrefHyperFootnoteCounter}
+
+% Store the original LaTeX footnote macros to separate macros
+\LetLtxMacro{\BHFN@OldFootnote}{\footnote}
+\LetLtxMacro{\BHFN@OldMakefntext}{\@makefntext}
+
+% Redefine the original footnote macro to
+% branch between the footnote with/without optional argument
+\renewcommand*\footnote{%
+ \refstepcounter{BackrefHyperFootnoteCounter}%
+ \edef\BackrefFootnoteTag{bhfn:\theBackrefHyperFootnoteCounter}%
+ \label{\BackrefFootnoteTag}%
+ \@ifnextchar[\Backref@OptHyperFootnote\Backref@HyperFootnote}
+
+% Define an new footnote without optional argument
+\newcommand\Backref@HyperFootnote[1]{%
+ \BHFN@OldFootnote{\Backref@HyperSymbol#1}}
+
+% Define an new footnote with optional argument
+\newcommand\Backref@OptHyperFootnote[2][\empty]{%
+ \BHFN@OldFootnote[#1]{\Backref@HyperSymbol#2}}
+
+% Definition of the hyperlinked symbol ...
+\newcommand\Backref@HyperSymbol{%
+ \hyperref[\BackrefFootnoteTag]{\FootnoteBackref@symbol}}
+
+% ...but if the symbol is empty it is deleted straightaway
+\ifx\FootnoteBackref@symbol\empty
+ \renewcommand\Backref@HyperSymbol\relax\fi
+
+% If the footnote number should be the reference
+% than redefine the \@makefntext and \@makefnmark
+% The \@makefnmark macro is redefined in the space of
+% the \@makefntext macro
+% So the footnote numbers in the main text are not influenced
+\ifFootnoteBackref@numberlinked
+ \renewcommand\@makefntext[1]{%
+ \renewcommand\@makefnmark{%
+ \mbox{\textsuperscript{\normalfont%
+ \hyperref[\BackrefFootnoteTag]{\@thefnmark}}}\,}%
+ \BHFN@OldMakefntext{#1}}%
+\fi
+
+\endinput
diff --git a/macros/latex/contrib/footnotebackref/footnotebackref.tex b/macros/latex/contrib/footnotebackref/footnotebackref.tex
new file mode 100644
index 0000000000..e90485181a
--- /dev/null
+++ b/macros/latex/contrib/footnotebackref/footnotebackref.tex
@@ -0,0 +1,35 @@
+\documentclass{article}
+\usepackage{footnotebackref}
+
+\begin{document}
+
+\title{The \texttt{footnotebackref} package\\\large Back referencing from footnotes}%
+\author{Holger Lange}%
+\date{\today}%
+\maketitle
+
+\section{Introduction}
+The \texttt{footnotebackref} package allows the creation of hyperlinks from the footnote at the bottom of the page back to the occurence of the footnote in the main text. The references and hyperlinks are created by the \texttt{hyperref} package.
+
+\section{Usage and Options}
+To use the package just type \verb+\usepackage{footnotebackref}+ in the preamble of the document.
+There are two options to format the links:
+\begin{quote}
+ \begin{tabular}{lp{0.33\paperwidth}}
+ \texttt{symbol} & Hyperlinked symbol between the footnotenumber and the footnotetext (e.\,g. $\uparrow$, $\bigtriangleup$ or $\wedge$).\newline Default: \emph{no symbol}\\
+ \texttt{numberlinked} & This boolean indicates whether the footnotenumber is also a hyperlink or not.\newline Default: true
+ \end{tabular}
+\end{quote}
+The package options are specified as key value pairs (\texttt{optionname=value}). If they are omitted the default values are used.\footnote{The default behaviour is like this footnote: There is no additionally symbol and the footnotenumber is a hyperlink to the occurence of the footnote in the main text.}
+
+\section{Example}
+The example shows an included symbol as hyperlink.
+\begin{verbatim}
+\documentclass{article}
+\usepackage[symbol=$\wedge$,numberlinked=false]{footnotebackref}
+\begin{document}
+Some text with a footnote\footnote{The first footnote.}\\
+Text with the second footnote\footnote[4]{The second footnote.}
+\end{document}
+\end{verbatim}
+\end{document}