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.