diff options
author | Karl Berry <karl@freefriends.org> | 2012-07-11 23:29:17 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2012-07-11 23:29:17 +0000 |
commit | 6d1e02f252c44d2e43c13d9d0608e628812a8a90 (patch) | |
tree | f069efd7bed73d7d7b2d234e06268a7f4e3a8e94 /Master | |
parent | cf39bc3c8563ac5eefb8ade651c535d4e6028017 (diff) |
fnpct 0.2d (7jul12)
git-svn-id: svn://tug.org/texlive/trunk@27001 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r-- | Master/texmf-dist/doc/latex/fnpct/README | 4 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/fnpct/fnpct_en.pdf | bin | 853514 -> 859090 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/fnpct/fnpct_en.tex | 194 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/fnpct/fnpct.sty | 125 |
4 files changed, 211 insertions, 112 deletions
diff --git a/Master/texmf-dist/doc/latex/fnpct/README b/Master/texmf-dist/doc/latex/fnpct/README index ee679f47fe8..9b1e83dd8bf 100644 --- a/Master/texmf-dist/doc/latex/fnpct/README +++ b/Master/texmf-dist/doc/latex/fnpct/README @@ -1,9 +1,9 @@ -------------------------------------------------------------------------- -the FNPCT package v0.2a +the FNPCT package v0.2c footnote kerning -2012/06/01 +2012/06/28 -------------------------------------------------------------------------- Clemens Niederberger Web: https://bitbucket.org/cgnieder/fnpct/ diff --git a/Master/texmf-dist/doc/latex/fnpct/fnpct_en.pdf b/Master/texmf-dist/doc/latex/fnpct/fnpct_en.pdf Binary files differindex 0ea4f478d8a..287e4b6666c 100644 --- a/Master/texmf-dist/doc/latex/fnpct/fnpct_en.pdf +++ b/Master/texmf-dist/doc/latex/fnpct/fnpct_en.pdf diff --git a/Master/texmf-dist/doc/latex/fnpct/fnpct_en.tex b/Master/texmf-dist/doc/latex/fnpct/fnpct_en.tex index f26a6a04d6e..ecc34409078 100644 --- a/Master/texmf-dist/doc/latex/fnpct/fnpct_en.tex +++ b/Master/texmf-dist/doc/latex/fnpct/fnpct_en.tex @@ -1,9 +1,14 @@ +% arara: pdflatex +% arara: makeindex: { sort: true, style: fnpct_en.ist } +% arara: biber +% arara: pdflatex +% arara: pdflatex % -------------------------------------------------------------------------- % the FNPCT package % % footnote kerning % -% 2012/06/01 +% 2012/07/07 % -------------------------------------------------------------------------- % Clemens Niederberger % Web: https://bitbucket.org/cgnieder/fnpct/ @@ -38,10 +43,31 @@ \docsetup{ pkg = fnpct , code-box = { - skipbelow = .5\baselineskip , - skipabove = .5\baselineskip , + backgroundcolor = gray!7!white , + skipbelow = .5\baselineskip , + skipabove = .5\baselineskip , + roundcorner = 3pt } } + +\usepackage[biblatex]{embrac}[2012/06/29] % v0.1a +\ChangeEmph{[}[,.02em]{]}[.055em,-.08em] +\ChangeEmph{(}[-.01em,.04em]{)}[.04em,-.05em] + +\usepackage{libertine} + +\cnpkgcolors{ + main => cnpkgred , + key => yellow!40!brown , + module => cnpkgblue , + link => black!90 +} + +\renewcommand*\othersectionlevelsformat[3]{% + \textcolor{main}{#3\autodot}\enskip} +\renewcommand*\partformat{% + \textcolor{main}{\partname~\thepart\autodot}} + \addcmds{ AdaptNote, AdaptNoteMark, @@ -95,11 +121,20 @@ \usebibmacro{authorstrg}}} {}} +\usepackage{filecontents} \begin{filecontents}{\jobname.bib} +@book{bringhurst04, + title = {The Elements of Typographic Style}, + author = {Robert Bringhurst}, + year = {2004}, + version = {3.2}, + isbn = {978-0-88179-205-5}, + publisher = {Hartley \&\ Marks, Canada} +} @software{bigfoot, title = {bigfoot}, author = {David Kastrup}, - date = {2006/07/15}, + date = {2006-07-15}, version = {1.25}, url = {http://www.ctan.org/pkg/bigfoot} } @@ -107,41 +142,41 @@ title = {endnotes}, author = {Robin Fairbairns}, authortype = {current maintainer}, - date = {2012/01/15}, + date = {2012-01-15}, url = {http://www.ctan.org/pkg/endnotes} } @software{fixfoot, title = {fixfoot}, author = {Robin Fairbairns}, - date = {2007/12/12}, + 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}, + 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}, + 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}, + 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}, + date = {2012-03-01}, version = {1}, url = {http://www.ctan.org/pkg/parnotes} } @@ -149,35 +184,35 @@ title = {pagenote}, author = {Will Robertson}, authortype = {current maintainer}, - date = {2009/09/03}, + date = {2009-09-03}, version = {1.1a}, url = {http://www.ctan.org/pkg/pagenote} } @software{sepfootnotes, title = {sepfootnotes}, author = {Eduardo C. Louren\c{c}o de Lima}, - date = {2012/03/06}, + date = {2012-03-06}, version = {0.1}, url = {http://www.ctan.org/pkg/sepfootnotes} } @software{sidenotes, title = {sidenotes}, author = {Andy Thomas}, - date = {2011/11/10}, + date = {2011-11-10}, version = {0.80}, url = {http://www.ctan.org/pkg/sidenotes} } @software{tablefootnote, title = {tablefootnote}, author = {H.-Martin M\"{u}nch}, - date = {2012/01/14}, + 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}, + date = {1999-07-14}, version = {1.0}, url = {http://www.ctan.org/pkg/yafoot} } @@ -221,23 +256,43 @@ It has the status ``maintained.'' \paket*{scrlfile}. \section{What's it all about?} +\subsection{Introduction} +The purpose of this package is to offer kerning for footnote marks, \ie the +superscripts. This is not appropriate for all superscripts. Symbols must be +handled differently than numbers. And of course the amount depends on the chosen +font. Robert Bringhurst says in ``\citetitle{bringhurst04}'': + +\begin{zitat}[\emph{\citetitle{bringhurst04}} \cite{bringhurst04}] + Superscripts frequently come at the ends of phrases or sentences. If they are + high above the line, they can be kerned over a comma or period, but this may + endanger readability, especially if the text is set in a modest size. +\end{zitat} + +\fnpct can not make this decisions for you. It sets some initial values for the +comma and the full stop which looked good to me with the tested fonts. +Additionally it kerns the superscripts away from words when it follows directly. +The amounts of the kerning can be changed using an option. + +As a side effect \fnpct switches the order of the superscript and the following +comma or full stop. Additional punctuation marks can be added to the switching +behaviour and the amount of kerning can be set for each punctuation mark individually. + \subsection{Basics}\secidx{basics} The \fnpct package basically does two things to footnotes: if footnote marks are followed by a comma or a full stop\footnote{More punctuation marks can be added through a package option.} 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} +multiple footnotes\footnote{like;this} is provided, see section~\ref{sec:multiple} for details. In what way is the kerning adjusted? After being placed behind the punctuation mark the footnote mark is moved a little bit back, namely by the amount specified -with the option \key{after-punct-space} (see section \ref{sec:options}). If the +with the option \key{after-punct-space} (see section~\ref{sec:options}). If the footnote mark follows a word \emph{without} being followed by a punctuation% \footnote{Well, it does not necessarily have to follow a \emph{word}. The important point is \emph{not being followed} by a punctuation mark.}, there (obviously) is no order switching and a little space is inserted before the footnote mark, namely -the amount specified by the option \key{before-footnote-space} (see section -\ref{sec:options}). +the amount specified by the option \key{before-footnote-space} (see section~\ref{sec:options}). All examples in this documentation use @@ -261,7 +316,7 @@ 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. In this case the full stop -and the comma are move a bit back. +and the comma are moved a bit back. \bigskip\hfil \begin{minipage}{.25\linewidth} @@ -358,11 +413,11 @@ with the \cmd{setfnpct} command. Most of them are for adjusting the kerning. % \option{before-dot-space}{<dim>} space to be inserted after a footnote mark and before the full stop (``footnote \emph{before} dot''), \ie with - \key{punct-after}{true}. Default = \code{-.15em} + \key{punct-after}{true}. Default = \code{-.16em} % \option{before-comma-space}{<dim>} space to be inserted after a footnote mark and before the comma (``footnote \emph{before} comma''), \ie with - \key{punct-after}{true}. Default = \code{-.15em} + \key{punct-after}{true}. Default = \code{-.16em} % \option{before-punct-space}{<dim>} set \emph{all} spaces, \ie also the ones for marks you've added with \key{add-punct-marks}. @@ -373,7 +428,7 @@ with the \cmd{setfnpct} command. Most of them are for adjusting the kerning. \option{dont-mess-around} sets all mentioned lengths to \code{0pt} and \key{punct-after}{true}. Basically this is as if you hadn't loaded \fnpct except the multiple footnote commands and \cmd{innernote} are still available, see - sections \ref{sec:multiple} and \ref{sec:nested}, respectively. + sections~\ref{sec:multiple} and~\ref{sec:nested}, respectively. % \option{multiple}{\default{true}/false} lets \cmd{footnote} be equal to \cmd{multfootnote}. Default = \code{false} @@ -386,7 +441,7 @@ with the \cmd{setfnpct} command. Most of them are for adjusting the kerning. % \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} + 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} @@ -452,8 +507,8 @@ Some of the options are explained in a bit more detail in the next sections. \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: +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>}\code{<tpunct>} \cnpkgdocarrow\ different footnotes are separated with a semicolon. The \code{*} turns the @@ -469,8 +524,8 @@ Since multiple footnotes have to be treated differently\footnote{see these footn \end{minipage} \end{beispiel} -Every of the items of the list has an optional \code{*} argument and an optional -argument equivalent to the optional argument of \cmd{footnotetext}: +Every of the items of the list has an optional argument equivalent to the optional +argument of \cmd{footnotetext}: \begin{beschreibung} \Befehl{multfootnote}{*[<mark>]<footnote text>;...} \end{beschreibung} @@ -486,8 +541,8 @@ argument equivalent to the optional argument of \cmd{footnotetext}: 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}: +without disrupting the multiple setting. The following example is shown in +figure~\ref{fig:nested:mult}: \begin{beispiel}[code only] \documentclass{article} \usepackage[ @@ -513,7 +568,6 @@ without disrupting the multiple setting. The following example is shown in figur \caption{nested footnotes}\label{fig:nested:mult} \end{figure} -\newpage \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 in braces: @@ -575,16 +629,17 @@ If you want you can turn all footnotes into \cmd{multfootnote}s. \secidx*{multiple footnotes} \section{Nested Footnotes}\secidx{nested footnotes}\label{sec:nested} -\fnpct provides some support for nested footnotes. There are some restrictions, +\fnpct provides preliminary 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}: +but not inside another \cmd{innernote}. \cmd{innernote} really is a ``inner +footnote'', it doesn't work with endnotes, for example. \begin{beschreibung} \Befehl{innernote}*[<mark>]{<text>}\code{<tpunct>} \cnpkgdocarrow\ a nested footnote. \end{beschreibung} The inner node uses a \cmd{footnotemark} internally and the mark will be set with the definition it has at begin document. -The output of the following code can be seen in figure \ref{fig:nested:a}. +The output of the following code can be seen in figure~\ref{fig:nested:a}. \begin{beispiel}[code only] \documentclass{article} \usepackage[ @@ -612,7 +667,7 @@ The output of the following code can be seen in figure \ref{fig:nested:a}. This is especially useful if you have more than one additional footnote inside a footnote, a case that can't be solved in a satisfying (\ie automatic) way with the -method mentioned in section \ref{sec:multiple}. See figure \ref{fig:nested:b} for +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} @@ -647,7 +702,7 @@ later: when invoked. This is usually done automatically by the \cmd{footnote} command but there are possible needs for it. \end{beschreibung} -See figure \ref{fig:nested:c} for the output of the following code: +See figure~\ref{fig:nested:c} for the output of the following code: \begin{beispiel}[code only] \documentclass{article} \usepackage[ @@ -682,7 +737,7 @@ the layout of the footnote marks in the foot by using \paket[koma-script]{KOMA-S \setapart{\cmd{deffootnote}[<mark indent>]{<indent>}\ma{<par indent>}\ma{<format code>}.} -The following code is shown in figure \ref{fig:normal}. +The following code is shown in figure~\ref{fig:normal}. \begin{beispiel}[code only] \documentclass{article} \usepackage[ @@ -728,10 +783,10 @@ is dedicated to one of these packages and if and how they work together with \fn Fortunately most of them do quite well. \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. +The \paket{bigfoot}~\cite{bigfoot} package extends the possibilities of the +\paket{manyfoot} package~\cite{manyfoot} (see section~\ref{ssec:manyfoot}). The +main visible 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 @@ -739,9 +794,10 @@ You need to \setapart{declare footnotes with \cmd{DeclareNewFootnote} \emph{after} loading \fnpct but in the document \emph{preamble}.} -\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. +\emph{Also verbatim material won't work inside footnotes anymore}. But you can of +course use Bruno Le Floch's \paket{cprotect} if you really need verbatim material +in footnotes \emph{and} want to use \fnpct. 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 @@ -757,7 +813,7 @@ and only has any effects if \paket{bigfoot} has been loaded: \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}: +time for demonstration purposes the following code is shown in figure~\ref{fig:bigfoot}: \begin{beispiel}[code only] \documentclass{article} \usepackage[ @@ -790,11 +846,11 @@ lumber according to some sources} and bricks% \end{figure} \subsection{endnotes}\secidx[endnotes]{other packages} -The \paket{endnotes} \cite{endnotes} package povides the commands \cmd{endnote} +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\footnote*{see section \ref{sec:adapt} +If the package is loaded both commands are adapted\footnote*{see section~\ref{sec:adapt} on manual adaption}: \begin{beispiel}[code only] % `fnpct' does this for you: @@ -824,15 +880,15 @@ Everything else stays the same: \end{beispiel} \subsection{fixfoot}\secidx[fixfoot]{other packages} -The \paket{fixfoot} \cite{fixfoot} package provides a possibility to create repeating +The \paket{fixfoot}~\cite{fixfoot} package provides a possibility to create repeating footnotes. \fnpct supports this package provided you take care of the following: \setapart{Use \cmd{DeclareFixedFootnote} only in the preamble but \emph{after} loading \fnpct.} \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 +\ma{<footnote text>} in \cmd{cs} which in turn creates a footnote mark for it but +doesn'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 @@ -840,7 +896,7 @@ Every fixed footnote declared with \cmd{DeclareFixedFootnote} gets an optional 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}: +time for demonstration purposes the following code is shown in figure~\ref{fig:fixfoot}: \begin{beispiel}[code only] \documentclass{article} \usepackage[ @@ -872,23 +928,23 @@ bricks}. \end{figure} \subsection{footmisc}\label{ssec:manyfoot}\secidx[footmisc]{other packages} -The \paket{footmisc} package \cite{footmisc} provides a range of options to customize +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. +you won't have to (and shouldn't) use its \code{multiple} option. \subsection{footnote}\secidx[footnote]{other packages} -Unfortunately \fnpct is not compatible with the \paket{footnote} package \cite{footnote}. +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. +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 in its documentation -\begin{zitat}[David Kastrup \textup{\cite{bigfoot}}] +\begin{zitat}[David Kastrup~\textup{\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 @@ -899,14 +955,14 @@ 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} +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}. +The function of the package \paket{parnotes}~\cite{parnotes} is 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}. @@ -933,7 +989,7 @@ Again the \key{multiple} option turns all \cmd{parnote}s into \cmd{multparnote}s \end{beispiel} \subsection{sepfootnotes}\secidx[sepfootnotes]{other packages} -\fnpct supports the \paket{sepfootnotes} package \cite{sepfootnotes}. Each note +\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>}, @@ -960,21 +1016,21 @@ loading \fnpct. \end{beispiel} \subsection{sidenotes}\secidx[sidenotes]{other packages} -The package \paket{sidenotes} \cite{sidenotes} is supported and its commands +The package \paket{sidenotes}~\cite{sidenotes} is supported and its commands \cmd{sidenote}, \cmd{sidenotemark} and \cmd{sidecite} are treated the same way as footnotes: they got an optional \code{*} argument and the additional \cmd{multsidenote} and \cmd{multsidecite} are created. The option \key{multiple} turns all note commands into their mult-variant. \subsection{tablefootnote}\secidx[tablefootnote]{other packages} -The package \paket{tablefootnote} \cite{tablefootnote} is supported and its +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. The option \key{multiple} turns all note commands into their mult-variant. \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 +of the \paket{yafoot}~\cite{yafoot} bundle. Just for reference: these packages are \paket*{pfnote}, \paket*{fnpos} and \paket*{dblfnote}. \secidx*{other packages} @@ -1008,13 +1064,13 @@ afterwards. This can result in dummy arguments or an overwritten \code{*} argume kerning behaviour and adds an optional \code{*}. Required syntax: \cmd{cs}[<oarg>] % strict \option{strict}{\default{true}/false} when \code{true} \cmd{AdaptNote} (and the - othe two) will issue errors if the note command in wuestion has already been + other two) will issue errors if the note command in question has already been adapted. Default = \code{false} \end{beschreibung} \subsection{tufte-latex's side notes}\secidx[tufte-latex]{adapting notes} For example using the \cmd{sidenote} command from the \paket[tufte-latex]{tufte-handout} -class is easily possible, see also figure \ref{fig:tufte}: +class is easily possible, see also figure~\ref{fig:tufte}: \begin{beispiel}[code only] \documentclass{tufte-handout} \usepackage[multiple]{fnpct} @@ -1069,11 +1125,11 @@ Remember that the optional arguments then are inside the braces! \secidx*{adapting notes} \appendix -\printbibliography +{\EmbracOff\printbibliography} \setindexpreamble{Section titles are indicated \textbf{bold}, packages \textsf{sans serif}, commands \code{\textbackslash\textcolor{code}{brown}} - and options \textcolor{key}{\code{green}}\par\bigskip} + and options \textcolor{key}{\code{yellow}}.\par\bigskip} \printindex \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 index b7ba77d68c1..3d9a4a0aafe 100644 --- a/Master/texmf-dist/tex/latex/fnpct/fnpct.sty +++ b/Master/texmf-dist/tex/latex/fnpct/fnpct.sty @@ -3,7 +3,6 @@ % % footnote kerning % -% 2012/06/01 % -------------------------------------------------------------------------- % Clemens Niederberger % Web: https://bitbucket.org/cgnieder/fnpct/ @@ -32,8 +31,8 @@ \RequirePackage { xparse , l3keys2e , scrlfile } \ProvidesExplPackage {fnpct} - {2012/06/01} - {0.2a} + {2012/07/07} + {0.2d} {footnote kerning} % -------------------------------------------------------------------------- @@ -70,22 +69,22 @@ } % 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_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 } +\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 @@ -106,12 +105,12 @@ \bool_new:N \l_fnpct_normal_marks_bool % default punctuation marks for switching: -\tl_new:N \l_fnpct_punctuation_marks_tl -\tl_set:Nn \l_fnpct_punctuation_marks_tl { ., } -\prop_new:N \l_fnpct_punctuation_marks_after_prop -\prop_new:N \l_fnpct_punctuation_marks_before_prop +\tl_new:N \l_fnpct_punctuation_marks_tl +\tl_set:Nn \l_fnpct_punctuation_marks_tl { ., } +\prop_new:N \l_fnpct_punctuation_marks_after_prop +\prop_new:N \l_fnpct_punctuation_marks_before_prop \prop_put:Nnn \l_fnpct_punctuation_marks_after_prop { . } { \l_fnpct_after_dot_dim } -\prop_put:Nnn \l_fnpct_punctuation_marks_after_prop { , } { \l_fnpct_after_comma_dim } +\prop_put:Nnn \l_fnpct_punctuation_marks_after_prop { , } { \l_fnpct_after_comma_dim } \prop_put:Nnn \l_fnpct_punctuation_marks_before_prop { . } { \l_fnpct_before_dot_dim } \prop_put:Nnn \l_fnpct_punctuation_marks_before_prop { , } { \l_fnpct_before_comma_dim } @@ -194,10 +193,14 @@ { strict .bool_set:N = \l_fnpct_strict_bool , strict .default:n = true , - 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-comma-space .code:n = + \prop_put:Nnn \l_fnpct_punctuation_marks_after_prop { , } { #1 } , + after-dot-space .code:n = + \prop_put:Nnn \l_fnpct_punctuation_marks_after_prop { . } { #1 } , + before-comma-space .code:n = + \prop_put:Nnn \l_fnpct_punctuation_marks_before_prop { , } { #1 } , + before-dot-space .code:n = + \prop_put:Nnn \l_fnpct_punctuation_marks_before_prop { , } { #1 } , after-punct-space .code:n = \prop_map_inline:Nn \l_fnpct_punctuation_marks_after_prop { \prop_put:Nnn \l_fnpct_punctuation_marks_after_prop { ##1 } { #1 } } , @@ -282,6 +285,35 @@ \cs_generate_variant:Nn \fnpct_check_punctuation_auxi:nTF { V } \cs_generate_variant:Nn \peek_meaning_remove:NTF { V } +% check for multiple notes: +\tl_new:N \l_fnpct_multiple_true_tl +\tl_new:N \l_fnpct_multiple_false_tl + +\cs_new:Npn \fnpct_check_multiple:TF #1#2 + { + \tl_set:Nn \l_fnpct_multiple_true_tl { #1 } + \tl_set:Nn \l_fnpct_multiple_false_tl { #2 } + \peek_after:Nw \fnpct_check_multiple_aux: + } + +\cs_new:Npn \fnpct_check_multiple_aux: + { + \prop_map_inline:Nn \g_fnpct_adapted_notes_prop + { + \prop_get:NnN \g_fnpct_adapted_notes_prop { ##1 } \l_tmpb_tl + \exp_after:wN + \token_if_eq_meaning:NNTF \l_tmpb_tl \l_peek_token + { + \bool_set_true:N \l_fnpct_multiple_footnotes_bool + \prop_map_break: + } + { \bool_set_false:N \l_fnpct_multiple_footnotes_bool } + } + \bool_if:NTF \l_fnpct_multiple_footnotes_bool + { \tl_use:N \l_fnpct_multiple_true_tl } + { \tl_use:N \l_fnpct_multiple_false_tl } + } + % check which mode is active: \cs_new:Npn \fnpct_punct_if_after:TF #1#2 { @@ -350,10 +382,7 @@ % 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 + \fnpct_check_multiple:TF { \bool_set_true:N \l_fnpct_multiple_footnotes_bool % else insert space and then note @@ -419,10 +448,7 @@ } { % 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 + \fnpct_check_multiple:TF { \bool_set_true:N \l_fnpct_multiple_footnotes_bool \fnpct_no_break: \skip_horizontal:N \l_fnpct_before_footnote_dim @@ -452,7 +478,7 @@ } } -% this shouldn't be a document command but is an really easy way to make +% this shouldn't be a document command but is a 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 @@ -548,17 +574,25 @@ % -------------------------------------------------------------------------- % MANUAL KERNING: +% TODO: add nobreak and ensure that \l_fnpct_after_comma_dim et.al match the current +% definition \cs_new:Npn \kfp { + \fnpct_no_break: + \prop_get:NnN \l_fnpct_punctuation_marks_before_prop { . } \l_tmpa_dim + \prop_get:NnN \l_fnpct_punctuation_marks_after_prop { . } \l_tmpb_dim \bool_if:NTF \l_fnpct_punct_after_bool - { \skip_horizontal:N \l_fnpct_before_dot_dim } - { \skip_horizontal:N \l_fnpct_after_dot_dim } + { \skip_horizontal:N \l_tmpa_dim } + { \skip_horizontal:N \l_tmpb_dim } } \cs_new:Npn \kfc { + \fnpct_no_break: + \prop_get:NnN \l_fnpct_punctuation_marks_before_prop { , } \l_tmpa_dim + \prop_get:NnN \l_fnpct_punctuation_marks_after_prop { , } \l_tmpb_dim \bool_if:NTF \l_fnpct_punct_after_bool - { \skip_horizontal:N \l_fnpct_before_comma_dim } - { \skip_horizontal:N \l_fnpct_after_comma_dim } + { \skip_horizontal:N \l_tmpa_dim } + { \skip_horizontal:N \l_tmpb_dim } } % -------------------------------------------------------------------------- @@ -792,10 +826,13 @@ { fnpct_orig_footnote#2:w } { multfootnote#2 } \fnpct_renew_mark:cc { footnotemark#2 } { fnpct_orig_footnotemark#2:w } } + \prop_if_in:NnT \l_fnpct_footnote_class_prop { default } + { % 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 } @@ -928,7 +965,13 @@ switching/kerning mechansim (or remove them) 2012/06/01 v0.2a - * switches behaviour also with `punct-after=true' - `dont-mess-around' disables * - +2012/06/07 v0.2b - bugfix: \kfp and \kfc now get the updated values if + add-punctuation was added. They also won't allow line + breaks any more +2012/06/28 v0.2c - bugfix: works now flawless together with `bigfoot' +2012/07/07 v0.2d - check for all sorts of following footnotes to insert + \l_fnpct_multiple_footnote_separator_tl + % -------------------------------------------------------------------------- % NOTES: - `footnote' package => not compatible => see todo |