summaryrefslogtreecommitdiff
path: root/Master/texmf-dist
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2012-05-22 23:09:17 +0000
committerKarl Berry <karl@freefriends.org>2012-05-22 23:09:17 +0000
commitd5687a28d4fd80665a04e1f3912e80ec7a5ba8fe (patch)
tree6de48ebf2fe6b02718b052a06c42ebd7e0c6f503 /Master/texmf-dist
parent780199d88743d4f05acb93c694a244896180e36a (diff)
new latex package fnpct (22may12)
git-svn-id: svn://tug.org/texlive/trunk@26578 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r--Master/texmf-dist/doc/latex/fnpct/README39
-rw-r--r--Master/texmf-dist/doc/latex/fnpct/bigfoot_ex.tex48
-rw-r--r--Master/texmf-dist/doc/latex/fnpct/fixfoot_ex.tex48
-rw-r--r--Master/texmf-dist/doc/latex/fnpct/fnpct_en.pdfbin0 -> 831930 bytes
-rw-r--r--Master/texmf-dist/doc/latex/fnpct/fnpct_en.tex957
-rw-r--r--Master/texmf-dist/doc/latex/fnpct/nested_ex.tex47
-rw-r--r--Master/texmf-dist/doc/latex/fnpct/nested_ex_a.tex47
-rw-r--r--Master/texmf-dist/doc/latex/fnpct/nested_ex_b.tex47
-rw-r--r--Master/texmf-dist/doc/latex/fnpct/nested_ex_c.tex47
-rw-r--r--Master/texmf-dist/doc/latex/fnpct/normal_ex.tex45
-rw-r--r--Master/texmf-dist/doc/latex/fnpct/pagenote_ex.tex48
-rw-r--r--Master/texmf-dist/doc/latex/fnpct/sepfootnotes_ex.tex50
-rw-r--r--Master/texmf-dist/doc/latex/fnpct/tufte_ex.tex36
-rw-r--r--Master/texmf-dist/tex/latex/fnpct/fnpct.sty684
14 files changed, 2143 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/fnpct/README b/Master/texmf-dist/doc/latex/fnpct/README
new file mode 100644
index 00000000000..125f7357ad5
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/fnpct/README
@@ -0,0 +1,39 @@
+--------------------------------------------------------------------------
+the FNPCT package v0.1
+
+ footnote kerning
+
+2012/05/22
+--------------------------------------------------------------------------
+Clemens Niederberger
+Web: https://bitbucket.org/cgnieder/fnpct/
+E-Mail: contact@mychemistry.eu
+--------------------------------------------------------------------------
+Copyright 2012 Clemens Niederberger
+
+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.
+
+This work has the LPPL maintenance status `maintained'.
+
+The Current Maintainer of this work is Clemens Niederberger.
+--------------------------------------------------------------------------
+The fnpct package consists of the files
+ - fnpct.sty,
+ - fnpct_en.tex and fnpct_en.pdf
+ - bigfoot_ex.tex, fixfoot_ex.tex, normal_ex.tex, pagenote_ex.tex,
+ sepfootnotes_ex.tex, tufte_ex.tex
+ - nested_ex.tex, nested_ex_a.tex, nested_ex_b.tex, nested_ex_c.tex
+ - README
+--------------------------------------------------------------------------
+the package is inspired by the following question on TeX.SE:
+ http://tex.stackexchange.com/q/56094/5049
+--------------------------------------------------------------------------
+If you have any ideas, questions, suggestions or bugs to report, please
+feel free to contact me.
+-------------------------------------------------------------------------- \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/fnpct/bigfoot_ex.tex b/Master/texmf-dist/doc/latex/fnpct/bigfoot_ex.tex
new file mode 100644
index 00000000000..cb982aa2f29
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/fnpct/bigfoot_ex.tex
@@ -0,0 +1,48 @@
+% --------------------------------------------------------------------------
+% the FNPCT package
+%
+% footnote kerning
+%
+% 2012/05/22
+% --------------------------------------------------------------------------
+% Clemens Niederberger
+% Web: https://bitbucket.org/cgnieder/fnpct/
+% E-Mail: contact@mychemistry.eu
+% --------------------------------------------------------------------------
+% Copyright 2012 Clemens Niederberger
+%
+% 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.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Clemens Niederberger.
+% --------------------------------------------------------------------------
+% If you have any ideas, questions, suggestions or bugs to report, please
+% feel free to contact me.
+% --------------------------------------------------------------------------
+\documentclass{article}
+\usepackage[
+ paperwidth=.5\textwidth,
+ paperheight=12\baselineskip,
+ margin=5pt,
+ bottom=1.5cm]{geometry}
+
+\usepackage[bigfoot-default-top,multiple]{fnpct}
+\usepackage{bigfoot}
+\DeclareNewFootnote[para]{B}[alph]
+
+\begin{document}
+
+\noindent The three little pigs built their houses
+out of straw\footnote*{not to be confused with hay%
+\footnoteB{let alone grass}}, sticks\footnote{or
+lumber according to some sources} and bricks%
+\footnote{probably fired clay bricks;or something}.
+
+\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/fnpct/fixfoot_ex.tex b/Master/texmf-dist/doc/latex/fnpct/fixfoot_ex.tex
new file mode 100644
index 00000000000..628e3b41a31
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/fnpct/fixfoot_ex.tex
@@ -0,0 +1,48 @@
+% --------------------------------------------------------------------------
+% the FNPCT package
+%
+% footnote kerning
+%
+% 2012/05/22
+% --------------------------------------------------------------------------
+% Clemens Niederberger
+% Web: https://bitbucket.org/cgnieder/fnpct/
+% E-Mail: contact@mychemistry.eu
+% --------------------------------------------------------------------------
+% Copyright 2012 Clemens Niederberger
+%
+% 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.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Clemens Niederberger.
+% --------------------------------------------------------------------------
+% If you have any ideas, questions, suggestions or bugs to report, please
+% feel free to contact me.
+% --------------------------------------------------------------------------
+\documentclass{article}
+\usepackage[
+ paperwidth=.55\textwidth,
+ paperheight=12\baselineskip,
+ margin=5pt,
+ bottom=1.5cm]{geometry}
+
+\usepackage{fixfoot}
+\usepackage{fnpct}
+
+\DeclareFixedFootnote\myfn{I'm confused: what do I want to say?}
+
+\begin{document}
+
+\noindent The three little pigs\myfn\ built their houses
+out of straw\myfn*, sticks\footnote{or lumber according
+to some sources} and bricks\footnote{probably fired clay
+bricks}.
+
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/fnpct/fnpct_en.pdf b/Master/texmf-dist/doc/latex/fnpct/fnpct_en.pdf
new file mode 100644
index 00000000000..263d38881f9
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/fnpct/fnpct_en.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/fnpct/fnpct_en.tex b/Master/texmf-dist/doc/latex/fnpct/fnpct_en.tex
new file mode 100644
index 00000000000..07b914cc490
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/fnpct/fnpct_en.tex
@@ -0,0 +1,957 @@
+% --------------------------------------------------------------------------
+% the FNPCT package
+%
+% footnote kerning
+%
+% 2012/05/22
+% --------------------------------------------------------------------------
+% Clemens Niederberger
+% Web: https://bitbucket.org/cgnieder/fnpct/
+% E-Mail: contact@mychemistry.eu
+% --------------------------------------------------------------------------
+% Copyright 2012 Clemens Niederberger
+%
+% 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.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Clemens Niederberger.
+% --------------------------------------------------------------------------
+% If you have any ideas, questions, suggestions or bugs to report, please
+% feel free to contact me.
+% --------------------------------------------------------------------------
+% the package is inspired by the following question on TeX.SE:
+% http://tex.stackexchange.com/q/56094/5049
+% --------------------------------------------------------------------------
+% if you want to compile this documentation you'll need the document class
+% `cnpkgdoc' which you can get here:
+% https://bitbucket.org/cgnieder/cnpkgdoc/
+% the class is licensed LPPL 1.3 or later
+\RequirePackage{sepfootnotes}
+\documentclass[toc=index,toc=bib]{cnpkgdoc}
+\docsetup{
+ pkg = fnpct ,
+ code-box = {
+ skipbelow = .5\baselineskip ,
+ skipabove = .5\baselineskip ,
+ }
+}
+\addcmds{
+ AdaptNote,
+ AdaptNoteMark,
+ anote,
+ anotecontent,
+ arabic,
+ DeclareNewFootnote,
+ endnote,
+ footnoteB,
+ kfc,
+ kfp,
+ multendnote,
+ multfootnote,
+ multparnote,
+ multsidenote,
+ myfn,
+ newfootnotes,
+ parnote,
+ parnotes,
+ setfnpct,
+ sidenote,
+ theendnotes,
+ thempfootnote,
+ writeinnernotes
+}
+\setfnpct{multiple}
+\usepackage{endnotes}
+\usepackage{parnotes}
+
+\newfootnotes{a}
+
+\renewcommand\thempfootnote{\arabic{mpfootnote}}
+
+\usepackage[backend=biber]{biblatex}
+\addbibresource{biblatex-examples.bib}
+\addbibresource{\jobname.bib}
+
+% rudimentary solution for a `maintainer' field:
+\DeclareFieldFormat{authortype}{\mkbibparens{#1}}
+\renewbibmacro*{author}{%
+ \ifboolexpr{
+ test \ifuseauthor
+ and
+ not test {\ifnameundef{author}}
+ }
+ {\printnames{author}%
+ \iffieldundef{authortype}
+ {}
+ {\setunit{\space}%
+ \usebibmacro{authorstrg}}}
+ {}}
+
+\begin{filecontents}{\jobname.bib}
+@software{bigfoot,
+ title = {bigfoot},
+ author = {David Kastrup},
+ date = {2006/07/15},
+ version = {1.25},
+ url = {http://www.ctan.org/pkg/bigfoot}
+}
+@software{endnotes,
+ title = {endnotes},
+ author = {Robin Fairbairns},
+ authortype = {current maintainer},
+ date = {2012/01/15},
+ url = {http://www.ctan.org/pkg/endnotes}
+}
+@software{fixfoot,
+ title = {fixfoot},
+ author = {Robin Fairbairns},
+ date = {2007/12/12},
+ version = {0.3a} ,
+ url = {http://www.ctan.org/pkg/fixfoot}
+}
+@software{footmisc,
+ title = {footmisc},
+ author = {Robin Fairbairns},
+ date = {2011/06/06},
+ version = {5.5b},
+ url = {http://www.ctan.org/pkg/footmisc}
+}
+@software{footnote,
+ title = {footnote},
+ author = {Mark Wooding},
+ date = {1997/01/28},
+ version = {1.13},
+ url = {http://www.ctan.org/pkg/footnote}
+}
+@software{manyfoot,
+ title = {manyfoot},
+ author = {Alexander I. Rozhenko},
+ date = {2005/09/11},
+ version = {1.10},
+ url = {http://www.ctan.org/pkg/manyfoot}
+}
+@software{parnotes,
+ title = {parnotes},
+ author = {Micheal Hughes},
+ date = {2012/03/01},
+ version = {1},
+ url = {http://www.ctan.org/pkg/parnotes}
+}
+@software{pagenote,
+ title = {pagenote},
+ author = {Will Robertson},
+ authortype = {current maintainer},
+ date = {2009/09/03},
+ version = {1.1a},
+ url = {http://www.ctan.org/pkg/pagenote}
+}
+@software{sepfootnotes,
+ title = {sepfootnotes},
+ author = {Eduardo C. Louren\c{}o de Lima},
+ date = {2012/03/06},
+ version = {0.1},
+ url = {http://www.ctan.org/pkg/sepfootnotes}
+}
+@software{tablefootnote,
+ title = {tablefootnote},
+ author = {H.-Martin M\"{u}nch},
+ date = {2012/01/14},
+ version = {1.0g},
+ url = {http://www.ctan.org/pkg/tablefootnote}
+}
+@software{yafoot,
+ title = {yafoot},
+ author = {Hiroshi Nakashima},
+ date = {1999/07/14},
+ version = {1.0},
+ url = {http://www.ctan.org/pkg/yafoot}
+}
+\end{filecontents}
+
+\begin{filecontents}{\jobname.ist}
+ preamble "\\begin{theindex}\n Section titles are indicated \\textbf{bold},
+ packages \\textsf{sans serif}, commands \\code{\\textbackslash\\textcolor{code}{brown}}
+ and options \\textcolor{key}{\\code{green}}.\\newline\n\n"
+ heading_prefix "{\\bfseries "
+ heading_suffix "\\hfil}\\nopagebreak\n"
+ headings_flag 1
+ delim_0 "\\dotfill "
+ delim_1 "\\dotfill "
+ delim_2 "\\dotfill "
+ delim_r "\\textendash"
+ suffix_2p "\\nohyperpage{\\,f.}"
+ suffix_3p "\\nohyperpage{\\,ff.}"
+\end{filecontents}
+
+\newcommand\setapart[1]{\medskip\hspace{1em}#1\medskip}
+\let\verb\lstinline
+
+\TitlePicture{\parbox{.75\textwidth}{The \fnpct package basically does two things
+to footnotes: if footnote marks are followed by a comma or a dot the order of
+footnote and punctuation mark is reversed and the kerning gets adjusted. As a side
+effect a new method of creating multiple footnotes and some other features are
+provided.}}
+
+\makeindex
+\begin{document}
+
+\section{License and Requirements}
+\fnpct is placed under the terms of the LaTeX Project Public License,
+version 1.3 or later (\url{http://www.latex-project.org/lppl.txt}).
+It has the status \enquote{maintained}.
+
+\fnpct depends on the \paket{l3kernel} and \paket*{xparse} which is part of the
+\paket{l3packages} bundle.
+
+\section{What's it all about?}
+\subsection{Basics}\secidx{basics}
+The \fnpct package basically does two things to footnotes: if footnote marks are
+followed by a comma or a dot the order of footnote and punctuation mark is reversed
+and the kerning gets adjusted. As a side effect a new method of creating multiple
+footnotes\footnote{like;this} is provided, see section \ref{sec:multiple} for details.
+
+All examples in this documentation use
+
+\setapart{\cmd{renewcommand}\cmd{thempfootnote}{\cmd{arabic}{mpfootnote}}}
+
+Now, let's see some action:
+\begin{beispiel}
+ \begin{minipage}{.4\linewidth}
+ \noindent 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\footnote{probably fired clay bricks}.
+ \end{minipage}
+\end{beispiel}
+
+To ensure that the kerning is set the right way the footnote \emph{must} be placed
+\emph{before} the dot or the comma. The command can look ahead but not look back.
+This means if you place the \cmd{footnote} command after a dot or a comma it is
+treated as if following a word, \ie a thin space is inserted: effectivly the opposite
+of the desired behaviour.
+
+The order-switching can be prevented using a package option since not all countries
+and languages have the same typographic conventions.
+\begin{beschreibung}
+ \option{punct-after}{\default{true}/false} when \code{true} the punctuation sign
+ will be placed \emph{after} the footnote.
+\end{beschreibung}
+which like all options can also be set using the setup command.
+\begin{beschreibung}
+ \befehl{setfnpct}{<options>} set up options. Can be used anywhere in the document.
+ Some options can only be set in the preamble, though.
+\end{beschreibung}
+\begin{beispiel}
+ \setfnpct{punct-after}
+ \begin{minipage}{.4\linewidth}
+ \noindent 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\footnote{probably fired clay bricks}.
+ \end{minipage}
+\end{beispiel}
+\secidx*{basics}
+
+\subsection{Temporarily disable switching}\secidx{disable switching}
+One maybe want to put some footnote marks \emph{before} the punctuation and some
+after, for example because the first one describes a single word but the second
+one a whole sentence. For this purpose \fnpct adds a \code{*} argument to \cmd{footnote}
+and \cmd{footnotemark}:
+\begin{beschreibung}
+ \befehl[footnotea]{footnote}*[<num>]{<footnote text>} new \code{*} argument added.
+ \befehl[footnotemarka]{footnotemark}*[<num>] new \code{*} argument added.
+\end{beschreibung}
+This argument temporarily turns off the punctuation/footnote switching.
+\begin{beispiel}
+ \begin{minipage}{.4\linewidth}
+ \noindent 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\footnote{probably fired clay bricks}.
+ \end{minipage}
+\end{beispiel}
+
+\achtung{Please be aware that this package is in an experimental state and there
+hasn't been extensive testing with other footnote behaviour changing packages!}
+\secidx*{disable switching}
+
+\newpage
+\section{Options}\secidx{options}
+All package options are listed below. They all can be set as a package option or
+with the \cmd{setfnpct} command. Most of them are for adjusting the kerning.
+\begin{beschreibung}
+ \option{after-dot-space}{<dim>} space to be inserted after a dot and before the
+ footnote mark. Default = \code{-.06em}
+ \option{after-comma-space}{<dim>} space to be inserted after a comma and before
+ the footnote mark. Default = \code{-.06em}
+ \option{after-punct-space}{<dim>} set both spaces.
+ \option{punct-after}{\default{true}/false} when \code{true} the punctuation sign
+ will be placed \emph{after} the footnote.
+ \option{before-dot-space}{<dim>} space to be inserted before a dot and after the
+ footnote mark, \ie with \key{punct-after}{true}. Default = \code{-.15em}
+ \option{before-comma-space}{<dim>} space to be inserted before a comma and after
+ the footnote mark, \ie with \key{punct-after}{true}. Default = \code{-.15em}
+ \option{before-punct-space}{<dim>} set both spaces.
+ \option{before-footnote-space}{<dim>} space to be inserted between a word and the
+ following footnote mark. Default = \code{.06em}
+ \option{dont-mess-around} sets all mentioned lengths to \code{0} and \key{punct-after}{true}.
+ Basically this is as if you hadn't loaded \fnpct except the multiple footnote
+ command is still available, see section \ref{sec:multiple}.
+ \option{multiple}{\default{true}/false} lets \cmd{footnote} be equal to
+ \cmd{multfootnote}
+ \option{mult-fn-delim}{<delimiter>} sets the delimiter for the \cmd{multfootnote}
+ command.
+ \option{mult-fn-sep}{<separator>} sets the separator between multiple footnote
+ marks.
+ \option{normal-marks}{\default{true}/false} sets the footnote marks in the foot
+ not as superscripts but as normal font. If you're not using a \paket[koma-script]{KOMA-Script}
+ class this option will load the package \paket*{scrextend}. See section \ref{sec:normal}
+ for more information. \emph{This option can only be set in the preamble}. Default
+ = \code{false}
+\end{beschreibung}
+
+Let's take a look at an example with some ridiculous settings:
+\begin{beispiel}
+ % some ridiculous settings:
+ \setfnpct{after-punct-space=2pt,before-footnote-space=2pt}
+ \begin{minipage}{.4\linewidth}
+ \noindent 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\footnote{probably fired clay bricks}.
+ \end{minipage}
+\end{beispiel}
+
+And now the same with switched order:
+\begin{beispiel}
+ % some ridiculous settings:
+ \setfnpct{punct-after,before-punct-space=2pt,before-footnote-space=2pt}
+ \begin{minipage}{.4\linewidth}
+ \noindent 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\footnote{probably fired clay bricks}.
+ \end{minipage}
+\end{beispiel}
+
+Some of the options are explained in a bit more detail in the next sections.
+\secidx*{options}
+
+\section{Multiple footnotes}\secidx{multiple footnotes}\label{sec:multiple}
+\subsection{Basics}\secidx[basics]{multiple footnotes}
+Since multiple footnotes have to be treated differently\footnote{see these footnotes;for an example},
+\fnpct provides an extra command for that:
+\begin{beschreibung}
+ \befehl{multfootnote}*{<list>;<of>;<footnotes>} different footnotes are separated
+ with a semicolon. The \code{*} turns the footnote/punctuation switching temporarily
+ off.
+\end{beschreibung}
+\begin{beispiel}
+ \begin{minipage}{.4\linewidth}
+ \noindent 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\multfootnote{probably fired clay bricks;or
+ something else}.
+ \end{minipage}
+\end{beispiel}
+
+Every of the items of the list has an optional argument equivalent to the optional
+argument of \cmd{footnote}:
+\begin{beispiel}
+ \begin{minipage}{.4\linewidth}
+ \noindent 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\multfootnote{probably fired clay bricks;[5]or
+ something else}.
+ \end{minipage}
+\end{beispiel}
+
+Additionally every item has an optional \code{*} which only invokes \cmd{footnotetext}.
+This enables for example to set nested footnotes\secidx[nested footnotes]{multiple footnotes}
+without disrupting the multiple setting. The following example is shown in figure
+\ref{fig:nested:mult}:
+\begin{beispiel}[code only]
+\documentclass{article}
+\usepackage[
+ paperwidth=.5\textwidth,
+ paperheight=12\baselineskip,
+ margin=5pt,
+ bottom=1.5cm]{geometry}
+
+\usepackage[multiple]{fnpct}
+
+\begin{document}
+ \noindent 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\multfootnote{probably fired clay bricks%
+ \footnotemark;*or something else;what do I know}.
+\end{document}
+\end{beispiel}
+
+\begin{figure}[h]
+ \centering
+ \fbox{\includegraphics{nested_ex.pdf}}
+ \caption{nested footnotes}\label{fig:nested:mult}
+\end{figure}
+
+
+\subsection{The delimiter and separator}\secidx[delimiter]{multiple footnotes}\secidx[separator]{multiple footnotes}
+Since the semicolon might be part of the footnote text you might have some trouble.
+But there are ways around. Maybe try enclosing it with braces:
+\begin{beispiel}
+ \begin{minipage}{.4\linewidth}
+ \noindent 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\multfootnote{probably fired clay bricks{;}
+ or something else;what do I know}.
+ \end{minipage}
+\end{beispiel}
+
+There are options which lets you choose the (input) delimiter and the (output)
+separator:
+\begin{beschreibung}
+ \option{mult-fn-delim}{<delimiter>} choose delimiter for the \cmd{multfootnote}.
+ Default = \code{;}
+ \option{mult-fn-sep}{<separator>} choose the separator that is put between footnote
+ marks. Default = \code{,}
+\end{beschreibung}
+\begin{beispiel}
+ \setfnpct{mult-fn-delim=//,mult-fn-sep=;}
+ \begin{minipage}[t]{.4\linewidth}
+ \noindent 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\multfootnote{probably fired clay bricks;
+ or something else//what do I know}.
+ \end{minipage}\hfil
+ \setfnpct{mult-fn-delim=;,mult-fn-sep=}
+ \renewcommand*\thempfootnote{\fnsymbol{mpfootnote}}
+ \begin{minipage}[t]{.4\linewidth}
+ \noindent 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\multfootnote{probably fired clay bricks;
+ or something else}.
+ \end{minipage}
+\end{beispiel}
+
+\subsection{Automagic}\secidx[automagic]{multiple footnotes}
+If you want you can turn all footnotes into \cmd{multfootnote}s.
+\begin{beschreibung}
+ \option{multiple}{\default{true}/false} let \cmd{footnote} behave like \cmd{multfootnote}.
+ \emph{This option can only be set in the preamble}. Default = \code{false}
+\end{beschreibung}
+\begin{beispiel}
+ % in preamble: \setfnpct{multiple}
+ % or \usepackage[multiple]{fnpct}
+ \begin{minipage}{.4\linewidth}
+ \noindent 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\footnote{probably fired clay bricks;or
+ something else}.
+ \end{minipage}
+\end{beispiel}
+\secidx*{multiple footnotes}
+
+\section{Nested Footnotes}\secidx{nested footnotes}
+\fnpct provides some support for nested footnotes. There are some restrictions,
+though. The command below can be used inside \cmd{footnote} and \cmd{multfootnote},
+but not inside another \cmd{innernote}:
+\begin{beschreibung}
+ \befehl{innernote}*[<mark>]{<text>} a nested footnote.
+\end{beschreibung}
+The output of the following code can be seen in figure \ref{fig:nested:a}.
+\begin{beispiel}[code only]
+\documentclass{article}
+\usepackage[
+ paperwidth=.5\textwidth,
+ paperheight=12\baselineskip,
+ margin=5pt,
+ bottom=1.5cm]{geometry}
+
+\usepackage{fnpct}
+
+\begin{document}
+ \noindent 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\footnote{probably fired clay bricks%
+ \innernote{or not}}.
+\end{document}
+\end{beispiel}
+
+\begin{figure}[h]
+ \centering
+ \fbox{\includegraphics{nested_ex_a.pdf}}
+ \caption{\cmd{innernote} example (a)}\label{fig:nested:a}
+\end{figure}
+
+This is especially useful if you have more than one additional footnote inside a
+footnote, a case that can't be solved satisfying (\ie automatic) way with the
+method mentioned in section \ref{sec:multiple}. See figure \ref{fig:nested:b} for
+the output of this code:
+\begin{beispiel}[code only]
+\documentclass{article}
+\usepackage[
+ paperwidth=.5\textwidth,
+ paperheight=12\baselineskip,
+ margin=5pt,
+ bottom=1.5cm]{geometry}
+
+\usepackage{fnpct}
+
+\begin{document}
+ \noindent 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\footnote{probably\innernote{just guessing}
+ fired clay bricks\innernote{or not}}.
+\end{document}
+\end{beispiel}
+
+\begin{figure}[h]
+ \centering
+ \fbox{\includegraphics{nested_ex_b.pdf}}
+ \caption{\cmd{innernote} example (b)}\label{fig:nested:b}
+\end{figure}
+
+\cmd{innernote} can also be used to escape minipages. In this case use
+\cmd{innernote} as a replacement for \cmd{footnote} and call this command
+later:
+\begin{beschreibung}
+ \befehl{writeinnernotes} writes all \cmd{footnotetext}s to the inner footnotes
+ when invoked
+\end{beschreibung}
+See figure \ref{fig:nested:c} for the output of the following code:
+\begin{beispiel}[code only]
+\documentclass{article}
+\usepackage[
+ paperwidth=.5\textwidth,
+ paperheight=12\baselineskip,
+ margin=5pt,
+ bottom=1.5cm]{geometry}
+
+\usepackage{fnpct}
+
+\begin{document}
+\noindent\fbox{%
+\begin{minipage}{.9\linewidth}
+ The three little pigs built their houses
+ out of straw\innernote{not to be confused with hay},
+ sticks\innernote{or lumber according to some sources}
+ and bricks\innernote{probably}.
+\end{minipage}}\writeinnernotes
+
+\end{document}
+\end{beispiel}
+\begin{figure}[h]
+ \centering
+ \fbox{\includegraphics{nested_ex_c.pdf}}
+ \caption{\cmd{innernote} example (c)}\label{fig:nested:c}
+\end{figure}
+\secidx*{nested footnotes}
+
+\section{Footcites}\secidx{footcites}
+Preliminary testing suggests that \fnpct seems to be compatible with the
+\cmd{footcite} and \cmd{footfullcite} commands provided by the \paket{biblatex}
+package. However, the punctuation switching does not apply to them.
+
+The kerning works \ldots
+\begin{beispiel}
+ \setfnpct{before-footnote-space=2pt}
+ \begin{minipage}{.5\linewidth}
+ \noindent 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\footnote{probably fired clay bricks}. The
+ companion\footfullcite{companion} has nothing on this
+ topic.
+ \end{minipage}
+\end{beispiel}
+
+\ldots\ but the punctuation switching doesn't:
+\begin{beispiel}
+ \begin{minipage}{.5\linewidth}
+ \noindent 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\footnote{probably fired clay bricks}. The
+ companion has nothing on this topic\footfullcite{companion}.
+ \end{minipage}
+\end{beispiel}
+
+One can simulate that behaviour by actively setting one of these commands:
+\begin{beschreibung}
+ \befehl{kfp} insert the \key{after-dot-space} or (if \key{punct-after}{true})
+ the \key{before-dot-space}.
+ \befehl{kfc} insert the \key{after-comma-space} or (if \key{punct-after}{true})
+ the \key{before-comma-space}.
+\end{beschreibung}
+\begin{beispiel}
+ \setfnpct{after-punct-space=-.15em}
+ \begin{minipage}{.5\linewidth}
+ \noindent 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\footnote{probably fired clay bricks}. The
+ companion has nothing on this topic.\kfp\footfullcite{companion}
+ \end{minipage}
+\end{beispiel}
+
+In case of \key{punct-after}{true}:
+\begin{beispiel}
+ \setfnpct{punct-after}
+ \begin{minipage}{.5\linewidth}
+ \noindent 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\footnote{probably fired clay bricks}. The
+ companion has nothing on this topic\footfullcite{companion}\kfp.
+ \end{minipage}
+\end{beispiel}
+\secidx*{footcites}
+
+\section{Normal notes}\secidx{normal notes}
+The package option \key{normal-marks} (see p.\,\pageref{key:normal-marks}) changes
+the layout of the footnote marks in the foot by using \paket[koma-script]{KOMA-Script}'s
+
+\setapart{\cmd{deffootnote}[<mark indent>]{<indent>}\ma{<par indent>}\ma{<format code>}.}
+
+The following code is shown in figure \ref{fig:normal}.
+\begin{beispiel}[code only]
+\documentclass{article}
+\usepackage[
+ paperwidth=.5\textwidth,
+ paperheight=12\baselineskip,
+ margin=5pt,
+ bottom=1.5cm]{geometry}
+
+\usepackage[normal-marks]{fnpct}
+
+\begin{document}
+
+\noindent 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\footnote{probably fired clay bricks}.
+
+\end{document}
+\end{beispiel}
+
+\begin{figure}[h]
+ \centering
+ \fbox{\includegraphics{normal_ex.pdf}}
+ \caption{Demonstration of the \key{normal-marks} option.}
+ \label{fig:normal}
+\end{figure}
+
+The three indent values used by \fnpct can be changed with the following options:
+\begin{beschreibung}
+ \option{normal-mark-width}{<dim>} The width of the box within which the marks are
+ set. Default = \code{1em}
+ \option{normal-indent}{<dim>} The indent of each footnote line \emph{except} the
+ first. Default = \code{1.5em}
+ \option{normal-par-indent}{<dim>} Additional indent of a new paragraph inside the
+ footnote text. Default = \code{1em}
+\end{beschreibung}
+\secidx*{normal notes}
+
+\newpage
+\section{Other packages}\secidx{other packages}
+\fnpct tries its best to support other footnote and related packages\footnote{If
+you find some package missing please let me know.}. Each of the following subsections
+is dedicated to one of these packages and if and how they work together with \fnpct.
+Fortunately most of them work do quite well.
+
+If the note command is simple enough and follows the standard \cmd{footnote} syntax
+you can always try adapting the command yourself.
+\begin{beschreibung}
+ \Befehl{AdaptNote}{<csname>}\ma{<new mult-variant>} this lets \code{<csname>}
+ adapt to the kerning behaviour and adds an optional \code{*}. It also creates a
+ corresponding mult-variant. The package option \key{multiple} will now turn
+ \code{<csname>} into its mult-variant.
+ \befehl{AdaptNoteMark}{<csname>} this lets \code{<csname>} adapt to the kerning
+ behaviour and adds an optional \code{*}.
+\end{beschreibung}
+
+For example using the \cmd{sidenote} command from the \paket[tufte-latex]{tufte-handout}
+class is easily possible, see also figure \ref{fig:tufte}:
+\begin{beispiel}[code only]
+\documentclass{tufte-handout}
+\usepackage[multiple]{fnpct}
+\AdaptNote\sidenote\multsidenote
+\begin{document}
+Some text in the document body\sidenote{Some
+text in a sidenote.;A second sidenote.}.
+\end{document}
+\end{beispiel}
+
+\begin{figure}[h]
+ \centering
+ \fbox{\includegraphics[trim=2.5cm 24.5cm 2cm 1cm,scale=.75]{tufte_ex.pdf}}
+ \caption{Adapt {tufte-latex}.}
+ \label{fig:tufte}
+\end{figure}
+
+
+\subsection{bigfoot}\label{ssec:bigfoot}\secidx[bigfoot]{other packages}
+The \paket{bigfoot} \cite{bigfoot} package extends the possibilities of the
+\paket{manyfoot} package \cite{manyfoot}, see section \ref{ssec:manyfoot}. The main
+feature is to use different classes of footnotes which are typeset in different
+apparatus on the bottom of the page.
+
+\fnpct is compatible with \paket{bigfoot}. You need to be a bit cautious, though.
+You need to
+\begin{itemize}
+ \item declare footnotes with \cmd{DeclareNewFootnote} \emph{after} loading \fnpct
+ but in the document \emph{preamble}.
+\end{itemize}
+\emph{Also verbatim material won't work inside footnotes anymore}. Since \fnpct
+does not redefine any \cmd{footnotetext} like command it will still work inside
+one of them.
+
+For every footnote class defined with \cmd{DeclareNewFootnote} the commands
+\cmd{footnote<class>} and \cmd{footnotemark<class>} are redefined with the starred
+variant and a \cmd{multfootnote<class>} is defined. The \key{multiple} option
+will turn all \cmd{footnote<class>} commands into the corresponding
+\cmd{multfootnote<class>}.
+
+\fnpct has an additional package option which \emph{cannot} be set with \cmd{setfnpct}
+and only has any effects if \paket{bigfoot} has been loaded:
+\begin{beschreibung}
+ \option{bigfoot-default-top}{\default{true}/false} sets the \code{default} footnote
+ class as top layer. Default = \code{false}
+\end{beschreibung}
+
+Since this document cannot easily combine \emph{every} footnote package at the same
+time for demonstration purposes the following code is shown in figure \ref{fig:bigfoot}:
+\begin{beispiel}[code only]
+\documentclass{article}
+\usepackage[
+ paperwidth=.5\textwidth,
+ paperheight=12\baselineskip,
+ margin=5pt,
+ bottom=1.5cm]{geometry}
+
+\usepackage{bigfoot}
+\usepackage[bigfoot-default-top]{fnpct}
+\setfnpct{multiple}
+\DeclareNewFootnote[para]{B}[alph]
+
+\begin{document}
+
+\noindent The three little pigs built their houses
+out of straw\footnote*{not to be confused with hay%
+\footnoteB{let alone grass}}, sticks\footnote{or
+lumber according to some sources} and bricks%
+\footnote{probably fired clay bricks;or something}.
+
+\end{document}
+\end{beispiel}
+
+\begin{figure}[h]
+ \centering
+ \fbox{\includegraphics{bigfoot_ex.pdf}}
+ \caption{\paket*{bigfoot} example}
+ \label{fig:bigfoot}
+\end{figure}
+
+\newpage
+\subsection{endnotes}\secidx[endnotes]{other packages}
+The \paket{endnotes} \cite{endnotes} package povides the commands \cmd{endnote}
+and \cmd{endnotemark} which can be used to output all notes at the end of a chapter,
+say.
+
+If the package is loaded both commands are adapted:
+\begin{beispiel}[code only]
+ % `fnpct' does this for you:
+ \AdaptNote\endnote\multendnote
+ \AdaptNoteMark\endnotemark
+\end{beispiel}
+
+Everything else stays the same:
+\begin{beispiel}
+ \begin{minipage}[t]{.4\linewidth}
+ \noindent The three little pigs built their houses
+ out of straw\endnote{not to be confused with hay},
+ sticks\endnote{or lumber according to some sources}
+ and bricks\endnote{probably fired clay bricks}.
+
+ \theendnotes
+ \end{minipage}\hfil
+ \begin{minipage}[t]{.4\linewidth}
+ \noindent The three little pigs built their houses
+ out of straw\endnote*{not to be confused with hay},
+ sticks\endnote{or lumber according to some sources}
+ and bricks\multendnote{probably fired clay bricks;or
+ something else}.
+
+ \theendnotes
+ \end{minipage}
+\end{beispiel}
+
+\subsection{fixfoot}\secidx[fixfoot]{other packages}
+The \paket{fixfoot} \cite{fixfoot} package provides possibility to create repeating
+footnotes. \fnpct supports this package provided you take care of the following:
+\begin{itemize}
+ \item use \cmd{DeclareFixedFootnote} only in the preamble but \emph{after} loading
+ \fnpct.
+\end{itemize}
+\cmd{DeclareFixedFootnote}{\cmd{cs}}\ma{<footnote text>} is used to store the
+\ma{<footnote text>} in \cmd{cs} and create a footnote mark for it but don't
+repeat the footnote text on the same page in the bottom. The document needs
+several runs to get all the numbers and footnotes right.
+
+Every fixed footnote declared with \cmd{DeclareFixedFootnote} gets an optional
+\code{*} to prevent the punctuation switching. There is \emph{no} mult-variant
+of the fixed notes!
+
+Since this document cannot easily combine \emph{every} footnote package at the same
+time for demonstration purposes the following code is shown in figure \ref{fig:fixfoot}:
+\begin{beispiel}[code only]
+\documentclass{article}
+\usepackage[
+ paperwidth=.55\textwidth,
+ paperheight=12\baselineskip,
+ margin=5pt,
+ bottom=1.5cm]{geometry}
+
+\usepackage{fixfoot}
+\usepackage{fnpct}
+
+\DeclareFixedFootnote{\myfn}{I'm confused: what do I want to say?}
+
+\begin{document}
+
+\noindent The three little pigs\myfn\ built their houses
+out of straw\myfn*, sticks\footnote{or lumber according
+to some sources} and bricks\footnote{probably fired clay
+bricks}.
+
+\end{document}
+\end{beispiel}
+
+\begin{figure}[h]
+ \centering
+ \fbox{\includegraphics{fixfoot_ex.pdf}}
+ \caption{\paket*{fixfoot} example}
+ \label{fig:fixfoot}
+\end{figure}
+
+\subsection{footmisc}\label{ssec:manyfoot}\secidx[footmisc]{other packages}
+The \paket{footmisc} package \cite{footmisc} provides a range of options to customize
+footnotes, for example output them as margin notes or count footnotes per page.
+
+Testing showed no incompatibilities with \paket{footmisc}. The only thing is that
+you won't have to use its \code{multiple} option.
+
+\subsection{footnote}\secidx[footnote]{other packages}
+Unfortunately \fnpct is not compatible with the \paket{footnote} package \cite{footnote}.
+Or more precisely it is not compatible if the command pair \cmd{savenotes}/\cmd{spewnotes}
+is invoked. This disables \paket{footnote}'s environments as well as its environment
+escaping mechanism through \cmd{makesavenoteenv}.
+
+\subsection{manyfoot}\secidx[manyfoot]{other packages}
+The \paket{manyfoot} package \cite{manyfoot} is not and will not directly be
+supported. It is loaded by \paket{bigfoot} (see section \ref{ssec:bigfoot}), anyway.
+And since the latter states this in its documentation
+\begin{zitat}[David Kastrup \cite{bigfoot}]
+ Purpose of this package is to provide a one-stop solution to almost all problems
+ related to footnotes. You can use it as a drop-in replacement of the `\paket{manyfoot}'
+ package, but without many of its shortcomings, and quite a few features of its
+ own.
+\end{zitat}
+you should probably prefer it anyway.
+
+If it is \emph{really} wanted by users I might change my opinion, though \ldots
+
+\subsection{pagenote}\secidx[pagenote]{other packages}
+The package \paket{pagenote} \cite{pagenote} is supported and its \cmd{pagenote}
+command is treated the same way as all other note commands: it got an optional
+\code{*} argument and an additional \cmd{multpagenote} is defined.
+
+\subsection{parnotes}\secidx[parnotes]{other packages}
+The \paket{parnotes} package \cite{parnotes} does something similar to the \paket{endnotes}
+package. basically it allows to output the footnote text after a paragraph, either
+by using a special environment or by invoking \cmd{parnotes}.
+
+If \paket{parnotes} is loaded \fnpct extends its functionality analogous
+to the one of \paket{endnotes}.
+
+Again the \key{multiple} option turns all \cmd{parnote}s into \cmd{multparnote}s.
+\begin{beispiel}
+ \begin{minipage}[t]{.4\linewidth}
+ \noindent The three little pigs built their houses
+ out of straw\parnote{not to be confused with hay},
+ sticks\parnote{or lumber according to some sources}
+ and bricks\parnote{probably fired clay bricks}.
+
+ \parnotes
+ \end{minipage}\hfil
+ \begin{minipage}[t]{.4\linewidth}
+ \noindent The three little pigs built their houses
+ out of straw\parnote*{not to be confused with hay},
+ sticks\parnote{or lumber according to some sources}
+ and bricks\multparnote{probably fired clay bricks;or
+ something else}.
+
+ \parnotes
+ \end{minipage}
+\end{beispiel}
+
+\subsection{sepfootnotes}\secidx[sepfootnotes]{other packages}
+\fnpct supports the \paket{sepfootnotes} package \cite{sepfootnotes}. Each note
+type you have created with with one of the commands
+\begin{description}
+ \item \cmd{newfootnotes}{<prefix>},
+ \item \cmd{newendnotes}{<prefix>} or
+ \item \cmd{newsymbolfootnotes}{<prefix>}
+\end{description}
+gets the additional optional \code{*} to prevent punctuation switching. Also the
+corresponding mult-variant \cmd{<prefix>multnote} is defined. The option \key{multiple}
+again turns all note commands into their mult-variant.
+
+You have to use the \cmd{newfootnotes} commands in the document preamble after
+loading \fnpct.
+
+\begin{beispiel}
+ % preamble \newfootnotes{a}
+ \anotecontent{first}{not to be confused with hay}
+ \anotecontent{second}{or lumber according to some sources}
+ \anotecontent{third}{probably fired clay bricks}
+ \begin{minipage}{.4\linewidth}
+ \noindent The three little pigs built their houses
+ out of straw\anote{first}, sticks\anote{second} and
+ bricks\anote{third}.
+ \end{minipage}
+\end{beispiel}
+
+\subsection{tablefootnote}\secidx[tablefootnote]{other packages}
+The package \paket{tablefootnote} \cite{tablefootnote} is supported and its
+\cmd{tablefootnote} command is treated the same way as all other note commands:
+it got an optional \code{*} argument and an additional \cmd{multtablefootnote}
+is defined.
+
+\subsection{yafoot}\secidx[yafoot bundle]{other packages}
+Currently no issues are known when using \fnpct with one or all of the packages
+of the \paket{yafoot} \cite{yafoot} bundle. Just for reference: these packages are
+\paket*{pfnote}, \paket*{fnpos} and \paket*{dblfnote}.
+\secidx*{other packages}
+
+\newpage
+\appendix
+\printbibliography
+\printindex
+\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/fnpct/nested_ex.tex b/Master/texmf-dist/doc/latex/fnpct/nested_ex.tex
new file mode 100644
index 00000000000..9d656d182ff
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/fnpct/nested_ex.tex
@@ -0,0 +1,47 @@
+% --------------------------------------------------------------------------
+% the FNPCT package
+%
+% footnote kerning
+%
+% 2012/05/22
+% --------------------------------------------------------------------------
+% Clemens Niederberger
+% Web: https://bitbucket.org/cgnieder/fnpct/
+% E-Mail: contact@mychemistry.eu
+% --------------------------------------------------------------------------
+% Copyright 2012 Clemens Niederberger
+%
+% 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.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Clemens Niederberger.
+% --------------------------------------------------------------------------
+% If you have any ideas, questions, suggestions or bugs to report, please
+% feel free to contact me.
+% --------------------------------------------------------------------------
+\documentclass{article}
+\usepackage[
+ paperwidth=.5\textwidth,
+ paperheight=12\baselineskip,
+ margin=5pt,
+ bottom=1.5cm]{geometry}
+
+\usepackage[multiple]{fnpct}
+
+\begin{document}
+ \noindent 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\multfootnote{probably fired clay bricks%
+ \footnotemark;*or something else;what do I know}.
+\end{document}
+
+
+
diff --git a/Master/texmf-dist/doc/latex/fnpct/nested_ex_a.tex b/Master/texmf-dist/doc/latex/fnpct/nested_ex_a.tex
new file mode 100644
index 00000000000..6085527aa34
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/fnpct/nested_ex_a.tex
@@ -0,0 +1,47 @@
+% --------------------------------------------------------------------------
+% the FNPCT package
+%
+% footnote kerning
+%
+% 2012/05/22
+% --------------------------------------------------------------------------
+% Clemens Niederberger
+% Web: https://bitbucket.org/cgnieder/fnpct/
+% E-Mail: contact@mychemistry.eu
+% --------------------------------------------------------------------------
+% Copyright 2012 Clemens Niederberger
+%
+% 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.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Clemens Niederberger.
+% --------------------------------------------------------------------------
+% If you have any ideas, questions, suggestions or bugs to report, please
+% feel free to contact me.
+% --------------------------------------------------------------------------
+\documentclass{article}
+\usepackage[
+ paperwidth=.5\textwidth,
+ paperheight=12\baselineskip,
+ margin=5pt,
+ bottom=1.5cm]{geometry}
+
+\usepackage{fnpct}
+
+\begin{document}
+ \noindent 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\footnote{probably fired clay bricks%
+ \innernote{or not}}.
+\end{document}
+
+
+
diff --git a/Master/texmf-dist/doc/latex/fnpct/nested_ex_b.tex b/Master/texmf-dist/doc/latex/fnpct/nested_ex_b.tex
new file mode 100644
index 00000000000..0349ddaa147
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/fnpct/nested_ex_b.tex
@@ -0,0 +1,47 @@
+% --------------------------------------------------------------------------
+% the FNPCT package
+%
+% footnote kerning
+%
+% 2012/05/22
+% --------------------------------------------------------------------------
+% Clemens Niederberger
+% Web: https://bitbucket.org/cgnieder/fnpct/
+% E-Mail: contact@mychemistry.eu
+% --------------------------------------------------------------------------
+% Copyright 2012 Clemens Niederberger
+%
+% 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.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Clemens Niederberger.
+% --------------------------------------------------------------------------
+% If you have any ideas, questions, suggestions or bugs to report, please
+% feel free to contact me.
+% --------------------------------------------------------------------------
+\documentclass{article}
+\usepackage[
+ paperwidth=.5\textwidth,
+ paperheight=12\baselineskip,
+ margin=5pt,
+ bottom=1.5cm]{geometry}
+
+\usepackage{fnpct}
+
+\begin{document}
+ \noindent 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\footnote{probably\innernote{just guessing}
+ fired clay bricks\innernote{or not}}.
+\end{document}
+
+
+
diff --git a/Master/texmf-dist/doc/latex/fnpct/nested_ex_c.tex b/Master/texmf-dist/doc/latex/fnpct/nested_ex_c.tex
new file mode 100644
index 00000000000..1379fa6fae9
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/fnpct/nested_ex_c.tex
@@ -0,0 +1,47 @@
+% --------------------------------------------------------------------------
+% the FNPCT package
+%
+% footnote kerning
+%
+% 2012/05/22
+% --------------------------------------------------------------------------
+% Clemens Niederberger
+% Web: https://bitbucket.org/cgnieder/fnpct/
+% E-Mail: contact@mychemistry.eu
+% --------------------------------------------------------------------------
+% Copyright 2012 Clemens Niederberger
+%
+% 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.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Clemens Niederberger.
+% --------------------------------------------------------------------------
+% If you have any ideas, questions, suggestions or bugs to report, please
+% feel free to contact me.
+% --------------------------------------------------------------------------
+\documentclass{article}
+\usepackage[
+ paperwidth=.5\textwidth,
+ paperheight=12\baselineskip,
+ margin=5pt,
+ bottom=1.5cm]{geometry}
+
+\usepackage{fnpct}
+
+\begin{document}
+\noindent\fbox{%
+\begin{minipage}{.9\linewidth}
+ The three little pigs built their houses
+ out of straw\innernote{not to be confused with hay},
+ sticks\innernote{or lumber according to some sources}
+ and bricks\innernote{probably}.
+\end{minipage}}\writeinnernotes
+
+\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/fnpct/normal_ex.tex b/Master/texmf-dist/doc/latex/fnpct/normal_ex.tex
new file mode 100644
index 00000000000..af02311ef34
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/fnpct/normal_ex.tex
@@ -0,0 +1,45 @@
+% --------------------------------------------------------------------------
+% the FNPCT package
+%
+% footnote kerning
+%
+% 2012/05/22
+% --------------------------------------------------------------------------
+% Clemens Niederberger
+% Web: https://bitbucket.org/cgnieder/fnpct/
+% E-Mail: contact@mychemistry.eu
+% --------------------------------------------------------------------------
+% Copyright 2012 Clemens Niederberger
+%
+% 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.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Clemens Niederberger.
+% --------------------------------------------------------------------------
+% If you have any ideas, questions, suggestions or bugs to report, please
+% feel free to contact me.
+% --------------------------------------------------------------------------
+\documentclass{article}
+\usepackage[
+ paperwidth=.5\textwidth,
+ paperheight=12\baselineskip,
+ margin=5pt,
+ bottom=1.5cm]{geometry}
+
+\usepackage[normal-marks]{fnpct}
+
+\begin{document}
+
+\noindent 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\footnote{probably fired clay bricks}.
+
+\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/doc/latex/fnpct/pagenote_ex.tex b/Master/texmf-dist/doc/latex/fnpct/pagenote_ex.tex
new file mode 100644
index 00000000000..b3710fb9026
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/fnpct/pagenote_ex.tex
@@ -0,0 +1,48 @@
+% --------------------------------------------------------------------------
+% the FNPCT package
+%
+% footnote kerning
+%
+% 2012/05/22
+% --------------------------------------------------------------------------
+% Clemens Niederberger
+% Web: https://bitbucket.org/cgnieder/fnpct/
+% E-Mail: contact@mychemistry.eu
+% --------------------------------------------------------------------------
+% Copyright 2012 Clemens Niederberger
+%
+% 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.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Clemens Niederberger.
+% --------------------------------------------------------------------------
+% If you have any ideas, questions, suggestions or bugs to report, please
+% feel free to contact me.
+% --------------------------------------------------------------------------
+\documentclass{article}
+\usepackage[
+ paperwidth=.55\textwidth,
+ paperheight=12\baselineskip,
+ margin=5pt,
+ bottom=1.5cm]{geometry}
+
+\usepackage{pagenote}
+\usepackage[multiple]{fnpct}
+
+\makepagenote
+\begin{document}
+\section{Text}
+\noindent The three little pigs built their houses
+out of straw\pagenote{not to be confused with hay},
+sticks\pagenote{or lumber according to some sources}
+and bricks\pagenote{probably fired clay bricks;or whatever}.
+
+\printnotes
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/fnpct/sepfootnotes_ex.tex b/Master/texmf-dist/doc/latex/fnpct/sepfootnotes_ex.tex
new file mode 100644
index 00000000000..5aec78ecd93
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/fnpct/sepfootnotes_ex.tex
@@ -0,0 +1,50 @@
+% --------------------------------------------------------------------------
+% the FNPCT package
+%
+% footnote kerning
+%
+% 2012/05/22
+% --------------------------------------------------------------------------
+% Clemens Niederberger
+% Web: https://bitbucket.org/cgnieder/fnpct/
+% E-Mail: contact@mychemistry.eu
+% --------------------------------------------------------------------------
+% Copyright 2012 Clemens Niederberger
+%
+% 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.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Clemens Niederberger.
+% --------------------------------------------------------------------------
+% If you have any ideas, questions, suggestions or bugs to report, please
+% feel free to contact me.
+% --------------------------------------------------------------------------
+\documentclass{article}
+\usepackage[
+ paperwidth=.55\textwidth,
+ paperheight=12\baselineskip,
+ margin=5pt,
+ bottom=1.5cm]{geometry}
+
+\usepackage[multiple]{fnpct}
+
+\usepackage{sepfootnotes}
+\newfootnotes{a}
+\anotecontent{first}{not to be confused with hay}
+\anotecontent{second}{or lumber according to some sources}
+\anotecontent{third}{probably fired clay bricks}
+
+\begin{document}
+
+\noindent The three little pigs built their houses
+out of straw\anote{first}, sticks\anote{second} and
+bricks\anote{third}.
+
+\end{document}
diff --git a/Master/texmf-dist/doc/latex/fnpct/tufte_ex.tex b/Master/texmf-dist/doc/latex/fnpct/tufte_ex.tex
new file mode 100644
index 00000000000..9b48b87a7e1
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/fnpct/tufte_ex.tex
@@ -0,0 +1,36 @@
+% --------------------------------------------------------------------------
+% the FNPCT package
+%
+% footnote kerning
+%
+% 2012/05/22
+% --------------------------------------------------------------------------
+% Clemens Niederberger
+% Web: https://bitbucket.org/cgnieder/fnpct/
+% E-Mail: contact@mychemistry.eu
+% --------------------------------------------------------------------------
+% Copyright 2012 Clemens Niederberger
+%
+% 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.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Clemens Niederberger.
+% --------------------------------------------------------------------------
+% If you have any ideas, questions, suggestions or bugs to report, please
+% feel free to contact me.
+% --------------------------------------------------------------------------
+\documentclass{tufte-handout}
+\usepackage[multiple]{fnpct}
+\AdaptNote\sidenote\multsidenote
+\begin{document}
+
+Some text in the document body\sidenote{Some text in a sidenote.;A second sidenote}.
+
+\end{document} \ No newline at end of file
diff --git a/Master/texmf-dist/tex/latex/fnpct/fnpct.sty b/Master/texmf-dist/tex/latex/fnpct/fnpct.sty
new file mode 100644
index 00000000000..d46bdbbe357
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/fnpct/fnpct.sty
@@ -0,0 +1,684 @@
+% --------------------------------------------------------------------------
+% the FNPCT package
+%
+% footnote kerning
+%
+% 2012/05/22
+% --------------------------------------------------------------------------
+% Clemens Niederberger
+% Web: https://bitbucket.org/cgnieder/fnpct/
+% E-Mail: contact@mychemistry.eu
+% --------------------------------------------------------------------------
+% Copyright 2012 Clemens Niederberger
+%
+% 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.
+%
+% This work has the LPPL maintenance status `maintained'.
+%
+% The Current Maintainer of this work is Clemens Niederberger.
+% --------------------------------------------------------------------------
+% If you have any ideas, questions, suggestions or bugs to report, please
+% feel free to contact me.
+% --------------------------------------------------------------------------
+% the package is inspired by the following question on TeX.SE:
+% http://tex.stackexchange.com/q/56094/5049
+% --------------------------------------------------------------------------
+\RequirePackage { xparse , l3keys2e , scrlfile }
+\ProvidesExplPackage
+ {fnpct}
+ {2012/05/22}
+ {0.1}
+ {footnote kerning}
+
+% --------------------------------------------------------------------------
+% SETTING THINGS UP:
+% this is plain's \nobreak:
+\cs_new:Npn \fnpct_no_break: { \tex_penalty:D \c_ten_thousand }
+
+\cs_new:Npn \fnpct_dont_mess_around:
+ {
+ \iow_log:n { ................................................. }
+ \iow_log:n { . ~ fnpct~info: }
+ \iow_log:n { . }
+ \iow_log:n { . ~ All~right,~not~messing~around.~:( }
+ \iow_log:n { . ~ But~I'd~really~love~to~(http://www.youtube.com/watch?v=Bqz876VkwwY). }
+ \iow_log:n { ................................................. }
+ }
+
+% rigid lengths:
+\dim_new:N \l_fnpct_after_comma_dim
+\dim_set:Nn \l_fnpct_after_comma_dim { -.06em }
+\dim_new:N \l_fnpct_after_dot_dim
+\dim_set:Nn \l_fnpct_after_dot_dim { -.06em }
+\dim_new:N \l_fnpct_before_comma_dim
+\dim_set:Nn \l_fnpct_before_comma_dim { -.16em }
+\dim_new:N \l_fnpct_before_dot_dim
+\dim_set:Nn \l_fnpct_before_dot_dim { -.16em }
+\dim_new:N \l_fnpct_before_footnote_dim
+\dim_set:Nn \l_fnpct_before_footnote_dim { .06em }
+\dim_new:N \l_fnpct_normal_mark_width_dim
+\dim_set:Nn \l_fnpct_normal_mark_width_dim { 1em }
+\dim_new:N \l_fnpct_normal_indent_dim
+\dim_set:Nn \l_fnpct_normal_indent_dim { 1.5em }
+\dim_new:N \l_fnpct_normal_parindent_dim
+\dim_set:Nn \l_fnpct_normal_parindent_dim { 1em }
+
+% multiple footnote input and output variables:
+\tl_new:N \l_fnpct_multiple_footnotes_delimiter_tl
+\tl_set:Nn \l_fnpct_multiple_footnotes_delimiter_tl { ; }
+\tl_new:N \l_fnpct_multiple_footnote_separator_tl
+% check for KOMA-Script's or anyone's \multfootsep:
+\cs_if_exist:NTF \multfootsep
+ { \tl_set:Nn \l_fnpct_multiple_footnote_separator_tl { \multfootsep } }
+ { \tl_set:Nn \l_fnpct_multiple_footnote_separator_tl { , } }
+
+% basic booleans for punctuation order switch and multiple footnotes
+\bool_new:N \l_fnpct_punct_after_bool
+\bool_new:N \l_fnpct_multiple_default_bool
+\bool_new:N \l_fnpct_multiple_footnotes_bool
+\bool_new:N \l_fnpct_dont_switch_bool
+\bool_new:N \l_fnpct_bigfoot_default_top_bool
+\bool_new:N \l_fnpct_normal_marks_bool
+
+% options:
+\keys_define:nn { fnpct }
+ {
+ after-comma-space .dim_set:N = \l_fnpct_after_comma_dim ,
+ after-dot-space .dim_set:N = \l_fnpct_after_dot_dim ,
+ before-comma-space .dim_set:N = \l_fnpct_before_comma_dim ,
+ before-dot-space .dim_set:N = \l_fnpct_before_dot_dim ,
+ after-punct-space .code:n =
+ \dim_set:Nn \l_fnpct_after_comma_dim { #1 }
+ \dim_set:Nn \l_fnpct_after_dot_dim { #1 } ,
+ before-punct-space .code:n =
+ \dim_set:Nn \l_fnpct_before_comma_dim { #1 }
+ \dim_set:Nn \l_fnpct_before_dot_dim { #1 } ,
+ before-footnote-space .dim_set:N = \l_fnpct_before_footnote_dim ,
+ punct-after .bool_set:N = \l_fnpct_punct_after_bool ,
+ punct-after .default:n = true ,
+ dont-mess-around .code:n =
+ \dim_zero:N \l_fnpct_after_comma_dim
+ \dim_zero:N \l_fnpct_after_dot_dim
+ \dim_zero:N \l_fnpct_before_comma_dim
+ \dim_zero:N \l_fnpct_before_dot_dim
+ \dim_zero:N \l_fnpct_before_footnote_dim
+ \bool_set_true:N \l_fnpct_punct_after_bool
+ \fnpct_dont_mess_around: ,
+ mult-fn-delim .tl_set:N = \l_fnpct_multiple_footnotes_delimiter_tl ,
+ mult-fn-sep .tl_set:N = \l_fnpct_multiple_footnote_separator_tl ,
+ multiple .bool_set:N = \l_fnpct_multiple_default_bool ,
+ multiple .default:n = true ,
+ bigfoot-default-top .bool_set:N = \l_fnpct_bigfoot_default_top_bool ,
+ bigfoot-default-top .default:n = true ,
+ normal-marks .bool_set:N = \l_fnpct_normal_marks_bool ,
+ normal-marks .default:n = true ,
+ normal-mark-width .dim_set:N = \l_fnpct_normal_mark_width_dim ,
+ normal-indent .dim_set:N = \l_fnpct_normal_indent_dim ,
+ normal-parindent .dim_set:N = \l_fnpct_normal_parindent_dim ,
+ verb-format .tl_set:N = \l_fnpct_verbatim_format_tl
+ }
+
+\ProcessKeysOptions { fnpct }
+
+% --------------------------------------------------------------------------
+% MAIN INTERNAL FOOTNOTE FUNCTION:
+% #1: original command
+% #2: optional argument of original command
+% #3: mandatory argument of original command
+% #4: boolean flag for starred version
+\cs_new_protected:Npn \fnpct_dot_or_comma:Nnnn #1#2#3#4
+ {
+ % if a dot follows remove it, insert dot, skip back
+ % and then insert footnote
+ \fnpct_no_break:
+ \IfBooleanT { #4 } { \bool_set_true:N \l_fnpct_dont_switch_bool }
+ \peek_meaning_remove:NTF .
+ {
+ \bool_if:nTF { \l_fnpct_punct_after_bool || \l_fnpct_dont_switch_bool }
+ { \fnpct_no_break: \skip_horizontal:N \l_fnpct_before_footnote_dim }
+ { . \fnpct_no_break: \skip_horizontal:N \l_fnpct_after_dot_dim }
+ \IfNoValueTF { #2 }
+ { #1 { #3 } }
+ { #1 [ #2 ] { #3 } }
+ \fnpct_write_inner:N #1
+ \bool_if:nT { \l_fnpct_punct_after_bool || \l_fnpct_dont_switch_bool }
+ { \skip_horizontal:N \l_fnpct_before_dot_dim \fnpct_no_break: . }
+ \bool_set_false:N \l_fnpct_dont_switch_bool
+ }
+ {
+ % else do the same with comma
+ \peek_meaning_remove:NTF ,
+ {
+ \bool_if:nTF { \l_fnpct_punct_after_bool || \l_fnpct_dont_switch_bool }
+ { \fnpct_no_break: \skip_horizontal:N \l_fnpct_before_footnote_dim }
+ { , \fnpct_no_break: \skip_horizontal:N \l_fnpct_after_comma_dim }
+ \IfNoValueTF { #2 }
+ { #1 { #3 } }
+ { #1 [ #2 ] { #3 } }
+ \fnpct_write_inner:N #1
+ \bool_if:nT { \l_fnpct_punct_after_bool || \l_fnpct_dont_switch_bool }
+ { \skip_horizontal:N \l_fnpct_before_comma_dim \fnpct_no_break: , }
+ \bool_set_false:N \l_fnpct_dont_switch_bool
+ }
+ {
+ % what about multiple footnotes? (their usage is discouraged with
+ % this package, but anyway...)
+ % this check should probably/maybe be removed (?!)
+ \tl_set:Nx \l_tmpa_tl { \cs_to_str:N #1 }
+ \prop_get:NVN \g_fnpct_adapted_notes_prop \l_tmpa_tl \l_tmpb_tl
+ \exp_args:No
+ \peek_meaning:NTF \l_tmpb_tl
+ {
+ \bool_set_true:N \l_fnpct_multiple_footnotes_bool
+ % else insert space and then note
+ \fnpct_no_break: \skip_horizontal:N \l_fnpct_before_footnote_dim
+ \IfNoValueTF { #2 }
+ { #1 { #3 } }
+ { #1 [ #2 ] { #3 } }
+ \fnpct_write_inner:N #1
+ \fnpct_no_break:
+ \textsuperscript { \l_fnpct_multiple_footnote_separator_tl }
+ % \bool_set_false:N \l_fnpct_dont_switch_bool
+ }
+ {
+ % else insert space and then note
+ \bool_if:NTF \l_fnpct_multiple_footnotes_bool
+ { \bool_set_false:N \l_fnpct_multiple_footnotes_bool }
+ { \fnpct_no_break: \skip_horizontal:N \l_fnpct_before_footnote_dim }
+ \IfNoValueTF { #2 }
+ { #1 { #3 } }
+ { #1 [ #2 ] { #3 } }
+ \fnpct_write_inner:N #1
+ \bool_set_false:N \l_fnpct_dont_switch_bool
+ }
+ }
+ }
+ }
+\cs_generate_variant:Nn \fnpct_dot_or_comma:Nnnn { cnnn }
+
+% --------------------------------------------------------------------------
+% MULTIPLE FOOTNOTES
+\seq_new:N \l_fnpct_multiple_footnotes_seq
+\cs_generate_variant:Nn \seq_set_split:Nnn { NVn }
+
+% #1: original note command
+% #2: star
+% #3: multiple notes separated by \l_fnpct_multiple_footnotes_delimiter_tl
+\cs_new_protected:Npn \fnpct_mult_note:Nnn #1#2#3
+ {
+ \IfBooleanT { #2 } { \bool_set_true:N \l_fnpct_dont_switch_bool }
+ % split input:
+ \seq_set_split:NVn \l_fnpct_multiple_footnotes_seq
+ \l_fnpct_multiple_footnotes_delimiter_tl
+ { #3 }
+ \fnpct_no_break:
+ % look for dot and do magic:
+ \peek_meaning_remove:NTF .
+ {
+ \bool_if:nTF { \l_fnpct_punct_after_bool || \l_fnpct_dont_switch_bool }
+ { \fnpct_no_break: \skip_horizontal:N \l_fnpct_before_footnote_dim }
+ { . \fnpct_no_break: \skip_horizontal:N \l_fnpct_after_dot_dim }
+ \fnpct_write_notes:N #1
+ \bool_if:nT { \l_fnpct_punct_after_bool || \l_fnpct_dont_switch_bool }
+ { \skip_horizontal:N \l_fnpct_before_dot_dim \fnpct_no_break: . }
+ \bool_set_false:N \l_fnpct_dont_switch_bool
+ }
+ {
+ % else look for comma and do magic:
+ \peek_meaning_remove:NTF ,
+ {
+ \bool_if:nTF { \l_fnpct_punct_after_bool || \l_fnpct_dont_switch_bool }
+ { \fnpct_no_break: \skip_horizontal:N \l_fnpct_before_footnote_dim }
+ { , \fnpct_no_break: \skip_horizontal:N \l_fnpct_after_comma_dim }
+ \fnpct_write_notes:N #1
+ \bool_if:nT { \l_fnpct_punct_after_bool || \l_fnpct_dont_switch_bool }
+ { \skip_horizontal:N \l_fnpct_before_comma_dim \fnpct_no_break: , }
+ \bool_set_false:N \l_fnpct_dont_switch_bool
+ }
+ {
+ % else insert space and notes:
+ \tl_set:Nx \l_tmpa_tl { \cs_to_str:N #1 }
+ \prop_get:NVN \g_fnpct_adapted_notes_prop \l_tmpa_tl \l_tmpb_tl
+ \exp_args:No
+ \peek_meaning:NTF \l_tmpb_tl
+ {
+ \bool_set_true:N \l_fnpct_multiple_footnotes_bool
+ \fnpct_no_break: \skip_horizontal:N \l_fnpct_before_footnote_dim
+ \fnpct_write_notes:N #1
+ \bool_set_false:N \l_fnpct_dont_switch_bool
+ \textsuperscript { \l_fnpct_multiple_footnote_separator_tl }
+ }
+ {
+ \bool_if:NTF \l_fnpct_multiple_footnotes_bool
+ { \bool_set_false:N \l_fnpct_multiple_footnotes_bool }
+ { \fnpct_no_break: \skip_horizontal:N \l_fnpct_before_footnote_dim }
+ \fnpct_write_notes:N #1
+ \bool_set_false:N \l_fnpct_dont_switch_bool
+ }
+ }
+ }
+ }
+\cs_generate_variant:Nn \fnpct_mult_note:Nnn { cnn }
+
+% #1: original note command
+\cs_new_protected:Npn \fnpct_write_notes:N #1
+ {
+ \int_zero:N \l_tmpa_int
+ \seq_map_inline:Nn \l_fnpct_multiple_footnotes_seq
+ {
+ \fnpct_read_footnote_with_option:w ##1 \q_stop { #1 }
+ \int_incr:N \l_tmpa_int
+ }
+ }
+
+% this shouldn't be a document command but is an really easy way to make
+% biblatex's \footcite et.al. compatible with the `multiple' option
+% #1: optional star => only invoke \footnotetext
+% #2: optional argument to original note command
+% #3: mandatory argument to original note command
+% #4: original note command
+\bool_new:N \g_fnpct_only_text_bool
+\NewDocumentCommand \fnpct_read_footnote_with_option:w { sou{\q_stop}m }
+ {
+ % FIXME: change \seq_length into \seq_count when it has been renamed
+ \bool_if:nT
+ {
+ \int_compare_p:n { \l_tmpa_int > 0 }
+ &&
+ \int_compare_p:n { \l_tmpa_int < \seq_length:N \l_fnpct_multiple_footnotes_seq }
+ }
+ {
+ \IfBooleanTF { #1 }
+ { \tex_unskip:D }
+ { \textsuperscript { \l_fnpct_multiple_footnote_separator_tl } }
+ }
+ \IfBooleanTF { #1 }
+ {
+ \bool_gset_true:N \g_fnpct_only_text_bool
+ \IfNoValueTF { #2 }
+ { \footnotetext { #3 } }
+ { \footnotetext [ #2 ] { #3 } }
+ }
+ {
+ \IfNoValueTF { #2 }
+ { #4 { #3 } }
+ { #4 [ #2 ] { #3 } }
+ }
+ \fnpct_write_inner:N #4
+ }
+
+% --------------------------------------------------------------------------
+% NESTED FOOTNOTES:
+% 1 layer of nesting...
+\prop_new:N \g_fnpct_inner_footnote_prop
+\prop_new:N \g_fnpct_inner_footnote_hyperref_prop
+\cs_generate_variant:Nn \prop_gput:Nnn { Nxn , Nxo }
+
+% this shouldn't be a document command! But for the time being I'll stick to
+% this easy solution...
+\NewDocumentCommand \fnpct_inner_footnote:w { o+m }
+ {
+ \IfNoValueTF { #1 }
+ {
+ % TODO: maybe detect what type of note we're in and use the appropriate mark?
+ \fnpct_orig_footnotemark:w
+ \prop_gput:Nxn \g_fnpct_inner_footnote_prop { \thefootnote } { #2 }
+ \bool_if:NT \l_fnpct_hyperref_bool
+ {
+ \prop_gput:Nxo \g_fnpct_inner_footnote_hyperref_prop
+ { \thefootnote } { \Hy@footnote@currentHref }
+ }
+ }
+ {
+ \fnpct_orig_footnotemark:w [ #1 ]
+ \prop_gput:Nnn \g_fnpct_inner_footnote_prop { #1 } { #2 }
+ \bool_if:NT \l_fnpct_hyperref_bool
+ {
+ \prop_gput:Nno \g_fnpct_inner_footnote_hyperref_prop
+ { #1 } { \Hy@footnote@currentHref }
+ }
+ }
+ }
+
+\cs_new:Npn \fnpct_write_inner:N #1
+ {
+ \token_if_eq_meaning:NNF #1 \fnpct_inner_footnote:w
+ {
+ \prop_map_inline:Nn \g_fnpct_inner_footnote_prop
+ {
+ \footnotetext [ ##1 ]
+ {
+ \bool_if:NT \l_fnpct_hyperref_bool
+ {
+ \prop_get:NnN \g_fnpct_inner_footnote_hyperref_prop
+ { ##1 } \l_tmpa_tl
+ \Hy@raisedlink
+ { \exp_args:No \hyper@@anchor { \l_tmpa_tl } }
+ }
+ ##2
+ }
+ }
+ \prop_gclear:N \g_fnpct_inner_footnote_prop
+ }
+ }
+
+\cs_new:Npn \writeinnernotes
+ { \fnpct_write_inner:N X }
+
+% --------------------------------------------------------------------------
+% MANUAL KERNING:
+\cs_new:Npn \kfp
+ {
+ \bool_if:NTF \l_fnpct_punct_after_bool
+ { \skip_horizontal:N \l_fnpct_before_dot_dim }
+ { \skip_horizontal:N \l_fnpct_after_dot_dim }
+ }
+\cs_new:Npn \kfc
+ {
+ \bool_if:NTF \l_fnpct_punct_after_bool
+ { \skip_horizontal:N \l_fnpct_before_comma_dim }
+ { \skip_horizontal:N \l_fnpct_after_comma_dim }
+ }
+
+% --------------------------------------------------------------------------
+% NORMAL MARKS:
+\AtBeginDocument
+ {
+ \bool_if:NT \l_fnpct_normal_marks_bool
+ {
+ \cs_if_exist:NF \KOMAoption
+ { \RequirePackage { scrextend } }
+ \deffootnote
+ [ \l_fnpct_normal_mark_width_dim ]
+ { \l_fnpct_normal_indent_dim }
+ { \l_fnpct_normal_parindent_dim }
+ { \thefootnotemark . \enskip }
+ }
+ }
+
+% --------------------------------------------------------------------------
+% LET'S MAKE IT EASIER TO ADAPT EXISTIUNG FUNCTIONS:
+\prop_new:N \g_fnpct_adapted_notes_prop
+\cs_generate_variant:Nn \prop_put:Nnn { Nxn }
+
+% COPY, RENEW AND CREATE MULT
+% standard \footnote[<mark>]{<text>} like commands
+% #1: old new name
+% #2: internal name of old definition
+% #3: mult-variant
+\cs_new:Npn \fnpct_renew_and_mult:NNN #1#2#3
+ {
+ \prop_gput:Nxn \g_fnpct_adapted_notes_prop { \cs_to_str:N #2 } { #1 }
+ \cs_new_eq:NN #2 #1
+ \fnpct_create_mult_variant:NN #3 #2
+ \bool_if:NTF \l_fnpct_multiple_default_bool
+ { \cs_set_eq:NN #1 #3 }
+ {
+ \RenewDocumentCommand #1 { so+m }
+ { \fnpct_dot_or_comma:Nnnn #2 { ##2 } { ##3 } { ##1 } }
+ }
+ }
+\cs_generate_variant:Nn \fnpct_renew_and_mult:NNN { ccc , NcN }
+
+\cs_new:Npn \fnpct_renew_and_mult_no_opt:NNN #1#2#3
+ {
+ \prop_gput:Nxn \g_fnpct_adapted_notes_prop { \cs_to_str:N #2 } { #1 }
+ \cs_new_eq:NN #2 #1
+ \fnpct_create_mult_variant:NN #3 #2
+ \bool_if:NTF \l_fnpct_multiple_default_bool
+ { \cs_set_eq:NN #1 #3 }
+ {
+ \RenewDocumentCommand #1 { s+m }
+ { \fnpct_dot_or_comma:Nnnn #2 { \NoValue } { ##2 } { ##1 } }
+ }
+ }
+\cs_generate_variant:Nn \fnpct_renew_and_mult_no_opt:NNN { ccc }
+
+% renew but don't create mult-variant:
+\cs_new:Npn \fnpct_renew:NN #1#2
+ {
+ \prop_gput:Nxn \g_fnpct_adapted_notes_prop { \cs_to_str:N #2 } { #1 }
+ \cs_new_eq:NN #2 #1
+ \RenewDocumentCommand #1 { sm }
+ { \fnpct_dot_or_comma:Nnnn #2 { \NoValue } { ##2 } { ##1 } }
+ }
+\cs_generate_variant:Nn \fnpct_renew:NN { cc }
+
+\cs_new:Npn \fnpct_renew_no_arg:NN #1#2
+ {
+ \prop_gput:Nxn \g_fnpct_adapted_notes_prop { \cs_to_str:N #2 } { #1 }
+ \cs_new_eq:NN #2 #1
+ \RenewDocumentCommand #1 { s }
+ { \fnpct_dot_or_comma:Nnnn #2 { \NoValue } { } { ##1 } }
+ }
+\cs_generate_variant:Nn \fnpct_renew_no_arg:NN { cc }
+
+\cs_new:Npn \fnpct_new:NN #1#2
+ {
+ \prop_gput:Nxn \g_fnpct_adapted_notes_prop { \cs_to_str:N #2 } { #1 }
+ \NewDocumentCommand #1 { so+m }
+ { \fnpct_dot_or_comma:Nnnn #2 { ##2 } { ##3 } { ##1 } }
+ }
+\cs_generate_variant:Nn \fnpct_renew:NN { cc }
+
+% create mult-variant
+\cs_new:Npn \fnpct_create_mult_variant:NN #1#2
+ {
+ \NewDocumentCommand #1 { s+m }
+ { \fnpct_mult_note:Nnn #2 { ##1 } { ##2 } }
+ }
+
+% \footnotemark[<mark>] like commands:
+\cs_new:Npn \fnpct_renew_mark:NN #1#2
+ {
+ \prop_gput:Nxn \g_fnpct_adapted_notes_prop { \cs_to_str:N #2 } { #1 }
+ \cs_new_eq:NN #2 #1
+ \RenewDocumentCommand #1 { so }
+ { \fnpct_dot_or_comma:Nnnn #2 { ##2 } { } { ##1 } }
+ }
+\cs_generate_variant:Nn \fnpct_renew_mark:NN { cc , Nc }
+
+% user commands:
+\NewDocumentCommand \AdaptNote { mm }
+ {
+ \exp_args:NNx
+ \fnpct_renew_and_mult:NcN #1 { fnpct_orig_ \cs_to_str:N #1 :w } #2
+ }
+
+\NewDocumentCommand \AdaptNoteMark { m }
+ { \exp_args:NNx \fnpct_renew_mark:Nc #1 { fnpct_orig_ \cs_to_str:N #1 :w } }
+
+% --------------------------------------------------------------------------
+% DO THE REDEFINING:
+%
+% before we start make the testing more comfortable:
+\cs_new:Npn \fnpct_treatment:nn #1#2
+ { \@ifpackageloaded { #1 } { #2 } { } }
+\cs_new:Npn \fnpct_special_treatment:nn #1#2
+ { \@ifpackageloaded { #1 } { #2 } { \AfterPackage * { #1 } { #2 } } }
+
+% and now get going:
+\AtBeginDocument
+ {
+ \@ifpackageloaded { hyperref }
+ { \bool_set_true:N \l_fnpct_hyperref_bool }
+ {
+ \cs_if_exist:NF \AfterBeginDocument
+ { \cs_new:Npn \AfterBeginDocument #1 { #1 } }
+ }
+ \AfterBeginDocument
+ {
+ \AdaptNote \footnote \multfootnote
+ \AdaptNoteMark \footnotemark
+ \fnpct_new:NN \innernote \fnpct_inner_footnote:w
+ %% the `endnotes' package:
+ \fnpct_treatment:nn { endnotes }
+ {
+ \AdaptNote \endnote \multendnote
+ \AdaptNoteMark \endnotemark
+ }
+ %% the `parnotes' package:
+ \fnpct_treatment:nn { parnotes } { \AdaptNote \parnote \multparnote }
+ %% the `pagenote' package:
+ \fnpct_treatment:nn { pagenote }
+ {
+ \bool_if:NT \l_fnpct_makepagenote_bool
+ { \AdaptNote \pagenote \multpagenote }
+ }
+ %% the `tablefootnote' package:
+ \fnpct_treatment:nn { tablefootnote }
+ {
+ \fnpct_renew_and_mult_no_opt:NNN \tablefootnote
+ \fnpct_orig_tablefootnote:w \multtablefootnote
+ }
+ %% the `bigfoot' package:
+ \fnpct_treatment:nn { bigfoot }
+ {
+ \prop_map_inline:Nn \l_fnpct_footnote_class_prop
+ {
+ \fnpct_renew_and_mult:ccc { footnote#2 }
+ { fnpct_orig_footnote#2:w } { multfootnote#2 }
+ \fnpct_renew_mark:cc { footnotemark#2 } { fnpct_orig_footnotemark#2:w }
+ }
+ % re-set basics:
+ \cs_set_eq:NN \footnote \footnotedefault
+ \cs_set_eq:NN \footnotemark \footnotemarkdefault
+ \cs_set_eq:NN \multfootnote \multfootnotedefault
+ }
+ %% the `fixfoot' package:
+ \fnpct_treatment:nn { fixfoot }
+ {
+ \prop_map_inline:Nn \l_fnpct_footnote_fixfoot_prop
+ { \fnpct_renew_no_arg:cc { #2 } { fnpct_orig_fix_#2:w } }
+ }
+ %% the `sepfootnotes' package:
+ \fnpct_treatment:nn { sepfootnotes }
+ {
+ \prop_map_inline:Nn \l_fnpct_sepfootnote_foot_classes_prop
+ {
+ \fnpct_renew_and_mult_no_opt:ccc { #2note }
+ { fnpct_orig_sep_#2:w } { #2multnote }
+ \fnpct_renew:cc { #2notemark } { fnpct_orig_sep_#2_mark:w }
+ }
+ \prop_map_inline:Nn \l_fnpct_sepfootnote_end_classes_prop
+ {
+ \fnpct_renew_and_mult_no_opt:ccc { #2note }
+ { fnpct_orig_sep_#2:w } { #2multnote }
+ \fnpct_renew:cc { #2notemark } { fnpct_orig_sep_#2_mark:w }
+ }
+ }
+ }
+ }
+
+% the `bigfoot' package neads special treatment:
+\prop_new:N \l_fnpct_footnote_class_prop
+\fnpct_special_treatment:nn { bigfoot }
+ {
+ % hook into \DeclareNewFootnote so we can redefine all footnote
+ % classes defined be users
+ \cs_new_eq:NN \fnpct_new_footnote:w \DeclareNewFootnote
+ \RenewDocumentCommand \DeclareNewFootnote { omo }
+ {
+ \prop_put:Nnn \l_fnpct_footnote_class_prop { #2 } { #2 }
+ \IfNoValueTF { #1 }
+ {
+ \IfNoValueTF { #3 }
+ { \fnpct_new_footnote:w { #2 } }
+ { \fnpct_new_footnote:w { #2 } [ #3 ] }
+ }
+ {
+ \IfNoValueTF { #3 }
+ { \fnpct_new_footnote:w [ #1 ] { #2 } }
+ { \fnpct_new_footnote:w [ #1 ]{ #2 } [ #3 ] }
+ }
+ }
+ \bool_if:NT \l_fnpct_bigfoot_default_top_bool
+ { \DeclareNewFootnote { default } }
+ }
+
+% as does the `fixfoot' package
+\prop_new:N \l_fnpct_footnote_fixfoot_prop
+\fnpct_special_treatment:nn { fixfoot }
+ {
+ % hook into \DeclareFixedFootnote so we can redefine all footnote
+ % classes defined be users
+ \cs_new_eq:NN \fnpct_new_fixnote:w \DeclareFixedFootnote
+ \RenewDocumentCommand \DeclareFixedFootnote { smm }
+ {
+ \prop_put:Nnx \l_fnpct_footnote_fixfoot_prop { #2 }
+ { \cs_to_str:N #2 }
+ \IfBooleanTF { #1 }
+ { \fnpct_new_fixnote:w * { #2 } { #3 } }
+ { \fnpct_new_fixnote:w { #2 } { #3 } }
+ }
+ }
+
+% and the `pagenote' package:
+\bool_new:N \l_fnpct_makepagenote_bool
+\fnpct_special_treatment:nn { pagenote }
+ {
+ \tl_put_left:Nn \makepagenote
+ { \bool_set_true:N \l_fnpct_makepagenote_bool }
+ }
+
+% aaand... the `sepfootnotes' package:
+\prop_new:N \l_fnpct_sepfootnote_foot_classes_prop
+\prop_new:N \l_fnpct_sepfootnote_end_classes_prop
+\fnpct_special_treatment:nn { sepfootnotes }
+ {
+ \cs_new_eq:NN \fnpct_orig_new_footnotes:n \newfootnotes
+ \cs_new_eq:NN \fnpct_orig_new_endnotes:n \newendnotes
+ \cs_new_eq:NN \fnpct_orig_new_symbolnotes:w \newsymbolfootnotes
+ \RenewDocumentCommand \newfootnotes { m }
+ {
+ \prop_put:Nnn \l_fnpct_sepfootnote_foot_classes_prop { #1 } { #1 }
+ \fnpct_orig_new_footnotes:n { #1 }
+ }
+ \RenewDocumentCommand \newendnotes { m }
+ {
+ \prop_put:Nnn \l_fnpct_sepfootnote_end_classes_prop { #1 } { #1 }
+ \fnpct_orig_new_endnotes:n { #1 }
+ }
+ }
+
+% --------------------------------------------------------------------------
+% SETUP COMMAND:
+\NewDocumentCommand \setfnpct { m }
+ { \keys_set:nn { fnpct } { #1 } }
+
+\tex_endinput:D
+
+% --------------------------------------------------------------------------
+% HISTORY:
+2012/05/18 v0.1alpha - various changes still possible without announcement
+ until declared `v0.1'
+2012/05/19 v0.1beta - considered ready for public use, needs feedback, though
+2012/05/20 v0.1beta-a - minor changes
+2012/05/20 v0.1beta-b - added `pagenote' support
+ - added `tablefootnote' support
+2012/05/20 v0.1beta-c - optional star argument to \multfootnote that only invokes
+ \footnotetext
+ - option `dont-mess-around': disable switching and kerning
+2012/05/21 v0.1beta-d - \innernote for nesting
+ - `hyperref' support
+ - bugfix in \multfootnote
+2012/05/21 v0.1beta-e - `sepfootnotes' support
+2012/05/22 v0.1beta-f - reorganized code
+2012/05/22 v0.1 - a bit more cleaning up of the code
+ - completed documentation
+ - ready for CTAN
+
+% --------------------------------------------------------------------------
+% NOTES:
+- `footnote' package => not compatible => see todo
+- `ednotes' package => not tested; who knows?
+
+% --------------------------------------------------------------------------
+% TODO:
+- solve incompatibility with the `footnote' package