texlive[71725] Master/texmf-dist: sepfootnotes (6jul24)
commits+karl at tug.org
commits+karl at tug.org
Sat Jul 6 22:29:42 CEST 2024
Revision: 71725
https://tug.org/svn/texlive?view=revision&revision=71725
Author: karl
Date: 2024-07-06 22:29:42 +0200 (Sat, 06 Jul 2024)
Log Message:
-----------
sepfootnotes (6jul24)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/latex/sepfootnotes/README
trunk/Master/texmf-dist/doc/latex/sepfootnotes/sepfootnotes.pdf
trunk/Master/texmf-dist/doc/latex/sepfootnotes/sepfootnotes.tex
trunk/Master/texmf-dist/tex/latex/sepfootnotes/sepfootnotes.sty
Modified: trunk/Master/texmf-dist/doc/latex/sepfootnotes/README
===================================================================
--- trunk/Master/texmf-dist/doc/latex/sepfootnotes/README 2024-07-06 20:29:33 UTC (rev 71724)
+++ trunk/Master/texmf-dist/doc/latex/sepfootnotes/README 2024-07-06 20:29:42 UTC (rev 71725)
@@ -5,8 +5,11 @@
achieved with commands \sepfootnotecontent and \sepfootnote; the former defines
the content of a note, while the latter typesets that note.
+2024/07/05 v0.3d
+ * Package options after: Allow \sepfootnotecontent after \sepfootnote
+
2016/07/18 v0.3c
- * Package options Note definitions may take global scope
+ * Package options global: Note definitions may take global scope
2014/07/22 v0.3b
* Documentation Minor formatting changes to page 4
@@ -41,7 +44,7 @@
*See sepfootnotes.pdf
--------------------------------------------------------------------------------
-Copyright (C) 2013-2016 Eduardo C. Lourenço de Lima
+Copyright (C) 2013-2024 Eduardo C. Lourenço de Lima
This material is subject to the LaTeX Project Public License. See
http://www.ctan.org/tex-archive/help/Catalogue/licenses.lppl.html
Modified: trunk/Master/texmf-dist/doc/latex/sepfootnotes/sepfootnotes.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/doc/latex/sepfootnotes/sepfootnotes.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/sepfootnotes/sepfootnotes.tex 2024-07-06 20:29:33 UTC (rev 71724)
+++ trunk/Master/texmf-dist/doc/latex/sepfootnotes/sepfootnotes.tex 2024-07-06 20:29:42 UTC (rev 71725)
@@ -1,4 +1,4 @@
-% Copyright (C) 2013-2016 Eduardo C. Lourenço de Lima
+% Copyright (C) 2013-2024 Eduardo C. Lourenço de Lima
%
% This work may be distributed and/or modified under the
% conditions of the LaTeX Project Public License, either
@@ -44,11 +44,11 @@
{\begin{center}\begin{minipage}[t]{0.5\linewidth}}
{\end{minipage}\end{center}}
\newcommand\TODO{\texttt{Todo:}}
-\newcommand\fileversion{0.3c}
-\newcommand\filedate{July 18, 2016}
+\newcommand\fileversion{0.3d}
+\newcommand\filedate{July 5, 2024}
\begin{document}
\title{The \textsf{\color{myblue} sepfootnotes} package,\thanks{This document corresponds to \textsf{sepfootnotes}~\fileversion, dated~\filedate.
-I am grateful to Michael Sellhoff, Sam Foster, Mats, and David Carlisle for their valuable feedback on \texttt{sepfootnotes} and to Dan Luecking for the basic idea implemented in this package.}\\{or a footnote to Plato}}
+I am grateful to Michael Sellhoff, Sam Foster, Mats, David Carlisle, and schtandard for their valuable feedback on \texttt{sepfootnotes} and to Dan Luecking for the basic idea implemented in this package.}\\{or a footnote to Plato}}
\author{Eduardo C. Louren\c{c}o de Lima \\ \texttt{elourenco at phi.pro.br}}
\maketitle
@@ -59,9 +59,9 @@
Standard |\footnote| and |\endnote| both take a note as a mandatory argument. Because notes have to be embedded in the paragraph to which they refer, sentences are often split up into two\footnote {This is precisely what this footnote does to the first paragraph of this document. There are more than thirty words between `two' and `or more' in the code of an otherwise short paragraph.} or more parts. Consequently, footnotes and endnotes may disrupt the flow of reading and editing {\LaTeX} prose.\footnote {In a posting to \texttt{texhax.tug.org} in April 2010, someone complained that using footnotes ``tends to disrupt the flow of the document on the screen and makes editing the text itself harder'', and asked about the possibility of ``putting all of the footnotes in a separate file''~\cite{Nicholas Cole}. Another user, back in 2004, remarked that the ``only thing I missed about word processors was the ability to keep footnote text at the bottom of the page, or in a separate window. I often have extensive footnotes, and don't want them cluttering up my main body text when I'm composing''~\cite{Luecking}.} This can be an issue for those who make extensive use of notes, such as philosophers and people from the humanities in general.
- The |sepfootnotes| package gets around this inconvenience by separating note input from usage. That is, it provides a command to define what a particular note says, and another command to insert that note later on in the document.
+ The |sepfootnotes| package gets around this inconvenience by separating note input from usage. That is, it provides a command to define what a particular note says, and another command to insert that note in the document.
- Note definitions may be grouped together---in no particular order---in the preamble, at the beginning of chapters or sections, right before a paragraph, or even in a \emph{separate file}. In that way, the main body is less cluttered.
+ Note definitions may be grouped together---in no particular order---in the preamble, at the beginning of chapters or sections, in a separate file, or even right after a paragraph. In that way, the main body is less cluttered.
You may use |sepfootnotes| and standard |\footnote| simultaneously; the same goes for |\footcite| from |biblatex|.
@@ -273,10 +273,10 @@
\section {Package options}
\begin{list}{}{}
-\item[|warn|] Print warning messages. (Default.)
+\item[|after|] (experimental) Allow |\sepfootnotecontent| after |\sepfootnote|. Must compile twice. Implies |global|. See below.
+\item[|global|] Notes defined within environments and groups take global scope and become available throughout, as if they were defined in the preamble.
\item[|error|] Print warning messages, halt, and wait for user input.
\item[|quiet|] Suppress warning and error messages.
-\item[|global|] Notes defined within environments and groups take global scope and become available throughout, as if they were defined in the preamble.
\end{list}
\section{Examples}
Modified: trunk/Master/texmf-dist/tex/latex/sepfootnotes/sepfootnotes.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/sepfootnotes/sepfootnotes.sty 2024-07-06 20:29:33 UTC (rev 71724)
+++ trunk/Master/texmf-dist/tex/latex/sepfootnotes/sepfootnotes.sty 2024-07-06 20:29:42 UTC (rev 71725)
@@ -1,4 +1,4 @@
-%% Copyright (C) 2013-2016 Eduardo C. Lourenço de Lima
+%% Copyright (C) 2013-2024 Eduardo C. Lourenço de Lima
%%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either
@@ -11,19 +11,23 @@
%% version 2005/12/01 or later.
%%
\NeedsTeXFormat {LaTeX2e} [1996/06/01]
-\ProvidesPackage {sepfootnotes} [2016/07/18 v0.3c Footnotes in separate file]
+\ProvidesPackage {sepfootnotes} [2024/07/05 v0.3d Footnotes in separate file]
\newcommand\sep at packagename{sepfootnotes}
+%{% options
+
\DeclareOption {quiet} {\sep at opt@quiettrue}
\DeclareOption {warn} {\sep at opt@warntrue}
\DeclareOption {error} {\sep at opt@errortrue}
\DeclareOption {global} {\sep at opt@globaltrue}
+\DeclareOption {after} {\sep at opt@aftertrue}
\newif \ifsep at opt@quiet
\newif \ifsep at opt@warn
\newif \ifsep at opt@error
\newif \ifsep at opt@global
+\newif \ifsep at opt@after
\sep at opt@warntrue
@@ -38,11 +42,11 @@
\sep at opt@warnfalse
\fi
+%}%
+%{% public
-% ********************************* Public ************************************
+%{% footnotes and endnotes
-% ==================== shared by footnotes and endnotes =======================
-
\newcommand\sep at new [1]
{\newcounter{#1note}%
\expandafter\newcommand\csname #1note\endcsname [1] {\csname #1notemark\endcsname{##1}\csname #1notetext\endcsname{##1}}%
@@ -52,7 +56,8 @@
\expandafter\newcommand\csname #1quicknote\endcsname [1] {\sep at namereplace {#1} {sepfootnotes at tmp@quick} {##1}\csname #1note\endcsname{sepfootnotes at tmp@quick}}\relax
}
-% -------------------------------- footnotes ----------------------------------
+%}%
+%{% footnotes
\newcommand\newfootnotes{\@ifstar\sep at newfootnotesfree\sep at newfootnotes}
@@ -73,7 +78,8 @@
\@addtoreset {#2note} {#1}%
\expandafter\renewcommand\csname the#2mark\endcsname {\fnsymbol {#2note}}}
-% -------------------------------- endnotes -----------------------------------
+%}%
+%{% endnotes
\newcommand\newendnotes [1]
{\sep at new {#1}%
@@ -88,9 +94,9 @@
\expandafter\newcommand\csname #1notesize\endcsname {\footnotesize}%
\newenvironment {#1notes} {\csname #1notesize\endcsname\setlength\parskip\footnotesep} {}}
+%}%
+%{% commentnotes
-% ------------------------------ commentnotes --------------------------------
-
\newcommand\newcommentnotes [1]
{\newfootnotes*{#1}\relax
\expandafter\renewcommand\csname #1note\endcsname [1] {\csname #1notemark\endcsname{##1}\csname #1notetext\endcsname{##1}}\relax
@@ -107,62 +113,114 @@
\@addtoreset {#2note} {#1}\relax
\expandafter\renewcommand\csname the#2mark\endcsname {\fnsymbol {#2note}}}
-% ********************************* Private ***********************************
+%}%
-% ---------------------------------- files ------------------------------------
+%}%
+%{% private
+%{% files
+
\newcommand\sep at filename [1] {\jobname.ent-#1}
\newcommand\sep at openout [1] {\expandafter \newwrite\csname sep at fileout#1\endcsname\immediate\expandafter\openout\csname sep at fileout#1\endcsname=\sep at filename#1\relax}
\newcommand\sep at write [2] {\immediate \write\csname sep at fileout#1\endcsname {#2}}
\newcommand\sep at close [1] {\immediate\expandafter\closeout\csname sep at fileout#1\endcsname\relax}
-% ---------------------------------- table ------------------------------------
+%}%
+%{% names
+%{% \sep at nameuse <prefix> <key>
+
\newcommand\sep at nameuse [2]
{\@ifundefined{sepfootnotes at text@#1@#2}
- {\ifsep at opt@error
- \PackageError {\sep at packagename} {`#2' has not been assigned a content}
- {`#2' has not been assigned a content.\MessageBreak
- Solution: Define `#2'\MessageBreak
- Try: \@backslashchar #1notecontent{#2}{<content>}}\relax
- \fi
- \ifsep at opt@warn
- \PackageWarning {\sep at packagename} {`#2' has not been assigned a content}\relax
- \fi}
+ {\sep at warning@undefined{#1}{#2}}
{\@nameuse{sepfootnotes at text@#1@#2}}}
+%}%
+%{% \sep at namedef <prefix> <key> <content>
+
\newcommand\sep at namedef [3]
-{\@ifundefined{sepfootnotes at text@#1@#2}
+{\ifsep at opt@after\sep at namereplace{#1}{#2}{#3}\else
+ \@ifundefined{sepfootnotes at text@#1@#2}
{\ifsep at opt@global\global\fi\@namedef{sepfootnotes at text@#1@#2}{#3}}
- {\ifsep at opt@error
- \PackageError {\sep at packagename} {`#2' is already in use}
- {`#2' is already in use.\MessageBreak
- Solution: Use another key.\MessageBreak
- Try: \@backslashchar #1notecontent{<key>}{<content>}}\relax
- \fi
- \ifsep at opt@warn
- \PackageWarning {\sep at packagename} {`#2' is already in use}
- \fi}}
+ {\sep at warning@already{#1}{#2}}\fi}
-\newcommand\sep at namereplace [3] {\ifsep at opt@global\global\fi\@namedef{sepfootnotes at text@#1@#2}{#3}}
+%}%
+%{% \sep at namereplace <prefix> <key> <content>
-% ---------------------------------- marks ------------------------------------
+\newcommand\sep at namereplace [3]
+{%
+ \ifsep at opt@after
+ \global\@namedef{sepfootnotes at text@#1@#2}{#3}%
+ \write\@auxout{\expandafter\unexpanded\expandafter{\global\@namedef {sepfootnotes at text@#1@#2}{#3}}}%
+ \else
+ \ifsep at opt@global\global\fi\@namedef{sepfootnotes at text@#1@#2}{#3}%
+ \fi
+}
+%}%
+
+%{% \sep at warning@undefined <prefix> <key>
+
+\newcommand \sep at warning@undefined [2]
+{\ifsep at opt@error
+ \PackageError
+ {\sep at packagename}
+ {`#2' has not been assigned a content}
+ {`#2' has not been assigned a content.\MessageBreak
+ Solution: Define `#2'\MessageBreak
+ Try: \@backslashchar #1notecontent{#2}{<content>}}%
+ \fi
+ \ifsep at opt@warn
+ \PackageWarning
+ {\sep at packagename}
+ {`#2' has not been assigned a content}%
+ \fi
+}
+
+%}%
+%{% \sep at warning@already <prefix> <key>
+
+\newcommand \sep at warning@already [2]
+{\ifsep at opt@error
+ \PackageError
+ {\sep at packagename}
+ {`#2' is already in use}
+ {`#2' is already in use.\MessageBreak
+ Solution: Use another key.\MessageBreak
+ Try: \@backslashchar #1notecontent{<key>}{<content>}}%
+ \fi
+ \ifsep at opt@warn
+ \PackageWarning
+ {\sep at packagename}
+ {`#2' is already in use}%
+ \fi
+}
+
+%}%
+
+%}%
+%{% marks
+
\newcommand\sep at markset [1] {\protected at xdef\@thefnmark{\csname the#1mark\endcsname}}
\newcommand\sep at mark [2] {\stepcounter {#1note}\sep at markset {#1}\@footnotemark}
-% ---------------------- cross-references and counters ------------------------
+%}%
+%{% cross-references and counters
\newcommand\sep at refsetcounter [2] {\setcounter{#1}{#2}\protected at edef\@currentlabel{\csname p@#1\endcsname\csname the#1\endcsname}}
\newcommand\sep at refstepcounter [1] {\stepcounter {#1}\protected at edef\@currentlabel{\csname p@#1\endcsname\csname the#1\endcsname}}
-% ********************************* Default ***********************************
+%}%
-% ------------------------- footnotes: \sepfootnote ---------------------------
+%}%
+%{% default
-%% Default: The default \sepfootnote family relies on \footnote
+%% The default \sepfootnote apparatus relies on \footnote
+
\newfootnotes{sepfoot}
+%}%
+
\endinput
%%
%% End of file `sepfootnotes.sty'.
More information about the tex-live-commits
mailing list.