texlive[42469] Master/texmf-dist: enotez (8nov16)

commits+karl at tug.org commits+karl at tug.org
Tue Nov 8 23:36:55 CET 2016


Revision: 42469
          http://tug.org/svn/texlive?view=revision&revision=42469
Author:   karl
Date:     2016-11-08 23:36:54 +0100 (Tue, 08 Nov 2016)
Log Message:
-----------
enotez (8nov16)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/enotez/README
    trunk/Master/texmf-dist/doc/latex/enotez/enotez_en.pdf
    trunk/Master/texmf-dist/doc/latex/enotez/enotez_en.tex
    trunk/Master/texmf-dist/doc/latex/enotez/enotez_split_example.tex
    trunk/Master/texmf-dist/tex/latex/enotez/enotez.sty

Modified: trunk/Master/texmf-dist/doc/latex/enotez/README
===================================================================
--- trunk/Master/texmf-dist/doc/latex/enotez/README	2016-11-08 22:36:42 UTC (rev 42468)
+++ trunk/Master/texmf-dist/doc/latex/enotez/README	2016-11-08 22:36:54 UTC (rev 42469)
@@ -1,9 +1,9 @@
 --------------------------------------------------------------------------
-the ENOTEZ package v0.8b
+the ENOTEZ package v0.9
 
   Endnotes for LaTeX2e
 
-2016/01/07
+2016/11/08
 --------------------------------------------------------------------------
 Clemens Niederberger
 Web:    https://bitbucket.org/cgnieder/enotez/

Modified: trunk/Master/texmf-dist/doc/latex/enotez/enotez_en.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/enotez/enotez_en.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/enotez/enotez_en.tex	2016-11-08 22:36:42 UTC (rev 42468)
+++ trunk/Master/texmf-dist/doc/latex/enotez/enotez_en.tex	2016-11-08 22:36:54 UTC (rev 42469)
@@ -69,7 +69,7 @@
   index-setup = {
      othercode = \footnotesize ,
      level = \addsec ,
-     noclearpage
+     % noclearpage
   } ,
   makeindex-setup = {
      columns = 3 ,
@@ -128,6 +128,10 @@
 \begin{commands}
   \command{endnote}[\oarg{mark}\marg{text}]
     Add an endnote in the text.
+  \command{endnotemark}[\oarg{mark}]
+    \sinceversion{0.9}Add an endnotemark.
+  \command{endnotetext}[\marg{text}]
+    \sinceversion{0.9}Add text to an endnote placed with \cs{endnotemark}.
 \end{commands}
 \begin{example}
   This is some text.\endnote{With an endnote.}
@@ -134,17 +138,18 @@
 \end{example}
 There's not really much more to it.  It is possible to add a custom mark by
 using the optional argument but that shouldn't be needed too often.
-\cs{endnote} works fine inside tables, minipages, floats and
-captions\footnote{This has been tested with the standard classes,
-  \cls{memoir}, and the \cls{KOMA-Script} classes, with and without the
-  \pkg*{caption} package.  If you're using another package that redefines
-  \cs*{caption} or are using another class it might not work.  Before you
-  place a note in a caption you should re-think the idea anyway.}.  Endnotes
+% \cs{endnote} works fine inside tables, minipages, floats and
+% captions\footnote{This has been tested with the standard classes,
+%   \cls{memoir}, and the \cls{KOMA-Script} classes, with and without the
+%   \pkg*{caption} package.  If you're using another package that redefines
+%   \cs*{caption} or are using another class it might not work.  Before you
+%   place a note in a caption you should re-think the idea anyway.}.
+Endnotes
 can also be nested.
 
-Since this functionality seemed making a pair
-\cs{endnotemark}/\cs{endnotetext} superfluous they are \emph{not} defined by
-\enotez.
+% Since this functionality seemed making a pair
+% \cs{endnotemark}/\cs{endnotetext} superfluous they are \emph{not} defined by
+% \enotez.
 \begin{example}
   This is some text.\endnote{With another endnote.\endnote{This is a
       nested\endnote{And another level deeper\ldots} endnote!}}
@@ -157,32 +162,32 @@
 contains the current mark which is preceded by \cs{enmarkstyle}.  Both of
 these commands can be redefined of course to adapt to custom settings.  This
 can also be done using options, see section~\ref{sec:options}.  The mark of
-the endnote that has been set last is stored in \cs{theendnote} and in
+the endnote that has been set last is stored in % \cs{theendnote} and in
 \verbcode+\@currentlabel+.\sinceversion{0.6}
 
-This could be used to define a command which writes a mark:
-\begin{example}
-  % we cannot use \newcommand -- the command starts with \end...
-  \makeatletter
-  \def\endnotemark{\@ifnextchar[{\@endnotemark}{\@endnotemark[\theendnote]}}
-  \def\@endnotemark[#1]{\enotezwritemark{\enmarkstyle#1}}
-  \makeatother
-  Text\endnotemark
-\end{example}
-Please note that this definition \emph{does not} step the endnote counter but
-either refers to the last number (no optional argument) or uses the one
-provided in the optional argument.
+% This could be used to define a command which writes a mark:
+% \begin{example}
+%   % we cannot use \newcommand -- the command starts with \end...
+%   \makeatletter
+%   \def\endnotemark{\@ifnextchar[{\@endnotemark}{\@endnotemark[\theendnote]}}
+%   \def\@endnotemark[#1]{\enotezwritemark{\enmarkstyle#1}}
+%   \makeatother
+%   Text\endnotemark
+% \end{example}
+% Please note that this definition \emph{does not} step the endnote counter but
+% either refers to the last number (no optional argument) or uses the one
+% provided in the optional argument.
 
-\makeatletter
-\def\endnotemark{\@ifnextchar[{\@endnotemark}{\@endnotemark[\theendnote]}}
-\def\@endnotemark[#1]{\enotezwritemark{\enmarkstyle#1}}
-\makeatother
+% \makeatletter
+% \def\endnotemark{\@ifnextchar[{\@endnotemark}{\@endnotemark[\theendnote]}}
+% \def\@endnotemark[#1]{\enotezwritemark{\enmarkstyle#1}}
+% \makeatother
 
 Endnotes can also be labelled and later be referred to:
 \begin{example}
   The next endnote\endnote{This endnote gets a label.}\label{en:test} has
-  the number~\ref{en:test}.  We can use this with the previous definition
-  of \cs{endnotemark}\endnotemark[\ref{en:test}].
+  the number~\ref{en:test}.  Let's now test
+  \cs{endnotemark}\endnotemark[\ref{en:test}].
 \end{example}
 
 \subsection{Printing the Notes}
@@ -515,4 +520,3 @@
 \printendnotes[addsec]
 
 \end{document}
-

Modified: trunk/Master/texmf-dist/doc/latex/enotez/enotez_split_example.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/enotez/enotez_split_example.tex	2016-11-08 22:36:42 UTC (rev 42468)
+++ trunk/Master/texmf-dist/doc/latex/enotez/enotez_split_example.tex	2016-11-08 22:36:54 UTC (rev 42469)
@@ -1,8 +1,8 @@
-\documentclass{scrartcl}
+\documentclass{article}
+% \documentclass{scrartcl}
 % \documentclass{memoir}
-% \documentclass{article}
 \usepackage[english]{babel}
-\usepackage{caption}
+% \usepackage{caption}
 \usepackage[T1]{fontenc}
 \usepackage{libertine}
 
@@ -14,6 +14,7 @@
   split=section,
   list-style=section,
   reset,
+  backref
 % customize the titles in between, e.g.:
 %   split-sectioning=addsec,
 %   split-title=\par\noindent<name> <ref>:
@@ -20,15 +21,11 @@
 }
 
 \usepackage{fnpct}
-% \AdaptNote\endnote\multendnote
 
 \usepackage{mwe}
 \usepackage[colorlinks]{hyperref}
 
 \begin{document}
-\makeatletter
-% \texttt{\meaning\@@makecaption}
-\makeatother
 
 \tableofcontents
 
@@ -38,10 +35,14 @@
 Text\multendnote{\kant[5];\kant[6]}.
 
 \begin{figure}[htp]
- \centering
- \includegraphics[width=.4\linewidth]{example-image-a}
- \caption[caption]{Some text\endnote{An endnote with a nested endnote\endnote{\kant[7]}
- inside a figure caption.}.}
+  \centering
+  \includegraphics[width=.4\linewidth]{example-image-a}
+  % \addtocounter{endnote}{-1} % <<< need this in memoir class and with
+                               % `caption' package when using an endnote
+                               % inside a caption
+  \caption[caption]{Some text\endnotemark.}
+  \endnotetext{An endnote with a nested endnote\endnote{\kant[7]} inside a
+    figure caption.}
 \end{figure}
 
 \appendix

Modified: trunk/Master/texmf-dist/tex/latex/enotez/enotez.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/enotez/enotez.sty	2016-11-08 22:36:42 UTC (rev 42468)
+++ trunk/Master/texmf-dist/tex/latex/enotez/enotez.sty	2016-11-08 22:36:54 UTC (rev 42469)
@@ -31,36 +31,21 @@
 \RequirePackage{ expl3 , xparse , l3keys2e , xtemplate , etoolbox , xpatch , scrlfile }
 \ProvidesExplPackage
   {enotez}
-  {2016/01/07}
-  {0.8b}
+  {2016/11/08}
+  {0.9}
   {Endnotes for LaTeX2e}
 
 % --------------------------------------------------------------------------
-% check expl3 version:
-\@ifpackagelater { expl3 } { 2012/11/21 }
-  { }
-  {
-    \PackageError {enotez} { Support~package~expl3~too~old }
-      {
-        You~need~to~update~your~installation~of~the~bundles~'l3kernel'~and~
-        'l3packages'.\MessageBreak
-        Loading~enotez~will~abort!
-      }
-    \tex_endinput:D
-  }
-
-% --------------------------------------------------------------------------
 % messages
-\msg_new:nnnn {enotez} { captions }
-  { Endnotes~might~not~work~in~captions. }
-  {
-    Endnotes~might~not~work~inside~captions.~You~might~try~to~use~the~caption~
-    package~if~you~encounter~problems~but~that's~not~a~promise~that~things~
-    will~work~then.
-  }
+% \msg_new:nnnn {enotez} {captions}
+%   { Endnotes~might~not~work~in~captions. }
+%   {
+%     Endnotes~might~not~work~inside~captions.~You~might~try~to~use~the~caption~
+%     package~if~you~encounter~problems~but~that's~not~a~promise~that~things~
+%     will~work~then.
+%   }
 
-
-\msg_new:nnnn {enotez} { deprecated }
+\msg_new:nnnn {enotez} {deprecated}
   { The~#1~`#2'~is~deprecated.~Use~`#3'~instead~\msg_line_context:. }
   {
     The~#1~`#2'~you~used~\msg_line_context: \c_space_tl is~deprecated~and~has~
@@ -69,15 +54,14 @@
   }
 
 \cs_new:Npn \enotez_option_deprecated:nn #1#2
-  { \msg_warning:nnnnn {enotez} { deprecated } { option } {#1} {#2} }
+  { \msg_warning:nnnnn {enotez} {deprecated} {option} {#1} {#2} }
 
 \cs_new:Npn \enotez_command_deprecated:NN #1#2
   {
-    \msg_warning:nnnnn {enotez} { deprecated } { command }
+    \msg_warning:nnnnn {enotez} {deprecated} {command}
       { \token_to_str:N #1 } { \token_to_str:N #2 }
   }
 
-
 % --------------------------------------------------------------------------
 % variants of kernel functions
 \cs_generate_variant:Nn \tl_if_eq:nnTF { Vn , nx }
@@ -92,28 +76,30 @@
 \bool_new:N \l__enotez_hyperfootnotes_bool
 \bool_new:N \l__enotez_hyperbackref_bool
 \bool_new:N \l__enotez_split_bool
-\bool_new:N \l__enotez_caption_patched_bool
-\bool_new:N \l__enotez_koma_patched_bool
-\bool_new:N \l__enotez_memoir_patched_bool
+% \bool_new:N \l__enotez_caption_patched_bool
+% \bool_new:N \l__enotez_koma_patched_bool
+% \bool_new:N \l__enotez_memoir_patched_bool
+\bool_new:N \l__enotez_disable_bool
 
 \tl_new:N   \l__enotez_tmpa_tl
 \tl_new:N   \l__enotez_tmpb_tl
 \tl_new:N   \l__enotez_tmpc_tl
+\tl_new:N   \l__enotez_change_tl
 \tl_new:N   \l__enotez_totoc_tl
 \tl_new:N   \l__enotez_list_name_tl
-\tl_set:Nn  \l__enotez_list_name_tl { Notes }
+\tl_set:Nn  \l__enotez_list_name_tl {Notes}
 \tl_new:N   \l__enotez_endnote_text_tl
 \tl_new:N   \l__enotez_endnote_mark_tl
 \tl_new:N   \l__enotez_list_instance_tl
-\tl_set:Nn  \l__enotez_list_instance_tl { plain }
+\tl_set:Nn  \l__enotez_list_instance_tl {plain}
 \tl_new:N   \l__enotez_split_tl
 \tl_new:N   \l__enotez_splitted_list_sectioning_tl
 \tl_new:N   \l__enotez_splitted_title_tl
-\tl_set:Nn  \l__enotez_splitted_title_tl { Notes~for~<name>~<ref> }
+\tl_set:Nn  \l__enotez_splitted_title_tl {Notes~for~<name>~<ref>}
 \tl_new:N   \l__enotez_section_tl
-\tl_set:Nn  \l__enotez_section_tl { section }
+\tl_set:Nn  \l__enotez_section_tl {section}
 \tl_new:N   \l__enotez_chapter_tl
-\tl_set:Nn  \l__enotez_chapter_tl { chapter }
+\tl_set:Nn  \l__enotez_chapter_tl {chapter}
 \tl_new:N   \g__enotez_actual_sectioning_tl
 \tl_new:N   \l__enotez_list_splitted_title_tl
 \tl_new:N   \g__enotez_list_next_preamble_tl
@@ -133,6 +119,7 @@
 \int_zero:N \g__enotez_endnote_id_int
 \int_new:N  \g__enotez_endnote_mark_int
 \int_zero:N \g__enotez_endnote_mark_int
+\newcounter {endnote}
 \int_new:N  \g__enotez_list_printed_int
 \int_zero:N \g__enotez_list_printed_int
 \int_new:N  \l__enotez_tmpa_int
@@ -144,32 +131,10 @@
 \prop_new:N \g__enotez_endnote_sect_id_prop
 \prop_new:N \g__enotez_endnote_man_prop
 
+\cs_new_protected:Npn \enotez_nobreak: { \tex_penalty:D \c_ten_thousand }
+
 % --------------------------------------------------------------------------
 % options:
-\cs_new_eq:NN \enotez_counter_format:n \int_to_arabic:n
-\cs_generate_variant:Nn \enotez_counter_format:n { V }
-
-\cs_new_eq:NN \__enotez_int_to_arabic:n \int_to_arabic:n
-\cs_new_eq:NN \__enotez_int_to_roman:n  \int_to_roman:n
-\cs_new_eq:NN \__enotez_int_to_Roman:n  \int_to_Roman:n
-\cs_new_eq:NN \__enotez_int_to_alph:n   \int_to_alph:n
-\cs_new_eq:NN \__enotez_int_to_Alph:n   \int_to_Alph:n
-\cs_new:Npn \__enotez_int_to_symbols:n #1
-  {
-    \int_to_symbols:nnn {#1} { 9 }
-      {
-        { 1 } { \mode_if_math:TF { *                } { \textasteriskcentered } }
-        { 2 } { \mode_if_math:TF { \dagger          } { \textdagger } }
-        { 3 } { \mode_if_math:TF { \ddagger         } { \textdaggerdbl } }
-        { 4 } { \mode_if_math:TF { \mathsection     } { \textsection } }
-        { 5 } { \mode_if_math:TF { \mathparagraph   } { \textparagraph } }
-        { 6 } { \mode_if_math:TF { \|               } { \textbardbl } }
-        { 7 } { \mode_if_math:TF { **               } { \textasteriskcentered\textasteriskcentered } }
-        { 8 } { \mode_if_math:TF { \dagger\dagger   } { \textdagger\textdagger } }
-        { 9 } { \mode_if_math:TF { \ddagger\ddagger } { \textdaggerdbl\textdaggerdbl } }
-      }
-  }
-
 \keys_define:nn {enotez}
   {
     backref          .bool_set:N         = \l__enotez_hyperbackref_bool ,
@@ -177,12 +142,13 @@
     list-name        .tl_set:N           = \l__enotez_list_name_tl ,
     reset            .bool_set:N         = \l__enotez_reset_bool ,
     % TODO: add symbols and other possible formats, use cntformats?
-    counter-format   .choices:nn         =
-      { arabic , alph , Alph , roman , Roman , symbols }
-      {
-        \cs_set_eq:Nc \enotez_counter_format:n
-          { __enotez_int_to_ \l_keys_choice_tl :n }
-      } ,
+    counter-format   .choice: ,
+    counter-format / arabic  .code:n = \cs_set:Npn \theendnote {\arabic{endnote}} ,
+    counter-format / alph    .code:n = \cs_set:Npn \theendnote {\alph{endnote}} ,
+    counter-format / Alph    .code:n = \cs_set:Npn \theendnote {\Alph{endnote}} ,
+    counter-format / roman   .code:n = \cs_set:Npn \theendnote {\roman{endnote}} ,
+    counter-format / Roman   .code:n = \cs_set:Npn \theendnote {\Roman{endnote}} ,
+    counter-format / symbols .code:n = \cs_set:Npn \theendnote {\fnsymbol{endnote}} ,
     mark-format      .code:n             = \cs_set:Npn \enmarkstyle {#1} ,
     mark-cs          .code:n             = \cs_set:Npn \enotezwritemark {#1} ,
     totoc            .choices:nn         =
@@ -222,19 +188,20 @@
 % typeset the actual mark:
 % #1: id
 % #2: mark
-\cs_new:Npn \enotez_write_mark:nn #1#2
+\cs_new_protected:Npn \enotez_write_mark:nn #1#2
   {
     \bool_if:NTF \l__enotez_hyperfootnotes_bool
       {
-        \enotezwritemark { \hyperlink { enz.#1 } { \enmarkstyle #2 } }
+        \enotezwritemark { \hyperlink {enz.#1} { \enmarkstyle #2 } }
         \bool_if:NT \l__enotez_hyperbackref_bool
           {
-            \box_move_up:nn { 1em }
-              { \hbox:n { \hypertarget { enz.#1.backref } { } } }
+            \box_move_up:nn {1em}
+              { \hbox:n { \hypertarget {enz.#1.backref} { } } }
           }
       }
       { \enotezwritemark { \enmarkstyle #2 } }
   }
+\cs_generate_variant:Nn \enotez_write_mark:nn {x}
 
 % the internal endnote:
 \cs_new_protected:Npn \enotez_endnote:nn #1#2
@@ -248,21 +215,30 @@
     \int_gincr:N \g__enotez_endnote_id_int
     \quark_if_no_value:nTF {#1}
       {
-        \int_gincr:N \g__enotez_endnote_mark_int
-        \cs_gset:cpx { @currentlabel }
-          { \enotez_counter_format:V \g__enotez_endnote_mark_int }
-        \cs_gset_eq:NN \theendnote \@currentlabel
-        \enotez_write_mark:nn
+        \stepcounter {endnote}% problem with option `reset'
+        % \show \theendnote
+        \cs_gset:cpx {@currentlabel} {\theendnote}
+        \enotez_write_mark:xn
           { \int_use:N \g__enotez_endnote_id_int }
-          { \enotez_counter_format:V \g__enotez_endnote_mark_int }
+          { \theendnote }
       }
       {
-        \cs_gset:cpx { @currentlabel } {#1}
-        \cs_gset_eq:NN \theendnote \@currentlabel
-        \enotez_write_mark:nn { \int_use:N \g__enotez_endnote_id_int } {#1}
+        \cs_gset:cpn {@currentlabel} {#1}
+        % \cs_gset_eq:NN \theendnote \@currentlabel
+        \enotez_write_mark:xn { \int_use:N \g__enotez_endnote_id_int } {#1}
       }
+    \bool_if:NT \l__enotez_disable_bool
+      {
+        \int_gdecr:N \g__enotez_endnote_id_int
+        \addtocounter {endnote} {-1}
+      }
   }
 
+\cs_new_protected:Npn \enotez_disable:
+  { \bool_set_true:N \l__enotez_disable_bool }
+
+\NewDocumentCommand \enotezdisable {} { \enotez_disable: }
+
 \cs_new_protected:Npn \enotez_endnote_text:nn #1#2
   {
     \tl_set:Nn \l__enotez_tmpa_tl { chapter }
@@ -277,7 +253,8 @@
           {
             \enotez_save_note:xxxxxnn
               { \int_use:N \g__enotez_endnote_id_int }
-              { \int_use:N \g__enotez_endnote_mark_int }
+              { \arabic {endnote} }
+              % { \int_use:N \g__enotez_endnote_mark_int }
               { \int_use:N \g__enotez_list_printed_int }
               { \thechapter }
               { \int_eval:n { \value{chapter} } }
@@ -287,7 +264,8 @@
           {
             \enotez_save_note:xxxxxnn
               { \int_use:N \g__enotez_endnote_id_int }
-              { \int_use:N \g__enotez_endnote_mark_int }
+              { \arabic {endnote} }
+              % { \int_use:N \g__enotez_endnote_mark_int }
               { \int_use:N \g__enotez_list_printed_int }
               { \thesection }
               { \int_eval:n { \value{section} } }
@@ -326,95 +304,6 @@
   }
 
 % --------------------------------------------------------------------------
-% in some cases caption making commands need to be patched. preparations:
-\cs_new:Npn \__enotez_tmp_endnote:nn {}
-
-\cs_new_protected:Npn \enotez_caption_endnote:nn #1#2
-  {
-    \quark_if_no_value:nTF {#1}
-      {
-        \enotez_write_mark:nn
-          { \int_use:N \g__enotez_endnote_id_int }
-          { \enotez_counter_format:V \g__enotez_endnote_mark_int }
-      }
-      { \enotez_write_mark:nn { \int_use:N \g__enotez_endnote_id_int } {#1} }
-  }
-
-\cs_new_protected:Npn \enotez at koma@disable
-  { \cs_set_eq:NN \enotez_endnote:nn \enotez_caption_endnote:nn }
-
-\cs_new_protected:Npn \enotez at memoir@disable
-  {
-    \cs_set_eq:NN \__enotez_tmp_endnote:nn \enotez_endnote:nn
-    \cs_set_eq:NN \enotez_endnote:nn \enotez_caption_endnote:nn
-  }
-
-\cs_new_protected:Npn \enotez at memoir@enable
-  { \cs_set_eq:NN \enotez_endnote:nn \__enotez_tmp_endnote:nn }
-
-\cs_new_protected:Npn \enotez at caption@disable
-  {
-    \xpatchcmd \caption@@make
-      { \caption@@@make }
-      { \enotez at koma@disable\caption@@@make }
-      { \bool_set_true:N  \l__enotez_caption_patched_bool }
-      { \bool_set_false:N \l__enotez_caption_patched_bool }
-  }
-
-% if we're in a KOMA class, \@@makecaption needs to be patched:
-\cs_if_free:NF \KOMAClassName
-  {
-    \xpatchcmd \@@makecaption
-      { \setlength{\@tempdima}{\cap at width} }
-      { \enotez at koma@disable\setlength{\@tempdima}{\cap at width} }
-      { \bool_set_true:N  \l__enotez_koma_patched_bool }
-      { \bool_set_false:N \l__enotez_koma_patched_bool }
-    \AfterPackage+ { caption } { \enotez at caption@disable }
-  }
-
-% if we're in memoir, \@makecaption needs to be patched:
-% TODO: fails when caption has been loaded, needs to be reworked
-\AfterClass+ { memoir }
-  {
-    \AtEndPreamble
-      {
-        \cs_if_exist:cF { ver at caption.sty }
-          {
-            \xpatchcmd \@makecaption
-              { \let\@contfnote\footnote }
-              { \enotez at memoir@disable\let\@contfnote\footnote }
-              { \bool_set_true:N  \l__enotez_memoir_patched_bool }
-              { \bool_set_false:N \l__enotez_memoir_patched_bool }
-            \xpatchcmd \@makecaption
-              { \let\footnote\@contfnote }
-              { \enotez at memoir@enable\let\footnote\@contfnote }
-              { \bool_set_true:N  \l__enotez_memoir_patched_bool }
-              { \bool_set_false:N \l__enotez_memoir_patched_bool }
-          }
-      }
-  }
-
-\AtBeginDocument
-  {
-    \bool_if:nT
-      { \cs_if_exist_p:c { ver at caption.sty } && !\l__enotez_caption_patched_bool }
-      { \AfterPackage+ { caption } { \enotez at caption@disable } }
-    \bool_if:nT
-      {
-        ( \cs_if_exist_p:c { ver at memoir.cls } && !\l__enotez_memoir_patched_bool )
-          ||
-        (
-          !\cs_if_exist_p:c { ver at memoir.cls } &&
-          \cs_if_exist_p:c { ver at caption.sty } &&
-          !\l__enotez_caption_patched_bool
-        )
-          ||
-        ( \cs_if_exist_p:N \KOMAClassName && !\l__enotez_koma_patched_bool )
-      }
-      { \msg_warning:nn {enotez} { captions } }
-  }
-
-% --------------------------------------------------------------------------
 % save the notes to the aux file:
 % #1: global id
 % #2: mark
@@ -439,8 +328,6 @@
   }
 
 % a try to check if a rerun is necessary:
-\tl_new:N \l__enotez_change_tl
-
 \AtEndDocument
   {
     \cs_set_protected:Npn \enotez at note #1#2#3#4#5#6#7
@@ -459,6 +346,7 @@
 % disable compatibility with `fnpct'
 \cs_new_protected:Npn \endnote
   {
+    \enotez_nobreak:
     \peek_meaning_ignore_spaces:NTF [
       { \enotez_endnote_aux:w }
       { \enotez_endnote:nn { \q_no_value } }
@@ -467,25 +355,25 @@
 \cs_new:Npn \enotez_endnote_aux:w [#1]#2
   { \enotez_endnote:nn {#1} {#2} }
 
-% \cs_new_protected:Npn \endnotemark
-%   {
-%     \peek_meaning_ignore_spaces:NTF [
-%       { \enotez_endnote_mark_aux:w }
-%       { \enotez_endnote_mark:n { \q_no_value } }
-%   }
+\cs_new_protected:Npn \endnotemark
+  {
+    \peek_meaning_ignore_spaces:NTF [
+      { \enotez_endnote_mark_aux:w }
+      { \enotez_endnote_mark:n { \q_no_value } }
+  }
 
-% \cs_new:Npn \enotez_endnote_mark_aux:w [#1]
-%   { \enotez_endnote_mark:n {#1} }
+\cs_new:Npn \enotez_endnote_mark_aux:w [#1]
+  { \enotez_endnote_mark:n {#1} }
 
-% \cs_new_protected:Npn \endnotetext
-%   {
-%     \peek_meaning_ignore_spaces:NTF [
-%       { \enotez_endnote_text_aux:w }
-%       { \enotez_endnote_text:nn { \q_no_value } }
-%   }
+\cs_new_protected:Npn \endnotetext
+  {
+    \peek_meaning_ignore_spaces:NTF [
+      { \enotez_endnote_text_aux:w }
+      { \enotez_endnote_text:nn { \q_no_value } }
+  }
 
-% \cs_new:Npn \enotez_endnote_text_aux:w [#1]#2
-%   { \enotez_endnote_text:nn {#1} {#2} }
+\cs_new:Npn \enotez_endnote_text_aux:w [#1]#2
+  { \enotez_endnote_text:nn {#1} {#2} }
 
 % --------------------------------------------------------------------------
 % the list of notes
@@ -498,9 +386,9 @@
 % \cs_new:Npn \enotezsplitlistheading
 %   { \use:c { \l__enotez_splitted_list_sectioning_tl } }
 
-\DeclareObjectType { enotez-list } { 1 }
+\DeclareObjectType {enotez-list} {1}
 
-\DeclareTemplateInterface { enotez-list } { paragraph } { 1 }
+\DeclareTemplateInterface {enotez-list} {paragraph} {1}
   {
     heading       : function 1 = \enotezlistheading{#1}   ,
     format        : tokenlist  = \footnotesize   ,
@@ -509,7 +397,7 @@
     notes-sep     : length     = .5\baselineskip ,
   }
 
-\DeclareTemplateCode { enotez-list } { paragraph } { 1 }
+\DeclareTemplateCode {enotez-list} {paragraph} {1}
   {
     heading       = \enotez_list_heading:n          ,
     format        = \l__enotez_list_format_tl        ,
@@ -522,7 +410,7 @@
     \bool_if:NT \l__enotez_totoc_bool
       {
         \bool_if:NT \l__enotez_hyperref_bool { \phantomsection }
-        \addcontentsline { toc } { \l__enotez_totoc_tl } { \l__enotez_list_name_tl }
+        \addcontentsline {toc} { \l__enotez_totoc_tl } { \l__enotez_list_name_tl }
       }
     \enotez_list_heading:n { \l__enotez_list_name_tl }
     \enotez_list_preamble:
@@ -562,7 +450,7 @@
     \enotez_list_postamble:
   }
 
-\DeclareTemplateInterface { enotez-list } { list } { 1 }
+\DeclareTemplateInterface {enotez-list} {list} {1}
   {
     heading       : function 1 = \enotezlistheading{#1} ,
     format        : tokenlist  = \footnotesize ,
@@ -571,7 +459,7 @@
     list-type     : tokenlist  = description   ,
   }
 
-\DeclareTemplateCode { enotez-list } { list } { 1 }
+\DeclareTemplateCode {enotez-list} {list} {1}
   {
     heading       = \enotez_list_heading:n          ,
     format        = \l__enotez_list_format_tl        ,
@@ -629,9 +517,9 @@
   }
 
 % some default styles:
-\DeclareInstance { enotez-list } { plain } { paragraph } {  }
-\DeclareInstance { enotez-list } { description } { list } {  }
-\DeclareInstance { enotez-list } { itemize } { list } { list-type = itemize }
+\DeclareInstance {enotez-list} {plain} {paragraph } {  }
+\DeclareInstance {enotez-list} {description} {list} {  }
+\DeclareInstance {enotez-list} {itemize} {list} { list-type = itemize }
 
 % --------------------------------------------------------------------------
 % write the mark in the lists:
@@ -638,9 +526,9 @@
 \cs_new_protected:Npn \enotez_write_list_number:n #1
   {
     \bool_if:NT \l__enotez_hyperfootnotes_bool
-      { \box_move_up:nn { 1em } { \hbox:n { \hypertarget { enz.#1 } { } } } }
+      { \box_move_up:nn {1em} { \hbox:n { \hypertarget {enz.#1} { } } } }
     \tl_use:N \l__enotez_list_number_format_tl
-    \tl_if_eq:nxTF { a }
+    \tl_if_eq:nxTF {a}
       { \prop_item:Nn \g__enotez_endnote_man_prop {#1} }
       {
         \bool_if:nTF
@@ -647,10 +535,10 @@
           { \l__enotez_hyperfootnotes_bool && \l__enotez_hyperbackref_bool }
           {
             \exp_args:Nnx
-            \hyperlink { enz.#1.backref }
-              { \enotez_counter_format:V \l__enotez_endnote_mark_tl }
+            \hyperlink {enz.#1.backref}
+              { \exp_not:V \l__enotez_endnote_mark_tl }
           }
-          { \enotez_counter_format:V \l__enotez_endnote_mark_tl }
+          { \prop_item:Nn \g__enotez_endnote_mark_prop {#1} }
       }
       {
         \bool_if:nTF
@@ -657,8 +545,8 @@
           { \l__enotez_hyperfootnotes_bool && \l__enotez_hyperbackref_bool }
           {
             \exp_args:Nnx
-            \hyperlink { enz.#1.backref }
-              { \tl_use:N \l__enotez_endnote_mark_tl }
+            \hyperlink {enz.#1.backref}
+              { \exp_not:V \l__enotez_endnote_mark_tl }
           }
           { \tl_use:N \l__enotez_endnote_mark_tl }
       }
@@ -679,23 +567,31 @@
         \bool_if:NTF \l__enotez_split_bool
           {
             \bool_set_true:N \l__enotez_print_note_bool
-            \prop_gpop:NnN \g__enotez_endnote_mark_prop
-              {#2}
-              \l__enotez_endnote_mark_tl
-            \prop_gpop:NnN \g__enotez_endnote_text_prop
-              {#2}
-              \l__enotez_endnote_text_tl
+            \tl_set:Nx \l__enotez_endnote_mark_tl
+              { \prop_item:Nn \g__enotez_endnote_mark_prop {#2} }
+            \tl_set:Nx \l__enotez_endnote_text_tl
+              { \prop_item:Nn \g__enotez_endnote_text_prop {#2} }
+            % \prop_gpop:NnN \g__enotez_endnote_mark_prop
+            %   {#2}
+            %   \l__enotez_endnote_mark_tl
+            % \prop_gpop:NnN \g__enotez_endnote_text_prop
+            %   {#2}
+            %   \l__enotez_endnote_text_tl
           }
           {
             \int_compare:nTF { \l__enotez_tmpa_tl = \g__enotez_list_printed_int }
               {
                 \bool_set_true:N \l__enotez_print_note_bool
-                \prop_gpop:NnN \g__enotez_endnote_mark_prop
-                  {#2}
-                  \l__enotez_endnote_mark_tl
-                \prop_gpop:NnN \g__enotez_endnote_text_prop
-                  {#2}
-                  \l__enotez_endnote_text_tl
+                \tl_set:Nx \l__enotez_endnote_mark_tl
+                  { \prop_item:Nn \g__enotez_endnote_mark_prop {#2} }
+                \tl_set:Nx \l__enotez_endnote_text_tl
+                  { \prop_item:Nn \g__enotez_endnote_text_prop {#2} }
+                % \prop_gpop:NnN \g__enotez_endnote_mark_prop
+                %   {#2}
+                %   \l__enotez_endnote_mark_tl
+                % \prop_gpop:NnN \g__enotez_endnote_text_prop
+                %   {#2}
+                %   \l__enotez_endnote_text_tl
                 \prop_gremove:Nn  \g__enotez_endnote_split_prop {#2}
               }
               { \bool_set_false:N \l__enotez_print_note_bool }
@@ -803,18 +699,31 @@
 % internal printendnotes:
 \cs_new_protected:Npn \enotez_print_endnotes:nn #1#2
   {
-    \tl_if_blank:nTF {#2}
-      { \UseInstance { enotez-list } { \l__enotez_list_instance_tl } }
-      { \UseInstance { enotez-list } {#2} }
-    {#1}
-    \bool_if:NF \l__enotez_split_bool
+    \enotez_if_endnotes:T
       {
-        \bool_if:NT \l__enotez_reset_bool
-          { \int_gzero:N \g__enotez_endnote_mark_int }
-        \int_gincr:N \g__enotez_list_printed_int
+        \tl_if_blank:nTF {#2}
+          { \UseInstance {enotez-list} { \l__enotez_list_instance_tl } }
+          { \UseInstance {enotez-list} {#2} }
+        {#1}
+        \bool_if:NF \l__enotez_split_bool
+          {
+            \bool_if:NT \l__enotez_reset_bool
+              {
+                \setcounter {endnote} {0}
+                % \int_gzero:N \g__enotez_endnote_mark_int
+              }
+            \int_gincr:N \g__enotez_list_printed_int
+          }
       }
   }
 
+\prg_new_conditional:Npnn \enotez_if_endnotes: {p,T,F,TF}
+  {
+    \int_compare:nTF { \value {endnote} > 0 }
+      { \prg_return_true: }
+      { \prg_return_false: }
+  }
+
 % the user command:
 \NewDocumentCommand \printendnotes { so }
   {
@@ -883,16 +792,16 @@
 \cs_new_protected:Npn \enotez_set_every_postamble:n #1
   { \tl_gset:Nn \g__enotez_list_every_postamble_tl {#1} }
 
-\NewDocumentCommand \AtNextEndnotesList { +m }
+\NewDocumentCommand \AtNextEndnotesList {+m}
   { \enotez_set_next_preamble:n {#1} }
 
-\NewDocumentCommand \AtEveryEndnotesList { +m }
+\NewDocumentCommand \AtEveryEndnotesList {+m}
   { \enotez_set_every_preamble:n {#1} }
 
-\NewDocumentCommand \AfterNextEndnotesList { +m }
+\NewDocumentCommand \AfterNextEndnotesList {+m}
   { \enotez_set_next_postamble:n {#1} }
 
-\NewDocumentCommand \AfterEveryEndnotesList { +m }
+\NewDocumentCommand \AfterEveryEndnotesList {+m}
   { \enotez_set_every_postamble:n {#1} }
 
 % --------------------------------------------------------------------------
@@ -921,10 +830,10 @@
 \cs_new_protected:Npn \enotez_set_every_split_postamble:n #1
   { \tl_gset:Nn \g__enotez_split_list_postamble_tl {#1} }
 
-\NewDocumentCommand \AtEveryListSplit { +m }
+\NewDocumentCommand \AtEveryListSplit {+m}
   { \enotez_set_every_split_preamble:n {#1} }
 
-\NewDocumentCommand \AfterEveryListSplit { +m }
+\NewDocumentCommand \AfterEveryListSplit {+m}
   { \enotez_set_every_split_postamble:n {#1} }
 
 \cs_new:Npn \EnotezCurrentSplitTitle {}
@@ -937,13 +846,16 @@
   {
     \bool_if:NT \l__enotez_split_bool
       {
-        \tl_if_eq:VnTF \l__enotez_split_tl { section }
+        \tl_if_eq:VnTF \l__enotez_split_tl {section}
           {
             \tl_put_left:Nn \section
               {
                 \int_gincr:N \g__enotez_list_printed_int
                 \bool_if:NT \l__enotez_reset_bool
-                  { \int_gzero:N \g__enotez_endnote_mark_int }
+                  {
+                    \setcounter {endnote} {0}
+                    % \int_gzero:N \g__enotez_endnote_mark_int
+                  }
               }
           }
           {
@@ -951,11 +863,14 @@
               {
                 \int_gincr:N \g__enotez_list_printed_int
                 \bool_if:NT \l__enotez_reset_bool
-                  { \int_gzero:N \g__enotez_endnote_mark_int }
+                  {
+                    \setcounter {endnote} {0}
+                    % \int_gzero:N \g__enotez_endnote_mark_int
+                  }
               }
           }
       }
-    \@ifpackageloaded { hyperref }
+    \@ifpackageloaded {hyperref}
       {
         \bool_set_true:N \l__enotez_hyperref_bool
         \ifHy at hyperfootnotes
@@ -972,60 +887,60 @@
 
 % --------------------------------------------------------------------------
 % the setup command:
-\NewDocumentCommand \setenotez { +m }
-  { \keys_set:nn {enotez} {#1} \ignorespaces }
+\NewDocumentCommand \setenotez {m}
+  { \keys_set:nn {enotez} {#1} }
 
 % --------------------------------------------------------------------------
 % language support
-\RequirePackage { translations }
-\DeclareTranslationFallback       { enotez-title } { Notes }
-\DeclareTranslation { Catalan   } { enotez-title } { Notes }
-\DeclareTranslation { Croatian  } { enotez-title } { Bilje\v{s}ke }
-\DeclareTranslation { English   } { enotez-title } { Notes }
-\DeclareTranslation { French    } { enotez-title } { Remarques }
-\DeclareTranslation { German    } { enotez-title } { Anmerkungen }
-\DeclareTranslation { Hungarian } { enotez-title } { Megjegyz\'{e}sek }
-\DeclareTranslation { Italian   } { enotez-title } { Note }
-\DeclareTranslation { Spanish   } { enotez-title } { Notas }
-\DeclareTranslation { Turkish   } { enotez-title } { Notlar }
+\RequirePackage {translations}
+\DeclareTranslationFallback     {enotez-title} {Notes}
+\DeclareTranslation {Catalan}   {enotez-title} {Notes}
+\DeclareTranslation {Croatian}  {enotez-title} {Bilje\v{s}ke}
+\DeclareTranslation {English}   {enotez-title} {Notes}
+\DeclareTranslation {French}    {enotez-title} {Remarques}
+\DeclareTranslation {German}    {enotez-title} {Anmerkungen}
+\DeclareTranslation {Hungarian} {enotez-title} {Megjegyz\'{e}sek}
+\DeclareTranslation {Italian}   {enotez-title} {Note}
+\DeclareTranslation {Spanish}   {enotez-title} {Notas}
+\DeclareTranslation {Turkish}   {enotez-title} {Notlar}
 
-\DeclareTranslationFallback       { enotez-splitted-title } { Notes~for~<name>~<ref> }
-\DeclareTranslation { Catalan   } { enotez-splitted-title } { Notes~del~<name>~<ref> }
-\DeclareTranslation { Croatian  } { enotez-splitted-title } { Bilje\v{s}ke~uz~<name>~<ref> }
-\DeclareTranslation { English   } { enotez-splitted-title } { Notes~for~<name>~<ref> }
-\DeclareTranslation { French    } { enotez-splitted-title } { Remarques~aux~<name>~<ref> }
-\DeclareTranslation { German    } { enotez-splitted-title } { Anmerkungen~zu~<name>~<ref> }
-\DeclareTranslation { Hungarian } { enotez-splitted-title } { Megjegyz\'{e}sek~a~<ref>.~<name> }
-\DeclareTranslation { Italian   } { enotez-splitted-title } { Note~per~il~<name>~<ref> }
-\DeclareTranslation { Spanish   } { enotez-splitted-title } { Notas~del~<name>~<ref> }
-\DeclareTranslation { Turkish   } { enotez-splitted-title } { <name>~<ref>~notlar }
+\DeclareTranslationFallback     {enotez-splitted-title} {Notes~for~<name>~<ref>}
+\DeclareTranslation {Catalan}   {enotez-splitted-title} {Notes~del~<name>~<ref>}
+\DeclareTranslation {Croatian}  {enotez-splitted-title} {Bilje\v{s}ke~uz~<name>~<ref>}
+\DeclareTranslation {English}   {enotez-splitted-title} {Notes~for~<name>~<ref>}
+\DeclareTranslation {French}    {enotez-splitted-title} {Remarques~aux~<name>~<ref>}
+\DeclareTranslation {German}    {enotez-splitted-title} {Anmerkungen~zu~<name>~<ref>}
+\DeclareTranslation {Hungarian} {enotez-splitted-title} {Megjegyz\'{e}sek~a~<ref>.~<name>}
+\DeclareTranslation {Italian}   {enotez-splitted-title} {Note~per~il~<name>~<ref>}
+\DeclareTranslation {Spanish}   {enotez-splitted-title} {Notas~del~<name>~<ref>}
+\DeclareTranslation {Turkish}   {enotez-splitted-title} {<name>~<ref>~notlar}
 
-\DeclareTranslationFallback       { enotez-section } { section }
-\DeclareTranslation { Catalan   } { enotez-section } { secci\'{o} }
-\DeclareTranslation { Croatian  } { enotez-section } { odjeljak }
-\DeclareTranslation { English   } { enotez-section } { section }
-\DeclareTranslation { French    } { enotez-section } { section }
-\DeclareTranslation { German    } { enotez-section } { Abschnitt }
-\DeclareTranslation { Hungarian } { enotez-section } { szakasz }
-\DeclareTranslation { Italian   } { enotez-section } { sezione }
-\DeclareTranslation { Spanish   } { enotez-section } { secci\'{o}n }
-\DeclareTranslation { Turkish   } { enotez-section } { B\"{o}l\"{u}m }
+\DeclareTranslationFallback     {enotez-section} {section}
+\DeclareTranslation {Catalan}   {enotez-section} {secci\'{o}}
+\DeclareTranslation {Croatian}  {enotez-section} {odjeljak}
+\DeclareTranslation {English}   {enotez-section} {section}
+\DeclareTranslation {French}    {enotez-section} {section}
+\DeclareTranslation {German}    {enotez-section} {Abschnitt}
+\DeclareTranslation {Hungarian} {enotez-section} {szakasz}
+\DeclareTranslation {Italian}   {enotez-section} {sezione}
+\DeclareTranslation {Spanish}   {enotez-section} {secci\'{o}n}
+\DeclareTranslation {Turkish}   {enotez-section} {B\"{o}l\"{u}m}
 
-\DeclareTranslationFallback       { enotez-chapter } { chapter }
-\DeclareTranslation { Catalan   } { enotez-chapter } { cap\'{\i}tol }
-\DeclareTranslation { Croatian  } { enotez-chapter } { poglavlje }
-\DeclareTranslation { English   } { enotez-chapter } { chapter }
-\DeclareTranslation { French    } { enotez-chapter } { chapitre }
-\DeclareTranslation { German    } { enotez-chapter } { Kapitel }
-\DeclareTranslation { Hungarian } { enotez-chapter } { fejezet }
-\DeclareTranslation { Italian   } { enotez-chapter } { capitolo }
-\DeclareTranslation { Spanish   } { enotez-chapter } { cap\'{\i}tulo }
-\DeclareTranslation { Turkish   } { enotez-chapter } { B\"{o}l\"{u}m }
+\DeclareTranslationFallback     {enotez-chapter} {chapter}
+\DeclareTranslation {Catalan}   {enotez-chapter} {cap\'{\i}tol}
+\DeclareTranslation {Croatian}  {enotez-chapter} {poglavlje}
+\DeclareTranslation {English}   {enotez-chapter} {chapter}
+\DeclareTranslation {French}    {enotez-chapter} {chapitre}
+\DeclareTranslation {German}    {enotez-chapter} {Kapitel}
+\DeclareTranslation {Hungarian} {enotez-chapter} {fejezet}
+\DeclareTranslation {Italian}   {enotez-chapter} {capitolo}
+\DeclareTranslation {Spanish}   {enotez-chapter} {cap\'{\i}tulo}
+\DeclareTranslation {Turkish}   {enotez-chapter} {B\"{o}l\"{u}m}
 
-\tl_set:Nn \l__enotez_splitted_title_tl { \GetTranslation { enotez-splitted-title } }
-\tl_set:Nn \l__enotez_list_name_tl      { \GetTranslation { enotez-title } }
-\tl_set:Nn \l__enotez_section_tl        { \GetTranslation { enotez-section } }
-\tl_set:Nn \l__enotez_chapter_tl        { \GetTranslation { enotez-chapter } }
+\tl_set:Nn \l__enotez_splitted_title_tl { \GetTranslation {enotez-splitted-title} }
+\tl_set:Nn \l__enotez_list_name_tl      { \GetTranslation {enotez-title} }
+\tl_set:Nn \l__enotez_section_tl        { \GetTranslation {enotez-section} }
+\tl_set:Nn \l__enotez_chapter_tl        { \GetTranslation {enotez-chapter} }
 
 \tex_endinput:D
 % --------------------------------------------------------------------------
@@ -1066,6 +981,8 @@
                  - new command \NewSplitTitleTag
 2015/07/29 v0.8a - adapt to deprecated choice selection in keys
 2016/01/07 v0.8b - \prop_get:Nn => \prop_item:Nn
+2016/11/08 v0.9  - fix issue #7
+                 - remove caption patching and add \endnotemark and \endnotetext
 
 % --------------------------------------------------------------------------
 % TODO:



More information about the tex-live-commits mailing list