summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2023-11-14 21:03:38 +0000
committerKarl Berry <karl@freefriends.org>2023-11-14 21:03:38 +0000
commit830ca3622cd4bfe82812703c57c3af1971150bf8 (patch)
tree2ddc80cbcee82bacb087522c61422e7a6107b22b
parent899365ae3781a854864d68cb0a07d63d87841433 (diff)
postnotes (14nov23)
git-svn-id: svn://tug.org/texlive/trunk@68840 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/postnotes/CHANGELOG.md13
-rw-r--r--Master/texmf-dist/doc/latex/postnotes/README.md4
-rw-r--r--Master/texmf-dist/doc/latex/postnotes/postnotes-code.pdfbin849779 -> 819390 bytes
-rw-r--r--Master/texmf-dist/doc/latex/postnotes/postnotes-code.tex5
-rw-r--r--Master/texmf-dist/doc/latex/postnotes/postnotes-doc.pdfbin177635 -> 203205 bytes
-rw-r--r--Master/texmf-dist/doc/latex/postnotes/postnotes-doc.tex164
-rw-r--r--Master/texmf-dist/source/latex/postnotes/postnotes.dtx247
-rw-r--r--Master/texmf-dist/source/latex/postnotes/postnotes.ins10
-rw-r--r--Master/texmf-dist/tex/latex/postnotes/postnotes.sty205
9 files changed, 402 insertions, 246 deletions
diff --git a/Master/texmf-dist/doc/latex/postnotes/CHANGELOG.md b/Master/texmf-dist/doc/latex/postnotes/CHANGELOG.md
index fda5f611731..c364fc150af 100644
--- a/Master/texmf-dist/doc/latex/postnotes/CHANGELOG.md
+++ b/Master/texmf-dist/doc/latex/postnotes/CHANGELOG.md
@@ -1,6 +1,17 @@
# Changelog
-## [Unreleased](https://github.com/gusbrs/postnotes/compare/v0.2.6...HEAD)
+## [Unreleased](https://github.com/gusbrs/postnotes/compare/v0.2.7...HEAD)
+
+## [v0.2.7](https://github.com/gusbrs/postnotes/compare/v0.2.6...v0.2.7) (2023-11-14)
+
+### Added
+- Provide `\pnidnextnote`, with usage example in the manual.
+- User manual example for section splitting using section redefinition.
+
+### Changed
+- Don't use `expl3` public scratch temporary variables.
+- Prefer `e-type` expansion.
+- Require 2023-11-01 LaTeX kernel.
## [v0.2.6](https://github.com/gusbrs/postnotes/compare/v0.2.5...v0.2.6) (2023-08-21)
diff --git a/Master/texmf-dist/doc/latex/postnotes/README.md b/Master/texmf-dist/doc/latex/postnotes/README.md
index b6b5f0334e4..6b730c27e65 100644
--- a/Master/texmf-dist/doc/latex/postnotes/README.md
+++ b/Master/texmf-dist/doc/latex/postnotes/README.md
@@ -2,8 +2,8 @@
**Endnotes for LaTeX**
-Author: Gustavo Barros
-Maintainer: Gustavo Barros
+Author: gusbrs
+Maintainer: gusbrs
`postnotes` is an endnotes package for LaTeX. Its user interface provides
means to print multiple sections of notes along the document, and to subdivide
diff --git a/Master/texmf-dist/doc/latex/postnotes/postnotes-code.pdf b/Master/texmf-dist/doc/latex/postnotes/postnotes-code.pdf
index d4a78a2cfee..5d443132222 100644
--- a/Master/texmf-dist/doc/latex/postnotes/postnotes-code.pdf
+++ b/Master/texmf-dist/doc/latex/postnotes/postnotes-code.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/postnotes/postnotes-code.tex b/Master/texmf-dist/doc/latex/postnotes/postnotes-code.tex
index 67aff57582c..6cc43c80af3 100644
--- a/Master/texmf-dist/doc/latex/postnotes/postnotes-code.tex
+++ b/Master/texmf-dist/doc/latex/postnotes/postnotes-code.tex
@@ -4,7 +4,7 @@
%
% This file is part of the LaTeX package "postnotes".
%
-% Copyright (C) 2022-2023 Gustavo Barros
+% Copyright (C) 2022-2023 gusbrs
%
% It may be distributed and/or modified under the conditions of the
% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -17,8 +17,7 @@
% version 2005/12/01 or later.
%
%
-% This work is "maintained" (as per LPPL maintenance status) by
-% Gustavo Barros.
+% This work is "maintained" (as per LPPL maintenance status) by gusbrs.
%
% This work consists of the files postnotes.dtx,
% postnotes.ins,
diff --git a/Master/texmf-dist/doc/latex/postnotes/postnotes-doc.pdf b/Master/texmf-dist/doc/latex/postnotes/postnotes-doc.pdf
index 62ee64468b0..e2fa275f3ab 100644
--- a/Master/texmf-dist/doc/latex/postnotes/postnotes-doc.pdf
+++ b/Master/texmf-dist/doc/latex/postnotes/postnotes-doc.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/postnotes/postnotes-doc.tex b/Master/texmf-dist/doc/latex/postnotes/postnotes-doc.tex
index 3d29f76a69c..4848fa7cb25 100644
--- a/Master/texmf-dist/doc/latex/postnotes/postnotes-doc.tex
+++ b/Master/texmf-dist/doc/latex/postnotes/postnotes-doc.tex
@@ -4,7 +4,7 @@
%
% This file is part of the LaTeX package "postnotes".
%
-% Copyright (C) 2022-2023 Gustavo Barros
+% Copyright (C) 2022-2023 gusbrs
%
% It may be distributed and/or modified under the conditions of the
% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -17,8 +17,7 @@
% version 2005/12/01 or later.
%
%
-% This work is "maintained" (as per LPPL maintenance status) by
-% Gustavo Barros.
+% This work is "maintained" (as per LPPL maintenance status) by gusbrs.
%
% This work consists of the files postnotes.dtx,
% postnotes.ins,
@@ -64,10 +63,7 @@
\hypersetup{hidelinks}
\usepackage{zref-clever}
-\zcsetup{
- cap,
- countertype = { pnexample = example } ,
-}
+\zcsetup{cap}
\usepackage{zref-titleref}
\usepackage{zref-check}
@@ -79,13 +75,24 @@
\chapter ,
\@mkboth ,
\@textsuperscript ,
+ \thechapter ,
\AddToHook ,
+ \AddToHookNext ,
\counterwithin ,
\tableofcontents ,
\ExplSyntaxOn ,
\ExplSyntaxOff ,
\NewDocumentCommand ,
+ \RenewDocumentCommand ,
+ \NewCommandCopy ,
+ \IfBooleanTF ,
+ \IfNoValueTF ,
\tl_if_eq:NNTF ,
+ \tl_new:N ,
+ \tl_gset:Nv ,
+ \prop_new:N ,
+ \prop_gput:NeV ,
+ \prop_item:NV ,
\bool_case:nF ,
\str_if_eq_p:ee ,
\prg_replicate:nn ,
@@ -113,6 +120,7 @@
\pnthesection ,
\pnthechapternextnote ,
\pnthesectionnextnote ,
+ \pnidnextnote ,
\pnhdpagefirst ,
\pnhdpagelast ,
\pnhdchapfirst ,
@@ -123,6 +131,10 @@
\pnhdnamelast ,
\mypnheader ,
\demochapter ,
+ \origlatexchapter ,
+ \l_postnotes_note_id_tl ,
+ \g_my_currentname_tl ,
+ \g_my_names_prop ,
}
}
\lstset{
@@ -139,22 +151,15 @@
\lstnewenvironment{pnexample}[1][]{%
\renewcommand{\lstlistingname}{Example}%
\renewcommand*\theHlstlisting{ht.\thelstlisting}%
+ \zcsetup{countertype={lstlisting=example}}%
\lstset{#1}%
+ \stepcounter{pnexample}%
\setcounter{lstlisting}{\value{pnexample}}%
}{}
\lstnewenvironment{pnsnippet}[1][]{%
\renewcommand{\lstlistingname}{Example}%
\lstset{#1}%
}{}
-\ExplSyntaxOn
-\makeatletter
-\lst@AddToHook { PreInit }
- {
- \cs_if_exist:cT { c@ \lstenv@name }
- { \exp_args:Nx \refstepcounter { \lstenv@name } }
- }
-\makeatother
-\ExplSyntaxOff
\setlength{\marginparsep}{2\labelsep}
@@ -168,18 +173,17 @@
\title{%
The \pkg{postnotes} package%
- \thanks{This file describes \fileversion, released \filedate.}%
\texorpdfstring{\\{}\medskip{}}{ - }%
User manual%
\texorpdfstring{\medskip{}}{}%
}
\author{%
- Gustavo Barros%
- \thanks{\url{https://github.com/gusbrs/postnotes}}%
-}
+ \texorpdfstring{\texttt{gusbrs}\\[0.8em]
+ \url{https://github.com/gusbrs/postnotes}\\
+ \url{https://www.ctan.org/pkg/postnotes}}{gusbrs}}
-\date{\filedate}
+\date{Version \fileversion\ -- \filedate}
\maketitle
@@ -505,7 +509,7 @@ is typeset. For details on how to use these variables, see
\DescribeOption{exp} %
By default, \cs{postnotesection} stores its \meta{text} argument with ``no
manipulation''. The \opt{exp} option allows one to fully expand
-(\texttt{x}-type expansion) \meta{text} in place before storing it. It is a
+(\texttt{e}-type expansion) \meta{text} in place before storing it. It is a
boolean option, and the option given with no value is equivalent to
\texttt{exp=true}.
@@ -536,6 +540,7 @@ generic ``add to''.
\DescribeMacro{\pnthesection} %
\DescribeMacro{\pnthechapternextnote} %
\DescribeMacro{\pnthesectionnextnote} %
+\DescribeMacro{\pnidnextnote} %
Just like with \cs{postnote}, the contents of \cs{postnotesection} are not
expanded in place, but rather stored with ``no manipulation'' to be typeset
later at \cs{printpostnotes}. For this reason, some contextual information is
@@ -560,6 +565,7 @@ the value of \cs{thechapter} at the point the ``next note'' is placed (a
\cs{postnote}, that is), the first in the chapter, and already inside it, thus
with an expected value of the \texttt{chapter} counter. Similarly,
\cs{pnthesectionnextnote} contains the value of \cs{thesection} for the ``next
+note''. \cs{pnidnextnote}, in turn, stores the Id number of the ``next
note''. Of course, the ``next note'' variables are \emph{proxies}, but they
are meant to support the automation of the subdivision of the notes through
the use of \texttt{before} hooks to the document's sectioning commands, in
@@ -622,10 +628,14 @@ by means of \cs{counterwithin*}. Note that the call to \cs{chapter*} inside
\cs{tableofcontents} does not generate a spurious notes section at
\cs{printpostnotes} (as long as you don't place a note in a sectioning command
with no short argument, which you shouldn't do anyway). But what if we have,
-among mostly numbered chapters, an ocasional unnumbered one?
-\cs{pnthechapternextnote} wouldn't possibly work in this case. Since
-immediately successive calls to \cs{postnotesection} override the previous
-ones, it is straightforward to just manually adjust the exception:
+among mostly numbered chapters, an ocasional unnumbered one?\footnote{The
+ example here counts on the lucky circumstance of having only a single
+ initial unnumbered section. But, in general, if that's not the case,
+ \cs{counterwithin*} is insufficient and the resetting of the
+ \texttt{postnote} counter at unnumbered sections most be handled somehow
+ else.} \cs{pnthechapternextnote} wouldn't possibly work in this case.
+Since immediately successive calls to \cs{postnotesection} override the
+previous ones, it is straightforward to just manually adjust the exception:
\begin{pnexample}[caption={Fine-tuning automation},label={ex:sect:fine-auto}]
\documentclass{book}
@@ -649,6 +659,108 @@ Boo.\postnote{Boo note.}
\end{document}
\end{pnexample}
+If one wants to use section names/titles, the technique above (of using
+something similar to \cs{pnthechapternextnote}) is less useful, since if the
+first note in the section occurs within a subsection we would lose the
+information of interest. So we have a little more work to do in this case.
+\zcref{ex:sect:names} uses the \texttt{cmd/chapter/before} hook to store the
+value of \cs{@currentlabelname} in a dedicated variable after the next call to
+\cs{NR@gettitle} (presuming the use of \pkg{nameref}, through \pkg{hyperref}).
+We then store the value of this variable for each note using the
+\texttt{postnotes/note/store} hook and the note's Id number
+\cs{l_postnotes_note_id_tl}. Finally we can retrieve this stored value using
+\cs{pnidnextnote} inside \cs{postnotesection}. Indeed, this example is also
+meant to illustrate the general technique for storing/restoring variables of
+interest for this purpose.
+
+\begin{pnexample}[caption={Section names},label={ex:sect:names}]
+\documentclass{book}
+\usepackage{postnotes}
+\ExplSyntaxOn
+\tl_new:N \g_my_currentname_tl
+\prop_new:N \g_my_names_prop
+\AddToHook{cmd/chapter/before}{
+ \AddToHookNext{cmd/NR@gettitle/after}{
+ \tl_gset:Nv \g_my_currentname_tl { @currentlabelname } } }
+\AddToHook{postnotes/note/store}{
+ \prop_gput:NeV \g_my_names_prop
+ { \l_postnotes_note_id_tl } \g_my_currentname_tl }
+\AddToHook{cmd/chapter/before}{
+ \postnotesection{
+ \section*{Notes~to~\prop_item:NV \g_my_names_prop \pnidnextnote}}}
+\ExplSyntaxOff
+\counterwithin*{postnote}{chapter}
+\usepackage{hyperref}
+\begin{document}
+\chapter*{Introduction}
+Intro.\postnote{Intro note.}
+\chapter{First chapter}
+Foo.\postnote{Foo note.}
+Bar.\postnote{Bar note.}
+\chapter{Second chapter}
+Baz.\postnote{Baz note.}
+Boo.\postnote{Boo note.}
+\printpostnotes
+\end{document}
+\end{pnexample}
+
+While \pkg{postnotes} goes through great lengths to avoid tampering with
+sectioning commands, the fact that in general we cannot use \texttt{cmd} hooks
+after \cs{chapter} or \cs{section} does complicate things. And
+\zcref{ex:sect:names} is indeed a good illustration of how a supposedly simple
+task can become quite convoluted if we are not allowed to observe the
+variables of interest \emph{after} the sectioning commands. However, things
+are quite different from the perspective of a user, considering the problem at
+the document level. In this case, the definition of the sectioning commands
+is known, and unique, so that it may make sense to use of the traditional
+technique of storing the definition of the sectioning command, and then
+redefining it to do what it used to, plus something
+else.\footnote{\username{egreg} commonly applies the technique for the same
+ purpose in answers using \pkg{endnotes} at TeX.SX. For example:
+ \url{https://tex.stackexchange.com/a/62425},
+\url{https://tex.stackexchange.com/a/109566}, and
+\url{https://tex.stackexchange.com/a/85001}. But things are somewhat simpler
+with \pkg{postnotes}, since there's no need to handle the case of sections
+with no notes, given that empty \cs{postnotesection}s are already skipped.}
+In which case, we can set \cs{postnotesection}s with full generality and
+flexibility.
+
+\begin{pnexample}[caption={Redefining sections},label={ex:sect:redefined}]
+\documentclass{book}
+\usepackage{postnotes}
+\counterwithin*{postnote}{chapter}
+\NewCommandCopy\origlatexchapter\chapter
+\RenewDocumentCommand{\chapter}{som}{%
+ \IfBooleanTF{#1}{%
+ \origlatexchapter*{#3}%
+ \setcounter{postnote}{0}%
+ \postnotesection{\section*{Notes to ``#3''}}%
+ }{%
+ \IfNoValueTF{#2}{%
+ \origlatexchapter{#3}%
+ }{%
+ \origlatexchapter[#2]{#3}%
+ }%
+ \postnotesection{\section*{Notes to chapter \pnthechapter}}%
+ }%
+}
+\usepackage{hyperref}
+\begin{document}
+\chapter*{Introduction}
+Intro.\postnote{Intro note.}
+\chapter{First chapter}
+Foo.\postnote{Foo note.}
+Bar.\postnote{Bar note.}
+\chapter{Second chapter}
+Baz.\postnote{Baz note.}
+Boo.\postnote{Boo note.}
+\printpostnotes
+\end{document}
+\end{pnexample}
+
+Things could easily get fancier, of course. But that's the basic structure.
+
+
\section{Headers}
\zlabel{sec:headers}
diff --git a/Master/texmf-dist/source/latex/postnotes/postnotes.dtx b/Master/texmf-dist/source/latex/postnotes/postnotes.dtx
index 5a32a179630..58f00e6cdb9 100644
--- a/Master/texmf-dist/source/latex/postnotes/postnotes.dtx
+++ b/Master/texmf-dist/source/latex/postnotes/postnotes.dtx
@@ -4,7 +4,7 @@
%
% This file is part of the LaTeX package "postnotes".
%
-% Copyright (C) 2022-2023 Gustavo Barros
+% Copyright (C) 2022-2023 gusbrs
%
% It may be distributed and/or modified under the conditions of the
% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -17,8 +17,7 @@
% version 2005/12/01 or later.
%
%
-% This work is "maintained" (as per LPPL maintenance status) by
-% Gustavo Barros.
+% This work is "maintained" (as per LPPL maintenance status) by gusbrs.
%
% This work consists of the files postnotes.dtx,
% postnotes.ins,
@@ -95,18 +94,17 @@
%
% \title{^^A
% The \pkg{postnotes} package^^A
-% \thanks{This file describes \fileversion, released \filedate.}^^A
% \texorpdfstring{\\{}\medskip{}}{ - }^^A
% Code documentation^^A
% \texorpdfstring{\medskip{}}{}^^A
% }
%
% \author{^^A
-% Gustavo Barros^^A
-% \thanks{\url{https://github.com/gusbrs/postnotes}}^^A
-% }
+% \texorpdfstring{\texttt{gusbrs}\\[0.8em]
+% \url{https://github.com/gusbrs/postnotes}\\
+% \url{https://www.ctan.org/pkg/postnotes}}{gusbrs}}
%
-% \date{\filedate}
+% \date{Version \fileversion\ -- \filedate}
%
% \maketitle
%
@@ -134,11 +132,12 @@
% simplifies the relation with \pkg{hyperref} (\texttt{ltnews35},
% \texttt{hyperref-linktarget}): the provision of \cs{MakeLinkTarget} and the
% definition by the kernel of the starred version of \cs{ref}, which we can
-% use regardless of \pkg{hyperref} being loaded. So we require the 2022-06-01
-% kernel or newer.
+% use regardless of \pkg{hyperref} being loaded. Finally, since we followed
+% the move to \texttt{e}-type expansion, to play safe we require the
+% 2023-11-01 kernel or newer.
%
% \begin{macrocode}
-\def\postnotes@required@kernel{2022-06-01}
+\def\postnotes@required@kernel{2023-11-01}
\NeedsTeXFormat{LaTeX2e}[\postnotes@required@kernel]
\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}
\IfFormatAtLeastTF{\postnotes@required@kernel}
@@ -153,11 +152,28 @@
%
%
% \begin{macrocode}
-\ProvidesExplPackage {postnotes} {2023-08-21} {0.2.6}
+\ProvidesExplPackage {postnotes} {2023-11-14} {0.2.7}
{Endnotes for LaTeX}
% \end{macrocode}
%
%
+% \begin{macro}
+% {
+% \l_@@_tmpa_tl ,
+% \l_@@_tmpb_tl ,
+% \l_@@_tmpa_seq ,
+% \l_@@_tmpa_box ,
+% }
+% Temporary scratch variables.
+% \begin{macrocode}
+\tl_new:N \l_@@_tmpa_tl
+\tl_new:N \l_@@_tmpb_tl
+\seq_new:N \l_@@_tmpa_seq
+\box_new:N \l_@@_tmpa_box
+% \end{macrocode}
+% \end{macro}
+%
+%
% \section{Data}
%
%
@@ -196,11 +212,11 @@
{
\prop_new:c { \@@_data_name:e {#1} }
\prop_gput:cnn { \@@_data_name:e {#1} } { type } { note }
- \prop_gput:cnx { \@@_data_name:e {#1} } { mark }
+ \prop_gput:cne { \@@_data_name:e {#1} } { mark }
{ \l_@@_mark_tl }
- \prop_gput:cnx { \@@_data_name:e {#1} } { counter }
+ \prop_gput:cne { \@@_data_name:e {#1} } { counter }
{ \int_use:N \c@postnote }
- \prop_gput:cnx { \@@_data_name:e {#1} } { sortnum }
+ \prop_gput:cne { \@@_data_name:e {#1} } { sortnum }
{
\bool_if:NTF \l_@@_manual_sortnum_bool
{ \fp_use:N \l_@@_sort_num_fp }
@@ -208,16 +224,16 @@
}
\cs_if_exist:cT { chapter }
{
- \prop_gput:cnx { \@@_data_name:e {#1} }
+ \prop_gput:cne { \@@_data_name:e {#1} }
{ thechapter } { \thechapter }
}
- \prop_gput:cnx { \@@_data_name:e {#1} } { thesection }
+ \prop_gput:cne { \@@_data_name:e {#1} } { thesection }
{ \thesection }
- \prop_gput:cnx { \@@_data_name:e {#1} } { pnsectname }
+ \prop_gput:cne { \@@_data_name:e {#1} } { pnsectname }
{ \g_@@_section_name_tl }
- \prop_gput:cnx { \@@_data_name:e {#1} } { pnsectid }
+ \prop_gput:cne { \@@_data_name:e {#1} } { pnsectid }
{ \int_use:N \g_@@_sectid_int }
- \prop_gput:cnx { \@@_data_name:e {#1} } { multibool }
+ \prop_gput:cne { \@@_data_name:e {#1} } { multibool }
{ \bool_to_str:N \l_@@_maybe_multi_bool }
\prop_gput:cnn { \@@_data_name:e {#1} } { content } {#2}
\UseHook { postnotes/note/store }
@@ -239,14 +255,14 @@
\prop_gput:cnn { \@@_data_name:e {#1} } { type } { section }
\cs_if_exist:cT { chapter }
{
- \prop_gput:cnx { \@@_data_name:e {#1} }
+ \prop_gput:cne { \@@_data_name:e {#1} }
{ thechapter } { \thechapter }
}
- \prop_gput:cnx { \@@_data_name:e {#1} } { thesection }
+ \prop_gput:cne { \@@_data_name:e {#1} } { thesection }
{ \thesection }
\prop_gput:cnn { \@@_data_name:e {#1} } { content } {#2}
}
-\cs_generate_variant:Nn \@@_store_section:nn { nx }
+\cs_generate_variant:Nn \@@_store_section:nn { ne }
% \end{macrocode}
% \end{macro}
%
@@ -290,7 +306,7 @@
% \end{syntax}
% \begin{macrocode}
\tl_const:Nn \c_@@_ref_prefix_tl { postnote@r }
-\cs_new_protected:Npx \post@note #1#2
+\cs_new_protected:Npe \post@note #1#2
{ \exp_not:N \@newl@bel { \c_@@_ref_prefix_tl } {#1} {#2} }
% \end{macrocode}
% \end{macro}
@@ -303,7 +319,7 @@
{
\legacy_if:nT { @filesw }
{
- \iow_now:Nx \@mainaux
+ \iow_now:Ne \@mainaux
{ \token_to_str:N \providecommand \token_to_str:N \post@note [2]{} }
}
}
@@ -311,7 +327,7 @@
{
\legacy_if:nT { @filesw }
{
- \iow_now:Nx \@partaux
+ \iow_now:Ne \@partaux
{ \token_to_str:N \providecommand \token_to_str:N \post@note [2]{} }
}
}
@@ -345,13 +361,13 @@
}
\cs_new_protected:Npn \@@_set_mark_page_label:n #1
{ \@@_set_label:nn { mark@ #1 } { \thepage } }
-\cs_generate_variant:Nn \@@_set_mark_page_label:n { x }
+\cs_generate_variant:Nn \@@_set_mark_page_label:n { e }
\cs_new_protected:Npn \@@_set_text_page_label:n #1
{ \@@_set_label:nn { text@ #1 } { \int_use:N \c@page } }
-\cs_generate_variant:Nn \@@_set_text_page_label:n { x }
+\cs_generate_variant:Nn \@@_set_text_page_label:n { e }
\cs_new_protected:Npn \@@_set_print_page_label:n #1
{ \@@_set_label:nn { print@ #1 } { \int_use:N \c@page } }
-\cs_generate_variant:Nn \@@_set_print_page_label:n { x }
+\cs_generate_variant:Nn \@@_set_print_page_label:n { e }
% \end{macrocode}
% \end{macro}
%
@@ -373,7 +389,7 @@
{ \tl_set:Nv #1 { \c_@@_ref_prefix_tl @ #2 } }
{ \tl_clear:N #1 }
}
-\cs_generate_variant:Nn \@@_get_pageref:Nn { Nx }
+\cs_generate_variant:Nn \@@_get_pageref:Nn { Ne }
\cs_new:Npn \@@_extract_pageref:n #1
{
\cs_if_exist:cTF { \c_@@_ref_prefix_tl @ #1 }
@@ -646,9 +662,10 @@
% \begin{macrocode}
maketextmark =
{
- \hbox_set:Nn \l_tmpa_box { \@textsuperscript { \normalfont ##1 } }
- \skip_horizontal:n { - \box_wd:N \l_tmpa_box }
- ##2 \box_use:N \l_tmpa_box ##3
+ \hbox_set:Nn \l_@@_tmpa_box
+ { \@textsuperscript { \normalfont ##1 } }
+ \skip_horizontal:n { - \box_wd:N \l_@@_tmpa_box }
+ ##2 \box_use:N \l_@@_tmpa_box ##3
} ,
} ,
style / pagenote .meta:n =
@@ -893,19 +910,19 @@
\tl_if_empty:NT \l_@@_mark_tl
{
\stepcounter { postnote }
- \tl_set:Nx \l_@@_mark_tl { \thepostnote }
+ \tl_set:Ne \l_@@_mark_tl { \thepostnote }
}
- \seq_gput_right:Nx \g_@@_queue_seq
+ \seq_gput_right:Ne \g_@@_queue_seq
{ \l_postnotes_note_id_tl }
\UseHook { postnotes/note/begin }
\cs_set:Npn \@currentcounter { postnote }
- \cs_set:Npx \@currentlabel { \p@postnote \l_@@_mark_tl }
+ \cs_set:Npe \@currentlabel { \p@postnote \l_@@_mark_tl }
\MakeLinkTarget* { postnote. \l_postnotes_note_id_tl .mark }
- \@@_set_mark_page_label:x { \l_postnotes_note_id_tl }
+ \@@_set_mark_page_label:e { \l_postnotes_note_id_tl }
\@@_set_user_labels:
\bool_if:NF \l_@@_nomark_bool
{
- \@@_typeset_mark:xV
+ \@@_typeset_mark:eV
{ \l_postnotes_note_id_tl } \l_@@_mark_tl
}
\@@_store:nn { \l_postnotes_note_id_tl } {#2}
@@ -990,12 +1007,12 @@
\bool_if:NTF \l_@@_print_plain_mark_stepcounter_bool
{
\stepcounter { postnote }
- \tl_set:Nx \l_@@_mark_tl { \thepostnote }
+ \tl_set:Ne \l_@@_mark_tl { \thepostnote }
}
{
\group_begin:
\int_incr:N \c@postnote
- \exp_args:NNNx
+ \exp_args:NNNe
\group_end:
\tl_set:Nn \l_@@_mark_tl { \thepostnote }
}
@@ -1037,14 +1054,14 @@
{ \@@_make_mark:nnn {#2} { } { } }
}
}
-\cs_generate_variant:Nn \@@_typeset_mark:nn { xV }
+\cs_generate_variant:Nn \@@_typeset_mark:nn { eV }
\tl_new:N \l_@@_saved_spacefactor_tl
\cs_new_protected:Npn \@@_typeset_mark_wrapper:n #1
{
\mode_leave_vertical:
\mode_if_horizontal:T
{
- \tl_set:Nx \l_@@_saved_spacefactor_tl { \the\spacefactor }
+ \tl_set:Ne \l_@@_saved_spacefactor_tl { \the\spacefactor }
\nobreak
}
#1
@@ -1151,11 +1168,11 @@
\group_begin:
\int_gincr:N \g_@@_sectid_int
\int_gincr:N \g_@@_note_id_int
- \seq_gput_right:Nx \g_@@_queue_seq { \l_postnotes_note_id_tl }
+ \seq_gput_right:Ne \g_@@_queue_seq { \l_postnotes_note_id_tl }
\tl_gclear:N \g_@@_section_name_tl
\keys_set:nn { postnotes/section } {#1}
\bool_if:NTF \l_@@_section_exp_bool
- { \@@_store_section:nx { \l_postnotes_note_id_tl } {#2} }
+ { \@@_store_section:ne { \l_postnotes_note_id_tl } {#2} }
{ \@@_store_section:nn { \l_postnotes_note_id_tl } {#2} }
\group_end:
}
@@ -1202,12 +1219,14 @@
% \pnthechapternextnote ,
% \pnthesectionnextnote ,
% \pnthepage ,
+% \pnidnextnote ,
% }
% User facing variables, aimed at making available some of the notes' and
% sections' metadata for the user at specific contexts.
% \begin{macrocode}
\tl_new:N \pnthechapter
\tl_new:N \pnthesection
+\tl_new:N \pnidnextnote
\tl_new:N \pnthechapternextnote
\tl_new:N \pnthesectionnextnote
\tl_new:N \pnthepage
@@ -1360,6 +1379,7 @@
\@@_prop_get:nnN
{ \l_postnotes_print_note_id_tl }
{ thesection } \pnthesection
+ \tl_set:NV \pnidnextnote \l_@@_print_note_id_next_tl
\@@_prop_get:nnN
{ \l_@@_print_note_id_next_tl }
{ thechapter } \pnthechapternextnote
@@ -1382,13 +1402,13 @@
\tl_if_eq:NnF \l_@@_print_type_prev_tl { note }
{
\bool_if:NTF \l_@@_print_as_list_bool
- { \exp_args:Nx \begin { \l_@@_print_env_tl } }
+ { \exp_args:Ne \begin { \l_@@_print_env_tl } }
{ \group_begin: }
\l_@@_print_format_tl
}
\group_begin:
\UseHook { postnotes/print/note/begin }
- \@@_get_pageref:Nx \pnthepage
+ \@@_get_pageref:Ne \pnthepage
{ mark@ \l_postnotes_print_note_id_tl }
\@@_prop_get:nnN
{ \l_postnotes_print_note_id_tl }
@@ -1402,13 +1422,13 @@
\cs_set:Npn \@currentcounter { postnotetext }
\int_set:Nn \c@postnotetext
{ \l_@@_print_counter_tl }
- \cs_set:Npx \@currentlabel
+ \cs_set:Npe \@currentlabel
{ \p@postnote \l_@@_print_mark_tl }
\@@_text_mark_wrapper:n
{
\MakeLinkTarget*
{ postnote. \l_postnotes_print_note_id_tl .text }
- \@@_set_text_page_label:x
+ \@@_set_text_page_label:e
{ \l_postnotes_print_note_id_tl }
\@@_typeset_text_mark:eV
{ \l_postnotes_print_note_id_tl }
@@ -1438,7 +1458,7 @@
\tl_if_eq:NnF \l_@@_print_type_next_tl { note }
{
\bool_if:NTF \l_@@_print_as_list_bool
- { \exp_args:Nx \end { \l_@@_print_env_tl } }
+ { \exp_args:Ne \end { \l_@@_print_env_tl } }
{ \group_end: }
% \end{macrocode}
% Ensure \cs{par} at the end of \cs{printopostnotes} (see
@@ -1548,19 +1568,19 @@
\cs_new_protected:Npn \@@_verify_multipass:N #1
{
\group_begin:
- \seq_clear:N \l_tmpa_seq
+ \seq_clear:N \l_@@_tmpa_seq
\seq_map_inline:Nn #1
{
- \@@_prop_get:nnN {##1} { multibool } \l_tmpa_tl
- \tl_if_eq:NnTF \l_tmpa_tl { true }
+ \@@_prop_get:nnN {##1} { multibool } \l_@@_tmpa_tl
+ \tl_if_eq:NnTF \l_@@_tmpa_tl { true }
{
\cs_if_exist:cT
{ \c_@@_ref_prefix_tl @ mark@ ##1 }
- { \seq_put_right:Nn \l_tmpa_seq {##1} }
+ { \seq_put_right:Nn \l_@@_tmpa_seq {##1} }
}
- { \seq_put_right:Nn \l_tmpa_seq {##1} }
+ { \seq_put_right:Nn \l_@@_tmpa_seq {##1} }
}
- \seq_gset_eq:NN #1 \l_tmpa_seq
+ \seq_gset_eq:NN #1 \l_@@_tmpa_seq
\group_end:
}
% \end{macrocode}
@@ -1578,19 +1598,20 @@
\group_begin:
\seq_gsort:Nn #1
{
- \@@_prop_get:nnN {##1} { pnsectid } \l_tmpa_tl
- \@@_prop_get:nnN {##2} { pnsectid } \l_tmpb_tl
- \tl_if_eq:NNTF \l_tmpa_tl \l_tmpb_tl
+ \@@_prop_get:nnN {##1} { pnsectid } \l_@@_tmpa_tl
+ \@@_prop_get:nnN {##2} { pnsectid } \l_@@_tmpb_tl
+ \tl_if_eq:NNTF \l_@@_tmpa_tl \l_@@_tmpb_tl
{
- \@@_prop_get:nnN {##1} { type } \l_tmpa_tl
- \@@_prop_get:nnN {##2} { type } \l_tmpb_tl
+ \@@_prop_get:nnN {##1} { type } \l_@@_tmpa_tl
+ \@@_prop_get:nnN {##2} { type } \l_@@_tmpb_tl
\bool_lazy_and:nnTF
- { \str_if_eq_p:Vn \l_tmpa_tl { note } }
- { \str_if_eq_p:Vn \l_tmpb_tl { note } }
+ { \str_if_eq_p:Vn \l_@@_tmpa_tl { note } }
+ { \str_if_eq_p:Vn \l_@@_tmpb_tl { note } }
{
- \@@_prop_get:nnN {##1} { sortnum } \l_tmpa_tl
- \@@_prop_get:nnN {##2} { sortnum } \l_tmpb_tl
- \fp_compare:nNnTF { \l_tmpa_tl } > { \l_tmpb_tl }
+ \@@_prop_get:nnN {##1} { sortnum } \l_@@_tmpa_tl
+ \@@_prop_get:nnN {##2} { sortnum } \l_@@_tmpb_tl
+ \fp_compare:nNnTF
+ { \l_@@_tmpa_tl } > { \l_@@_tmpb_tl }
{ \sort_return_swapped: }
{ \sort_return_same: }
}
@@ -1763,7 +1784,7 @@
\tl_clear:N \l_@@_prev_mark_name_tl
\seq_map_inline:Nn #1
{
- \exp_args:Nx \tl_if_eq:nnT
+ \exp_args:Ne \tl_if_eq:nnT
{ \@@_prop_item:nn {##1} { type } }
{ note }
{
@@ -1802,16 +1823,16 @@
% \begin{macrocode}
\tl_if_empty:NF \l_@@_prev_text_page_tl
{
- \prop_gput:Nxx \g_@@_header_page_last_prop
+ \prop_gput:Nee \g_@@_header_page_last_prop
{ \l_@@_prev_text_page_tl }
{ \l_@@_prev_mark_page_tl }
- \prop_gput:Nxx \g_@@_header_chap_last_prop
+ \prop_gput:Nee \g_@@_header_chap_last_prop
{ \l_@@_prev_text_page_tl }
{ \l_@@_prev_mark_chap_tl }
- \prop_gput:Nxx \g_@@_header_sect_last_prop
+ \prop_gput:Nee \g_@@_header_sect_last_prop
{ \l_@@_prev_text_page_tl }
{ \l_@@_prev_mark_sect_tl }
- \prop_gput:Nxx \g_@@_header_name_last_prop
+ \prop_gput:Nee \g_@@_header_name_last_prop
{ \l_@@_prev_text_page_tl }
{ \l_@@_prev_mark_name_tl }
}
@@ -1819,16 +1840,16 @@
%
% Set `first' values for current page, based on the current note ID.
% \begin{macrocode}
- \prop_gput:Nxx \g_@@_header_page_first_prop
+ \prop_gput:Nee \g_@@_header_page_first_prop
{ \l_@@_curr_text_page_tl }
{ \@@_extract_pageref:n { mark@ ##1 } }
- \prop_gput:Nxx \g_@@_header_chap_first_prop
+ \prop_gput:Nee \g_@@_header_chap_first_prop
{ \l_@@_curr_text_page_tl }
{ \@@_prop_item:nn {##1} { thechapter } }
- \prop_gput:Nxx \g_@@_header_sect_first_prop
+ \prop_gput:Nee \g_@@_header_sect_first_prop
{ \l_@@_curr_text_page_tl }
{ \@@_prop_item:nn {##1} { thesection } }
- \prop_gput:Nxx \g_@@_header_name_first_prop
+ \prop_gput:Nee \g_@@_header_name_first_prop
{ \l_@@_curr_text_page_tl }
{ \@@_prop_item:nn {##1} { pnsectname } }
% \end{macrocode}
@@ -1863,16 +1884,16 @@
% \begin{macrocode}
\tl_if_empty:NF \l_@@_prev_text_page_tl
{
- \prop_gput:Nxx \g_@@_header_page_last_prop
+ \prop_gput:Nee \g_@@_header_page_last_prop
{ \l_@@_prev_text_page_tl }
{ \l_@@_prev_mark_page_tl }
- \prop_gput:Nxx \g_@@_header_chap_last_prop
+ \prop_gput:Nee \g_@@_header_chap_last_prop
{ \l_@@_prev_text_page_tl }
{ \l_@@_prev_mark_chap_tl }
- \prop_gput:Nxx \g_@@_header_sect_last_prop
+ \prop_gput:Nee \g_@@_header_sect_last_prop
{ \l_@@_prev_text_page_tl }
{ \l_@@_prev_mark_sect_tl }
- \prop_gput:Nxx \g_@@_header_name_last_prop
+ \prop_gput:Nee \g_@@_header_name_last_prop
{ \l_@@_prev_text_page_tl }
{ \l_@@_prev_mark_name_tl }
}
@@ -1905,52 +1926,56 @@
{
\group_begin:
\prop_get:NnNTF \g_@@_header_page_first_prop
- {#1} \l_tmpa_tl
- { \tl_gset:NV \pnhdpagefirst \l_tmpa_tl }
+ {#1} \l_@@_tmpa_tl
+ { \tl_gset:NV \pnhdpagefirst \l_@@_tmpa_tl }
{ \tl_gset:NV \pnhdpagefirst \g_@@_header_prev_last_page_tl }
\prop_get:NnNTF \g_@@_header_page_last_prop
- {#1} \l_tmpa_tl
+ {#1} \l_@@_tmpa_tl
{
- \tl_gset:NV \pnhdpagelast \l_tmpa_tl
- \tl_gset:NV \g_@@_header_prev_last_page_tl \l_tmpa_tl
+ \tl_gset:NV \pnhdpagelast \l_@@_tmpa_tl
+ \tl_gset:NV \g_@@_header_prev_last_page_tl
+ \l_@@_tmpa_tl
}
{ \tl_gset:NV \pnhdpagelast \g_@@_header_prev_last_page_tl }
\prop_get:NnNTF \g_@@_header_chap_first_prop
- {#1} \l_tmpa_tl
- { \tl_gset:NV \pnhdchapfirst \l_tmpa_tl }
+ {#1} \l_@@_tmpa_tl
+ { \tl_gset:NV \pnhdchapfirst \l_@@_tmpa_tl }
{ \tl_gset:NV \pnhdchapfirst \g_@@_header_prev_last_chap_tl }
\prop_get:NnNTF \g_@@_header_chap_last_prop
- {#1} \l_tmpa_tl
+ {#1} \l_@@_tmpa_tl
{
- \tl_gset:NV \pnhdchaplast \l_tmpa_tl
- \tl_gset:NV \g_@@_header_prev_last_chap_tl \l_tmpa_tl
+ \tl_gset:NV \pnhdchaplast \l_@@_tmpa_tl
+ \tl_gset:NV \g_@@_header_prev_last_chap_tl
+ \l_@@_tmpa_tl
}
{ \tl_gset:NV \pnhdchaplast \g_@@_header_prev_last_chap_tl }
\prop_get:NnNTF \g_@@_header_sect_first_prop
- {#1} \l_tmpa_tl
- { \tl_gset:NV \pnhdsectfirst \l_tmpa_tl }
+ {#1} \l_@@_tmpa_tl
+ { \tl_gset:NV \pnhdsectfirst \l_@@_tmpa_tl }
{ \tl_gset:NV \pnhdsectfirst \g_@@_header_prev_last_sect_tl }
\prop_get:NnNTF \g_@@_header_sect_last_prop
- {#1} \l_tmpa_tl
+ {#1} \l_@@_tmpa_tl
{
- \tl_gset:NV \pnhdsectlast \l_tmpa_tl
- \tl_gset:NV \g_@@_header_prev_last_sect_tl \l_tmpa_tl
+ \tl_gset:NV \pnhdsectlast \l_@@_tmpa_tl
+ \tl_gset:NV \g_@@_header_prev_last_sect_tl
+ \l_@@_tmpa_tl
}
{ \tl_gset:NV \pnhdsectlast \g_@@_header_prev_last_sect_tl }
\prop_get:NnNTF \g_@@_header_name_first_prop
- {#1} \l_tmpa_tl
- { \tl_gset:NV \pnhdnamefirst \l_tmpa_tl }
+ {#1} \l_@@_tmpa_tl
+ { \tl_gset:NV \pnhdnamefirst \l_@@_tmpa_tl }
{ \tl_gset:NV \pnhdnamefirst \g_@@_header_prev_last_name_tl }
\prop_get:NnNTF \g_@@_header_name_last_prop
- {#1} \l_tmpa_tl
+ {#1} \l_@@_tmpa_tl
{
- \tl_gset:NV \pnhdnamelast \l_tmpa_tl
- \tl_gset:NV \g_@@_header_prev_last_name_tl \l_tmpa_tl
+ \tl_gset:NV \pnhdnamelast \l_@@_tmpa_tl
+ \tl_gset:NV \g_@@_header_prev_last_name_tl
+ \l_@@_tmpa_tl
}
{ \tl_gset:NV \pnhdnamelast \g_@@_header_prev_last_name_tl }
\group_end:
}
-\cs_generate_variant:Nn \@@_set_headers_vars:n { x }
+\cs_generate_variant:Nn \@@_set_headers_vars:n { e }
% \end{macrocode}
% \end{macro}
%
@@ -1974,13 +1999,13 @@
\cs_new_protected:Npn \@@_set_headers_vars_next:
{
\bool_if:NT \g_@@_header_vars_next_bool
- { \@@_set_headers_vars:x { \int_eval:n { \c@page + 1 } } }
+ { \@@_set_headers_vars:e { \int_eval:n { \c@page + 1 } } }
}
\cs_new_protected:Npn \@@_set_headers_vars_first:
{
- \@@_set_print_page_label:x
+ \@@_set_print_page_label:e
{ \int_use:N \g_@@_print_postnotes_int }
- \@@_set_headers_vars:x
+ \@@_set_headers_vars:e
{
\@@_extract_pageref:e
{ print@ \int_use:N \g_@@_print_postnotes_int }
@@ -2101,11 +2126,11 @@
% \begin{macrocode}
\AddToHook { postnotes/note/store } [ postnotes ]
{
- \prop_gput:cnx { \@@_data_name:e { \l_postnotes_note_id_tl } }
+ \prop_gput:cne { \@@_data_name:e { \l_postnotes_note_id_tl } }
{ biblatex@refsection } { \int_use:N \c@refsection }
- \prop_gput:cnx { \@@_data_name:e { \l_postnotes_note_id_tl } }
+ \prop_gput:cne { \@@_data_name:e { \l_postnotes_note_id_tl } }
{ biblatex@refsegment } { \int_use:N \c@refsegment }
- \prop_gput:cnx { \@@_data_name:e { \l_postnotes_note_id_tl } }
+ \prop_gput:cne { \@@_data_name:e { \l_postnotes_note_id_tl } }
{ biblatex@refcontextbool }
{ \iftoggle { blx@refcontext } { true } { false } }
\prop_gput:cnV { \@@_data_name:e { \l_postnotes_note_id_tl } }
@@ -2149,7 +2174,7 @@
\togglefalse { blx@refcontext }
\tl_clear:N \blx@refcontext@labelprefix
\tl_clear:N \blx@refcontext@labelprefix@real
- \tl_set:Nx \blx@refcontext@sortingtemplatename { \blx@sorting }
+ \tl_set:Ne \blx@refcontext@sortingtemplatename { \blx@sorting }
\tl_set:Nn \blx@refcontext@sortingnamekeytemplatename { global }
\tl_set:Nn \blx@refcontext@uniquenametemplatename { global }
\tl_set:Nn \blx@refcontext@labelalphanametemplatename { global }
@@ -2246,10 +2271,10 @@
\tl_new:N \g_@@_biblatex_prev_refsection_tl
\AddToHook { postnotes/print/begin } [ postnotes ]
{
- \tl_set:Nx \l_@@_biblatex_orig_refsection_tl
+ \tl_set:Ne \l_@@_biblatex_orig_refsection_tl
{ \int_use:N \c@refsection }
- \tl_gset:Nx \g_@@_biblatex_prev_refsection_tl
- \l_@@_biblatex_orig_refsection_tl
+ \tl_gset:Ne \g_@@_biblatex_prev_refsection_tl
+ { \l_@@_biblatex_orig_refsection_tl }
}
\AddToHook { postnotes/print/note/begin } [ postnotes ]
{
@@ -2379,9 +2404,9 @@
{
\AddToHook { postnotes/note/store } [ postnotes ]
{
- \prop_gput:cnx { \@@_data_name:e { \l_postnotes_note_id_tl } }
+ \prop_gput:cne { \@@_data_name:e { \l_postnotes_note_id_tl } }
{ zref-check@abschap } { \int_use:N \c@zc@abschap }
- \prop_gput:cnx { \@@_data_name:e { \l_postnotes_note_id_tl } }
+ \prop_gput:cne { \@@_data_name:e { \l_postnotes_note_id_tl } }
{ zref-check@abssec } { \int_use:N \c@zc@abssec }
}
\AddToHook { postnotes/print/note/begin } [ postnotes ]
diff --git a/Master/texmf-dist/source/latex/postnotes/postnotes.ins b/Master/texmf-dist/source/latex/postnotes/postnotes.ins
index 08c592ad16c..8cac7bab06a 100644
--- a/Master/texmf-dist/source/latex/postnotes/postnotes.ins
+++ b/Master/texmf-dist/source/latex/postnotes/postnotes.ins
@@ -4,7 +4,7 @@
%
% This file is part of the LaTeX package "postnotes".
%
-% Copyright (C) 2022-2023 Gustavo Barros
+% Copyright (C) 2022-2023 gusbrs
%
% It may be distributed and/or modified under the conditions of the
% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -17,8 +17,7 @@
% version 2005/12/01 or later.
%
%
-% This work is "maintained" (as per LPPL maintenance status) by
-% Gustavo Barros.
+% This work is "maintained" (as per LPPL maintenance status) by gusbrs.
%
% This work consists of the files postnotes.dtx,
% postnotes.ins,
@@ -50,7 +49,7 @@
This file was generated from file(s) of the LaTeX package "postnotes".
-Copyright (C) 2022-2023 Gustavo Barros
+Copyright (C) 2022-2023 gusbrs
It may be distributed and/or modified under the conditions of the
LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -63,8 +62,7 @@ and version 1.3 or later is part of all distributions of LaTeX
version 2005/12/01 or later.
-This work is "maintained" (as per LPPL maintenance status) by
- Gustavo Barros.
+This work is "maintained" (as per LPPL maintenance status) by gusbrs.
This work consists of the files postnotes.dtx,
postnotes.ins,
diff --git a/Master/texmf-dist/tex/latex/postnotes/postnotes.sty b/Master/texmf-dist/tex/latex/postnotes/postnotes.sty
index 400353d766b..e1809c88aca 100644
--- a/Master/texmf-dist/tex/latex/postnotes/postnotes.sty
+++ b/Master/texmf-dist/tex/latex/postnotes/postnotes.sty
@@ -8,7 +8,7 @@
%%
%% This file was generated from file(s) of the LaTeX package "postnotes".
%%
-%% Copyright (C) 2022-2023 Gustavo Barros
+%% Copyright (C) 2022-2023 gusbrs
%%
%% It may be distributed and/or modified under the conditions of the
%% LaTeX Project Public License (LPPL), either version 1.3c of this
@@ -21,8 +21,7 @@
%% version 2005/12/01 or later.
%%
%%
-%% This work is "maintained" (as per LPPL maintenance status) by
-%% Gustavo Barros.
+%% This work is "maintained" (as per LPPL maintenance status) by gusbrs.
%%
%% This work consists of the files postnotes.dtx,
%% postnotes.ins,
@@ -42,7 +41,7 @@
%%
%% -----------------------------------------------------------------------
%%
-\def\postnotes@required@kernel{2022-06-01}
+\def\postnotes@required@kernel{2023-11-01}
\NeedsTeXFormat{LaTeX2e}[\postnotes@required@kernel]
\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}
\IfFormatAtLeastTF{\postnotes@required@kernel}
@@ -53,8 +52,12 @@
'postnotes' requires a LaTeX kernel \postnotes@required@kernel\space or newer.%
}%
}%
-\ProvidesExplPackage {postnotes} {2023-08-21} {0.2.6}
+\ProvidesExplPackage {postnotes} {2023-11-14} {0.2.7}
{Endnotes for LaTeX}
+\tl_new:N \l__postnotes_tmpa_tl
+\tl_new:N \l__postnotes_tmpb_tl
+\seq_new:N \l__postnotes_tmpa_seq
+\box_new:N \l__postnotes_tmpa_box
\cs_new:Npn \__postnotes_data_name:n #1
{ g__postnotes_ #1 _data_prop }
\cs_generate_variant:Nn \__postnotes_data_name:n { e }
@@ -63,11 +66,11 @@
{
\prop_new:c { \__postnotes_data_name:e {#1} }
\prop_gput:cnn { \__postnotes_data_name:e {#1} } { type } { note }
- \prop_gput:cnx { \__postnotes_data_name:e {#1} } { mark }
+ \prop_gput:cne { \__postnotes_data_name:e {#1} } { mark }
{ \l__postnotes_mark_tl }
- \prop_gput:cnx { \__postnotes_data_name:e {#1} } { counter }
+ \prop_gput:cne { \__postnotes_data_name:e {#1} } { counter }
{ \int_use:N \c@postnote }
- \prop_gput:cnx { \__postnotes_data_name:e {#1} } { sortnum }
+ \prop_gput:cne { \__postnotes_data_name:e {#1} } { sortnum }
{
\bool_if:NTF \l__postnotes_manual_sortnum_bool
{ \fp_use:N \l__postnotes_sort_num_fp }
@@ -75,16 +78,16 @@
}
\cs_if_exist:cT { chapter }
{
- \prop_gput:cnx { \__postnotes_data_name:e {#1} }
+ \prop_gput:cne { \__postnotes_data_name:e {#1} }
{ thechapter } { \thechapter }
}
- \prop_gput:cnx { \__postnotes_data_name:e {#1} } { thesection }
+ \prop_gput:cne { \__postnotes_data_name:e {#1} } { thesection }
{ \thesection }
- \prop_gput:cnx { \__postnotes_data_name:e {#1} } { pnsectname }
+ \prop_gput:cne { \__postnotes_data_name:e {#1} } { pnsectname }
{ \g__postnotes_section_name_tl }
- \prop_gput:cnx { \__postnotes_data_name:e {#1} } { pnsectid }
+ \prop_gput:cne { \__postnotes_data_name:e {#1} } { pnsectid }
{ \int_use:N \g__postnotes_sectid_int }
- \prop_gput:cnx { \__postnotes_data_name:e {#1} } { multibool }
+ \prop_gput:cne { \__postnotes_data_name:e {#1} } { multibool }
{ \bool_to_str:N \l__postnotes_maybe_multi_bool }
\prop_gput:cnn { \__postnotes_data_name:e {#1} } { content } {#2}
\UseHook { postnotes/note/store }
@@ -95,14 +98,14 @@
\prop_gput:cnn { \__postnotes_data_name:e {#1} } { type } { section }
\cs_if_exist:cT { chapter }
{
- \prop_gput:cnx { \__postnotes_data_name:e {#1} }
+ \prop_gput:cne { \__postnotes_data_name:e {#1} }
{ thechapter } { \thechapter }
}
- \prop_gput:cnx { \__postnotes_data_name:e {#1} } { thesection }
+ \prop_gput:cne { \__postnotes_data_name:e {#1} } { thesection }
{ \thesection }
\prop_gput:cnn { \__postnotes_data_name:e {#1} } { content } {#2}
}
-\cs_generate_variant:Nn \__postnotes_store_section:nn { nx }
+\cs_generate_variant:Nn \__postnotes_store_section:nn { ne }
\cs_new_protected:Npn \__postnotes_prop_get:nnN #1#2#3
{
\prop_get:cnNF { \__postnotes_data_name:e {#1} } {#2} #3
@@ -113,13 +116,13 @@
\cs_new_protected:Npn \__postnotes_prop_gclear:n #1
{ \prop_gclear:c { \__postnotes_data_name:e {#1} } }
\tl_const:Nn \c__postnotes_ref_prefix_tl { postnote@r }
-\cs_new_protected:Npx \post@note #1#2
+\cs_new_protected:Npe \post@note #1#2
{ \exp_not:N \@newl@bel { \c__postnotes_ref_prefix_tl } {#1} {#2} }
\AddToHook { begindocument }
{
\legacy_if:nT { @filesw }
{
- \iow_now:Nx \@mainaux
+ \iow_now:Ne \@mainaux
{ \token_to_str:N \providecommand \token_to_str:N \post@note [2]{} }
}
}
@@ -127,7 +130,7 @@
{
\legacy_if:nT { @filesw }
{
- \iow_now:Nx \@partaux
+ \iow_now:Ne \@partaux
{ \token_to_str:N \providecommand \token_to_str:N \post@note [2]{} }
}
}
@@ -141,20 +144,20 @@
}
\cs_new_protected:Npn \__postnotes_set_mark_page_label:n #1
{ \__postnotes_set_label:nn { mark@ #1 } { \thepage } }
-\cs_generate_variant:Nn \__postnotes_set_mark_page_label:n { x }
+\cs_generate_variant:Nn \__postnotes_set_mark_page_label:n { e }
\cs_new_protected:Npn \__postnotes_set_text_page_label:n #1
{ \__postnotes_set_label:nn { text@ #1 } { \int_use:N \c@page } }
-\cs_generate_variant:Nn \__postnotes_set_text_page_label:n { x }
+\cs_generate_variant:Nn \__postnotes_set_text_page_label:n { e }
\cs_new_protected:Npn \__postnotes_set_print_page_label:n #1
{ \__postnotes_set_label:nn { print@ #1 } { \int_use:N \c@page } }
-\cs_generate_variant:Nn \__postnotes_set_print_page_label:n { x }
+\cs_generate_variant:Nn \__postnotes_set_print_page_label:n { e }
\cs_new_protected:Npn \__postnotes_get_pageref:Nn #1#2
{
\cs_if_exist:cTF { \c__postnotes_ref_prefix_tl @ #2 }
{ \tl_set:Nv #1 { \c__postnotes_ref_prefix_tl @ #2 } }
{ \tl_clear:N #1 }
}
-\cs_generate_variant:Nn \__postnotes_get_pageref:Nn { Nx }
+\cs_generate_variant:Nn \__postnotes_get_pageref:Nn { Ne }
\cs_new:Npn \__postnotes_extract_pageref:n #1
{
\cs_if_exist:cTF { \c__postnotes_ref_prefix_tl @ #1 }
@@ -344,9 +347,10 @@
pretextmark = { \par } ,
maketextmark =
{
- \hbox_set:Nn \l_tmpa_box { \@textsuperscript { \normalfont ##1 } }
- \skip_horizontal:n { - \box_wd:N \l_tmpa_box }
- ##2 \box_use:N \l_tmpa_box ##3
+ \hbox_set:Nn \l__postnotes_tmpa_box
+ { \@textsuperscript { \normalfont ##1 } }
+ \skip_horizontal:n { - \box_wd:N \l__postnotes_tmpa_box }
+ ##2 \box_use:N \l__postnotes_tmpa_box ##3
} ,
} ,
style / pagenote .meta:n =
@@ -378,19 +382,19 @@
\tl_if_empty:NT \l__postnotes_mark_tl
{
\stepcounter { postnote }
- \tl_set:Nx \l__postnotes_mark_tl { \thepostnote }
+ \tl_set:Ne \l__postnotes_mark_tl { \thepostnote }
}
- \seq_gput_right:Nx \g__postnotes_queue_seq
+ \seq_gput_right:Ne \g__postnotes_queue_seq
{ \l_postnotes_note_id_tl }
\UseHook { postnotes/note/begin }
\cs_set:Npn \@currentcounter { postnote }
- \cs_set:Npx \@currentlabel { \p@postnote \l__postnotes_mark_tl }
+ \cs_set:Npe \@currentlabel { \p@postnote \l__postnotes_mark_tl }
\MakeLinkTarget* { postnote. \l_postnotes_note_id_tl .mark }
- \__postnotes_set_mark_page_label:x { \l_postnotes_note_id_tl }
+ \__postnotes_set_mark_page_label:e { \l_postnotes_note_id_tl }
\__postnotes_set_user_labels:
\bool_if:NF \l__postnotes_nomark_bool
{
- \__postnotes_typeset_mark:xV
+ \__postnotes_typeset_mark:eV
{ \l_postnotes_note_id_tl } \l__postnotes_mark_tl
}
\__postnotes_store:nn { \l_postnotes_note_id_tl } {#2}
@@ -441,12 +445,12 @@
\bool_if:NTF \l__postnotes_print_plain_mark_stepcounter_bool
{
\stepcounter { postnote }
- \tl_set:Nx \l__postnotes_mark_tl { \thepostnote }
+ \tl_set:Ne \l__postnotes_mark_tl { \thepostnote }
}
{
\group_begin:
\int_incr:N \c@postnote
- \exp_args:NNNx
+ \exp_args:NNNe
\group_end:
\tl_set:Nn \l__postnotes_mark_tl { \thepostnote }
}
@@ -471,14 +475,14 @@
{ \__postnotes_make_mark:nnn {#2} { } { } }
}
}
-\cs_generate_variant:Nn \__postnotes_typeset_mark:nn { xV }
+\cs_generate_variant:Nn \__postnotes_typeset_mark:nn { eV }
\tl_new:N \l__postnotes_saved_spacefactor_tl
\cs_new_protected:Npn \__postnotes_typeset_mark_wrapper:n #1
{
\mode_leave_vertical:
\mode_if_horizontal:T
{
- \tl_set:Nx \l__postnotes_saved_spacefactor_tl { \the\spacefactor }
+ \tl_set:Ne \l__postnotes_saved_spacefactor_tl { \the\spacefactor }
\nobreak
}
#1
@@ -530,11 +534,11 @@
\group_begin:
\int_gincr:N \g__postnotes_sectid_int
\int_gincr:N \g__postnotes_note_id_int
- \seq_gput_right:Nx \g__postnotes_queue_seq { \l_postnotes_note_id_tl }
+ \seq_gput_right:Ne \g__postnotes_queue_seq { \l_postnotes_note_id_tl }
\tl_gclear:N \g__postnotes_section_name_tl
\keys_set:nn { postnotes/section } {#1}
\bool_if:NTF \l__postnotes_section_exp_bool
- { \__postnotes_store_section:nx { \l_postnotes_note_id_tl } {#2} }
+ { \__postnotes_store_section:ne { \l_postnotes_note_id_tl } {#2} }
{ \__postnotes_store_section:nn { \l_postnotes_note_id_tl } {#2} }
\group_end:
}
@@ -552,6 +556,7 @@
{ \__postnotes_print_notes: }
\tl_new:N \pnthechapter
\tl_new:N \pnthesection
+\tl_new:N \pnidnextnote
\tl_new:N \pnthechapternextnote
\tl_new:N \pnthesectionnextnote
\tl_new:N \pnthepage
@@ -622,6 +627,7 @@
\__postnotes_prop_get:nnN
{ \l_postnotes_print_note_id_tl }
{ thesection } \pnthesection
+ \tl_set:NV \pnidnextnote \l__postnotes_print_note_id_next_tl
\__postnotes_prop_get:nnN
{ \l__postnotes_print_note_id_next_tl }
{ thechapter } \pnthechapternextnote
@@ -641,13 +647,13 @@
\tl_if_eq:NnF \l__postnotes_print_type_prev_tl { note }
{
\bool_if:NTF \l__postnotes_print_as_list_bool
- { \exp_args:Nx \begin { \l__postnotes_print_env_tl } }
+ { \exp_args:Ne \begin { \l__postnotes_print_env_tl } }
{ \group_begin: }
\l__postnotes_print_format_tl
}
\group_begin:
\UseHook { postnotes/print/note/begin }
- \__postnotes_get_pageref:Nx \pnthepage
+ \__postnotes_get_pageref:Ne \pnthepage
{ mark@ \l_postnotes_print_note_id_tl }
\__postnotes_prop_get:nnN
{ \l_postnotes_print_note_id_tl }
@@ -661,13 +667,13 @@
\cs_set:Npn \@currentcounter { postnotetext }
\int_set:Nn \c@postnotetext
{ \l__postnotes_print_counter_tl }
- \cs_set:Npx \@currentlabel
+ \cs_set:Npe \@currentlabel
{ \p@postnote \l__postnotes_print_mark_tl }
\__postnotes_text_mark_wrapper:n
{
\MakeLinkTarget*
{ postnote. \l_postnotes_print_note_id_tl .text }
- \__postnotes_set_text_page_label:x
+ \__postnotes_set_text_page_label:e
{ \l_postnotes_print_note_id_tl }
\__postnotes_typeset_text_mark:eV
{ \l_postnotes_print_note_id_tl }
@@ -691,7 +697,7 @@
\tl_if_eq:NnF \l__postnotes_print_type_next_tl { note }
{
\bool_if:NTF \l__postnotes_print_as_list_bool
- { \exp_args:Nx \end { \l__postnotes_print_env_tl } }
+ { \exp_args:Ne \end { \l__postnotes_print_env_tl } }
{ \group_end: }
\par
}
@@ -733,19 +739,19 @@
\cs_new_protected:Npn \__postnotes_verify_multipass:N #1
{
\group_begin:
- \seq_clear:N \l_tmpa_seq
+ \seq_clear:N \l__postnotes_tmpa_seq
\seq_map_inline:Nn #1
{
- \__postnotes_prop_get:nnN {##1} { multibool } \l_tmpa_tl
- \tl_if_eq:NnTF \l_tmpa_tl { true }
+ \__postnotes_prop_get:nnN {##1} { multibool } \l__postnotes_tmpa_tl
+ \tl_if_eq:NnTF \l__postnotes_tmpa_tl { true }
{
\cs_if_exist:cT
{ \c__postnotes_ref_prefix_tl @ mark@ ##1 }
- { \seq_put_right:Nn \l_tmpa_seq {##1} }
+ { \seq_put_right:Nn \l__postnotes_tmpa_seq {##1} }
}
- { \seq_put_right:Nn \l_tmpa_seq {##1} }
+ { \seq_put_right:Nn \l__postnotes_tmpa_seq {##1} }
}
- \seq_gset_eq:NN #1 \l_tmpa_seq
+ \seq_gset_eq:NN #1 \l__postnotes_tmpa_seq
\group_end:
}
\cs_new_protected:Npn \__postnotes_sort_queue:N #1
@@ -753,19 +759,20 @@
\group_begin:
\seq_gsort:Nn #1
{
- \__postnotes_prop_get:nnN {##1} { pnsectid } \l_tmpa_tl
- \__postnotes_prop_get:nnN {##2} { pnsectid } \l_tmpb_tl
- \tl_if_eq:NNTF \l_tmpa_tl \l_tmpb_tl
+ \__postnotes_prop_get:nnN {##1} { pnsectid } \l__postnotes_tmpa_tl
+ \__postnotes_prop_get:nnN {##2} { pnsectid } \l__postnotes_tmpb_tl
+ \tl_if_eq:NNTF \l__postnotes_tmpa_tl \l__postnotes_tmpb_tl
{
- \__postnotes_prop_get:nnN {##1} { type } \l_tmpa_tl
- \__postnotes_prop_get:nnN {##2} { type } \l_tmpb_tl
+ \__postnotes_prop_get:nnN {##1} { type } \l__postnotes_tmpa_tl
+ \__postnotes_prop_get:nnN {##2} { type } \l__postnotes_tmpb_tl
\bool_lazy_and:nnTF
- { \str_if_eq_p:Vn \l_tmpa_tl { note } }
- { \str_if_eq_p:Vn \l_tmpb_tl { note } }
+ { \str_if_eq_p:Vn \l__postnotes_tmpa_tl { note } }
+ { \str_if_eq_p:Vn \l__postnotes_tmpb_tl { note } }
{
- \__postnotes_prop_get:nnN {##1} { sortnum } \l_tmpa_tl
- \__postnotes_prop_get:nnN {##2} { sortnum } \l_tmpb_tl
- \fp_compare:nNnTF { \l_tmpa_tl } > { \l_tmpb_tl }
+ \__postnotes_prop_get:nnN {##1} { sortnum } \l__postnotes_tmpa_tl
+ \__postnotes_prop_get:nnN {##2} { sortnum } \l__postnotes_tmpb_tl
+ \fp_compare:nNnTF
+ { \l__postnotes_tmpa_tl } > { \l__postnotes_tmpb_tl }
{ \sort_return_swapped: }
{ \sort_return_same: }
}
@@ -832,7 +839,7 @@
\tl_clear:N \l__postnotes_prev_mark_name_tl
\seq_map_inline:Nn #1
{
- \exp_args:Nx \tl_if_eq:nnT
+ \exp_args:Ne \tl_if_eq:nnT
{ \__postnotes_prop_item:nn {##1} { type } }
{ note }
{
@@ -856,29 +863,29 @@
{
\tl_if_empty:NF \l__postnotes_prev_text_page_tl
{
- \prop_gput:Nxx \g__postnotes_header_page_last_prop
+ \prop_gput:Nee \g__postnotes_header_page_last_prop
{ \l__postnotes_prev_text_page_tl }
{ \l__postnotes_prev_mark_page_tl }
- \prop_gput:Nxx \g__postnotes_header_chap_last_prop
+ \prop_gput:Nee \g__postnotes_header_chap_last_prop
{ \l__postnotes_prev_text_page_tl }
{ \l__postnotes_prev_mark_chap_tl }
- \prop_gput:Nxx \g__postnotes_header_sect_last_prop
+ \prop_gput:Nee \g__postnotes_header_sect_last_prop
{ \l__postnotes_prev_text_page_tl }
{ \l__postnotes_prev_mark_sect_tl }
- \prop_gput:Nxx \g__postnotes_header_name_last_prop
+ \prop_gput:Nee \g__postnotes_header_name_last_prop
{ \l__postnotes_prev_text_page_tl }
{ \l__postnotes_prev_mark_name_tl }
}
- \prop_gput:Nxx \g__postnotes_header_page_first_prop
+ \prop_gput:Nee \g__postnotes_header_page_first_prop
{ \l__postnotes_curr_text_page_tl }
{ \__postnotes_extract_pageref:n { mark@ ##1 } }
- \prop_gput:Nxx \g__postnotes_header_chap_first_prop
+ \prop_gput:Nee \g__postnotes_header_chap_first_prop
{ \l__postnotes_curr_text_page_tl }
{ \__postnotes_prop_item:nn {##1} { thechapter } }
- \prop_gput:Nxx \g__postnotes_header_sect_first_prop
+ \prop_gput:Nee \g__postnotes_header_sect_first_prop
{ \l__postnotes_curr_text_page_tl }
{ \__postnotes_prop_item:nn {##1} { thesection } }
- \prop_gput:Nxx \g__postnotes_header_name_first_prop
+ \prop_gput:Nee \g__postnotes_header_name_first_prop
{ \l__postnotes_curr_text_page_tl }
{ \__postnotes_prop_item:nn {##1} { pnsectname } }
\__postnotes_get_pageref:Nn
@@ -897,16 +904,16 @@
}
\tl_if_empty:NF \l__postnotes_prev_text_page_tl
{
- \prop_gput:Nxx \g__postnotes_header_page_last_prop
+ \prop_gput:Nee \g__postnotes_header_page_last_prop
{ \l__postnotes_prev_text_page_tl }
{ \l__postnotes_prev_mark_page_tl }
- \prop_gput:Nxx \g__postnotes_header_chap_last_prop
+ \prop_gput:Nee \g__postnotes_header_chap_last_prop
{ \l__postnotes_prev_text_page_tl }
{ \l__postnotes_prev_mark_chap_tl }
- \prop_gput:Nxx \g__postnotes_header_sect_last_prop
+ \prop_gput:Nee \g__postnotes_header_sect_last_prop
{ \l__postnotes_prev_text_page_tl }
{ \l__postnotes_prev_mark_sect_tl }
- \prop_gput:Nxx \g__postnotes_header_name_last_prop
+ \prop_gput:Nee \g__postnotes_header_name_last_prop
{ \l__postnotes_prev_text_page_tl }
{ \l__postnotes_prev_mark_name_tl }
}
@@ -916,65 +923,69 @@
{
\group_begin:
\prop_get:NnNTF \g__postnotes_header_page_first_prop
- {#1} \l_tmpa_tl
- { \tl_gset:NV \pnhdpagefirst \l_tmpa_tl }
+ {#1} \l__postnotes_tmpa_tl
+ { \tl_gset:NV \pnhdpagefirst \l__postnotes_tmpa_tl }
{ \tl_gset:NV \pnhdpagefirst \g__postnotes_header_prev_last_page_tl }
\prop_get:NnNTF \g__postnotes_header_page_last_prop
- {#1} \l_tmpa_tl
+ {#1} \l__postnotes_tmpa_tl
{
- \tl_gset:NV \pnhdpagelast \l_tmpa_tl
- \tl_gset:NV \g__postnotes_header_prev_last_page_tl \l_tmpa_tl
+ \tl_gset:NV \pnhdpagelast \l__postnotes_tmpa_tl
+ \tl_gset:NV \g__postnotes_header_prev_last_page_tl
+ \l__postnotes_tmpa_tl
}
{ \tl_gset:NV \pnhdpagelast \g__postnotes_header_prev_last_page_tl }
\prop_get:NnNTF \g__postnotes_header_chap_first_prop
- {#1} \l_tmpa_tl
- { \tl_gset:NV \pnhdchapfirst \l_tmpa_tl }
+ {#1} \l__postnotes_tmpa_tl
+ { \tl_gset:NV \pnhdchapfirst \l__postnotes_tmpa_tl }
{ \tl_gset:NV \pnhdchapfirst \g__postnotes_header_prev_last_chap_tl }
\prop_get:NnNTF \g__postnotes_header_chap_last_prop
- {#1} \l_tmpa_tl
+ {#1} \l__postnotes_tmpa_tl
{
- \tl_gset:NV \pnhdchaplast \l_tmpa_tl
- \tl_gset:NV \g__postnotes_header_prev_last_chap_tl \l_tmpa_tl
+ \tl_gset:NV \pnhdchaplast \l__postnotes_tmpa_tl
+ \tl_gset:NV \g__postnotes_header_prev_last_chap_tl
+ \l__postnotes_tmpa_tl
}
{ \tl_gset:NV \pnhdchaplast \g__postnotes_header_prev_last_chap_tl }
\prop_get:NnNTF \g__postnotes_header_sect_first_prop
- {#1} \l_tmpa_tl
- { \tl_gset:NV \pnhdsectfirst \l_tmpa_tl }
+ {#1} \l__postnotes_tmpa_tl
+ { \tl_gset:NV \pnhdsectfirst \l__postnotes_tmpa_tl }
{ \tl_gset:NV \pnhdsectfirst \g__postnotes_header_prev_last_sect_tl }
\prop_get:NnNTF \g__postnotes_header_sect_last_prop
- {#1} \l_tmpa_tl
+ {#1} \l__postnotes_tmpa_tl
{
- \tl_gset:NV \pnhdsectlast \l_tmpa_tl
- \tl_gset:NV \g__postnotes_header_prev_last_sect_tl \l_tmpa_tl
+ \tl_gset:NV \pnhdsectlast \l__postnotes_tmpa_tl
+ \tl_gset:NV \g__postnotes_header_prev_last_sect_tl
+ \l__postnotes_tmpa_tl
}
{ \tl_gset:NV \pnhdsectlast \g__postnotes_header_prev_last_sect_tl }
\prop_get:NnNTF \g__postnotes_header_name_first_prop
- {#1} \l_tmpa_tl
- { \tl_gset:NV \pnhdnamefirst \l_tmpa_tl }
+ {#1} \l__postnotes_tmpa_tl
+ { \tl_gset:NV \pnhdnamefirst \l__postnotes_tmpa_tl }
{ \tl_gset:NV \pnhdnamefirst \g__postnotes_header_prev_last_name_tl }
\prop_get:NnNTF \g__postnotes_header_name_last_prop
- {#1} \l_tmpa_tl
+ {#1} \l__postnotes_tmpa_tl
{
- \tl_gset:NV \pnhdnamelast \l_tmpa_tl
- \tl_gset:NV \g__postnotes_header_prev_last_name_tl \l_tmpa_tl
+ \tl_gset:NV \pnhdnamelast \l__postnotes_tmpa_tl
+ \tl_gset:NV \g__postnotes_header_prev_last_name_tl
+ \l__postnotes_tmpa_tl
}
{ \tl_gset:NV \pnhdnamelast \g__postnotes_header_prev_last_name_tl }
\group_end:
}
-\cs_generate_variant:Nn \__postnotes_set_headers_vars:n { x }
+\cs_generate_variant:Nn \__postnotes_set_headers_vars:n { e }
\AddToHook { shipout/before } [ postnotes/header ]
{ \__postnotes_set_headers_vars_next: }
\bool_new:N \g__postnotes_header_vars_next_bool
\cs_new_protected:Npn \__postnotes_set_headers_vars_next:
{
\bool_if:NT \g__postnotes_header_vars_next_bool
- { \__postnotes_set_headers_vars:x { \int_eval:n { \c@page + 1 } } }
+ { \__postnotes_set_headers_vars:e { \int_eval:n { \c@page + 1 } } }
}
\cs_new_protected:Npn \__postnotes_set_headers_vars_first:
{
- \__postnotes_set_print_page_label:x
+ \__postnotes_set_print_page_label:e
{ \int_use:N \g__postnotes_print_postnotes_int }
- \__postnotes_set_headers_vars:x
+ \__postnotes_set_headers_vars:e
{
\__postnotes_extract_pageref:e
{ print@ \int_use:N \g__postnotes_print_postnotes_int }
@@ -1053,9 +1064,9 @@
{
\AddToHook { postnotes/note/store } [ postnotes ]
{
- \prop_gput:cnx { \__postnotes_data_name:e { \l_postnotes_note_id_tl } }
+ \prop_gput:cne { \__postnotes_data_name:e { \l_postnotes_note_id_tl } }
{ zref-check@abschap } { \int_use:N \c@zc@abschap }
- \prop_gput:cnx { \__postnotes_data_name:e { \l_postnotes_note_id_tl } }
+ \prop_gput:cne { \__postnotes_data_name:e { \l_postnotes_note_id_tl } }
{ zref-check@abssec } { \int_use:N \c@zc@abssec }
}
\AddToHook { postnotes/print/note/begin } [ postnotes ]