From 28ab825a99bb8af7ce550461d2595a2fcbf20ccd Mon Sep 17 00:00:00 2001 From: Robert Alessi Date: Sun, 23 Feb 2020 14:48:44 +0100 Subject: introducing hooks --- ekdosis.dtx | 42 +++++++++++++++++++++++++++++------------- 1 file changed, 29 insertions(+), 13 deletions(-) diff --git a/ekdosis.dtx b/ekdosis.dtx index fb405b1..d17774b 100644 --- a/ekdosis.dtx +++ b/ekdosis.dtx @@ -369,6 +369,17 @@ Running "make install" installs the files in the local TeX tree. \luadirect{ekdosis.closestream()} } % \end{macrocode} +% Hooks +% \begin{macrocode} +\def\ekd@postrefnum{\nobreak\space} +\options{ + /hooks/.new family, + /hooks/postrefnum/.new cmd = \def\ekd@postrefnum{#1} +} +\NewDocumentCommand{\SetEkdosisHooks}{m}{ + \options{/hooks,#1} +} +% \end{macrocode} % Build and process the list of witnesses and hands. % \begin{macrocode} \options{ @@ -656,10 +667,10 @@ Running "make install" installs the files in the local TeX tree. = \getrefnumber{\luadirect{tex.sprint(ekdosis.getprevnotelab())}} \else - \getrefnumber{#1}% + \getrefnumber{#1}\unexpanded\expandafter{\ekd@postrefnum}% \fi% }% - {\getrefnumber{#1}}% + {\getrefnumber{#1}\unexpanded\expandafter{\ekd@postrefnum}}% \else \ifsubsq@unit% % @@ -668,22 +679,22 @@ Running "make install" installs the files in the local TeX tree. = \getrefnumber{\luadirect{tex.sprint(ekdosis.getprevnotelab())}} \else - \getrefnumber{#1}% + \getrefnumber{#1}\unexpanded\expandafter{\ekd@postrefnum}% \fi % \else - \getrefnumber{#1}% + \getrefnumber{#1}\unexpanded\expandafter{\ekd@postrefnum}% \fi \fi % \else \getrefnumber{#1}--% - \getrefnumber{#2}% + \getrefnumber{#2}\unexpanded\expandafter{\ekd@postrefnum}% \fi% \else \getrefnumber{#1}--% \getpagerefnumber{#2}.% - \getrefnumber{#2}% + \getrefnumber{#2}\unexpanded\expandafter{\ekd@postrefnum}% \fi% }% }% @@ -705,8 +716,10 @@ Running "make install" installs the files in the local TeX tree. \getrefnumber{\luadirect{tex.sprint(ekdosis.getprevlnlab())}-b} \else \getrefnumber{\luadirect{tex.sprint(ekdosis.getlnlab())}-b}% + \unexpanded\expandafter{\ekd@postrefnum}% \fi% - }{\getrefnumber{\luadirect{tex.sprint(ekdosis.getlnlab())}-b}}% + }{\getrefnumber{\luadirect{tex.sprint(ekdosis.getlnlab())}-b}% + \unexpanded\expandafter{\ekd@postrefnum}}% \else \ifsubsq@unit% % @@ -716,25 +729,28 @@ Running "make install" installs the files in the local TeX tree. \getrefnumber{\luadirect{tex.sprint(ekdosis.getprevlnlab())}-b} \else \getrefnumber{\luadirect{tex.sprint(ekdosis.getlnlab())}-b}% + \unexpanded\expandafter{\ekd@postrefnum}% \fi % \else \getrefnumber{\luadirect{tex.sprint(ekdosis.getlnlab())}-b}% + \unexpanded\expandafter{\ekd@postrefnum}% \fi \fi % \else \getrefnumber{\luadirect{tex.sprint(ekdosis.getlnlab())}-b}--% \getrefnumber{\luadirect{tex.sprint(ekdosis.getlnlab())}-e}% + \unexpanded\expandafter{\ekd@postrefnum}% \fi% \else \getrefnumber{\luadirect{tex.sprint(ekdosis.getlnlab())}-b}--% \getpagerefnumber{\luadirect{tex.sprint(ekdosis.getlnlab())}-e}.% \getrefnumber{\luadirect{tex.sprint(ekdosis.getlnlab())}-e}% + \unexpanded\expandafter{\ekd@postrefnum}% \fi% }% }% -\protected\def\nbsp{\nobreak\space} \define@cmdkeys[ekd]{lemrdg}[ekdlr@]{wit, alt, pre, post, prewit, postwit} \define@cmdkey[ekd]{lem}[ekdl@]{sep}{} @@ -764,7 +780,7 @@ Running "make install" installs the files in the local TeX tree. \else% \ifsubsq@unit\unexpanded\expandafter{\ekd@unit@delim}\fi% \fi% - \current@ref\nbsp}%\hskip .25em}% + \current@ref}%\hskip .25em}% \else% \ifbool{al@rlmode}{% \edef\lem@app{% @@ -775,7 +791,7 @@ Running "make install" installs the files in the local TeX tree. \else% \ifsubsq@unit\unexpanded\expandafter{\ekd@unit@delim}\fi% \fi% - \current@ref\nbsp%\hskip .25em + \current@ref%\hskip .25em \ifdefined\ekdlr@alt% \ifdefined\ekdlr@post% \space\unexpanded\expandafter{\ekdlr@post}\space\else\fi @@ -806,7 +822,7 @@ Running "make install" installs the files in the local TeX tree. \else% \ifsubsq@unit\unexpanded\expandafter{\ekd@unit@delim}\fi% \fi% - \current@ref\nbsp%\hskip .25em + \current@ref%\hskip .25em \ifdefined\ekdlr@alt% \ifdefined\ekdlr@pre% \space\unexpanded\expandafter{\ekdlr@pre}\space\else\fi @@ -952,7 +968,7 @@ Running "make install" installs the files in the local TeX tree. \else% \ifsubsq@unit\unexpanded\expandafter{\ekd@unit@delim}\fi% \fi% - \current@ref@arg{\ekdn@labelb}{\ekdn@labele}\nbsp%\hskip .25em + \current@ref@arg{\ekdn@labelb}{\ekdn@labele}%\hskip .25em \ifdefined\ekdn@lem% {\textdir TRT\unexpanded\expandafter{\ekdn@lem}}% \unexpanded\expandafter{\ekdn@sep}\else\fi% @@ -965,7 +981,7 @@ Running "make install" installs the files in the local TeX tree. \else% \ifsubsq@unit\unexpanded\expandafter{\ekd@unit@delim}\fi% \fi% - \current@ref@arg{\ekdn@labelb}{\ekdn@labele}\nbsp%\hskip .25em + \current@ref@arg{\ekdn@labelb}{\ekdn@labele}%\hskip .25em \ifdefined\ekdn@lem \ltx@ifpackageloaded{babel}% {\noexpand\selectlanguage{\languagename}% -- cgit v1.2.3