From 6616e5bc017760ac8018e9133944b54a62ac7169 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 1 Jul 2016 22:05:01 +0000 Subject: reledmac (1jul16) git-svn-id: svn://tug.org/texlive/trunk@41599 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/source/latex/reledmac/reledmac.dtx | 134 ++++++++++---- .../texmf-dist/source/latex/reledmac/reledpar.dtx | 206 +++++++++++++++++---- 2 files changed, 266 insertions(+), 74 deletions(-) (limited to 'Master/texmf-dist/source/latex/reledmac') diff --git a/Master/texmf-dist/source/latex/reledmac/reledmac.dtx b/Master/texmf-dist/source/latex/reledmac/reledmac.dtx index 4251a70a182..e01d7f45aae 100644 --- a/Master/texmf-dist/source/latex/reledmac/reledmac.dtx +++ b/Master/texmf-dist/source/latex/reledmac/reledmac.dtx @@ -415,10 +415,12 @@ % \changes{v2.12.0}{2016/06/16}{More accurate message to control the position of \protect\cs{Xfootnote} and \protect\cs{applabel} in the \protect\LaTeX\ code} % \changes{v2.12.0}{2016/06/16}{Fix bug in critical and familiar footnotes when using uppercase letters with accent mark} % \changes{v2.12.0}{2016/06/16}{Make endnote compatible with \protect\cs{sameword} mechanism} -% \changes{v2.13.0}{2016/06/18}{The version 2.13.0 never existed.} -% \changes{v2.13.1}{2016/06/18}{In critical footnotes, the right side flag is printed only if asked explicitly with \protect\cs{Xlineflag} (bug added in v.~2.5.0).} -% \changes{v2.13.2}{2016/06/24}{Fix bug added in v.~11.2 which makes parallel typesetting could not work.} +% \changes{v2.13.0}{2016/06/18}{Version 2.13.0 never existed.} +% \changes{v2.13.1}{2016/06/18}{In critical footnotes, the right side flag is printed only if requested explicitly with \protect\cs{Xlineflag} (bug added in v.~2.5.0).} +% \changes{v2.13.2}{2016/06/24}{Fix bug added in v.~11.2 which could make parallel typesetting not work.} % \changes{v2.13.3}{2016/06/28}{Makes \protect\cs{Xendafterpagenumbe} affecting \protect\cs{SErefwithpage}} +% \changes{v2.14.0}{2016/07/01}{Hyperref with the line number inside critical footnotes is correct when using \protect\cs{xxref}} +% \changes{v2.14.0}{2016/07/01}{Some internal changes for new features of \protect\reledpar.} % \title{\Macpackage \\ % Typeset scholarly editions with \LaTeX\thanks{This file (\dtxfilename) % has version number \fileversion, last revised \filedate.}} @@ -2706,7 +2708,9 @@ % The \protect\cs{xxref}\marg{lab1}\marg{lab2} command generates a reference to a sequence of % lines, for use in the second argument of \protect\cs{edtext}. % It takes two arguments, both of which are -% labels: e.g., \verb"\xxref{mouse}{elephant}". It calls \protect\cs{linenum} +% labels: e.g., \verb"\xxref{mouse}{elephant}". +% +% It automatically calls \protect\cs{linenum} % (q.v., \reff{linenum} above) and sets the beginning page, % line and subline numbers to those of the place where % \verb"\edlabel{mouse}" was placed, and the ending numbers to those where @@ -3679,7 +3683,7 @@ % \begin{macrocode} %<*code> \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{reledmac}[2016/06/28 v2.13.3 typeset critical editions]% +\ProvidesPackage{reledmac}[2016/07/01 v2.14.0 typeset critical editions]% % \end{macrocode} % % \subsection{Package options} @@ -4791,17 +4795,17 @@ \else \def\@tempb{section} \ifx\@tempa\@tempb - \global\bypage@false - \global\bypstart@false - \unless\ifnocritical@% - \Xpstart[][false]% - \fi% + \global\bypage@false + \global\bypstart@false + \unless\ifnocritical@% + \Xpstart[][false]% + \fi% % \end{macrocode} % In other case, it is an error. % \begin{macrocode} - \else + \else \led@warn@BadLineation - \fi + \fi \fi \fi \fi}} @@ -6264,10 +6268,24 @@ \the\endpage@num|\the\endline@num|% \ifsublines@ \the\endsubline@num \else 0\fi}\to\line@list % \end{macrocode} -% Create a list which stores every second argument of each \protect\cs{@sw} +% And now, call \cs{@ref@reg@parsearg}, which can be also called by \cs{@ref@later} +% \begin{macrocode} + \@ref@reg@parse{#2}% +% \end{macrocode} +% Decrease edtext level counter. +% \begin{macrocode} + \global\advance\@edtext@level by -1% +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\@ref@reg@parse}% +% The \cs{@ref@reg@parsearg} command parses the second argument of a \cs{@ref} or the unique argument of \cs{@ref@later} written in the auxiliary fill. +% +% First, create a list which stores every second argument of each \protect\cs{@sw} % in this lemma, at this level. % Also set the boolean about the use of lemma in this edtext level to false. % \begin{macrocode} +\newcommand{\@ref@reg@parse}[1]{% \expandafter\list@create\expandafter{\csname sw@list@edtext@tmp@\the\@edtext@level\endcsname}% \providebool{lemmacommand@\the\@edtext@level}% \boolfalse{lemmacommand@\the\@edtext@level}% @@ -6275,7 +6293,7 @@ % Execute the second argument of \protect\cs{@ref} again, % to perform for real all the commands within it. % \begin{macrocode} - #2% + #1% % \end{macrocode} % Now, we store the list of \protect\cs{@sw} of this current \protect\cs{edtext} as an element of % the global list of list of \protect\cs{@sw} for a \protect\cs{edtext} depth. @@ -6289,10 +6307,6 @@ \global\cslet{sw@list@edtext@\the\@edtext@level}{\@tmp}% \fi% % \end{macrocode} -% Decrease edtext level counter. -% \begin{macrocode} - \global\advance\@edtext@level by -1% -% \end{macrocode} % \begin{macrocode} } @@ -6300,7 +6314,21 @@ % \end{macro} % \end{macro} % \end{macro} -% +% \begin{macro}{\ref@reg@later} +% This macro is stored in the auxiliary file when using \cs{edtextlater}. +% It is used only to get the correct value for the \cs{sameword} tools. +% \begin{macrocode} +\newcommand{\@ref@later}[1]{% + \global\advance\@edtext@level by \@ne% + \ifledRcol% + \@ref@reg@parseR{#1}% + \else% + \@ref@reg@parse{#1}% + \fi% + \global\advance\@edtext@level by -\@ne% +}% +% \end{macrocode} +% \end{macro} % \subsection{Writing to the line-list file} % % We have now defined all the counters, lists, and commands involved in @@ -6475,11 +6503,40 @@ \fi% \fi}% +\newcommand*{\flag@end}{% + \ifledRcol% + \write\linenum@outR{]}% + \else% + \write\linenum@out{]}% + \fi}% + + % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} -% +% \begin{macro}{\flag@start@later} +% \begin{macro}{\flag@end@later} +% \protect\cs{flag@start@later} and \protect\cs{flag@end@later}: these send the\cs{@ref@later} to the line-list file +% command to the line-list file +% \begin{macrocode} +\newcommand*{\flag@start@later}{% + \ifledRcol% + \write\linenum@outR{\string\@ref@later[}% + \else% + \write\linenum@out{\string\@ref@later[}% + \fi% +}% +\newcommand{\flag@end@later}{% + \ifledRcol% + \write\linenum@outR{]}% + \else% + \write\linenum@out{]}% + \fi% +} +% \end{macrocode} +% \end{macro} +% \end{macro} % \begin{macro}{\startsub} % \begin{macro}{\endsub} % \changes{v1.15.0}{2015/01/12}{Restore subline feature (disabled by mistake in v1.8.0).} @@ -7031,25 +7088,30 @@ \global\advance\@edtext@level by -1% \global\@lemmacommand@false% % \end{macrocode} +% We also reset \cs{@beforeinsertofthisedtext} +% \begin{macrocode} + \global\let\@beforeinsertofthisedtext\relax% +% \end{macrocode} % If we are outside of a numbered paragraph, -% we send error message and print the first argument. +% we send an error message and print the first argument. % \begin{macrocode} \else% \showlemma{#1} (\textbf{\textsc{Edtext outside numbered paragraph}})\led@err@edtextoutsidepstart% \fi% }% -\newcommand*{\flag@end}{% - \ifledRcol% - \write\linenum@outR{]}% - \else% - \write\linenum@out{]}% - \fi}% % \end{macrocode} % \end{macro} % -% +% +% \begin{macro}{\@beforeinsertofthisedtext} +% \cs{@beforeinsertofthisedtext} is an internal macro. \macpackage or \parpackage can add in this macro any content required to be executed before doing any \cs{insert} related to a \cs{edtext}. +% Its content is \cs{let} equal to \cs{relax} at the end of every \cs{edtext}. +% \begin{macrocode} +\let\@beforeinsertofthisedtext\relax +% \end{macrocode} +% \end{macro} % \begin{macro}{\ifnumberline} % The \protect\cs{ifnumberline} option can be set to FALSE to disable line numbering. % \begin{macrocode} @@ -7206,7 +7268,7 @@ % The general mechanism is the following: % \begin{itemize} % \item \textbf{At the first run}, each \protect\cs{sameword} command increments an \protect\package{etoolbox} counter the name of which contains the argument of the \protect\cs{sameword} commands. -% \item Then this counter, associated with the argument of \protect\cs{sameword} is stored, with the \protect\cs{@sw} command, in the auxiliary file of the current \protect\package{eledmac} section (the \verb+.1+, \verb+.2+… file). +% \item Then this counter, associated with the argument of \protect\cs{sameword} is stored with the \protect\cs{@sw} command in the auxiliary file of the current \macpackage section (the \verb+.1+, \verb+.2+… file). % \item \textbf{When this auxiliary file is read at the second run}, different operations are achieved: % \begin{enumerate} % \item Get the rank of each \protect\cs{sameword} in a line (relative rank) from the rank of each \protect\cs{sameword} in all the numbered section (absolute rank): @@ -12502,6 +12564,7 @@ \noexpand\setcounter{stanzaR}{\the\c@stanzaR}%Save stanzaR counter for footnote \unexpanded{\def\@this@crossref@start}{\theedtext:start}% \unexpanded{\def\@this@crossref@end}{\theedtext:end}% + \expandonce{\@beforeinsertofthisedtext}% Internal for now, no reason to make it public \noexpand\csuse{v#1footnote}{#1}% {{\l@d@nums}{\expandonce\@tag}{\expandonce\content}}% \noexpand\Xnote@false% @@ -12534,12 +12597,13 @@ \noexpand\Xnote@true% \noexpand\prepare@Xprenotes{#1}% \noexpand\prepare@edindex@fornote{\l@d@nums}% - \unexpanded{\def\sw@list@inedtext}{\expandafter\unexpanded\expandafter{\sw@inthisedtext}}%The value of the \sw@inthisedtext of current edtext will be pushed to \sw@list@inedtext when the notes are expanded. + \unexpanded{\def\sw@list@inedtext}{\expandafter\unexpanded\expandafter{\sw@inthisedtext}}%The value of the \sw@inthisedtext of current edtext will be pushed to \sw@list@inedtext when the notes are expanded. \ifl@dpairing% \noexpand\setcounter{stanzaL}{\the\c@stanzaL}%Save stanzaR counter for footnote \fi% \unexpanded{\def\@this@crossref@start}{\theedtext:start}% \unexpanded{\def\@this@crossref@end}{\theedtext:end}% + \expandonce{\@beforeinsertofthisedtext}%Internal for now, no reason to make it public \noexpand\csuse{v#1footnote}% {#1}% {{\l@d@nums}{\expandonce\@tag}{\expandonce\content}}% @@ -12566,7 +12630,7 @@ \ignorespaces% } % \end{macrocode} -% Create counter used to determiner in which page was called the previous note. +% Create counter used to determine on which page the previous note was called. % \begin{macrocode} \expandafter\newcount\csname #1prevpage@num\endcsname% \expandafter\newcount\csname #1prevpage@numR\endcsname% @@ -12673,19 +12737,19 @@ } % \end{macrocode} % Then define the counters. -% The \LaTeX\ counter \verb+footnoteX+ is the only one manipulated by the user. This is this the one which is printed. +% The \LaTeX\ counter \verb+footnoteX+ is the only one manipulated by the user. This is the one which is printed. % The \TeX\ counter \cs{footnoteX@reading} is increased at each footnote. It is used for hyperlinks, for using \package{hyperlink} package, and for getting the correct footnote number when using parallel typesetting (\reff{reledpar-familiarfootnotenumber}). % \begin{macrocode} \newcounter{footnote#1} \global\expandafter\renewcommand\csname thefootnote#1\endcsname{\arabic{footnote#1}} \expandafter\newcount\csname footnote#1@reading\endcsname% % \end{macrocode} -% Create counter used to determiner in which page was called the previous note. +% Create counter used to determine on which page the previous note was called. % \begin{macrocode} \expandafter\newcount\csname prevpage#1@num\endcsname% \expandafter\newcount\csname prevpage#1@numR\endcsname% % \end{macrocode} -% Do not forget to initialize series +% Do not forget to initialize the series % \begin{macrocode} \arrangementX@normal{#1}% \fi @@ -14064,6 +14128,8 @@ \fi% \letcs{\@tempa}{the@@label#1}% \letcs{\@tempb}{the@@label#2}% + \global\appto\@beforeinsertofthisedtext{\def\@this@crossref@start{#1}}% + \global\appto\@beforeinsertofthisedtext{\def\@this@crossref@end{#2}}% \linenum{\@tempa|% \@tempb}}}% diff --git a/Master/texmf-dist/source/latex/reledmac/reledpar.dtx b/Master/texmf-dist/source/latex/reledmac/reledpar.dtx index 5bddd610f98..f48c6a83c0c 100644 --- a/Master/texmf-dist/source/latex/reledmac/reledpar.dtx +++ b/Master/texmf-dist/source/latex/reledmac/reledpar.dtx @@ -275,6 +275,9 @@ % \changes{v2.9.1}{2016/05/25}{Prevent \protect\cs{Xtxtbeforenotes} hook from causing notes to go beyond the bottom margin} % \changes{v2.10.0}{2016/06/02}{Add new tools to make apparatuses of manuscripts} % \changes{v2.11.0}{2016/06/16}{Compatibility with \protect\reledmac's \protect\option{auxdir} option.} +% \changes{v2.12.0}{2016/07/01}{Add \protect\cs{edtextlater} and \protect\cs{edtextnow}.} +% \changes{v2.12.0}{2016/07/01}{Fix bug with \protect\cs{lineationR}.} +% \changes{v2.12.0}{2016/07/01}{Fix bug with \protect\cs{AtBeginPairs}.} % ^^A PW added following as the definitions are at some unknown elsewhere % % \newcommand{\egstart}{% @@ -800,6 +803,22 @@ % \endnumbering % \end{Rightside} % \end{verbatim} +% \subsection{Critical notes called on leftside but printed on right side} +% Sometimes, you need to print the critical notes on the right side, despite the fact that they refer to the lemmas on the left side. +% In this case, you must use \cs{edtextlater} and \cs{edtextnow}. +% \DescribeMacro{\edtextlater} +% The \cs{edtextlater}\marg{lemma}\marg{footnote command} command must be called on the same side as the lemma. +% It is similar to the standard \cs{edtext} command, but does not add the footnote immediately on the page, keeping it for later. +% \DescribeMacro{\edtextnow} +% \cs{edtextnow} must be called on the side on which you want to print the lemma, approximately at the point corresponding to the equivalent \cs{edtextlater} command. +% It will add the notes stored by the equivalent \cs{edtextlater} command. +% +% The relationship between the \cs{edtextlater} and \cs{edtextnow} commands is determined by the order of calling: the first \cs{edtextnow} corresponds to the first \cs{edtextlater}, the second \cs{edtextnow} corresponds to the second \cs{edtextlater} etc. +% +% +% \cs{edtextnow} is a parameterless macro, so it gobbles the following space. +% If you want to keep it, add \verb+{}+ or backslash followed by a space. +% % \subsection{Using line flag} % \DescribeMacro{\Xlineflag} % \DescribeMacro{\Xendlineflag} @@ -1178,7 +1197,7 @@ % \begin{macrocode} %<*code> \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{reledpar}[2016/06/16 v2.11.0 reledmac extension for parallel texts]% +\ProvidesPackage{reledpar}[2016/07/01 v2.12.0 reledmac extension for parallel texts]% % \end{macrocode} % \subsection{Package's requirement} @@ -1435,10 +1454,17 @@ }% % \end{macrocode} % \end{macro} +% \begin{macro}{\led@error@edtext@later@now} +% \begin{macrocode} +\newcommand{\led@error@edtext@later@now}{% + \reledpar@error{You call \the\edtext@later\space \string\edtextlater\space commands, but \the\edtext@now\space \string\edtextnow\space commands}{\@ehc}% (did I follow your intent correctly here?) +}% +% \end{macrocode} +% \end{macro} % \begin{macro}{\led@warn@ChangeSyncOption} % \begin{macrocode} \newcommand*{\led@warn@ChangeSyncOption}[1]{% - \reledpar@warning{You have changed synchronization's options since last run. We have not read line-list file #1. Please run LaTeX again.}% + \reledpar@warning{You have changed synchronization's options since the last run. We have not read line-list file #1. Please run LaTeX again.}% }% % \end{macrocode} % \end{macro} @@ -1763,7 +1789,7 @@ \Xpstart% \fi% \else - \def@tempb{section} + \def\@tempb{section} \ifx\@tempa\@tempb \global\bypage@Rfalse% \global\bypstart@Rfalse% @@ -2449,6 +2475,22 @@ % \begin{macrocode} \expandafter\list@create\expandafter{\csname sw@list@edtext@tmp@\the\@edtext@level\endcsname}% % \end{macrocode} +% And now, call \cs{@ref@reg@parseargR}, which can be also called by \cs{@ref@later} +% \begin{macrocode} + \@ref@reg@parseR{#2}% +% \end{macrocode} +% Decrease edtext level counter. +% \begin{macrocode} + \global\advance\@edtext@level by -1% +} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \begin{macro}{\@ref@reg@parseR} +% \begin{macrocode} +\newcommand{\@ref@reg@parseR}[1]{% +% \end{macrocode} % Declare and init boolean for lemma in this level. % \begin{macrocode} \providebool{lemmacommand@\the\@edtext@level}% @@ -2457,7 +2499,7 @@ % Execute the second argument of \protect\cs{@ref} again, % to perform for real all the commands within it. % \begin{macrocode} - #2 + #1% % Now, we store the list of \protect\cs{@sw} of this current \protect\cs{edtext} as an element of % the global list of list of \protect\cs{@sw} for a \protect\cs{edtext} depth. % \begin{macrocode} @@ -2469,14 +2511,9 @@ \xright@appenditem{\expandonce\@tmpp}\to\@tmp% \global\cslet{sw@list@edtextR@\the\@edtext@level}{\@tmp}% \fi% +}% % \end{macrocode} -% Decrease edtext level counter. -% \begin{macrocode} - \global\advance\@edtext@level by -1% -} -% \end{macrocode} -% \end{macro} -% \end{macro} + % \end{macro} % \begin{macro}{\@pend} % \begin{macro}{\@pendR} @@ -2728,11 +2765,11 @@ \newnamebox{#1footins@kept}% \fi% % \end{macrocode} -% \subsection{Tools specific to familiar footnotes} +% \subsubsection{Tools specific to familiar footnotes} % \begin{macrocode} \unless\ifnofamiliar@% % \end{macrocode} -% \subsubsection{Managing correct number}\label{familiarfootnotenumber} +% \paragraph{Managing correct number}\label{familiarfootnotenumber} % One problem with using familiar footnotes in parallel typesetting is the fact that the order of reading ​notes is not the same as the order they are typset, because \LaTeX\ reads first all the notes on one side, then all the notes on the other side. % Then, however, \LaTeX\ alternates between typesetting left-side note and right-side notes. % Consequently, if we do nothing special, the note numbers are sorted in the reading order, not in the typesetting order. @@ -2754,7 +2791,7 @@ \newcounter{footnote#1@typeset}% % \end{macrocode} % -% \subsubsection{Familiar footnotes without marks} +% \paragraph{Familiar footnotes without marks} % The \protect\cs{footnoteXnomk} commands are for notes which are printed on the left side, while they are called in the right side. % Basically, they set first toggle \protect\cs{nomark@} to true, then call the \protect\cs{footnoteX}. % and finally add the footnote counter in the footnote counter list. @@ -2963,7 +3000,7 @@ % \begin{macro}{\AtBeginPairs} % The \protect\cs{AtBeginPairs} macro just define a \protect\cs{at@begin@pairs} macro, called at the beginning of each \verb+pairs+ environments. % \begin{macrocode} -\newcommand{\AtBeginPairs}[1]{\xdef\at@begin@pairs{#1}}% +\newcommand{\AtBeginPairs}[1]{\gdef\at@begin@pairs{#1}}% \def\at@begin@pairs{}% % \end{macrocode} @@ -4389,6 +4426,105 @@ }% % \end{macrocode} % \end{macro} +% \subsection{Critical footnote printed in right side} +% \changes{v2.12.0}{2016/07/01}{Add \protect\cs{edtextlater} and \protect\cs{edtextnow}.} +% \begin{macro}{\edtext@later} +% \begin{macro}{\edtext@now} +% \begin{macro}{\edtextlater} +% \begin{macro}{\edtextnow} +% \cs{edtextlater} and \cs{edtextnow} are used to print critical footnotes on the right side, while refering to the text on the left side. +% First, we create two counters, one for \cs{edtextlater} and the other for \cs{edtextnow}. +% \begin{macrocode} +\newcount\edtext@now% +\newcount\edtext@later% +% \end{macrocode} +% \begin{macrocode} +\newcommand{\edtextlater}[2]{%#1 lemma, #2 critical notes +% \end{macrocode} +% First, increase the \cs{edtext@later} counter. +% \begin{macrocode} + \global\advance\edtext@later by \@ne% +% \end{macrocode} +% \begin{macrocode} +% As we are in a pseudo-\cs{edtext}, we now need to get the \cs{sameword} data stored in the auxiliary file for this \cs{edtextlater}. + \advance\@edtext@level by \@ne% + \ifcsvoid{sw@list@edtext@\the\@edtext@level}% + {\global\let\sw@inthisedtext\empty}% + {\expandafter\gl@p\csname sw@list@edtext@\the\@edtext@level\endcsname\to\sw@inthisedtext}% +% \end{macrocode} +% The main feature of \cs{edtextlater} is to create a macro which will be called on the equivalent \cs{edtextnow}. +% \begin{macrocode} +% + \csxdef{edtext@later@\the\edtext@later}{% +% \end{macrocode} +% \cs{edtextnow} will insert a empty \cs{edtext}. +% \begin{macrocode} + \noexpand\edtext{% + }% +% \end{macrocode} +% With a \cs{lemma} and \cs{linenum} defined by the current \cs{edtextlater}. +% Also with \cs{sameword} data gotten from the current \cs{edtextlater} +% \begin{macrocode} + {% + \unexpanded{% + \lemma{\no@expands #1}% + \xxref{start:edtext:later:\the\edtext@later}{end:edtext:later:\the\edtext@later}% + }% + \noexpand\linenum{||||||\edfont@info}% + \unexpanded{\def\sw@inthisedtext}{\expandonce{\sw@inthisedtext}}% +% \end{macrocode} +% As the \cs{edtextnow} is generally called on the other side than the corresponding \cs{edtextlater}, we need to store the side for a proper formatting of the footnote. +% \begin{macrocode} + \ifledRcol% + \unexpanded{\appto\@beforeinsertofthisedtext{\ledRcol@true}}% + \else% + \unexpanded{\appto\@beforeinsertofthisedtext{\ledRcol@false}}% + \fi% +% \end{macrocode} +% And the footnote command of this \cs{edtextlater}. +% \begin{macrocode} + \unexpanded{#2}% + }% + }% +% \end{macrocode} +% And now, we print the current lemma data. +% But we save the beginning and the starting line using the crossref mechanism. +% We also store information in the auxiliary file about the existence of a \cs{edtextlater} and, if required, about the use of a \cs{lemma} +% \begin{macrocode} + \edlabel{start:edtext:later:\the\edtext@later}% + \flag@start@later% + \bgroup% + \def\lemma##1{% + \ifledRcol% + \write\linenum@outR{\string\@lemma}% + \else% + \write\linenum@out{\string\@lemma}% + \fi% + }% + \renewcommand{\do}[1]{\expandafter\renewcommandx\csname ##1footnote\endcsname[2][1,usedefault]{}}% + \dolistloop{\@series}% + #2% + \egroup% + \showlemma{#1}% + \edlabel{end:edtext:later:\the\edtext@later}% + \flag@end@later% +% \end{macrocode} +% We decrease the counter increased at the beginning. +% \begin{macrocode} + \advance\@edtext@level by -\@ne% +}% +% \end{macrocode} +% \cs{edtextnow} just calls the command defined as is, reading the \cs{edtext@later} list. +% \begin{macrocode} +\newcommand{\edtextnow}[0]{% + \global\advance\edtext@now by \@ne + \csuse{edtext@later@\the\edtext@now}% +}% +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} % \section{Cross referencing} % \label{xref} % @@ -4522,28 +4658,6 @@ % \end{macro} % % -% \section{Familiar footnotes} -% -% -% \begin{macro}{\l@dbfnote} -% \protect\cs{l@dbfnote} adds the footnote to the insert list, and -% \protect\cs{vl@dbfnote} calls the original \protect\cs{@footnotetext}. -% \changes{v1.3.1}{2012/11/16}{Compatibility of standard footnotes with eledmac when theses footnotes contain any commands.} -% \changes{v1.3.3}{2012/11/19}{Spurious space with footnote in right column.} -% There are both defined in \macpackage. -% \changes{v2.0.0}{2015/07/19}{\protect\cs{l@dbfnote} defined only in \reledmac.} -% \end{macro} -% -% -% \begin{macro}{\normalbfnoteX} -% \changes{v0.3.0}{2005/02/04}{Removed extraneous spaces from \protect\cs{normalbfnoteX}} -% \changes{v1.3.5}{2013/07/10}{Allows one to redefine \protect\cs{thefootnoteX} with \c{alph} when some packages are loaded.} -% \changes{v1.4.1}{2013/08/16}{Fix bug with normal familiar footnotes when mixing RTL and LTR text.} -% \changes{v2.0.0}{2015/07/19}{\protect\cs{normalbfnoteX} defined only in \reledmac.} -% \end{macro} -% -% - % \section{Verse} %\changes{v0.11.0}{2012/06/11}{New management of hangingsymbol insertion, preventing undesirable insertions.} %\changes{v0.12.0}{2012/08/03}{New management of hangingsymbol insertion, preventing undesirable insertions.} @@ -5780,16 +5894,28 @@ \global\instanzaLfalse% \global\instanzaRfalse% \global\l@dprintingpagesfalse% - \finish@Pages@notes%Needed to prevent final notes overlap line number +% \end{macrocode} +% Check the consistency of \cs{edtext@later} and \cs{edtext@now} +% \begin{macrocode} + \ifnum\edtext@later=\edtext@now% + \else% + \led@error@edtext@later@now% + \fi% + \global\edtext@later=\z@% + \global\edtext@now=\z@% +% \end{macrocode} +% Prevent final notes from overlapping the line number +% \begin{macrocode} + \finish@Pages@notes% \ignorespaces\fi} % \end{macrocode} % \end{macro} % -% \subsection{Ensure all notes be printed at the end of parallel pages} +% \subsection{Ensure all notes are printed at the end of parallel pages} % \begin{macro}{\finish@Pages@notes} -% This macro ensures that all long notes are printed at the end of \protect\cs{Pages} typesetting, and that there is no more long notes left for the next pages. +% This macro ensures that all long notes are printed at the end of \protect\cs{Pages} typesetting, and that there are no more long notes left for the next pages. % \begin{macrocode} \newcommand{\finish@Pages@notes}{% \def\do##1{% -- cgit v1.2.3