diff options
author | Karl Berry <karl@freefriends.org> | 2023-08-21 20:21:01 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2023-08-21 20:21:01 +0000 |
commit | ffbf60a0694a1a3abba057446f69983dbd04bfd5 (patch) | |
tree | 6d828b5e8e81aeedc075be74e400c50601844a6b /Master/texmf-dist | |
parent | 78f128f37a962971eb0071ac427c974dce850ef9 (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.md | 8 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/postnotes/postnotes-code.pdf | bin | 848203 -> 849779 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/postnotes/postnotes-doc.pdf | bin | 177629 -> 177635 bytes | |||
-rw-r--r-- | Master/texmf-dist/source/latex/postnotes/postnotes.dtx | 62 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/postnotes/postnotes.sty | 48 |
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 Binary files differindex 46520b3bf62..d4a78a2cfee 100644 --- a/Master/texmf-dist/doc/latex/postnotes/postnotes-code.pdf +++ b/Master/texmf-dist/doc/latex/postnotes/postnotes-code.pdf diff --git a/Master/texmf-dist/doc/latex/postnotes/postnotes-doc.pdf b/Master/texmf-dist/doc/latex/postnotes/postnotes-doc.pdf Binary files differindex 8f2ea4fdc65..62ee64468b0 100644 --- a/Master/texmf-dist/doc/latex/postnotes/postnotes-doc.pdf +++ b/Master/texmf-dist/doc/latex/postnotes/postnotes-doc.pdf 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 { |