summaryrefslogtreecommitdiff
path: root/Master/texmf-dist
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2023-08-21 20:21:01 +0000
committerKarl Berry <karl@freefriends.org>2023-08-21 20:21:01 +0000
commitffbf60a0694a1a3abba057446f69983dbd04bfd5 (patch)
tree6d828b5e8e81aeedc075be74e400c50601844a6b /Master/texmf-dist
parent78f128f37a962971eb0071ac427c974dce850ef9 (diff)
postnotes (21aug23)
git-svn-id: svn://tug.org/texlive/trunk@68006 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r--Master/texmf-dist/doc/latex/postnotes/CHANGELOG.md8
-rw-r--r--Master/texmf-dist/doc/latex/postnotes/postnotes-code.pdfbin848203 -> 849779 bytes
-rw-r--r--Master/texmf-dist/doc/latex/postnotes/postnotes-doc.pdfbin177629 -> 177635 bytes
-rw-r--r--Master/texmf-dist/source/latex/postnotes/postnotes.dtx62
-rw-r--r--Master/texmf-dist/tex/latex/postnotes/postnotes.sty48
5 files changed, 80 insertions, 38 deletions
diff --git a/Master/texmf-dist/doc/latex/postnotes/CHANGELOG.md b/Master/texmf-dist/doc/latex/postnotes/CHANGELOG.md
index dc6811e52c6..fda5f611731 100644
--- a/Master/texmf-dist/doc/latex/postnotes/CHANGELOG.md
+++ b/Master/texmf-dist/doc/latex/postnotes/CHANGELOG.md
@@ -1,6 +1,12 @@
# Changelog
-## [Unreleased](https://github.com/gusbrs/postnotes/compare/v0.2.5...HEAD)
+## [Unreleased](https://github.com/gusbrs/postnotes/compare/v0.2.6...HEAD)
+
+## [v0.2.6](https://github.com/gusbrs/postnotes/compare/v0.2.5...v0.2.6) (2023-08-21)
+
+### Fixed
+- Check `if@filesw` before writing labels to the .aux file.
+- Ensure `\post@note` is defined in the .aux file.
## [v0.2.5](https://github.com/gusbrs/postnotes/compare/v0.2.4...v0.2.5) (2023-06-16)
diff --git a/Master/texmf-dist/doc/latex/postnotes/postnotes-code.pdf b/Master/texmf-dist/doc/latex/postnotes/postnotes-code.pdf
index 46520b3bf62..d4a78a2cfee 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-doc.pdf b/Master/texmf-dist/doc/latex/postnotes/postnotes-doc.pdf
index 8f2ea4fdc65..62ee64468b0 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/source/latex/postnotes/postnotes.dtx b/Master/texmf-dist/source/latex/postnotes/postnotes.dtx
index cb7998fbea0..5a32a179630 100644
--- a/Master/texmf-dist/source/latex/postnotes/postnotes.dtx
+++ b/Master/texmf-dist/source/latex/postnotes/postnotes.dtx
@@ -138,23 +138,22 @@
% kernel or newer.
%
% \begin{macrocode}
-\NeedsTeXFormat{LaTeX2e}
+\def\postnotes@required@kernel{2022-06-01}
+\NeedsTeXFormat{LaTeX2e}[\postnotes@required@kernel]
\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}
-\IfFormatAtLeastTF{2022-06-01}
+\IfFormatAtLeastTF{\postnotes@required@kernel}
{}
{%
\PackageError{postnotes}{LaTeX kernel too old}
{%
- 'postnotes' requires a LaTeX kernel 2022-06-01 or newer.%
- \MessageBreak Loading will abort!%
+ 'postnotes' requires a LaTeX kernel \postnotes@required@kernel\space or newer.%
}%
- \endinput
}%
% \end{macrocode}
%
%
% \begin{macrocode}
-\ProvidesExplPackage {postnotes} {2023-06-16} {0.2.5}
+\ProvidesExplPackage {postnotes} {2023-08-21} {0.2.6}
{Endnotes for LaTeX}
% \end{macrocode}
%
@@ -296,9 +295,32 @@
% \end{macrocode}
% \end{macro}
%
+% And ensure \cs{post@note} is defined in the \file{.aux} file. The hooks are
+% the same used by \pkg{hyperref} for similar purpose.
+%
+% \begin{macrocode}
+\AddToHook { begindocument }
+ {
+ \legacy_if:nT { @filesw }
+ {
+ \iow_now:Nx \@mainaux
+ { \token_to_str:N \providecommand \token_to_str:N \post@note [2]{} }
+ }
+ }
+\AddToHook { include/before }
+ {
+ \legacy_if:nT { @filesw }
+ {
+ \iow_now:Nx \@partaux
+ { \token_to_str:N \providecommand \token_to_str:N \post@note [2]{} }
+ }
+ }
+% \end{macrocode}
+%
%
% \begin{macro}
% {
+% \@@_set_label:nn ,
% \@@_set_mark_page_label:n ,
% \@@_set_text_page_label:n ,
% \@@_set_print_page_label:n ,
@@ -307,28 +329,28 @@
% \cs{iow_shipout_x:Nn}, since the main information we are interested in is
% the \texttt{page}.
% \begin{syntax}
-% \cs{@@_set_mark_page_label:n} \Arg{label name}
-% \cs{@@_set_text_page_label:n} \Arg{label name}
-% \cs{@@_set_print_page_label:n} \Arg{label name}
+% \cs{@@_set_label:nn} \Arg{label name} \Arg{value}
+% \cs{@@_set_mark_page_label:n} \Arg{note id}
+% \cs{@@_set_text_page_label:n} \Arg{note id}
+% \cs{@@_set_print_page_label:n} \Arg{note id}
% \end{syntax}
% \begin{macrocode}
-\cs_new_protected:Npn \@@_set_mark_page_label:n #1
+\cs_new_protected:Npn \@@_set_label:nn #1#2
{
- \iow_shipout_x:Nn \@auxout
- { \token_to_str:N \post@note { mark@ #1 } { \thepage } }
+ \legacy_if:nT { @filesw }
+ {
+ \iow_shipout_x:Nn \@auxout
+ { \token_to_str:N \post@note { #1 } { #2 } }
+ }
}
+\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_new_protected:Npn \@@_set_text_page_label:n #1
- {
- \iow_shipout_x:Nn \@auxout
- { \token_to_str:N \post@note { text@ #1 } { \int_use:N \c@page } }
- }
+ { \@@_set_label:nn { text@ #1 } { \int_use:N \c@page } }
\cs_generate_variant:Nn \@@_set_text_page_label:n { x }
\cs_new_protected:Npn \@@_set_print_page_label:n #1
- {
- \iow_shipout_x:Nn \@auxout
- { \token_to_str:N \post@note { print@ #1 } { \int_use:N \c@page } }
- }
+ { \@@_set_label:nn { print@ #1 } { \int_use:N \c@page } }
\cs_generate_variant:Nn \@@_set_print_page_label:n { x }
% \end{macrocode}
% \end{macro}
diff --git a/Master/texmf-dist/tex/latex/postnotes/postnotes.sty b/Master/texmf-dist/tex/latex/postnotes/postnotes.sty
index 8039674ac09..400353d766b 100644
--- a/Master/texmf-dist/tex/latex/postnotes/postnotes.sty
+++ b/Master/texmf-dist/tex/latex/postnotes/postnotes.sty
@@ -42,19 +42,18 @@
%%
%% -----------------------------------------------------------------------
%%
-\NeedsTeXFormat{LaTeX2e}
+\def\postnotes@required@kernel{2022-06-01}
+\NeedsTeXFormat{LaTeX2e}[\postnotes@required@kernel]
\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}
-\IfFormatAtLeastTF{2022-06-01}
+\IfFormatAtLeastTF{\postnotes@required@kernel}
{}
{%
\PackageError{postnotes}{LaTeX kernel too old}
{%
- 'postnotes' requires a LaTeX kernel 2022-06-01 or newer.%
- \MessageBreak Loading will abort!%
+ 'postnotes' requires a LaTeX kernel \postnotes@required@kernel\space or newer.%
}%
- \endinput
}%
-\ProvidesExplPackage {postnotes} {2023-06-16} {0.2.5}
+\ProvidesExplPackage {postnotes} {2023-08-21} {0.2.6}
{Endnotes for LaTeX}
\cs_new:Npn \__postnotes_data_name:n #1
{ g__postnotes_ #1 _data_prop }
@@ -116,23 +115,38 @@
\tl_const:Nn \c__postnotes_ref_prefix_tl { postnote@r }
\cs_new_protected:Npx \post@note #1#2
{ \exp_not:N \@newl@bel { \c__postnotes_ref_prefix_tl } {#1} {#2} }
-\cs_new_protected:Npn \__postnotes_set_mark_page_label:n #1
+\AddToHook { begindocument }
{
- \iow_shipout_x:Nn \@auxout
- { \token_to_str:N \post@note { mark@ #1 } { \thepage } }
+ \legacy_if:nT { @filesw }
+ {
+ \iow_now:Nx \@mainaux
+ { \token_to_str:N \providecommand \token_to_str:N \post@note [2]{} }
+ }
}
-\cs_generate_variant:Nn \__postnotes_set_mark_page_label:n { x }
-\cs_new_protected:Npn \__postnotes_set_text_page_label:n #1
+\AddToHook { include/before }
{
- \iow_shipout_x:Nn \@auxout
- { \token_to_str:N \post@note { text@ #1 } { \int_use:N \c@page } }
+ \legacy_if:nT { @filesw }
+ {
+ \iow_now:Nx \@partaux
+ { \token_to_str:N \providecommand \token_to_str:N \post@note [2]{} }
+ }
}
-\cs_generate_variant:Nn \__postnotes_set_text_page_label:n { x }
-\cs_new_protected:Npn \__postnotes_set_print_page_label:n #1
+\cs_new_protected:Npn \__postnotes_set_label:nn #1#2
{
- \iow_shipout_x:Nn \@auxout
- { \token_to_str:N \post@note { print@ #1 } { \int_use:N \c@page } }
+ \legacy_if:nT { @filesw }
+ {
+ \iow_shipout_x:Nn \@auxout
+ { \token_to_str:N \post@note { #1 } { #2 } }
+ }
}
+\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_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_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_new_protected:Npn \__postnotes_get_pageref:Nn #1#2
{