texlive[59398] Master/texmf-dist: reledmac (30may21)

commits+karl at tug.org commits+karl at tug.org
Sun May 30 21:57:37 CEST 2021


Revision: 59398
          http://tug.org/svn/texlive?view=revision&revision=59398
Author:   karl
Date:     2021-05-30 21:57:37 +0200 (Sun, 30 May 2021)
Log Message:
-----------
reledmac (30may21)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/reledmac/doc-more/page-typesetting-columns.pdf
    trunk/Master/texmf-dist/doc/latex/reledmac/examples/1-criticalendnotes.pdf
    trunk/Master/texmf-dist/doc/latex/reledmac/examples/1-criticalnotes.pdf
    trunk/Master/texmf-dist/doc/latex/reledmac/examples/1-sidenotes.pdf
    trunk/Master/texmf-dist/doc/latex/reledmac/examples/1-tabular.pdf
    trunk/Master/texmf-dist/doc/latex/reledmac/examples/1-verses-doublenumbering.pdf
    trunk/Master/texmf-dist/doc/latex/reledmac/examples/1-verses.pdf
    trunk/Master/texmf-dist/doc/latex/reledmac/examples/2-antilabe.pdf
    trunk/Master/texmf-dist/doc/latex/reledmac/examples/2-cross_referencing.pdf
    trunk/Master/texmf-dist/doc/latex/reledmac/examples/2-footnote_spacing.pdf
    trunk/Master/texmf-dist/doc/latex/reledmac/examples/2-glossaries.pdf
    trunk/Master/texmf-dist/doc/latex/reledmac/examples/2-indexing.pdf
    trunk/Master/texmf-dist/doc/latex/reledmac/examples/2-lemma_disambigution.pdf
    trunk/Master/texmf-dist/doc/latex/reledmac/examples/2-line_numbers_in_header.pdf
    trunk/Master/texmf-dist/doc/latex/reledmac/examples/2-linespacing.pdf
    trunk/Master/texmf-dist/doc/latex/reledmac/examples/2-manuscript-apparatus.pdf
    trunk/Master/texmf-dist/doc/latex/reledmac/examples/2-notes-width.pdf
    trunk/Master/texmf-dist/doc/latex/reledmac/examples/2-one_series_per_pstart.pdf
    trunk/Master/texmf-dist/doc/latex/reledmac/examples/2-performances.pdf
    trunk/Master/texmf-dist/doc/latex/reledmac/examples/2-reledmac-right-to-left.pdf
    trunk/Master/texmf-dist/doc/latex/reledmac/examples/2-subdivision-number-in-header.pdf
    trunk/Master/texmf-dist/doc/latex/reledmac/examples/2-titles_in_line_numbering_with_notes.pdf
    trunk/Master/texmf-dist/doc/latex/reledmac/examples/2-titles_not_in_line_numbering.pdf
    trunk/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_columns_different_languages.pdf
    trunk/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_mwe.pdf
    trunk/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_pages_different_languages_lualatex.pdf
    trunk/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_same_page_number_in_both_side.pdf
    trunk/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_advancedshifted-nomax.pdf
    trunk/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_advancedshifted.pdf
    trunk/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_default.pdf
    trunk/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_nomax-shifted.pdf
    trunk/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_nomax.pdf
    trunk/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_nosync.pdf
    trunk/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_shifted.pdf
    trunk/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_column_mix_with_not_column-continuous-numbering.pdf
    trunk/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_column_mix_with_not_column.pdf
    trunk/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_columns_alignment.pdf
    trunk/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_columns_titles_in_line_numbering_with_notes.pdf
    trunk/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_inside-outside-columns.pdf
    trunk/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_one_series_per_pstart.pdf
    trunk/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_pages_long_notes.pdf
    trunk/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_pages_notes_leftpage.pdf
    trunk/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_pages_paragraph_separator_between.pdf
    trunk/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_pages_titles_in_line_numbering_with_notes.pdf
    trunk/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_titles_not_in_line_numbering.pdf
    trunk/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_verse_text_between.pdf
    trunk/Master/texmf-dist/doc/latex/reledmac/migration.pdf
    trunk/Master/texmf-dist/doc/latex/reledmac/reledmac.pdf
    trunk/Master/texmf-dist/doc/latex/reledmac/reledpar.pdf
    trunk/Master/texmf-dist/source/latex/reledmac/reledmac.dtx
    trunk/Master/texmf-dist/tex/latex/reledmac/reledmac.sty

Modified: trunk/Master/texmf-dist/doc/latex/reledmac/doc-more/page-typesetting-columns.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/reledmac/examples/1-criticalendnotes.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/reledmac/examples/1-criticalnotes.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/reledmac/examples/1-sidenotes.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/reledmac/examples/1-tabular.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/reledmac/examples/1-verses-doublenumbering.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/reledmac/examples/1-verses.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/reledmac/examples/2-antilabe.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/reledmac/examples/2-cross_referencing.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/reledmac/examples/2-footnote_spacing.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/reledmac/examples/2-glossaries.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/reledmac/examples/2-indexing.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/reledmac/examples/2-lemma_disambigution.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/reledmac/examples/2-line_numbers_in_header.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/reledmac/examples/2-linespacing.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/reledmac/examples/2-manuscript-apparatus.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/reledmac/examples/2-notes-width.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/reledmac/examples/2-one_series_per_pstart.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/reledmac/examples/2-performances.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/reledmac/examples/2-reledmac-right-to-left.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/reledmac/examples/2-subdivision-number-in-header.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/reledmac/examples/2-titles_in_line_numbering_with_notes.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/reledmac/examples/2-titles_not_in_line_numbering.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_columns_different_languages.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_mwe.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_pages_different_languages_lualatex.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_same_page_number_in_both_side.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_advancedshifted-nomax.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_advancedshifted.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_default.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_nomax-shifted.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_nomax.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_nosync.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/reledmac/examples/3-reledpar_sync_setting_shifted.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_column_mix_with_not_column-continuous-numbering.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_column_mix_with_not_column.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_columns_alignment.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_columns_titles_in_line_numbering_with_notes.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_inside-outside-columns.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_one_series_per_pstart.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_pages_long_notes.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_pages_notes_leftpage.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_pages_paragraph_separator_between.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_pages_titles_in_line_numbering_with_notes.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_titles_not_in_line_numbering.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/reledmac/examples/4-reledpar_verse_text_between.pdf
===================================================================
(Binary files differ)

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

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

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

Modified: trunk/Master/texmf-dist/source/latex/reledmac/reledmac.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/reledmac/reledmac.dtx	2021-05-30 19:57:06 UTC (rev 59397)
+++ trunk/Master/texmf-dist/source/latex/reledmac/reledmac.dtx	2021-05-30 19:57:37 UTC (rev 59398)
@@ -580,7 +580,12 @@
 % \changes{v2.37.1}{2021/03/08}{Fix bug with \protect\cs{edgls} and related in \protect\cs{edtext} argument. Require \protect\package{glossaries-extra} is \protect\package{glossaries} is loaded.}
 % \changes{v2.37.2}{2021/04/04}{Fix bug with \protect\cs{Xstanzaonlyfirst}.}
 % \changes{v2.37.2}{2021/04/04}{Fix bug with \protect\option{parapparatus} option and nested \protect\cs{edtext}.}
-% \changes{v2.37.1}{2021/04/04}{Fix bug with \protect\cs{Xgroupbyline} and two or three columns notes.}
+% \changes{v2.37.2}{2021/04/04}{Fix bug with \protect\cs{Xgroupbyline} and two or three columns notes.}
+% \changes{v2.38.0}{2021/05/30}{Fix indent bugs with stanza and right-to-left typesetting.}
+% \changes{v2.38.0}{2021/05/30}{Fix bug with \protect\cs{lemma} and right-to-left typesetting with \protect\XeLaTeX.}
+% \changes{v2.38.0}{2021/05/30}{Add hyperlinks between footnote and lemma when using abbreviated line range.}
+% \changes{v2.38.0}{2021/05/30}{Add \protect\cs{Xnopagenumberifcurrent} hook.}
+% \changes{v2.38.0}{2021/05/30}{Add \protect\cs{Xbeforepagenumber} hook.}
 %      Typeset scholarly editions with \LaTeX\thanks{This file (\dtxfilename)
 % has version number \fileversion, last revised \filedate.}}
 %
@@ -2394,6 +2399,8 @@
 % \paragraph{For critical notes}
 % \DescribeMacro{\Xtxtbeforenumber}
 % \cs{Xtxtbeforenumber}\oarg{s}\marg{txt} allows the insertion of \meta{txt} before the line number only when the line number is printed, so taking into account \cs{Xnumberonlyfirstinline} and the like.
+% \DescribeMacro{\Xbeforepagenumber}
+% \cs{Xbeforepagenumber}\oarg{s}\marg{txt} allows the insertion of \meta{txt} before the page number only when the page number is printed, so when a note spans across two or more pages and the lineation is by page.
 % \paragraph{For endnotes}\label{pagelineendnotes}
 % \DescribeMacro{\Xendbeforepagenumber}
 % \cs{Xendbeforepagenumber}\oarg{s}\marg{text} defines the text before the page number in endnotes. Default value is \verb+p.+ (\enquote{p} followed by a dot).
@@ -2457,6 +2464,13 @@
 %
 % \DescribeMacro{\Xendnonumber} \protect\cs{Xendnonumber}\oarg{s} is the same for endnotes.
 %
+% \subsubsection{Disabling page number printing}
+% \DescribeMacro{\Xnopagenumberifcurrent}%
+% When we use a lineation by page, \macpackage checks if a lemma spans across two page. In this case, it prints the starting end ending page number.
+%
+% Many times, one of these two page numbers is also the current page number.
+%
+% In this case, it is possible to disable page number printing, using \cs{Xnopagenumberifcurrent}\oarg{s}.
 % \subsubsection{Printing pstart number}
 % \changes{v1.1.0}{2012/09/25}{Add \protect\cs{Xpstart} and \protect\cs{Xonlypstart}}
 % \changes{v1.18.0}{2015/02/23}{Add \protect\cs{Xpstarteverytime}}
@@ -2494,16 +2508,6 @@
 % Default value is empty.
 %
 % \DescribeMacro{Xstanzaonlyfirst} You can use \cs{Xstanzaonlyfirst}\oarg{s} to print the stanza number only the first time it appears in the apparatus.
-% \subsubsection{Disabling line number printing}
-% Sometime, we want to print only the stanza or pstart number, but not the line number.
-% \DescribeMacro{\Xnolinenumber}
-% \DescribeMacro{\Xendnolinenumber}
-% The \cs{Xnolinenumber}\oarg{s} macro  disables line number printing for critical footnotes.
-%
-% The \cs{Xendnolinenumber} macro  does the same for endnotes.
-%
-% Note that contrary to \cs{Xnonumber} and \cs{Xnoendnum}, the page/pstartannotation will be printed, if required.
-%
 % \subsubsection{Options for line number annotations}\label{annotation-inapparatus}
 % \DescribeMacro{\Xlinenumannotationonlyfirst}
 % By default, the line number annotation (\reff{annotation}) is printed in every note. If you want to print it only the first time for a given annotation
@@ -2711,15 +2715,15 @@
 % \subsubsection{For all notes}
 % \DescribeMacro{\Xnotefontsize}
 % \protect\cs{Xnotefontsize}\oarg{s}\marg{command} is used to define the font size of critical footnotes of the series. The default value is \protect\cs{footnotesize}.
-% The \meta{command} must not be a size in pt, but a standard \LaTeX\ size, like \protect\cs{small}.
+% The \meta{command} must not be a size in pt, but a \LaTeX\ macro, like \protect\cs{small}.
 %
 % \DescribeMacro{\notefontsizeX}
 % \protect\cs{notefontsizeX}\oarg{s}\marg{command} is used to define the font size of familiar footnotes of the series. The default value is \protect\cs{footnotesize}.
-% The \meta{command} must not be a size in pt, but a standard \LaTeX\ size, like \protect\cs{small}.
+% The \meta{command} must not be a size in pt, but a \LaTeX\ macro, like \protect\cs{small}.
 %
 % \DescribeMacro{\Xendnotefontsize}
 % \protect\cs{Xendnotefontsize}\oarg{s}\marg{l} is used to define the font size of end critical footnotes of the series. The default value is \protect\cs{footnotesize}.
-% The \meta{command} must not be a size in pt, but a standard \LaTeX\ size, like \protect\cs{small}.
+% The \meta{command} must not be a size in pt, but a \LaTeX\ macro, like \protect\cs{small}.
 %
 % \subsection{Wrapping notes}
 % \subsubsection{Wrapping lemmas}
@@ -4471,7 +4475,7 @@
 %    \begin{macrocode}
 %<*code>
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{reledmac}[2021/04/04 v2.37.2 typesetting critical editions]%
+\ProvidesPackage{reledmac}[2021/05/30 v2.38.0 typesetting critical editions]%
 %    \end{macrocode}
 %
 % \subsection{Package options}
@@ -8265,21 +8269,33 @@
 % With \XeLaTeX, you must track whether the language reads left to right (English) or right to left (Arabic). \reledmac defines an \cs{if at RTL} boolean test is not already defined.
 %    \begin{macrocode}
         \if at RTL%
+          \IfStrEq{\xabslineref{edtext:start:\csuse{thisedtext@\the\@edtext at level}}}%
+            {000}%
+            {}%
+            {%
+            \ifnumequal%
+              {\xabslineref{edtext:start:\csuse{thisedtext@\the\@edtext at level}}}%
+              {\xabslineref{edtext:end:\csuse{thisedtext@\the\@edtext at level}}}%
+              {}%
+              {\write at lemma}%
+            }%
           \flag at start@RTL%
+          \IfStrEq{\xabslineref{edtext:start:\csuse{thisedtext@\the\@edtext at level}}}%
+            {000}%
+            {}%
+            {%
+            \ifnumequal%
+              {\xabslineref{edtext:start:\csuse{thisedtext@\the\@edtext at level}}}%
+              {\xabslineref{edtext:end:\csuse{thisedtext@\the\@edtext at level}}}%
+              {\write at lemma}%
+              {}%
+            }%
         \else%
           \flag at start%
+          \write at lemma%
         \fi%
 %    \end{macrocode}
 % We write in the numbered file wether the current \protect\cs{edtext} has a \protect\cs{lemma} in the the second argument.
-%    \begin{macrocode}
-       \if at lemmacommand@%
-         \ifledRcol%
-           \write\linenum at outR{\string\@lemma}%
-         \else%
-           \write\linenum at out{\string\@lemma}%
-         \fi%
-       \fi%
-%    \end{macrocode}
 % Finally, we are ready to admit the first argument into the current
 % paragraph.
 %
@@ -8458,6 +8474,7 @@
 % \end{macro}
 %
 % \begin{macro}{\@lemma}
+% \begin{macro}{\write at lemma}
 % The \protect\cs{@lemma} is written in the numbered file to set which \protect\cs{edtext} has an
 % \protect\cs{lemma} as second argument.
 %    \begin{macrocode}
@@ -8464,8 +8481,18 @@
 \newcommand{\@lemma}{%
   \booltrue{lemmacommand@\the\@edtext at level}%
 }%
+\newcommand{\write at lemma}{%
+  \if at lemmacommand@%
+   \ifledRcol%
+     \write\linenum at outR{\string\@lemma}%
+   \else%
+     \write\linenum at out{\string\@lemma}%
+   \fi%
+  \fi%
+}%
 %    \end{macrocode}
 % \end{macro}
+% \end{macro}
 % \begin{macro}{\if at lemmacommand@}
 % \changes{v1.15.0}{2015/01/12}{New boolean \protect\cs{iflemmacommand@}.}
 % This boolean is set to TRUE inside a \protect\cs{edtext} (or \protect\cs{critext}) when a \protect\cs{lemma} command is called.
@@ -9572,11 +9599,10 @@
 % \begin{macro}{\ledllfill}
 % \begin{macro}{\ledrlfill}
 %  These macros are called at the left (\protect\cs{ledllfill}) and the right
-% (\protect\cs{ledllfill}) of each numbered line. The initial definitions
-% correspond to the original code for \protect\cs{do at line}.
+% (\protect\cs{ledllfill}) of each numbered line.
 %    \begin{macrocode}
-\newcommand*{\ledllfill}{\hfil}
-\newcommand*{\ledrlfill}{}
+\newcommand*{\ledllfill}{\unless\if at RTL\hfil\fi}%
+\newcommand*{\ledrlfill}{\if at RTL\hfil\fi}%
 
 %    \end{macrocode}
 % \end{macro}
@@ -12669,7 +12695,7 @@
       {\numdef{\tmp}{0}}%
     \istwofollowinglines at false%
     \ifnumequal{#4-#2}{1}%
-    {\istwofollowinglines at true}%
+    {\istwofollowinglines at true}%%
     {\ifbypage@%
       \ifnumequal{#3-#1}{1}%
       {%
@@ -12685,6 +12711,7 @@
 % \end{macro}
 %
 % \begin{macro}{\printlines}
+% \begin{macro}{\printlines at count}
 % \changes{v2.5.0}{2015/11/13}{\protect\cs{printlines} takes an eighth argument: the line flag}
 % So, we have decided which part of line number sets will be printed depending on these values.
 % Now we are ready to print them.
@@ -12692,7 +12719,9 @@
 % \changes{v0.15.0}{2012/06/11}{Line numbering can be reset at each pstart.}
 % Arguments are 1) start page number 2) start line number 3) start subline number 4) end page number 5) end line number 6) end subline number 7) font specification 8) side flag
 %    \begin{macrocode}
+\newcount\printlines at count%
 \def\printlines#1|#2|#3|#4|#5|#6|#7|#8|{%
+  \global\advance\printlines at count by 1%
   \begingroup%
 %    \end{macrocode}
 % Decide which part of line number components we will print.
@@ -12712,11 +12741,28 @@
   \ifcsstring{Xlinenumannotationposition@\@currentseries}{before}%
     {\@annot at start@print}%
     {}%
+%    \end{macrocode}
+% Sometime, we need to print the page number.
+% However, if both the current page is equal to the page number and we use \cs{Xnopagenumberifcurrent}, we do not want to print it.
+% To determine the current page, we need to use crossref mechanism. See \url{https://tex.stackexchange.com/a/239457/7712} for explanation.
+%    \begin{macrocode}
   \ifl at d@pnum%
-    \wrap at edcrossref{\@this at crossref@start}{#1}%
-    \ifl at d@Xlinenumber%
-      \csuse{Xpagelinesep@\@currentseries}%
-    \fi%
+    \iftoggle{Xnopagenumberifcurrent@\@currentseries}{%
+      \edlabel{printlines@\the\printlines at count}%
+    }{}%
+    \ifboolexpr{%
+      not test{\ifnumequal{\xpageref{printlines@\the\printlines at count}}{#1}}%
+      or not togl{Xnopagenumberifcurrent@\@currentseries}%
+      }%
+      {%
+        \csuse{Xbeforepagenumber@\@currentseries}%
+        \wrap at edcrossref{\@this at crossref@start}{%
+          #1%
+        }%
+        \ifl at d@Xlinenumber%
+          \csuse{Xpagelinesep@\@currentseries}%
+        \fi%
+      }{}%
   \fi%
   \ifl at d@Xlinenumber%
     \wrap at edcrossref{\@this at crossref@start}{%
@@ -12744,9 +12790,9 @@
   \ifl at d@Xtwolines%
     \ifl at d@Xlinenumber%
       \ifl at d@Xmorethantwolines%
-        \csuse{Xmorethantwolines@\@currentseries}%
+        \wrap at edcrossref{\@this at crossref@end}{\csuse{Xmorethantwolines@\@currentseries}}%
       \else%
-        \csuse{Xtwolines@\@currentseries}%
+        \wrap at edcrossref{\@this at crossref@end}{\csuse{Xtwolines@\@currentseries}}%
       \fi%
     \fi%
   \else%
@@ -12761,8 +12807,16 @@
       {\@annot at end@print}%
       {}%
     \ifl at d@pnum%
-       \wrap at edcrossref{\@this at crossref@end}{#4}%
-       \csuse{Xpagelinesep@\@currentseries}%
+      \ifboolexpr{%
+        not test{\ifnumequal{\xpageref{printlines@\the\printlines at count}}{#4}}%
+        or not togl{Xnopagenumberifcurrent@\@currentseries}%
+        }{%
+           \csuse{Xbeforepagenumber@\@currentseries}%
+           \wrap at edcrossref{\@this at crossref@end}{%
+             #4%
+          }%
+         \csuse{Xpagelinesep@\@currentseries}%
+       }{}%
     \fi%
     \ifl at d@Xlinenumber%
       \ifl at d@elin%
@@ -12790,6 +12844,7 @@
 }%
 %    \end{macrocode}
 % \end{macro}
+% \end{macro}
 % \subsubsection{Footnote grouped by line}
 % \begin{macro}{\prepare at Xgroupbyline}
 % \cs{prepare at Xgroupbyline} is a macro called on the \cs{meta{XXX}vfootnote} if \cs{Xgroupbyline} is set to true, instead of calling \cs{insert} directly.
@@ -14870,9 +14925,9 @@
   \ifl at d@Xtwolines%
     \ifl at d@Xendlinenumber%
       \ifl at d@Xmorethantwolines%
-        \csuse{Xendmorethantwolines@\@currentseries}%
+        \wrap at edcrossref{\@this at crossref@end}{\csuse{Xendmorethantwolines@\@currentseries}}%
       \else%
-        \csuse{Xendtwolines@\@currentseries}%
+        \wrap at edcrossref{\@this at crossref@end}{\csuse{Xendtwolines@\@currentseries}}%
       \fi%
     \fi%
   \else%
@@ -15069,6 +15124,8 @@
       \newtoggle{Xnolinenumberifannotation@#1}%
       \csgdef{Xbeforenumber@#1}{0pt}%
       \csgdef{Xtxtbeforenumber@#1}{}%
+      \newtoggle{Xnopagenumberifcurrent@#1}%
+      \csgdef{Xbeforepagenumber@#1}{}%
       \csgdef{Xafternumber@#1}{0.5em}%
       \newtoggle{Xnonbreakableafternumber@#1}%
       \csgdef{Xbeforesymlinenum@#1}{\csuse{Xbeforenumber@#1}}%
@@ -15821,6 +15878,8 @@
   \newhookcommand at series{Xsymlinenumannotation}%
   \newhookcommand at series{Xbeforenumber}
   \newhookcommand at series{Xtxtbeforenumber}
+  \newhooktoggle at series{Xnopagenumberifcurrent}%
+  \newhookcommand at series{Xbeforepagenumber}%
   \newhookcommand at series{Xafternumber}
   \newhookcommand at series{Xbeforesymlinenum}
   \newhookcommand at series{Xaftersymlinenum}
@@ -19219,10 +19278,14 @@
         }%
     }%
 }%
-\xdef\stanza at hang{\noexpand\leavevmode\noexpand\startlock
-            \hangindent\expandafter
-            \noexpand\csname sza at 0@\endcsname\stanzaindentbase
-            \hangafter\@ne}
+
+\def\stanza at hang{%
+  \leavevmode\startlock%
+  \hangindent\if at RTL-\fi\expandafter%
+  \csname sza at 0@\endcsname\stanzaindentbase%
+  \hangafter\@ne%
+}%
+
 \def\sza at penalty{\count@\csname szp@\number\stanza at count @\endcsname
          \ifnum\count@>\@M\advance\count at -\@M\penalty-\else
          \penalty\fi\count@}
@@ -19273,8 +19336,14 @@
       \def\noexpand\stanza at hang{\unexpanded{\leavevmode\null}}%
       \let\noexpand\endlock\relax%
    \noexpand\else%
-     \interlinepenalty%
-     \@M\rightskip\z@ plus 1fil\relax%
+     \interlinepenalty\@M%
+     \unexpanded{%
+       \ifboolexpr{bool {@RTL} and bool{xetex}}{%
+         \leftskip\z@ plus 1fil\relax%
+       }{%
+         \rightskip\z@ plus 1fil\relax%
+       }%
+     }%
    \noexpand\fi%
    \noexpand\ifnum\expandafter\noexpand\csname szp at 0@\endcsname=\z@%
      \let\noexpand\sza at penalty%

Modified: trunk/Master/texmf-dist/tex/latex/reledmac/reledmac.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/reledmac/reledmac.sty	2021-05-30 19:57:06 UTC (rev 59397)
+++ trunk/Master/texmf-dist/tex/latex/reledmac/reledmac.sty	2021-05-30 19:57:37 UTC (rev 59398)
@@ -37,7 +37,7 @@
 %%
 
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{reledmac}[2021/04/04 v2.37.2 typesetting critical editions]%
+\ProvidesPackage{reledmac}[2021/05/30 v2.38.0 typesetting critical editions]%
 \RequirePackage{xkeyval}
 \newif\ifparledgroup
 \newif\ifsameparallelpagenumber%
@@ -1662,17 +1662,31 @@
           \fi%
         \fi%
         \if at RTL%
+          \IfStrEq{\xabslineref{edtext:start:\csuse{thisedtext@\the\@edtext at level}}}%
+            {000}%
+            {}%
+            {%
+            \ifnumequal%
+              {\xabslineref{edtext:start:\csuse{thisedtext@\the\@edtext at level}}}%
+              {\xabslineref{edtext:end:\csuse{thisedtext@\the\@edtext at level}}}%
+              {}%
+              {\write at lemma}%
+            }%
           \flag at start@RTL%
+          \IfStrEq{\xabslineref{edtext:start:\csuse{thisedtext@\the\@edtext at level}}}%
+            {000}%
+            {}%
+            {%
+            \ifnumequal%
+              {\xabslineref{edtext:start:\csuse{thisedtext@\the\@edtext at level}}}%
+              {\xabslineref{edtext:end:\csuse{thisedtext@\the\@edtext at level}}}%
+              {\write at lemma}%
+              {}%
+            }%
         \else%
           \flag at start%
+          \write at lemma%
         \fi%
-       \if at lemmacommand@%
-         \ifledRcol%
-           \write\linenum at outR{\string\@lemma}%
-         \else%
-           \write\linenum at out{\string\@lemma}%
-         \fi%
-       \fi%
       \endgroup%
       \ifdef{\hypertarget}%
         {%
@@ -1760,6 +1774,15 @@
 \newcommand{\@lemma}{%
   \booltrue{lemmacommand@\the\@edtext at level}%
 }%
+\newcommand{\write at lemma}{%
+  \if at lemmacommand@%
+   \ifledRcol%
+     \write\linenum at outR{\string\@lemma}%
+   \else%
+     \write\linenum at out{\string\@lemma}%
+   \fi%
+  \fi%
+}%
 \newif\if at lemmacommand@%
 \newcommand*{\linenum}[1]{%
   \xdef\@tempa{#1|||||||\noexpand\\\l at d@nums}%
@@ -2283,8 +2306,8 @@
   \hb at xt@ \z@{\hskip\@tempdima\kern\ledrsnotesep\box\l at drp@rbox\hss}%
 }%
 
-\newcommand*{\ledllfill}{\hfil}
-\newcommand*{\ledrlfill}{}
+\newcommand*{\ledllfill}{\unless\if at RTL\hfil\fi}%
+\newcommand*{\ledrlfill}{\if at RTL\hfil\fi}%
 
 \newcommand*{\getline at num}{%
   \global\advance\absline at num \@ne%
@@ -3873,7 +3896,7 @@
       {\numdef{\tmp}{0}}%
     \istwofollowinglines at false%
     \ifnumequal{#4-#2}{1}%
-    {\istwofollowinglines at true}%
+    {\istwofollowinglines at true}%%
     {\ifbypage@%
       \ifnumequal{#3-#1}{1}%
       {%
@@ -3885,7 +3908,9 @@
      \fi%
     }%
 }%
+\newcount\printlines at count%
 \def\printlines#1|#2|#3|#4|#5|#6|#7|#8|{%
+  \global\advance\printlines at count by 1%
   \begingroup%
   \setprintlines{#1}{#2}{#3}{#4}{#5}{#6}%
   \ifdimequal{\csuse{Xboxstartlinenum@\@currentseries}}{0pt}%
@@ -3895,10 +3920,22 @@
     {\@annot at start@print}%
     {}%
   \ifl at d@pnum%
-    \wrap at edcrossref{\@this at crossref@start}{#1}%
-    \ifl at d@Xlinenumber%
-      \csuse{Xpagelinesep@\@currentseries}%
-    \fi%
+    \iftoggle{Xnopagenumberifcurrent@\@currentseries}{%
+      \edlabel{printlines@\the\printlines at count}%
+    }{}%
+    \ifboolexpr{%
+      not test{\ifnumequal{\xpageref{printlines@\the\printlines at count}}{#1}}%
+      or not togl{Xnopagenumberifcurrent@\@currentseries}%
+      }%
+      {%
+        \csuse{Xbeforepagenumber@\@currentseries}%
+        \wrap at edcrossref{\@this at crossref@start}{%
+          #1%
+        }%
+        \ifl at d@Xlinenumber%
+          \csuse{Xpagelinesep@\@currentseries}%
+        \fi%
+      }{}%
   \fi%
   \ifl at d@Xlinenumber%
     \wrap at edcrossref{\@this at crossref@start}{%
@@ -3920,9 +3957,9 @@
   \ifl at d@Xtwolines%
     \ifl at d@Xlinenumber%
       \ifl at d@Xmorethantwolines%
-        \csuse{Xmorethantwolines@\@currentseries}%
+        \wrap at edcrossref{\@this at crossref@end}{\csuse{Xmorethantwolines@\@currentseries}}%
       \else%
-        \csuse{Xtwolines@\@currentseries}%
+        \wrap at edcrossref{\@this at crossref@end}{\csuse{Xtwolines@\@currentseries}}%
       \fi%
     \fi%
   \else%
@@ -3937,8 +3974,16 @@
       {\@annot at end@print}%
       {}%
     \ifl at d@pnum%
-       \wrap at edcrossref{\@this at crossref@end}{#4}%
-       \csuse{Xpagelinesep@\@currentseries}%
+      \ifboolexpr{%
+        not test{\ifnumequal{\xpageref{printlines@\the\printlines at count}}{#4}}%
+        or not togl{Xnopagenumberifcurrent@\@currentseries}%
+        }{%
+           \csuse{Xbeforepagenumber@\@currentseries}%
+           \wrap at edcrossref{\@this at crossref@end}{%
+             #4%
+          }%
+         \csuse{Xpagelinesep@\@currentseries}%
+       }{}%
     \fi%
     \ifl at d@Xlinenumber%
       \ifl at d@elin%
@@ -5304,9 +5349,9 @@
   \ifl at d@Xtwolines%
     \ifl at d@Xendlinenumber%
       \ifl at d@Xmorethantwolines%
-        \csuse{Xendmorethantwolines@\@currentseries}%
+        \wrap at edcrossref{\@this at crossref@end}{\csuse{Xendmorethantwolines@\@currentseries}}%
       \else%
-        \csuse{Xendtwolines@\@currentseries}%
+        \wrap at edcrossref{\@this at crossref@end}{\csuse{Xendtwolines@\@currentseries}}%
       \fi%
     \fi%
   \else%
@@ -5448,6 +5493,8 @@
       \newtoggle{Xnolinenumberifannotation@#1}%
       \csgdef{Xbeforenumber@#1}{0pt}%
       \csgdef{Xtxtbeforenumber@#1}{}%
+      \newtoggle{Xnopagenumberifcurrent@#1}%
+      \csgdef{Xbeforepagenumber@#1}{}%
       \csgdef{Xafternumber@#1}{0.5em}%
       \newtoggle{Xnonbreakableafternumber@#1}%
       \csgdef{Xbeforesymlinenum@#1}{\csuse{Xbeforenumber@#1}}%
@@ -5947,6 +5994,8 @@
   \newhookcommand at series{Xsymlinenumannotation}%
   \newhookcommand at series{Xbeforenumber}
   \newhookcommand at series{Xtxtbeforenumber}
+  \newhooktoggle at series{Xnopagenumberifcurrent}%
+  \newhookcommand at series{Xbeforepagenumber}%
   \newhookcommand at series{Xafternumber}
   \newhookcommand at series{Xbeforesymlinenum}
   \newhookcommand at series{Xaftersymlinenum}
@@ -8051,10 +8100,14 @@
         }%
     }%
 }%
-\xdef\stanza at hang{\noexpand\leavevmode\noexpand\startlock
-            \hangindent\expandafter
-            \noexpand\csname sza at 0@\endcsname\stanzaindentbase
-            \hangafter\@ne}
+
+\def\stanza at hang{%
+  \leavevmode\startlock%
+  \hangindent\if at RTL-\fi\expandafter%
+  \csname sza at 0@\endcsname\stanzaindentbase%
+  \hangafter\@ne%
+}%
+
 \def\sza at penalty{\count@\csname szp@\number\stanza at count @\endcsname
          \ifnum\count@>\@M\advance\count at -\@M\penalty-\else
          \penalty\fi\count@}
@@ -8069,8 +8122,14 @@
       \def\noexpand\stanza at hang{\unexpanded{\leavevmode\null}}%
       \let\noexpand\endlock\relax%
    \noexpand\else%
-     \interlinepenalty%
-     \@M\rightskip\z@ plus 1fil\relax%
+     \interlinepenalty\@M%
+     \unexpanded{%
+       \ifboolexpr{bool {@RTL} and bool{xetex}}{%
+         \leftskip\z@ plus 1fil\relax%
+       }{%
+         \rightskip\z@ plus 1fil\relax%
+       }%
+     }%
    \noexpand\fi%
    \noexpand\ifnum\expandafter\noexpand\csname szp at 0@\endcsname=\z@%
      \let\noexpand\sza at penalty%



More information about the tex-live-commits mailing list.