summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2024-12-04 21:12:17 +0000
committerKarl Berry <karl@freefriends.org>2024-12-04 21:12:17 +0000
commit552b54494f077dadca49f86bb646f699cd750545 (patch)
treea9a24bac130714d1faca2f4d76b6fbb641fa32ef /Master/texmf-dist/tex
parent738b86b389a5f5201762e4e5b2e3b6881761a766 (diff)
postnotes (4dec24)
git-svn-id: svn://tug.org/texlive/trunk@73034 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r--Master/texmf-dist/tex/latex/postnotes/postnotes.sty340
1 files changed, 116 insertions, 224 deletions
diff --git a/Master/texmf-dist/tex/latex/postnotes/postnotes.sty b/Master/texmf-dist/tex/latex/postnotes/postnotes.sty
index 671c9892361..dbe41cb0e4b 100644
--- a/Master/texmf-dist/tex/latex/postnotes/postnotes.sty
+++ b/Master/texmf-dist/tex/latex/postnotes/postnotes.sty
@@ -52,7 +52,7 @@
'postnotes' requires a LaTeX kernel \postnotes@required@kernel\space or newer.%
}%
}%
-\ProvidesExplPackage {postnotes} {2024-11-27} {0.4.2}
+\ProvidesExplPackage {postnotes} {2024-12-03} {0.5.0}
{Endnotes for LaTeX}
\tl_new:N \l__postnotes_tmpa_tl
\tl_new:N \l__postnotes_tmpb_tl
@@ -129,15 +129,7 @@
\bool_new:N \g__postnotes_firstrun_bool
\bool_gset_true:N \g__postnotes_firstrun_bool
\cs_new_protected:Npn \__postnotes_store_labelseq:nn #1#2
- {
- \bool_lazy_any:nT
- {
- { \str_if_eq_p:nn {#1} { mark } }
- { \str_if_eq_p:nn {#1} { section } }
- { \str_if_eq_p:nn {#1} { preprint } }
- }
- { \seq_gput_right:Nn \g__postnotes_labelseq_seq { {#1} {#2} } }
- }
+ { \seq_gput_right:Nn \g__postnotes_labelseq_seq { {#1} {#2} } }
\cs_new_protected:Npn \__postnotes_step_counteraux:nnn #1#2#3
{
\bool_lazy_and:nnT
@@ -202,27 +194,19 @@
{
\legacy_if:nT { @filesw }
{
- \protected@write \@auxout
- { \cs_set_eq:NN \c__postnotes_page_counter_tl \scan_stop: }
+ \protected@write \@auxout { }
{ \token_to_str:N \post@note { #1 } { #2 } { #3 } { #4 } }
}
}
-\tl_const:Nn \c__postnotes_page_counter_tl { \int_use:N \c@page }
\cs_new_protected:Npn \__postnotes_set_mark_page_label:nn #1#2
{ \__postnotes_set_label:nnnn { mark } { #1 } { \thepage } { #2 } }
\cs_generate_variant:Nn \__postnotes_set_mark_page_label:nn { ee }
\cs_new_protected:Npn \__postnotes_set_section_page_label:n #1
{ \__postnotes_set_label:nnnn { section } { #1 } { \thepage } { } }
\cs_generate_variant:Nn \__postnotes_set_section_page_label:n { e }
-\cs_new_protected:Npn \__postnotes_set_text_page_label:n #1
- { \__postnotes_set_label:nnnn { text } { #1 } { \c__postnotes_page_counter_tl } { } }
-\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:nnnn { print } { #1 } { \c__postnotes_page_counter_tl } { } }
-\cs_generate_variant:Nn \__postnotes_set_print_page_label:n { e }
-\cs_new_protected:Npn \__postnotes_set_pre_print_label:n #1
- { \__postnotes_set_label:nnnn { preprint } { #1 } { } { } }
-\cs_generate_variant:Nn \__postnotes_set_pre_print_label:n { e }
+\cs_new_protected:Npn \__postnotes_set_print_label:n #1
+ { \__postnotes_set_label:nnnn { print } { #1 } { } { } }
+\cs_generate_variant:Nn \__postnotes_set_print_label:n { e }
\cs_new_protected:Npn \__postnotes_get_pageref:Nn #1#2
{
\cs_if_exist:cTF { \c__postnotes_ref_prefix_tl @ #2 }
@@ -257,6 +241,19 @@
\@mkboth{\pnheaderdefault}{\pnheaderdefault}
}
}
+\NewDocumentCommand \pnheaderdefault {}
+ {
+ \group_begin:
+ \protected@edef \l__postnotes_tmpa_tl { \FirstMark{postnotes/page} }
+ \protected@edef \l__postnotes_tmpb_tl { \LastMark{postnotes/page} }
+ \tl_if_eq:NNTF \l__postnotes_tmpa_tl \l__postnotes_tmpb_tl
+ { \pnhdnotes{}~\pnhdtopage{}~ \FirstMark{postnotes/page} }
+ {
+ \pnhdnotes{}~\pnhdtopages{}~
+ \FirstMark{postnotes/page}--\LastMark{postnotes/page}
+ }
+ \group_end:
+ }
\tl_new:N \l__postnotes_print_format_tl
\keys_define:nn { postnotes/setup }
{
@@ -550,6 +547,7 @@
\NewDocumentCommand \postnote { O { } +m }
{ \__postnotes_note:nn {#1} {#2} }
\NewHook { postnotes/note/begin }
+\NewHook { postnotes/note/setlabels }
\cs_new_protected:Npn \__postnotes_note:nn #1#2
{
\group_begin:
@@ -595,6 +593,7 @@
}
\tl_set:Nn \l__postnotes_note_set_labels_tl
{
+ \UseHook { postnotes/note/setlabels }
\MakeLinkTarget* { postnote. \l_postnotes_note_id_tl .mark }
\__postnotes_set_mark_page_label:ee { \l_postnotes_note_id_tl }
{ \int_use:N \l__postnotes_counteraux_step_int }
@@ -850,9 +849,19 @@
\tl_new:N \l__postnotes_print_type_next_tl
\tl_new:N \l__postnotes_print_type_prev_tl
\tl_new:N \l__postnotes_print_content_tl
+\tl_new:N \l__postnotes_print_page_tl
+\tl_new:N \l__postnotes_print_chapter_tl
+\tl_new:N \l__postnotes_print_section_tl
+\tl_new:N \l__postnotes_print_sectname_tl
\seq_new:N \l__postnotes_clear_queue_seq
+\mark_new_class:n { postnotes/page }
+\mark_new_class:n { postnotes/chapter }
+\mark_new_class:n { postnotes/section }
+\mark_new_class:n { postnotes/sectname }
\NewHook { postnotes/print/begin }
\NewHook { postnotes/print/note/begin }
+\NewHook { postnotes/print/note/typesetmark }
+\NewHook { postnotes/print/note/ltmarks }
\newcounter { postnotetext }
\newcounter { postnotesection }
\setcounter { postnotesection } { 10000 }
@@ -874,7 +883,7 @@
}
\seq_set_eq:NN \l__postnotes_clear_queue_seq \g__postnotes_print_queue_seq
\seq_gclear:N \g__postnotes_queue_seq
- \__postnotes_set_pre_print_label:e
+ \__postnotes_set_print_label:e
{ \int_use:N \g__postnotes_print_postnotes_int }
\seq_if_empty:NTF \g__postnotes_print_queue_seq
{ \msg_warning:nn { postnotes } { empty-printpostnotes } }
@@ -886,7 +895,6 @@
\__postnotes_sort_queue:N \g__postnotes_print_queue_seq
\__postnotes_check_floats:N \g__postnotes_print_queue_seq
\bool_gset_true:N \g__postnotes_header_vars_next_bool
- \__postnotes_get_headers_data:N \g__postnotes_print_queue_seq
\__postnotes_set_headers_vars_first:
\bool_if:NF \l__postnotes_print_as_list_bool
{
@@ -963,8 +971,15 @@
}
\group_begin:
\UseHook { postnotes/print/note/begin }
- \__postnotes_get_pageref:Ne \pnthepage
+ \__postnotes_get_pageref:Ne \l__postnotes_print_page_tl
{ mark@ \l_postnotes_print_note_id_tl }
+ \__postnotes_prop_get:nnN { \l_postnotes_print_note_id_tl }
+ { thechapter } \l__postnotes_print_chapter_tl
+ \__postnotes_prop_get:nnN { \l_postnotes_print_note_id_tl }
+ { thesection } \l__postnotes_print_section_tl
+ \__postnotes_prop_get:nnN { \l_postnotes_print_note_id_tl }
+ { pnsectname } \l__postnotes_print_sectname_tl
+ \tl_set_eq:NN \pnthepage \l__postnotes_print_page_tl
\__postnotes_prop_get:nnN
{ \l_postnotes_print_note_id_tl }
{ mark } \l__postnotes_print_mark_tl
@@ -982,10 +997,9 @@
\tl_set:Nn \l__postnotes_print_typeset_mark_tl
{
\tag_socket_use:n { postnotes/printmark/begin }
+ \UseHook { postnotes/print/note/typesetmark }
\MakeLinkTarget*
{ postnote. \l_postnotes_print_note_id_tl .text }
- \__postnotes_set_text_page_label:e
- { \l_postnotes_print_note_id_tl }
\l__postnotes_pre_textmark_tl
\__postnotes_typeset_text_mark:eV
{ \l_postnotes_print_note_id_tl }
@@ -1007,6 +1021,15 @@
\tag_socket_use:n { postnotes/printnote/begin }
\l__postnotes_print_typeset_mark_tl
}
+ \UseHook { postnotes/print/note/ltmarks }
+ \mark_insert:nn { postnotes/page }
+ { \l__postnotes_print_page_tl }
+ \mark_insert:nn { postnotes/chapter }
+ { \l__postnotes_print_chapter_tl }
+ \mark_insert:nn { postnotes/section }
+ { \l__postnotes_print_section_tl }
+ \mark_insert:nn { postnotes/sectname }
+ { \l__postnotes_print_sectname_tl }
\tag_socket_use:n { postnotes/printtext/begin }
\l__postnotes_print_content_tl
\tag_socket_use:n { postnotes/printtext/end }
@@ -1061,7 +1084,7 @@
\bool_if:NTF \g__postnotes_counteraux_bool
{
\tl_set:Ne \l__postnotes_tmpa_tl
- { { preprint } { \int_use:N \g__postnotes_print_postnotes_int } }
+ { { print } { \int_use:N \g__postnotes_print_postnotes_int } }
\seq_if_in:NVF \g__postnotes_labelseq_seq \l__postnotes_tmpa_tl
{ \seq_gput_right:NV \g__postnotes_labelseq_seq \l__postnotes_tmpa_tl }
\bool_do_until:nn
@@ -1245,218 +1268,87 @@
\tl_new:N \pnhdsectlast
\tl_new:N \pnhdnamefirst
\tl_new:N \pnhdnamelast
-\prop_new:N \g__postnotes_header_page_first_prop
-\prop_new:N \g__postnotes_header_page_last_prop
-\prop_new:N \g__postnotes_header_chap_first_prop
-\prop_new:N \g__postnotes_header_chap_last_prop
-\prop_new:N \g__postnotes_header_sect_first_prop
-\prop_new:N \g__postnotes_header_sect_last_prop
-\prop_new:N \g__postnotes_header_name_first_prop
-\prop_new:N \g__postnotes_header_name_last_prop
-\tl_new:N \g__postnotes_header_prev_last_page_tl
-\tl_new:N \g__postnotes_header_prev_last_chap_tl
-\tl_new:N \g__postnotes_header_prev_last_sect_tl
-\tl_new:N \g__postnotes_header_prev_last_name_tl
-\tl_new:N \l__postnotes_prev_text_page_tl
-\tl_new:N \l__postnotes_curr_text_page_tl
-\tl_new:N \l__postnotes_prev_mark_page_tl
-\tl_new:N \l__postnotes_prev_mark_chap_tl
-\tl_new:N \l__postnotes_prev_mark_sect_tl
-\tl_new:N \l__postnotes_prev_mark_name_tl
-\cs_new_protected:Npn \__postnotes_get_headers_data:N #1
- {
- \group_begin:
- \tl_gclear:N \pnhdpagefirst
- \tl_gclear:N \pnhdpagelast
- \tl_gclear:N \pnhdchapfirst
- \tl_gclear:N \pnhdchaplast
- \tl_gclear:N \pnhdsectfirst
- \tl_gclear:N \pnhdsectlast
- \tl_gclear:N \pnhdnamefirst
- \tl_gclear:N \pnhdnamelast
- \prop_gclear:N \g__postnotes_header_page_first_prop
- \prop_gclear:N \g__postnotes_header_page_last_prop
- \prop_gclear:N \g__postnotes_header_chap_first_prop
- \prop_gclear:N \g__postnotes_header_chap_last_prop
- \prop_gclear:N \g__postnotes_header_sect_first_prop
- \prop_gclear:N \g__postnotes_header_sect_last_prop
- \prop_gclear:N \g__postnotes_header_name_first_prop
- \prop_gclear:N \g__postnotes_header_name_last_prop
- \tl_gclear:N \g__postnotes_header_prev_last_page_tl
- \tl_gclear:N \g__postnotes_header_prev_last_chap_tl
- \tl_gclear:N \g__postnotes_header_prev_last_sect_tl
- \tl_gclear:N \g__postnotes_header_prev_last_name_tl
- \tl_clear:N \l__postnotes_prev_text_page_tl
- \tl_clear:N \l__postnotes_curr_text_page_tl
- \tl_clear:N \l__postnotes_prev_mark_page_tl
- \tl_clear:N \l__postnotes_prev_mark_chap_tl
- \tl_clear:N \l__postnotes_prev_mark_sect_tl
- \tl_clear:N \l__postnotes_prev_mark_name_tl
- \seq_map_inline:Nn #1
- {
- \exp_args:Ne \tl_if_eq:nnT
- { \__postnotes_prop_item:nn {##1} { type } }
- { note }
- {
- \__postnotes_get_pageref:Nn
- \l__postnotes_curr_text_page_tl { text@ ##1 }
- \tl_if_empty:NF \l__postnotes_curr_text_page_tl
- {
- \tl_if_eq:NNTF
- \l__postnotes_prev_text_page_tl
- \l__postnotes_curr_text_page_tl
- {
- \__postnotes_get_pageref:Nn
- \l__postnotes_prev_mark_page_tl { mark@ ##1 }
- \__postnotes_prop_get:nnN {##1} { thechapter }
- \l__postnotes_prev_mark_chap_tl
- \__postnotes_prop_get:nnN {##1} { thesection }
- \l__postnotes_prev_mark_sect_tl
- \__postnotes_prop_get:nnN {##1} { pnsectname }
- \l__postnotes_prev_mark_name_tl
- }
- {
- \tl_if_empty:NF \l__postnotes_prev_text_page_tl
- {
- \prop_gput:NVV \g__postnotes_header_page_last_prop
- \l__postnotes_prev_text_page_tl
- \l__postnotes_prev_mark_page_tl
- \prop_gput:NVV \g__postnotes_header_chap_last_prop
- \l__postnotes_prev_text_page_tl
- \l__postnotes_prev_mark_chap_tl
- \prop_gput:NVV \g__postnotes_header_sect_last_prop
- \l__postnotes_prev_text_page_tl
- \l__postnotes_prev_mark_sect_tl
- \prop_gput:NVV \g__postnotes_header_name_last_prop
- \l__postnotes_prev_text_page_tl
- \l__postnotes_prev_mark_name_tl
- }
- \prop_gput:NVe \g__postnotes_header_page_first_prop
- \l__postnotes_curr_text_page_tl
- { \__postnotes_extract_pageref:n { mark@ ##1 } }
- \__postnotes_prop_get:nnN {##1} { thechapter }
- \l__postnotes_tmpa_tl
- \prop_gput:NVV \g__postnotes_header_chap_first_prop
- \l__postnotes_curr_text_page_tl
- \l__postnotes_tmpa_tl
- \__postnotes_prop_get:nnN {##1} { thesection }
- \l__postnotes_tmpa_tl
- \prop_gput:NVV \g__postnotes_header_sect_first_prop
- \l__postnotes_curr_text_page_tl
- \l__postnotes_tmpa_tl
- \__postnotes_prop_get:nnN {##1} { pnsectname }
- \l__postnotes_tmpa_tl
- \prop_gput:NVV \g__postnotes_header_name_first_prop
- \l__postnotes_curr_text_page_tl
- \l__postnotes_tmpa_tl
- \__postnotes_get_pageref:Nn
- \l__postnotes_prev_mark_page_tl { mark@ ##1 }
- \__postnotes_prop_get:nnN {##1} { thechapter }
- \l__postnotes_prev_mark_chap_tl
- \__postnotes_prop_get:nnN {##1} { thesection }
- \l__postnotes_prev_mark_sect_tl
- \__postnotes_prop_get:nnN {##1} { pnsectname }
- \l__postnotes_prev_mark_name_tl
- \tl_set:NV \l__postnotes_prev_text_page_tl
- \l__postnotes_curr_text_page_tl
- }
- }
- }
- }
- \tl_if_empty:NF \l__postnotes_prev_text_page_tl
- {
- \prop_gput:NVV \g__postnotes_header_page_last_prop
- \l__postnotes_prev_text_page_tl
- \l__postnotes_prev_mark_page_tl
- \prop_gput:NVV \g__postnotes_header_chap_last_prop
- \l__postnotes_prev_text_page_tl
- \l__postnotes_prev_mark_chap_tl
- \prop_gput:NVV \g__postnotes_header_sect_last_prop
- \l__postnotes_prev_text_page_tl
- \l__postnotes_prev_mark_sect_tl
- \prop_gput:NVV \g__postnotes_header_name_last_prop
- \l__postnotes_prev_text_page_tl
- \l__postnotes_prev_mark_name_tl
- }
- \group_end:
- }
\cs_new_protected:Npn \__postnotes_set_headers_vars:n #1
{
\group_begin:
- \prop_get:NnNTF \g__postnotes_header_page_first_prop
- {#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__postnotes_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__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__postnotes_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__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__postnotes_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__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__postnotes_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 }
+ \protected@xdef \pnhdpagefirst
+ { \property_ref:nn { #1 } { postnotes/page/first } }
+ \protected@xdef \pnhdpagelast
+ { \property_ref:nn { #1 } { postnotes/page/last } }
+ \protected@xdef \pnhdchapfirst
+ { \property_ref:nn { #1 } { postnotes/chapter/first } }
+ \protected@xdef \pnhdchaplast
+ { \property_ref:nn { #1 } { postnotes/chapter/last } }
+ \protected@xdef \pnhdsectfirst
+ { \property_ref:nn { #1 } { postnotes/section/first } }
+ \protected@xdef \pnhdsectlast
+ { \property_ref:nn { #1 } { postnotes/section/last } }
+ \protected@xdef \pnhdnamefirst
+ { \property_ref:nn { #1 } { postnotes/sectname/first } }
+ \protected@xdef \pnhdnamelast
+ { \property_ref:nn { #1 } { postnotes/sectname/last } }
\group_end:
}
\cs_generate_variant:Nn \__postnotes_set_headers_vars:n { e }
+\property_new:nnnn { postnotes/page/first } { shipout } { }
+ { \FirstMark { postnotes/page } }
+\property_new:nnnn { postnotes/page/last } { shipout } { }
+ { \LastMark { postnotes/page } }
+\property_new:nnnn { postnotes/chapter/first } { shipout } { }
+ { \FirstMark { postnotes/chapter } }
+\property_new:nnnn { postnotes/chapter/last } { shipout } { }
+ { \LastMark { postnotes/chapter } }
+\property_new:nnnn { postnotes/section/first } { shipout } { }
+ { \FirstMark { postnotes/section } }
+\property_new:nnnn { postnotes/section/last } { shipout } { }
+ { \LastMark { postnotes/section } }
+\property_new:nnnn { postnotes/sectname/first } { shipout } { }
+ { \FirstMark { postnotes/sectname } }
+\property_new:nnnn { postnotes/sectname/last } { shipout } { }
+ { \LastMark { postnotes/sectname } }
+\clist_const:Nn \c__postnotes_header_marks_clist
+ {
+ postnotes/page/first ,
+ postnotes/page/last ,
+ postnotes/chapter/first ,
+ postnotes/chapter/last ,
+ postnotes/section/first ,
+ postnotes/section/last ,
+ postnotes/sectname/first ,
+ postnotes/sectname/last ,
+ }
\AddToHook { shipout/before } [ ./header ]
{ \__postnotes_set_headers_vars_next: }
\bool_new:N \g__postnotes_header_vars_next_bool
+\int_new:N \g__postnotes_print_header_vars_int
\cs_new_protected:Npn \__postnotes_set_headers_vars_next:
{
\bool_if:NT \g__postnotes_header_vars_next_bool
- { \__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:e
- { \int_use:N \g__postnotes_print_postnotes_int }
- \__postnotes_set_headers_vars:e
{
- \__postnotes_extract_pageref:e
- { print@ \int_use:N \g__postnotes_print_postnotes_int }
+ \int_gincr:N \g__postnotes_print_header_vars_int
+ \exp_args:Ne \property_record:nN
+ { __postnotes_header_ \int_use:N \g__postnotes_print_header_vars_int }
+ \c__postnotes_header_marks_clist
+ \__postnotes_set_headers_vars:e
+ { __postnotes_header_ \int_use:N \g__postnotes_print_header_vars_int }
}
}
-\NewDocumentCommand \pnheaderdefault {}
+\cs_new_protected:Npn \__postnotes_set_headers_vars_first:
{
- \tl_if_eq:NNTF \pnhdpagefirst \pnhdpagelast
- { \pnhdnotes{} ~ \pnhdtopage{} ~ \pnhdpagefirst }
- { \pnhdnotes{} ~ \pnhdtopages{} ~ \pnhdpagefirst -- \pnhdpagelast }
+ \tl_gset:Nn \pnhdpagefirst { \FirstMark{postnotes/page} }
+ \tl_gset:Nn \pnhdpagelast { \LastMark{postnotes/page} }
+ \tl_gset:Nn \pnhdchapfirst { \FirstMark{postnotes/chapter} }
+ \tl_gset:Nn \pnhdchaplast { \LastMark{postnotes/chapter} }
+ \tl_gset:Nn \pnhdsectfirst { \FirstMark{postnotes/section} }
+ \tl_gset:Nn \pnhdsectlast { \LastMark{postnotes/section} }
+ \tl_gset:Nn \pnhdnamefirst { \FirstMark{postnotes/sectname} }
+ \tl_gset:Nn \pnhdnamelast { \LastMark{postnotes/sectname} }
+ \int_gincr:N \g__postnotes_print_header_vars_int
+ \exp_args:Ne \property_record:nN
+ { __postnotes_header_ \int_use:N \g__postnotes_print_header_vars_int }
+ \c__postnotes_header_marks_clist
+ \__postnotes_set_headers_vars:e
+ { __postnotes_header_ \int_use:N \g__postnotes_print_header_vars_int }
}
\tl_new:N \l__postnotes_restore_tmp_tl
\AddToHook { postnotes/note/begin } [ ./compat/caption ]