texlive[50229] Master/texmf-dist: reledmac (4mar19)

commits+karl at tug.org commits+karl at tug.org
Mon Mar 4 23:12:40 CET 2019


Revision: 50229
          http://tug.org/svn/texlive?view=revision&revision=50229
Author:   karl
Date:     2019-03-04 23:12:40 +0100 (Mon, 04 Mar 2019)
Log Message:
-----------
reledmac (4mar19)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/reledmac/doc-include/migrate-mac.dtx
    trunk/Master/texmf-dist/doc/latex/reledmac/doc-more/page-typesetting-columns.pdf
    trunk/Master/texmf-dist/doc/latex/reledmac/examples/1-criticalendotes.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-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-include/migrate-mac.dtx
===================================================================
--- trunk/Master/texmf-dist/doc/latex/reledmac/doc-include/migrate-mac.dtx	2019-03-04 22:12:11 UTC (rev 50228)
+++ trunk/Master/texmf-dist/doc/latex/reledmac/doc-include/migrate-mac.dtx	2019-03-04 22:12:40 UTC (rev 50229)
@@ -426,13 +426,18 @@
 % You must delete your \verb+.aux+ file after having upgraded to this new version of \reledmac.
 % \subsection{Migration to \reledmac 2.27.1}
 This release fix spurious space in \cs{hidenumbering}.
-If you considered this spurious space as normal, you must insert it manually using.
+%If you considered this spurious space as normal, you must insert it manually using.
 \begin{verbatim}
 xx\hidenumbering\ xx
 \end{verbatim}
 
-To get the space after \verb+xx+.
+%To get the space after \verb+xx+.
 
+% \subsection{Migration to \reledmac 2.31.1}
+%If you use \cs{Xgroupbyline}, the indentation of the notes has been deleted, in order to have the same behavior as for normal critical notes.
+%
+%Use \cs{Xparindent} to restore indentation.
+
 \subsection{Migration to \reledmac 2.30.0}
 
 If you have multiple annotations for the same line, there are now separated with a comma in the margin. You can use \cs{setlinenumannotationsep} to change the separator.

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-criticalendotes.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-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	2019-03-04 22:12:11 UTC (rev 50228)
+++ trunk/Master/texmf-dist/source/latex/reledmac/reledmac.dtx	2019-03-04 22:12:40 UTC (rev 50229)
@@ -525,6 +525,13 @@
 % \changes{v2.30.0}{2019/01/22}{Add \protect\cs{Xnoidenticallinenumannotation} and \protect\cs{Xendnoidenticallinenumannotation} hooks}
 % \changes{v2.30.0}{2019/01/22}{Add separator between line number annotations in margin. Add \protect\cs{setlinenumannotationsep}}
 % \changes{v2.31.0}{2019/02/22}{Add \protect\option{noprefix} and \protect\option{prefixmore} to \protect\cs{appref} and \protect\cs{SEref}.}
+% \changes{v2.31.1}{2019/03/03}{Fix bug with \protect\cs{Xgroupbyline}, which could produce spurious blank line}
+% \changes{v2.31.1}{2019/03/03}{Fix bug with multiple footnote layer and \protect\cs{Xgroupbyline}}
+% \changes{v2.31.1}{2019/03/03}{Fix incompatibility between \protect\cs{Xgroupbyline} and \protect\package{hyperref} package}
+% \changes{v2.31.1}{2019/03/03}{Fix incompatibility between \protect\cs{Xgroupbyline} and optional argument of critical footnotes}
+% \changes{v2.31.1}{2019/03/03}{Fix bug in vertical spacing with \protect\cs{Xgroupbyline}}
+% \changes{v2.31.1}{2019/03/03}{Fix bug with indentation with \protect\cs{Xgroupbyline}}
+% \changes{v2.31.1}{2019/03/03}{Fix bug with \protect\cs{Xhangindent} and \protect\cs{hangindentX} for right-to-left texts.}
 %      Typeset scholarly editions with \LaTeX\thanks{This file (\dtxfilename)
 % has version number \fileversion, last revised \filedate.}}
 %
@@ -4260,7 +4267,7 @@
 %    \begin{macrocode}
 %<*code>
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{reledmac}[2019/02/22 v2.31.0 typesetting critical editions]%
+\ProvidesPackage{reledmac}[2019/03/03 v2.31.1 typesetting critical editions]%
 %    \end{macrocode}
 %
 % \subsection{Package options}
@@ -9969,12 +9976,13 @@
 % \end{macro}
 %
 % \begin{macro}{\add at Xgroupbyline}
-% If you use \cs{Xgroupbyline}, the insertion of the critical footnotes are not made immediately in \cs{add at inserts}, but the content to be inserted is stored, to be inserted in one block.
+% If you use \cs{Xgroupbyline}, the insertion of the critical footnotes are not made immediately in \cs{add at inserts}, but the content to be inserted is stored, in order to be inserted later in one block.
 % This insertion in one block is made by \cs{add at Xgroupbyline}.
 %    \begin{macrocode}
 \newcommand{\add at Xgroupbyline}{%
   \unless\ifnocritical@%
     \def\do##1{%Looping on the series
+      \let\olddo\do%Save the old \do macro, that is this macro itself!
       \def\do####1{%Looping on the ##1 at forinserting command
          \ifcsdef{##1 at forinserting@####1}{%
            \X at beforeinsertion{##1}%
@@ -9984,6 +9992,7 @@
              \insert\csname ##1footins\endcsname%
            \fi%
            {%
+            \nottoggle{Xparindent@##1}{\parindent=\z@}{}%
              \ifcsdef{Xhsize\csuse{series at display##1}@##1}%
                {\hsize \csuse{Xhsize\csuse{series at display##1}@##1}}%
                {}%
@@ -10008,6 +10017,7 @@
         \dolistcsloop{##1 at forinserting}%
       }{}%
       \global\csundef{##1 at forinserting}%
+      \let\do\olddo%Restore old do
       }%
     \dolistloop{\@series}%
   \fi%
@@ -10490,11 +10500,12 @@
 % \end{macro}
 %
 % \begin{macro}{\normalvfootnote at inserted}
-% The \cs{normalvfootnote at inserted} macro is expanded to the content to be add to a \cs{insert} for normal critical footnote.
+% The \cs{normalvfootnote at inserted} macro is expanded to the content to be added to a \cs{insert} for normal critical footnote.
 %    \begin{macrocode}
 \notbool{parapparatus@}{\newcommand*}{\newcommand}{\normalvfootnote at inserted}[2]{%
   \nottoggle{Xgroupbyline@#1}{\noindent}{}\csuse{Xbhooknote@#1}%
   \csuse{Xnotefontsize@#1}%
+  \iftoggle{Xgroupbyline@#1}{\strut}{}%
   \footsplitskips
   \ifl at dpairing\ifl at dpaging\else%
     \setXnoteswidthliketwocolumns@{#1}%
@@ -10583,8 +10594,7 @@
 \notbool{parapparatus@}{\newcommand*}{\newcommand}{\normalfootfmt}[4]{%
   \Xstorelineinfo{#1}{#4}%
   \nottoggle{Xgroupbyline@#4}{\Xledsetnormalparstuff{#4}}{}%
-  \hangindent=\csuse{Xhangindent@#4}%
-  \everypar{\hangindent=\csuse{Xhangindent@#4}}%
+  \Xsethangindent{#4}%
   \nottoggle{Xgroupbyline@#4}{\rule\z@\splittopskip}{}%
   {\printlinefootnote{#1}{#4}}%
   \print at lemma{#1}{#2}{#4}%
@@ -11339,8 +11349,7 @@
     {}%
   \nottoggle{Xparindent@#1}{\parindent=\z@}{}%
   \tolerance=5000%
-  \hangindent=\csuse{Xhangindent@#1}%
-  \everypar{\hangindent=\csuse{Xhangindent@#1}}%
+  \Xsethangindent{#1}%
   \@tempdima=\parindent%
   \csuse{Xcolalign@#1}%
   \parindent=\@tempdima%
@@ -11488,8 +11497,7 @@
   \hsize \csuse{Xhsizetwocol@#1}%
   \nottoggle{Xparindent@#1}{\parindent=\z@}{}%
   \tolerance=5000%
-  \hangindent=\csuse{Xhangindent@#1}%
-  \everypar{\hangindent=\csuse{Xhangindent@#1}}%
+  \Xsethangindent{#1}%
   \@tempdima=\parindent%
   \csuse{Xcolalign@#1}%
   \parindent=\@tempdima%
@@ -11552,6 +11560,32 @@
 % \end{macro}
 %
 %
+% \subsection{Footnote hanging indent}
+% \begin{macro}{\Xsethangindent}
+% \begin{macro}{\sethangindentX}
+% \cs{Xsethangindent} set the hangindent for a critical footnote, while \cs{sethangindentX} does it for a familiar footnote.
+%    \begin{macrocode}
+\newcommand{\Xsethangindent}[1]{%
+  \if at RTL%
+    \hangindent=-\csuse{Xhangindent@#1}%
+    \everypar{\hangindent=-\csuse{Xhangindent@#1}}%
+  \else%
+    \hangindent=\csuse{Xhangindent@#1}%
+    \everypar{\hangindent=\csuse{Xhangindent@#1}}%
+  \fi%
+}%
+\newcommand{\sethangindentX}[1]{%
+  \if at RTL%
+    \hangindent=-\csuse{hangindentX@#1}%
+    \everypar{\hangindent=-\csuse{hangindentX@#1}}%
+  \else%
+    \hangindent=\csuse{hangindentX@#1}%
+    \everypar{\hangindent=\csuse{hangindentX@#1}}%
+  \fi%
+}%
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
 % \subsection{Critical notes presentation}
 % Here, we define some commons macro which are used in order to print a critical notes, that is a note with 1) line number 2) lemma 3) lemma separator 4) text associated to the lemma.
 
@@ -12224,56 +12258,67 @@
 % \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.
+% \#1 The series\\
+% \#2 The content of the footnote, that is also the line number indication\\
+% \#3 This macro which prepare the content of the insertion \\
 %    \begin{macrocode}
 \newcommand{\prepare at Xgroupbyline}[3]{%
   \iftoggle{Xgroupbylineseparetwolines@#1}{%
     \l at dparsefootspec#2%
     \ifcsdef{#1 at forinserting@\l at dparsedendpage-\l at dparsedendline-\l at dparsedendsub}%
-    {%
-      \csgappto%
-        {#1 at forinserting@\l at dparsedendpage-\l at dparsedendline-\l at dparsedendsub}%
-        {%
+      {%
+        \csgappto{#1 at forinserting@\l at dparsedendpage-\l at dparsedendline-\l at dparsedendsub}{%
+          \hskip\csuse{Xafternote@#1}\relax%
+        }%
+      }%
+      {}%
+    \add at hooktoggle@specific at to@cs{#1 at forinserting@\l at dparsedendpage-\l at dparsedendline-\l at dparsedendsub}%
+    \add at hookarg@specific at to@cs{#1 at forinserting@\l at dparsedendpage-\l at dparsedendline-\l at dparsedendsub}%
+    \csxappto%
+      {#1 at forinserting@\l at dparsedendpage-\l at dparsedendline-\l at dparsedendsub}%
+      {%
+        \keep at this@crossref at forinserting%
+        \unexpanded{%
           \ifcsempty{Xsymlinenum@#1}%
             {\csuse{Xparafootsep@#1}}%
             {}%
           #3{#1}{#2}%
-          \hskip\csuse{Xafternote@#1}\relax%
         }%
-    }%
-    {%
-      \csdef%
-        {#1 at forinserting@\l at dparsedendpage-\l at dparsedendline-\l at dparsedendsub}%
-        {%
-          #3{#1}{#2}%
-          \hskip\csuse{Xafternote@#1}\relax%
-        }%
-    }%
+      }%
     \listcsxadd{#1 at forinserting}{\l at dparsedendpage-\l at dparsedendline-\l at dparsedendsub}%
   }{%
-    \ifcsdef{#1 at forinserting@all}{%
-      \csgappto%
-        {#1 at forinserting@all}%
-        {%
-          \ifcsempty{Xsymlinenum@#1}%
-            {\csuse{Xparafootsep@#1}}%
-            {}%
-          #3{#1}{#2}%
-          \hskip\csuse{Xafternote@#1}\relax%
-        }%
-    }%
+  \ifcsdef{#1 at forinserting@all}{%
+    \csgappto%
+      {#1 at forinserting@all}%
+      {\hskip\csuse{Xafternote@#1}\relax}%
+    }{}%
+  \add at hooktoggle@specific at to@cs{#1 at forinserting@all}%
+  \add at hookarg@specific at to@cs{#1 at forinserting@all}%
+  \csxappto%
+    {#1 at forinserting@all}%
     {%
-      \csdef%
-        {#1 at forinserting@all}%
-        {%
-          #3{#1}{#2}%
-          \hskip\csuse{Xafternote@#1}\relax%
-        }%
+      \keep at this@crossref at forinserting%
+      \unexpanded{%
+        \ifcsempty{Xsymlinenum@#1}%
+          {\csuse{Xparafootsep@#1}}%
+          {}%
+        #3{#1}{#2}%
+      }%
     }%
-    \listcsgadd{#1 at forinserting}{all}%
   }%
+  \listcsgadd{#1 at forinserting}{all}%
 }%
 %    \end{macrocode}
 % \end{macro}
+% \begin{macro}{\keep at this@crossref at forinserting}
+% \cs{keep at this@crossref at forinserting} is called by \cs{prepare at Xgroupbyline}. It just ensures that \cs{@this at crossref@start} and \cs{this at crossref@end} value are kept in memory.
+%    \begin{macrocode}
+\newcommand{\keep at this@crossref at forinserting}{%
+  \unexpanded{\gdef\@this at crossref@start}{\@this at crossref@start}%
+  \unexpanded{\gdef\@this at crossref@end}{\@this at crossref@end}%
+}%
+%    \end{macrocode}
+% \end{macro}
 % \section{Familiar footnotes}
 %
 % \subsection{Adjacent footnotes}
@@ -12610,8 +12655,7 @@
        \@nameuse{@thefnmark#1}%
    }%
   \ledsetnormalparstuffX{#1}%
-  \hangindent=\csuse{hangindentX@#1}%
-  \everypar{\hangindent=\csuse{hangindentX@#1}}%
+  \sethangindentX{#1}%
   \rule\z@\splittopskip%
   {{\csuse{notenumfontX@#1}\wrapped at footfootmarkX{#1}}%
     \csuse{wrapcontentX@#1}{#2}%
@@ -12930,8 +12974,7 @@
        \@nameuse{@thefnmark#1}%
    }%
   \normal at pars%
-  \hangindent=\csuse{hangindentX@#1}%
-  \everypar{\hangindent=\csuse{hangindentX@#1}}%
+  \sethangindentX{#1}%
   \hsize \csuse{hsizetwocolX@#1}%
  \nottoggle{parindentX@#1}{\parindent=\z@}{}%
   \tolerance=5000\relax%
@@ -13053,8 +13096,7 @@
    \protected at edef\@currentlabel{%
        \@nameuse{@thefnmark#1}%
    }%
-  \hangindent=\csuse{hangindentX@#1}%
-  \everypar{\hangindent=\csuse{hangindentX@#1}}%
+  \sethangindentX{#1}%
   \normal at pars%
   \hsize \csuse{hsizethreecolX@#1}%
   \nottoggle{parindentX@#1}{\parindent=\z@}{}%
@@ -13738,8 +13780,6 @@
   \def\@this at crossref@end{#7:end}%
   \printlineendnote{#1}{#4}%
   \IfStrEq{#6}{R}{\ledRcol at false}{}%
-  \undef\@this at crossref@start%
-  \undef\@this at crossref@end%
   \nottoggle{Xendlemmadisablefontselection@#4}%
     {\select at lemmafont#1|}%
     {}%
@@ -14452,8 +14492,6 @@
                        {{\l at d@nums}{\expandonce\@tag}{\expandonce\content}}%
                       \noexpand\Xnote at false%
                       \unexpanded{\advance\@edindex at fornote@\m at ne}%
-                      \unexpanded{\undef\@this at crossref@start}%
-                      \unexpanded{\undef\@this at crossref@end}%
                       \ifbool{indtl at innote}%
                         {\unexpanded{\let\index\orig@@index}}%
                         {}%
@@ -14492,8 +14530,6 @@
                       \noexpand\csuse{v#1footnote}%
                          {#1}%
                          {{\l at d@nums}{\expandonce\@tag}{\expandonce\content}}%
-                      \unexpanded{\undef\@this at crossref@start}%
-                      \unexpanded{\undef\@this at crossref@end}%
                       \noexpand\Xnote at false%
                       \unexpanded{\advance\@edindex at fornote@\m at ne}%
                       \ifbool{indtl at innote}%
@@ -15267,6 +15303,7 @@
 %    \begin{macrocode}
 \newcommand{\newhooktoggle at specific}[1]{%
   \newtoggle{#1@}%
+  \listgadd{\hooktoggle at specific}{#1}%
   \define at key[mac]{truefootnoteoption}{#1}[]{\global\settoggle{#1@}{true}}%When enabling footnote option
   \define at key[mac]{falsefootnoteoption}{#1}[]{\global\settoggle{#1@}{false}}
 }
@@ -15276,11 +15313,67 @@
 % \cs{newhookarg at specific} is a generic command to create argumen hook specific to a note.
 %    \begin{macrocode}
 \newcommand{\newhookarg at specific}[1]{%
+  \listgadd{\hookarg at specific}{#1}%
   \define at key[mac]{truefootnoteoption}{#1}{\csgdef{#1@}{##1}}%When enabling footnote option
   \define at key[mac]{falsefootnoteoption}{#1}{\global\csundef{#1@}}%When disabling footnote option
 }
 %    \end{macrocode}
 % \end{macro}
+% \begin{macro}{\hooktoggle at specific}
+% \begin{macro}{\add at hooktoggle@specific at to@cs}
+% The \cs{add at hooktoggle@specific at to@cs} macro stores to a macro
+% all the current values of hook toggle specific to a command.
+% It is useful for \cs{Xgroupbyline} option, which does not add immediately notes to the inserts list.
+% It uses the \cs{hooktoggle at specific} list.
+%    \begin{macrocode}
+\def\hooktoggle at specific{}%
+\newcommand{\add at hooktoggle@specific at to@cs}[1]{%
+  \def\do##1{%
+    \iftoggle{##1@}{%
+      \ifcsdef{#1}{%
+        \csgappto{#1}{\toggletrue{##1@}}%
+      }{%
+        \csgdef{#1}{\toggletrue{##1@}}%
+      }%
+    }{%
+      \ifcsdef{#1}{%
+        \csgappto{#1}{\togglefalse{##1@}}%
+      }{%
+        \csgdef{#1}{\togglefalse{##1@}}%
+      }%
+    }%
+  }%
+  \dolistloop{\hooktoggle at specific}%
+}%
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \begin{macro}{\hookarg at specific}
+% \begin{macro}{\add at hookarg@specific at to@cs}
+% The same, but for optional argument of critical footnotes with assigned value.
+%    \begin{macrocode}
+\def\hookarg at specific{}%
+\newcommand{\add at hookarg@specific at to@cs}[1]{%
+  \def\do##1{%
+    \ifcsvoid{##1@}{}{%
+      \ifcsdef{#1}{%
+        \csxappto{#1}{%
+          \noexpand\csdef%
+            {##1@}{\csname##1@\endcsname}%
+          }%
+      }{%
+        \csxdef{#1}{%
+          \noexpand\csdef%
+            {##1@}{\csname##1@\endcsname}%
+          }%
+      }%
+    }%
+  }%
+  \dolistloop{\hookarg at specific}%
+}%
+%    \end{macrocode}
+% \end{macro}
+% \end{macro}
 % And now, we define some hooks specific to a note.
 %    \begin{macrocode}
 \newhooktoggle at specific{fulllines}%
@@ -16534,8 +16627,6 @@
     \xdef\annot at start{\xannotationref{#2:start}}%
     \xdef\annot at end{\xannotationref{#2:end}}%
     \printlines\xpageref{#2:start}|\xlineref{#2:start}|\xsublineref{#2:start}|\xpageref{#2:end}|\xlineref{#2:end}|\xsublineref{#2:end}|\relax|\xflagref{#2:start}|%
-    \undef\@this at crossref@end%
-    \undef\@this at crossref@start%
    }%
   \def\do##1{%
     \setkeys[mac]{falsefootnoteoption}{##1}%
@@ -16558,8 +16649,6 @@
    \def\@this at crossref@start{#2:start}%
    \def\@this at crossref@end{#2:end}%
    \printendlines\xpageref{#2:start}|\xlineref{#2:start}|\xsublineref{#2:start}|\xpageref{#2:end}|\xlineref{#2:end}|\xsublineref{#2:end}|\relax|\xflagref{#2:start}|%
-    \undef\@this at crossref@end%
-    \undef\@this at crossref@start%
    }%
   \def\do##1{%
     \setkeys[mac]{falsefootnoteoption}{##1}%

Modified: trunk/Master/texmf-dist/tex/latex/reledmac/reledmac.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/reledmac/reledmac.sty	2019-03-04 22:12:11 UTC (rev 50228)
+++ trunk/Master/texmf-dist/tex/latex/reledmac/reledmac.sty	2019-03-04 22:12:40 UTC (rev 50229)
@@ -35,7 +35,7 @@
 %%
 
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{reledmac}[2019/02/22 v2.31.0 typesetting critical editions]%
+\ProvidesPackage{reledmac}[2019/03/03 v2.31.1 typesetting critical editions]%
 \RequirePackage{xkeyval}
 \newif\ifparledgroup
 \newif\ifsameparallelpagenumber%
@@ -2557,6 +2557,7 @@
 \newcommand{\add at Xgroupbyline}{%
   \unless\ifnocritical@%
     \def\do##1{%Looping on the series
+      \let\olddo\do%Save the old \do macro, that is this macro itself!
       \def\do####1{%Looping on the ##1 at forinserting command
          \ifcsdef{##1 at forinserting@####1}{%
            \X at beforeinsertion{##1}%
@@ -2566,6 +2567,7 @@
              \insert\csname ##1footins\endcsname%
            \fi%
            {%
+            \nottoggle{Xparindent@##1}{\parindent=\z@}{}%
              \ifcsdef{Xhsize\csuse{series at display##1}@##1}%
                {\hsize \csuse{Xhsize\csuse{series at display##1}@##1}}%
                {}%
@@ -2590,6 +2592,7 @@
         \dolistcsloop{##1 at forinserting}%
       }{}%
       \global\csundef{##1 at forinserting}%
+      \let\do\olddo%Restore old do
       }%
     \dolistloop{\@series}%
   \fi%
@@ -2811,6 +2814,7 @@
 \notbool{parapparatus@}{\newcommand*}{\newcommand}{\normalvfootnote at inserted}[2]{%
   \nottoggle{Xgroupbyline@#1}{\noindent}{}\csuse{Xbhooknote@#1}%
   \csuse{Xnotefontsize@#1}%
+  \iftoggle{Xgroupbyline@#1}{\strut}{}%
   \footsplitskips
   \ifl at dpairing\ifl at dpaging\else%
     \setXnoteswidthliketwocolumns@{#1}%
@@ -2858,8 +2862,7 @@
 \notbool{parapparatus@}{\newcommand*}{\newcommand}{\normalfootfmt}[4]{%
   \Xstorelineinfo{#1}{#4}%
   \nottoggle{Xgroupbyline@#4}{\Xledsetnormalparstuff{#4}}{}%
-  \hangindent=\csuse{Xhangindent@#4}%
-  \everypar{\hangindent=\csuse{Xhangindent@#4}}%
+  \Xsethangindent{#4}%
   \nottoggle{Xgroupbyline@#4}{\rule\z@\splittopskip}{}%
   {\printlinefootnote{#1}{#4}}%
   \print at lemma{#1}{#2}{#4}%
@@ -3184,8 +3187,7 @@
     {}%
   \nottoggle{Xparindent@#1}{\parindent=\z@}{}%
   \tolerance=5000%
-  \hangindent=\csuse{Xhangindent@#1}%
-  \everypar{\hangindent=\csuse{Xhangindent@#1}}%
+  \Xsethangindent{#1}%
   \@tempdima=\parindent%
   \csuse{Xcolalign@#1}%
   \parindent=\@tempdima%
@@ -3280,8 +3282,7 @@
   \hsize \csuse{Xhsizetwocol@#1}%
   \nottoggle{Xparindent@#1}{\parindent=\z@}{}%
   \tolerance=5000%
-  \hangindent=\csuse{Xhangindent@#1}%
-  \everypar{\hangindent=\csuse{Xhangindent@#1}}%
+  \Xsethangindent{#1}%
   \@tempdima=\parindent%
   \csuse{Xcolalign@#1}%
   \parindent=\@tempdima%
@@ -3326,6 +3327,24 @@
   \expandafter
   \Xrigidbalance\csname mp#1footins\endcsname \tw@ \splittopskip}}
 
+\newcommand{\Xsethangindent}[1]{%
+  \if at RTL%
+    \hangindent=-\csuse{Xhangindent@#1}%
+    \everypar{\hangindent=-\csuse{Xhangindent@#1}}%
+  \else%
+    \hangindent=\csuse{Xhangindent@#1}%
+    \everypar{\hangindent=\csuse{Xhangindent@#1}}%
+  \fi%
+}%
+\newcommand{\sethangindentX}[1]{%
+  \if at RTL%
+    \hangindent=-\csuse{hangindentX@#1}%
+    \everypar{\hangindent=-\csuse{hangindentX@#1}}%
+  \else%
+    \hangindent=\csuse{hangindentX@#1}%
+    \everypar{\hangindent=\csuse{hangindentX@#1}}%
+  \fi%
+}%
 
 \def\endashchar{\textnormal{--}}
 
@@ -3717,49 +3736,52 @@
   \iftoggle{Xgroupbylineseparetwolines@#1}{%
     \l at dparsefootspec#2%
     \ifcsdef{#1 at forinserting@\l at dparsedendpage-\l at dparsedendline-\l at dparsedendsub}%
-    {%
-      \csgappto%
-        {#1 at forinserting@\l at dparsedendpage-\l at dparsedendline-\l at dparsedendsub}%
-        {%
+      {%
+        \csgappto{#1 at forinserting@\l at dparsedendpage-\l at dparsedendline-\l at dparsedendsub}{%
+          \hskip\csuse{Xafternote@#1}\relax%
+        }%
+      }%
+      {}%
+    \add at hooktoggle@specific at to@cs{#1 at forinserting@\l at dparsedendpage-\l at dparsedendline-\l at dparsedendsub}%
+    \add at hookarg@specific at to@cs{#1 at forinserting@\l at dparsedendpage-\l at dparsedendline-\l at dparsedendsub}%
+    \csxappto%
+      {#1 at forinserting@\l at dparsedendpage-\l at dparsedendline-\l at dparsedendsub}%
+      {%
+        \keep at this@crossref at forinserting%
+        \unexpanded{%
           \ifcsempty{Xsymlinenum@#1}%
             {\csuse{Xparafootsep@#1}}%
             {}%
           #3{#1}{#2}%
-          \hskip\csuse{Xafternote@#1}\relax%
         }%
-    }%
-    {%
-      \csdef%
-        {#1 at forinserting@\l at dparsedendpage-\l at dparsedendline-\l at dparsedendsub}%
-        {%
-          #3{#1}{#2}%
-          \hskip\csuse{Xafternote@#1}\relax%
-        }%
-    }%
+      }%
     \listcsxadd{#1 at forinserting}{\l at dparsedendpage-\l at dparsedendline-\l at dparsedendsub}%
   }{%
-    \ifcsdef{#1 at forinserting@all}{%
-      \csgappto%
-        {#1 at forinserting@all}%
-        {%
-          \ifcsempty{Xsymlinenum@#1}%
-            {\csuse{Xparafootsep@#1}}%
-            {}%
-          #3{#1}{#2}%
-          \hskip\csuse{Xafternote@#1}\relax%
-        }%
-    }%
+  \ifcsdef{#1 at forinserting@all}{%
+    \csgappto%
+      {#1 at forinserting@all}%
+      {\hskip\csuse{Xafternote@#1}\relax}%
+    }{}%
+  \add at hooktoggle@specific at to@cs{#1 at forinserting@all}%
+  \add at hookarg@specific at to@cs{#1 at forinserting@all}%
+  \csxappto%
+    {#1 at forinserting@all}%
     {%
-      \csdef%
-        {#1 at forinserting@all}%
-        {%
-          #3{#1}{#2}%
-          \hskip\csuse{Xafternote@#1}\relax%
-        }%
+      \keep at this@crossref at forinserting%
+      \unexpanded{%
+        \ifcsempty{Xsymlinenum@#1}%
+          {\csuse{Xparafootsep@#1}}%
+          {}%
+        #3{#1}{#2}%
+      }%
     }%
-    \listcsgadd{#1 at forinserting}{all}%
   }%
+  \listcsgadd{#1 at forinserting}{all}%
 }%
+\newcommand{\keep at this@crossref at forinserting}{%
+  \unexpanded{\gdef\@this at crossref@start}{\@this at crossref@start}%
+  \unexpanded{\gdef\@this at crossref@end}{\@this at crossref@end}%
+}%
 \providecommand*{\multiplefootnotemarker}{3sp}
 \providecommand*{\multfootsep}{\textsuperscript{\normalfont,}}
 
@@ -3941,8 +3963,7 @@
        \@nameuse{@thefnmark#1}%
    }%
   \ledsetnormalparstuffX{#1}%
-  \hangindent=\csuse{hangindentX@#1}%
-  \everypar{\hangindent=\csuse{hangindentX@#1}}%
+  \sethangindentX{#1}%
   \rule\z@\splittopskip%
   {{\csuse{notenumfontX@#1}\wrapped at footfootmarkX{#1}}%
     \csuse{wrapcontentX@#1}{#2}%
@@ -4150,8 +4171,7 @@
        \@nameuse{@thefnmark#1}%
    }%
   \normal at pars%
-  \hangindent=\csuse{hangindentX@#1}%
-  \everypar{\hangindent=\csuse{hangindentX@#1}}%
+  \sethangindentX{#1}%
   \hsize \csuse{hsizetwocolX@#1}%
  \nottoggle{parindentX@#1}{\parindent=\z@}{}%
   \tolerance=5000\relax%
@@ -4234,8 +4254,7 @@
    \protected at edef\@currentlabel{%
        \@nameuse{@thefnmark#1}%
    }%
-  \hangindent=\csuse{hangindentX@#1}%
-  \everypar{\hangindent=\csuse{hangindentX@#1}}%
+  \sethangindentX{#1}%
   \normal at pars%
   \hsize \csuse{hsizethreecolX@#1}%
   \nottoggle{parindentX@#1}{\parindent=\z@}{}%
@@ -4656,8 +4675,6 @@
   \def\@this at crossref@end{#7:end}%
   \printlineendnote{#1}{#4}%
   \IfStrEq{#6}{R}{\ledRcol at false}{}%
-  \undef\@this at crossref@start%
-  \undef\@this at crossref@end%
   \nottoggle{Xendlemmadisablefontselection@#4}%
     {\select at lemmafont#1|}%
     {}%
@@ -5167,8 +5184,6 @@
                        {{\l at d@nums}{\expandonce\@tag}{\expandonce\content}}%
                       \noexpand\Xnote at false%
                       \unexpanded{\advance\@edindex at fornote@\m at ne}%
-                      \unexpanded{\undef\@this at crossref@start}%
-                      \unexpanded{\undef\@this at crossref@end}%
                       \ifbool{indtl at innote}%
                         {\unexpanded{\let\index\orig@@index}}%
                         {}%
@@ -5207,8 +5222,6 @@
                       \noexpand\csuse{v#1footnote}%
                          {#1}%
                          {{\l at d@nums}{\expandonce\@tag}{\expandonce\content}}%
-                      \unexpanded{\undef\@this at crossref@start}%
-                      \unexpanded{\undef\@this at crossref@end}%
                       \noexpand\Xnote at false%
                       \unexpanded{\advance\@edindex at fornote@\m at ne}%
                       \ifbool{indtl at innote}%
@@ -5726,13 +5739,53 @@
 \newhooktoggle at series{Xendnoidenticallinenumannotation}[apprefwithpage,SErefwithpage]%
 \newcommand{\newhooktoggle at specific}[1]{%
   \newtoggle{#1@}%
+  \listgadd{\hooktoggle at specific}{#1}%
   \define at key[mac]{truefootnoteoption}{#1}[]{\global\settoggle{#1@}{true}}%When enabling footnote option
   \define at key[mac]{falsefootnoteoption}{#1}[]{\global\settoggle{#1@}{false}}
 }
 \newcommand{\newhookarg at specific}[1]{%
+  \listgadd{\hookarg at specific}{#1}%
   \define at key[mac]{truefootnoteoption}{#1}{\csgdef{#1@}{##1}}%When enabling footnote option
   \define at key[mac]{falsefootnoteoption}{#1}{\global\csundef{#1@}}%When disabling footnote option
 }
+\def\hooktoggle at specific{}%
+\newcommand{\add at hooktoggle@specific at to@cs}[1]{%
+  \def\do##1{%
+    \iftoggle{##1@}{%
+      \ifcsdef{#1}{%
+        \csgappto{#1}{\toggletrue{##1@}}%
+      }{%
+        \csgdef{#1}{\toggletrue{##1@}}%
+      }%
+    }{%
+      \ifcsdef{#1}{%
+        \csgappto{#1}{\togglefalse{##1@}}%
+      }{%
+        \csgdef{#1}{\togglefalse{##1@}}%
+      }%
+    }%
+  }%
+  \dolistloop{\hooktoggle at specific}%
+}%
+\def\hookarg at specific{}%
+\newcommand{\add at hookarg@specific at to@cs}[1]{%
+  \def\do##1{%
+    \ifcsvoid{##1@}{}{%
+      \ifcsdef{#1}{%
+        \csxappto{#1}{%
+          \noexpand\csdef%
+            {##1@}{\csname##1@\endcsname}%
+          }%
+      }{%
+        \csxdef{#1}{%
+          \noexpand\csdef%
+            {##1@}{\csname##1@\endcsname}%
+          }%
+      }%
+    }%
+  }%
+  \dolistloop{\hookarg at specific}%
+}%
 \newhooktoggle at specific{fulllines}%
 \newhooktoggle at specific{nonum}
 \newhooktoggle at specific{nosep}
@@ -6449,8 +6502,6 @@
     \xdef\annot at start{\xannotationref{#2:start}}%
     \xdef\annot at end{\xannotationref{#2:end}}%
     \printlines\xpageref{#2:start}|\xlineref{#2:start}|\xsublineref{#2:start}|\xpageref{#2:end}|\xlineref{#2:end}|\xsublineref{#2:end}|\relax|\xflagref{#2:start}|%
-    \undef\@this at crossref@end%
-    \undef\@this at crossref@start%
    }%
   \def\do##1{%
     \setkeys[mac]{falsefootnoteoption}{##1}%
@@ -6473,8 +6524,6 @@
    \def\@this at crossref@start{#2:start}%
    \def\@this at crossref@end{#2:end}%
    \printendlines\xpageref{#2:start}|\xlineref{#2:start}|\xsublineref{#2:start}|\xpageref{#2:end}|\xlineref{#2:end}|\xsublineref{#2:end}|\relax|\xflagref{#2:start}|%
-    \undef\@this at crossref@end%
-    \undef\@this at crossref@start%
    }%
   \def\do##1{%
     \setkeys[mac]{falsefootnoteoption}{##1}%



More information about the tex-live-commits mailing list