aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ekdosis.dtx202
1 files changed, 102 insertions, 100 deletions
diff --git a/ekdosis.dtx b/ekdosis.dtx
index 936d9a4..af71c7d 100644
--- a/ekdosis.dtx
+++ b/ekdosis.dtx
@@ -9715,8 +9715,7 @@ Sample text with a \textcolor{red}{word} in red.
9715% line label\---which are manually inserted---and returns the formatted 9715% line label\---which are manually inserted---and returns the formatted
9716% reference to be inserted in the apparatus criticus. 9716% reference to be inserted in the apparatus criticus.
9717% \begin{macrocode} 9717% \begin{macrocode}
9718\def\current@ref@arg#1#2{ 9718\def\current@ref@arg#1#2{{%\textdir TLT%
9719 \bgroup %\textdir TLT%
9720 \unexpanded\expandafter{\ekd@refnumstyle}% 9719 \unexpanded\expandafter{\ekd@refnumstyle}%
9721 \ifnum 9720 \ifnum
9722 \pdf@strcmp{\getpagerefnumber{#1}}{\getpagerefnumber{#2}} 9721 \pdf@strcmp{\getpagerefnumber{#1}}{\getpagerefnumber{#2}}
@@ -9786,31 +9785,79 @@ Sample text with a \textcolor{red}{word} in red.
9786 \LRnum{\getrefnumber{#1}}% 9785 \LRnum{\getrefnumber{#1}}%
9787 \unexpanded\expandafter{\ekd@postrefnum}% force the no 9786 \unexpanded\expandafter{\ekd@postrefnum}% force the no
9788 \fi 9787 \fi
9789 \egroup 9788}}
9790}
9791% \end{macrocode} 9789% \end{macrocode}
9792% \cs{current@ref} is pretty much the same as \cs{current@reg@arg}, 9790% \cs{current@ref} is pretty much the same as \cs{current@reg@arg},
9793% but takes no argument. It is used by commands such as \cs{lem} when 9791% but takes no argument. It is used by commands such as \cs{lem} when
9794% references to page and line numbers can be returned by \textsf{Lua}. 9792% references to page and line numbers can be returned by \textsf{Lua}.
9795% \begin{macrocode} 9793% \begin{macrocode}
9796\def\current@ref{% 9794\def\current@ref{{%\textdir TLT%
9797 \bgroup %\textdir TLT% 9795 \unexpanded\expandafter{\ekd@refnumstyle}%
9798 \unexpanded\expandafter{\ekd@refnumstyle}% 9796 \ifnum % if the whole lemma falls on the same page...
9799 \ifnum % if the whole lemma falls on the same page...
9800 \pdf@strcmp{%
9801 \getpagerefnumber{\luadirect{tex.sprint(ekdosis.getlnlab())}-b}}%
9802 {\getpagerefnumber{\luadirect{tex.sprint(ekdosis.getlnlab())}-e}}
9803 =
9804 0
9805 \ifnum % ... and on the same line
9806 \pdf@strcmp{% 9797 \pdf@strcmp{%
9807 \getrefnumber{\luadirect{tex.sprint(ekdosis.getlnlab())}-b}}% 9798 \getpagerefnumber{\luadirect{tex.sprint(ekdosis.getlnlab())}-b}}%
9808 {\getrefnumber{\luadirect{tex.sprint(ekdosis.getlnlab())}-e}} 9799 {\getpagerefnumber{\luadirect{tex.sprint(ekdosis.getlnlab())}-e}}
9809 = 9800 =
9810 0 9801 0
9811 % 9802 \ifnum % ... and on the same line
9812 \ifekd@mapps % then, if multiple layers have been defined... 9803 \pdf@strcmp{%
9813 \ifbool{subsq@unit@\ekdan@type}{% 9804 \getrefnumber{\luadirect{tex.sprint(ekdosis.getlnlab())}-b}}%
9805 {\getrefnumber{\luadirect{tex.sprint(ekdosis.getlnlab())}-e}}
9806 =
9807 0
9808 %
9809 \ifekd@mapps % then, if multiple layers have been defined:
9810 \ifbool{subsq@unit@\ekdan@type}{% given a subsequent entry ...
9811 \ifnum % ... when it begins on the same line as the
9812 % previous one ...
9813 \pdf@strcmp{\getrefnumber{\luadirect{tex.sprint(
9814 ekdosis.getlnlab())}-b}}%
9815 {\getrefnumber{\luadirect{tex.sprint(
9816 ekdosis.getprevlnlab())}-b}}
9817 =
9818 0
9819 %%% begin
9820 \ifnum % ... and ends likewise, then do nothing,
9821 \pdf@strcmp{\getrefnumber{\luadirect{tex.sprint(
9822 ekdosis.getlnlab())}-e}}%
9823 {\getrefnumber{\luadirect{tex.sprint(
9824 ekdosis.getprevlnlab())}-e}}
9825 =
9826 0
9827 \ifekd@appinapp % (this is for nested \app entries.)
9828 \ifnum
9829 \pdf@strcmp{\getrefnumber{\luadirect{tex.sprint(
9830 ekdosis.getlnlab())}-b}}%
9831 {\getrefnumber{\luadirect{tex.sprint(
9832 ekdosis.getprevprevlnlab())}-b}}
9833 =
9834 0
9835 \else
9836 \LRnum{\getrefnumber{\luadirect{tex.sprint(
9837 ekdosis.getlnlab())}-b}}%
9838 \unexpanded\expandafter{\ekd@postrefnum}% issue
9839 % the no
9840 \fi
9841 \fi
9842 \else % otherwise, print the line number:
9843 \LRnum{\getrefnumber{\luadirect{tex.sprint(
9844 ekdosis.getlnlab())}-b}}%
9845 \unexpanded\expandafter{\ekd@postrefnum}% issue the no
9846 \fi
9847 %%% end
9848 \else % if the entry begins on a new line, print the
9849 % number:
9850 \LRnum{\getrefnumber{\luadirect{tex.sprint(
9851 ekdosis.getlnlab())}-b}}%
9852 \unexpanded\expandafter{\ekd@postrefnum}% issue the no
9853 \fi
9854 }% and always print the line number ahead of first entries:
9855 {\LRnum{\getrefnumber{\luadirect{tex.sprint(
9856 ekdosis.getlnlab())}-b}}%
9857 \unexpanded\expandafter{\ekd@postrefnum}}% issue the no
9858 \else % now if there is only one default layer
9859 \ifsubsq@unit
9860 %
9814 \ifnum 9861 \ifnum
9815 \pdf@strcmp{\getrefnumber{\luadirect{tex.sprint( 9862 \pdf@strcmp{\getrefnumber{\luadirect{tex.sprint(
9816 ekdosis.getlnlab())}-b}}% 9863 ekdosis.getlnlab())}-b}}%
@@ -9851,97 +9898,51 @@ Sample text with a \textcolor{red}{word} in red.
9851 ekdosis.getlnlab())}-b}}% 9898 ekdosis.getlnlab())}-b}}%
9852 \unexpanded\expandafter{\ekd@postrefnum}% issue the no 9899 \unexpanded\expandafter{\ekd@postrefnum}% issue the no
9853 \fi 9900 \fi
9854 }{\LRnum{\getrefnumber{\luadirect{tex.sprint( 9901 %
9855 ekdosis.getlnlab())}-b}}%
9856 \unexpanded\expandafter{\ekd@postrefnum}}% issue the no
9857 \else
9858 \ifsubsq@unit
9859 %
9860 \ifnum
9861 \pdf@strcmp{\getrefnumber{\luadirect{tex.sprint(
9862 ekdosis.getlnlab())}-b}}%
9863 {\getrefnumber{\luadirect{tex.sprint(
9864 ekdosis.getprevlnlab())}-b}}
9865 =
9866 0
9867 %%% begin
9868 \ifnum
9869 \pdf@strcmp{\getrefnumber{\luadirect{tex.sprint(
9870 ekdosis.getlnlab())}-e}}%
9871 {\getrefnumber{\luadirect{tex.sprint(
9872 ekdosis.getprevlnlab())}-e}}
9873 =
9874 0
9875 \ifekd@appinapp
9876 \ifnum
9877 \pdf@strcmp{\getrefnumber{\luadirect{tex.sprint(
9878 ekdosis.getlnlab())}-b}}%
9879 {\getrefnumber{\luadirect{tex.sprint(
9880 ekdosis.getprevprevlnlab())}-b}}
9881 =
9882 0
9883 \else
9884 \LRnum{\getrefnumber{\luadirect{tex.sprint(
9885 ekdosis.getlnlab())}-b}}%
9886 \unexpanded\expandafter{\ekd@postrefnum}% issue the no
9887 \fi
9888 \fi
9889 \else
9890 \LRnum{\getrefnumber{\luadirect{tex.sprint(
9891 ekdosis.getlnlab())}-b}}%
9892 \unexpanded\expandafter{\ekd@postrefnum}% issue the no
9893 \fi
9894 %%% end
9895 \else 9902 \else
9896 \LRnum{\getrefnumber{\luadirect{tex.sprint( 9903 \LRnum{\getrefnumber{\luadirect{tex.sprint(
9897 ekdosis.getlnlab())}-b}}% 9904 ekdosis.getlnlab())}-b}}%
9898 \unexpanded\expandafter{\ekd@postrefnum}% issue the no 9905 \unexpanded\expandafter{\ekd@postrefnum}% issue the no
9899 \fi 9906 \fi
9900 % 9907 \fi
9908 %
9909 \else
9910 \ifekd@elidednumbers
9911 \luadirect{tex.sprint(ekdosis.numrange(
9912 \luastring{\getrefnumber{\luadirect{tex.sprint(
9913 ekdosis.getlnlab())}-b}},
9914 \luastring{\getrefnumber{\luadirect{tex.sprint(
9915 ekdosis.getlnlab())}-e}}))}%
9916 \unexpanded\expandafter{\ekd@postrefnum}% issue the nos
9901 \else 9917 \else
9902 \LRnum{\getrefnumber{\luadirect{tex.sprint( 9918 \LRnum{\getrefnumber{\luadirect{tex.sprint(
9903 ekdosis.getlnlab())}-b}}% 9919 ekdosis.getlnlab())}-b}}--%
9904 \unexpanded\expandafter{\ekd@postrefnum}% issue the no 9920 \LRnum{\getrefnumber{\luadirect{tex.sprint(
9921 ekdosis.getlnlab())}-e}}%
9922 \unexpanded\expandafter{\ekd@postrefnum}% issue the nos
9905 \fi 9923 \fi
9906 \fi 9924 \fi
9907 % 9925 \else % now if the lemma breaks across pages
9908 \else 9926 \ifboolexpr{bool {ekd@pagelineation} or bool {ekd@pagevlineation}}
9909 \ifekd@elidednumbers 9927 {\LRnum{\getrefnumber{\luadirect{tex.sprint(
9910 \luadirect{tex.sprint(ekdosis.numrange( 9928 ekdosis.getlnlab())}-b}}--%
9911 \luastring{\getrefnumber{\luadirect{tex.sprint( 9929 \LRnum{\getpagerefnumber{\luadirect{tex.sprint(
9912 ekdosis.getlnlab())}-b}}, 9930 ekdosis.getlnlab())}-e}}.%
9913 \luastring{\getrefnumber{\luadirect{tex.sprint( 9931 \LRnum{\getrefnumber{\luadirect{tex.sprint(
9914 ekdosis.getlnlab())}-e}}))}% 9932 ekdosis.getlnlab())}-e}}%
9915 \unexpanded\expandafter{\ekd@postrefnum}% issue the nos 9933 \unexpanded\expandafter{\ekd@postrefnum}}% issue pg and ln nos
9916 \else 9934 {\LRnum{\getrefnumber{\luadirect{tex.sprint(
9917 \LRnum{\getrefnumber{\luadirect{tex.sprint( 9935 ekdosis.getlnlab())}-b}}--%
9918 ekdosis.getlnlab())}-b}}--% 9936 \LRnum{\getrefnumber{\luadirect{tex.sprint(
9919 \LRnum{\getrefnumber{\luadirect{tex.sprint( 9937 ekdosis.getlnlab())}-e}}%
9920 ekdosis.getlnlab())}-e}}% 9938 \unexpanded\expandafter{\ekd@postrefnum}}% issue the nos
9921 \unexpanded\expandafter{\ekd@postrefnum}% issue the nos
9922 \fi
9923 \fi 9939 \fi
9924 \else 9940 \ifekdl@forcenum
9925 \ifboolexpr{bool {ekd@pagelineation} or bool {ekd@pagevlineation}} 9941 \LRnum{\getrefnumber{\luadirect{tex.sprint(
9926 {\LRnum{\getrefnumber{\luadirect{tex.sprint( 9942 ekdosis.getlnlab())}-b}}%
9927 ekdosis.getlnlab())}-b}}--% 9943 \unexpanded\expandafter{\ekd@postrefnum}% force the no
9928 \LRnum{\getpagerefnumber{\luadirect{tex.sprint( 9944 \fi
9929 ekdosis.getlnlab())}-e}}.% 9945 }%
9930 \LRnum{\getrefnumber{\luadirect{tex.sprint(
9931 ekdosis.getlnlab())}-e}}%
9932 \unexpanded\expandafter{\ekd@postrefnum}}% issue pg and ln nos
9933 {\LRnum{\getrefnumber{\luadirect{tex.sprint(
9934 ekdosis.getlnlab())}-b}}--%
9935 \LRnum{\getrefnumber{\luadirect{tex.sprint(
9936 ekdosis.getlnlab())}-e}}%
9937 \unexpanded\expandafter{\ekd@postrefnum}}% issue the nos
9938 \fi
9939 \ifekdl@forcenum
9940 \LRnum{\getrefnumber{\luadirect{tex.sprint(
9941 ekdosis.getlnlab())}-b}}%
9942 \unexpanded\expandafter{\ekd@postrefnum}% force the no
9943 \fi
9944 \egroup
9945} 9946}
9946% \end{macrocode} 9947% \end{macrocode}
9947% Define keys to be used by the optional arguments of \cs{lem} and 9948% Define keys to be used by the optional arguments of \cs{lem} and
@@ -10086,6 +10087,7 @@ Sample text with a \textcolor{red}{word} in red.
10086 \fi 10087 \fi
10087 \fi% 10088 \fi%
10088 \unless\ifekdl@nonum\current@ref\fi 10089 \unless\ifekdl@nonum\current@ref\fi
10090 \relax
10089 }%\hskip .25em}% 10091 }%\hskip .25em}%
10090 \else% 10092 \else%
10091 \ifbool{al@rlmode}{% 10093 \ifbool{al@rlmode}{%