diff options
author | Karl Berry <karl@freefriends.org> | 2016-07-01 22:05:01 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2016-07-01 22:05:01 +0000 |
commit | 6616e5bc017760ac8018e9133944b54a62ac7169 (patch) | |
tree | 069f187afc4fa36bac58a8ed2430bd9942e84b4e /Master/texmf-dist/source | |
parent | 1fb9705daf98649849d539998e507620ee668570 (diff) |
reledmac (1jul16)
git-svn-id: svn://tug.org/texlive/trunk@41599 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source')
-rw-r--r-- | Master/texmf-dist/source/latex/reledmac/reledmac.dtx | 134 | ||||
-rw-r--r-- | Master/texmf-dist/source/latex/reledmac/reledpar.dtx | 206 |
2 files changed, 266 insertions, 74 deletions
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{% |