From 5c9876514ae068b20d15aca507a156dcccabe7f8 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 8 Mar 2020 21:48:18 +0000 Subject: reledmac (8mar20) git-svn-id: svn://tug.org/texlive/trunk@54180 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/source/latex/reledmac/reledmac.dtx | 105 ++++++++++++--------- .../texmf-dist/source/latex/reledmac/reledpar.dtx | 89 +++++++++++++---- 2 files changed, 132 insertions(+), 62 deletions(-) (limited to 'Master/texmf-dist/source/latex') diff --git a/Master/texmf-dist/source/latex/reledmac/reledmac.dtx b/Master/texmf-dist/source/latex/reledmac/reledmac.dtx index 41a7e622448..2634484f6a6 100644 --- a/Master/texmf-dist/source/latex/reledmac/reledmac.dtx +++ b/Master/texmf-dist/source/latex/reledmac/reledmac.dtx @@ -295,7 +295,7 @@ % \changes{v1.23.0}{2015/05/18}{Compatibility between nofamiliar/nocriticals option and minipage/ledgroup.} % \changes{v1.23.0}{2015/05/18}{Fix error of \protect\cs{iftrue} not closed.} % \changes{v1.23.0}{2015/05/18}{Allow use of \protect\cs{sameword} with inputenc managing of UTF-8.} -% \changes{v1.23.0}{2015/05/18}{Error message when using \protect\cs{beginnumbering}\ ...\ \protect\cs{endnumbering} without \protect\cs{pstart}.} +% \changes{v1.23.0}{2015/05/18}{Error message when using \protect\cs{beginnumbering}\ldots\ \protect\cs{endnumbering} without \protect\cs{pstart}.} % \changes{v1.23.0}{2015/05/18}{New tools to ensure the line-list file uses the right version of commands when upgrading the eledmac version.} % \changes{v1.23.0}{2015/05/18}{Fix a bug with \protect\cs{skipnumbering} called immediately after a \protect\cs{pstart}.} % \changes{v1.23.0}{2015/05/18}{Fix spurious space with \protect\cs{skipnumbering} (bug added on v1.21.0).} @@ -382,7 +382,7 @@ % \changes{v2.7.2}{2015/12/13}{Fix problem of hyphenation when using \protect\package{hyperref} package (added in v2.7.0).} % \changes{v2.8.0}{2016/01/15}{\protect\macpackage cross-referencing can take advantage of \protect\package{xr} package.} % \changes{v2.8.0}{2016/01/15}{No indentation for paragraphed notes in ledgroup. Can be changed with \protect\cs{Xparindent} and \protect\cs{parindentX}.} -% \changes{v2.8.0}{2016/01/15}{More \protect\cs{edgls...} commands.} +% \changes{v2.8.0}{2016/01/15}{More \protect\cs{edgls\ldots} commands.} % \changes{v2.8.1}{2016/02/22}{Warnings for undefined labels are really parsable by latexmk} % \changes{v2.8.2}{2016/02/27}{Fix a bug with \protect\cs{AtEveryPstart} added in version 2.0.0.} % \changes{v2.8.2}{2016/02/27}{Fix a bug with vertical space after the between-sectioning command as optional argument of a \protect\cs{pstart} and \protect\cs{pstart} content} @@ -449,8 +449,8 @@ % \changes{v2.16.5}{2016/10/20}{Fix potential spurious spaces in endnotes.} % \changes{v2.16.6}{2016/11/14}{Take into account \protect\cs{linenumberstyle} when using \protect\cs{edlineref}.} % \changes{v2.16.6}{2016/11/14}{Fix a bug with the line number style in \protect\cs{doennotes} when referring to right side line in parallel typesetting.} -% \changes{v2.16.7}{2016/12/12}{Fix a bug with \protect\cs{numberpstarttrue} when using multiple \protect\cs{beginnumbering}\ ...\ \protect\cs{endnumbering}.} -% \changes{v2.16.7}{2016/12/12}{Fix a bug with \protect\cs{msdata} when using multiple \protect\cs{beginnumbering}\ ...\ \protect\cs{endnumbering}.} +% \changes{v2.16.7}{2016/12/12}{Fix a bug with \protect\cs{numberpstarttrue} when using multiple \protect\cs{beginnumbering}\ldots\ \protect\cs{endnumbering}.} +% \changes{v2.16.7}{2016/12/12}{Fix a bug with \protect\cs{msdata} when using multiple \protect\cs{beginnumbering}\ldots\ \protect\cs{endnumbering}.} % \changes{v2.16.8}{2016/12/16}{Fix a bug with \protect\cs{edindex} in footnotes in parallel typesetting.} % \changes{v2.17.0}{2016/12/23}{Add \protect\cs{edglsadd} command.} % \changes{v2.17.0}{2016/12/23}{Add \protect\cs{setmsdataposition} setting.} @@ -540,9 +540,12 @@ % \changes{v2.32.2}{2019/11/28}{Fix spurious vertical space in familiar footnotes with \protect\LuaLaTeX.} % \changes{v2.32.3}{2019/12/09}{Fix bug with critical footnotes when typesetting arabic text with \protect\package{polyglossia}.} % \changes{v2.32.4}{2020/02/04}{Fix bug \protect\cs{footnoteXmark} and \protect\cs{footnoteXtext}.} -% \changes{v2.32.4}{2020/01/04}{\protect\cs{footnoteXmark} and \protect\cs{footnoteXtext} can now have an optional argument, setting the footnotenote number.} +% \changes{v2.32.4}{2020/01/04}{\protect\cs{footnoteXmark} and \protect\cs{footnoteXtext} can now have an optional argument, setting the footnote number.} % \changes{v2.32.4}{2020/02/04}{Fix bug when using \protect\cs{Xgroupbyline} and twocol arrangement.} % \changes{v2.32.4}{2020/02/04}{Fix bug with three and two columns footnotes when using \protect\package{bidi}.} +% \changes{v2.32.5}{2020/03/08}{Fix bug with \protect\cs{edindex} inside \protect\cs{eledsection} and related.} +% \changes{v2.32.5}{2020/03/08}{Fix bug with page number in index with \protect\cs{edindex} when indexing a critical notes.} +% \changes{v2.32.5}{2020/03/08}{Fix bug with macro inside \protect\cs{sameword} with no-\protect\XeTeX\ engines.} % Typeset scholarly editions with \LaTeX\thanks{This file (\dtxfilename) % has version number \fileversion, last revised \filedate.}} % @@ -801,6 +804,7 @@ % %Please read \reff{Xmaxhnotes}. % +% If you use \LuaTeX\ engine, you need \LuaTeX\ 1.1.0 or later. % A file may mix \emph{numbered} and \emph{unnumbered} text. % % Numbered text is printed with marginal line numbers and can include @@ -1395,7 +1399,7 @@ % If you want to change the separator, you can use \\ % \cs{setlinenumannotationsep}\marg{sep} % \subsubsection{Annotations in the apparatus} -% Some others options for the annotation in the apparatus are described on \reff{annotation-inapparatus} +% Some other options for the annotation in the apparatus are described on \reff{annotation-inapparatus} % \subsection{Executing code at each line}\label{linehook} % \Macpackage provides an advanced feature for users. % \DescribeMacro{\dolinehook}\DescribeMacro{\doinsidelinehook} @@ -1779,6 +1783,10 @@ % % With these tools, \XeTeX\ / \LuaTeX\ will dynamicaly normalize unicode input when reading the file. % Consequently, you will have no problems with the \protect\cs{sameword} command. +% \subsubsection{Notes about right-to-left texts} +% Due to some internal limits of \XeTeX, \cs{sameword} does not work with right-to-left text with this engine. +% +% If you need to use \cs{sameword} with right-to-left text, you must use \LuaTeX. % \subsubsection{Use with \protect\cs{lemma} command} % If you use the \protect\cs{lemma} command, \macpackage\ cannot know to which occurence of \cs{sameword} in the first argument of \cs{edtext} a word marked with \cs{sameword} in \cs{lemma} should refer. % @@ -2267,7 +2275,7 @@ % \subsubsection{Print line number only at first time} % \DescribeMacro{\Xnumberonlyfirstinline}\label{Xnumberonlyfirstinline} % \changes{v1.0.1}{2012/09/16}{Correction on \protect\cs{Xnumberonlyfirstinline} with lineation by pstart or by page.} -% By default, the line number is printed in every note. If you want to print it only the first time for a given line number +% By default, the line number is printed inside every note. If you want to print it only the first time for a given line number % (i.e., once for line 1, once for line 2, etc.), you can use \protect\cs{Xnumberonlyfirstinline}\oarg{s}. % % @@ -2289,18 +2297,18 @@ % % \subsubsection{Print line number annotation only at first time}\label{annotation-inapparatus} % \DescribeMacro{\Xlinenumannotationonlyfirst} -% By default, the line number annotation (\reff{annotion} is printed in every note. If you want to print it only the first time for a given annotation +% By default, the line number annotation (\reff{annotion} is printed inside every note. If you want to print it only the first time for a given annotation % you can use \cs{Xlinenumannotationonlyfirst}\oarg{s}. % -% Note the two followings points: +% Note the two following points: % \begin{itemize} % \item If you use \option{noresetlinenumannotation} option of \macpackage, the \cs{Xlinenumannotationonlyfirst} won't take account of the official line number. -% \item The \cs{Xlinenumannotationonlyfirst} works for consecutive lemma with the same annotation. That is, if you have for example a lemma with \verb+A+ annotation, then a lemma with \verb+B+ annotation, then a lemma with \verb+A+ annotation, all lemma will have its annotation in the apparatus. +% \item The \cs{Xlinenumannotationonlyfirst} works for consecutive lemmas with the same annotation. That is, if you have for example a lemma with \verb+A+ annotation, then a lemma with \verb+B+ annotation, then a lemma with \verb+A+ annotation, all lemmas will have its own annotation in the apparatus. % \end{itemize} % % \DescribeMacro{\Xlinenumannotationonlyfirstintwo} -% Suppose you have a lemma on annoation~1 and a lemma between annotation~1 and annotation~3. -% With \cs{Xlinenumannotationonlyfirst}, the second lemma is considered to be with the same line annotation as the first lemma. +% Suppose you have a lemma on annotation~1 and a lemma between annotation~1 and annotation~3. +% With \cs{Xlinenumannotationonlyfirst}, the second lemma is considered to have the same annotation as the first lemma. % But if you use both \cs{Xlinenumannotationonlyfirst}\oarg{s} and \cs{Xlinenumannotationonlyfirstintwo}\oarg{s}, a distinction is made. % % @@ -4321,7 +4329,7 @@ % \begin{macrocode} %<*code> \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{reledmac}[2020/02/04 v2.32.4 typesetting critical editions]% +\ProvidesPackage{reledmac}[2020/03/08 v2.32.5 typesetting critical editions]% % \end{macrocode} % % \subsection{Package options} @@ -4494,6 +4502,11 @@ \ifx\directlua\undefined\else% \directlua{tex.enableprimitives("",{"textdir","pardir","bodydir"})} \fi +\ifluatex% + \ifnum\luatexversion<110% + \PackageWarning{reledmac}{You need to use LuaTeX 1.1.0 or higher}{\@ehc}% + \fi% +\fi% % \end{macrocode} % \subsection{Boolean flags} % \begin{macro}{\ifl@dmemoir} @@ -4590,7 +4603,13 @@ % \end{macro} % \end{macro} % \end{macro} -% +% \begin{macro}{\led@err@samewordRTL} +% \begin{macrocode} +\newcommand*{\led@err@samewordRTL}{% + \reledmac@error{You can't use \string\sameword \MessageBreak with XeLaTeX \MessageBreak when typesetting RTL text.\MessageBreak Please use LuaTeX instead.}{\@ehc}% +}% +% \end{macrocode} +% \end{macro} % \begin{macro}{\led@err@edtextoutsidepstart} % \begin{macro}{\led@err@PstartInEdtext} % \begin{macro}{\led@err@PendInEdtext} @@ -7287,7 +7306,7 @@ % \end{macro} % \end{macro} % \begin{macro}{\new@line} -% \begin{macro}{\l@the@c@page} +% \begin{macro}{\set@this@c@page} % The \protect\cs{new@line} macro sends the \protect\cs{@nl} command to the line-list % file, to mark the start of a new text line, and its page number. % \label{new@line@pagecounting} @@ -7305,6 +7324,7 @@ % \changes{v0.6.0}{2004/11/16}{Extended \protect\cs{new@line} to output page numbers} % \begin{macrocode} \newcommand*{\new@line}{% + \set@this@c@page% \ifnumberline% \IfStrEq{\led@pb@setting}{after}% {\xifinlist{\the\absline@num}{\l@prev@nopb}% @@ -7312,9 +7332,9 @@ {\numgdef{\@next@page}{\c@par@page+\@ne}% \write\linenum@out{\string\@nl[\@next@page][\@next@page]}% }% - {\write\linenum@out{\string\@nl[\the\c@par@page][\thepage]}}% + {\write\linenum@out{\string\@nl[\the\@this@c@page][\thepage]}}% }% - {\write\linenum@out{\string\@nl[\the\c@par@page][\thepage]}}}% + {\write\linenum@out{\string\@nl[\the\@this@c@page][\thepage]}}}% {}% \IfStrEq{\led@pb@setting}{before}% {\numdef{\next@absline}{\the\absline@num+\@ne}% @@ -7323,9 +7343,9 @@ {\numgdef{\nc@page}{\c@par@page+\@ne}% \write\linenum@out{\string\@nl[\nc@page][\nc@page]}% }% - {\write\linenum@out{\string\@nl[\the\c@par@page][\thepage]}}% + {\write\linenum@out{\string\@nl[\the\@this@c@page][\thepage]}}% }% - {\write\linenum@out{\string\@nl[\the\c@par@page][\thepage]}}% + {\write\linenum@out{\string\@nl[\the\@this@c@page][\thepage]}}% }% {}% \IfStrEqCase{\led@pb@setting}% @@ -7333,18 +7353,19 @@ {before}{\relax}% {after}{\relax}% }[% - \write\linenum@out{\string\@nl[\the\c@par@page][\thepage]}% + \write\linenum@out{\string\@nl[\the\@this@c@page][\thepage]}% ]% \fi% } -\newcommand{\l@the@c@page}{% +\newcount\@this@c@page%% +\newcommand{\set@this@c@page}{% \ifboolexpr{% bool{sameparallelpagenumber}% or bool{prevpgnotnumbered}% }% - {\the\c@par@page}% - {\the\c@page}% + {\global\@this@c@page=\c@par@page}% + {\global\@this@c@page=\c@page}% }% % \end{macrocode} % \end{macro} @@ -8258,7 +8279,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 \macpackage\ 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+\ldots\ 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): @@ -8329,13 +8350,8 @@ % \end{itemize} % \end{itemize} % After theory, implementation. +% First, getting a sanitized form of the argument of \cs{sameword} % \begin{macro}{\get@sw@txt} -% As the argument of \protect\cs{sameword} can contain an active character if we -% use \protect\package{inputenc} with \verb+utf8+ option instead of native UTF-8 engine, -% we store its detokenized content in a macro in order to allow the dynamic name of macro with \protect\cs{csname}.\footnote{See \url{http://tex.stackexchange.com/q/244538/7712}.} -% -% Because there is a bug with \protect\cs{detokenize} and \XeTeX\ when using non BMP characters\footnote{\url{http://sourceforge.net/p/xetex/bugs/108/}}, -% we detokenize only for non-\XeTeX engines. In any case, in \XeTeX a \protect\cs{csname} construction can contain UTF-8 characters without a problem, as UTF-8 characters are not managed with category codes, but instead read directly as UTF-8 characters. % \begin{macrocode} \newcommand{\get@sw@txt}[1]{% \begingroup% @@ -8351,11 +8367,7 @@ % \end{macrocode} % And now, define \cs{sw@txt}. % \begin{macrocode} - \ifxetex% - \@tmpa{\xdef\sw@txt{#1}}% - \else% - \@tmpa{\expandafter\xdef\expandafter\sw@txt\expandafter{\detokenize{#1}}}% - \fi% + \@tmpa{\protected@xdef\sw@txt{#1}}% \endgroup% }% % \end{macrocode} @@ -8393,6 +8405,11 @@ % The hight level macro \protect\cs{sameword}, used by the editor. % \begin{macrocode} \newcommandx{\sameword}[2][1,usedefault]{% + \ifxetex% + \if@RTL% + \led@err@samewordRTL% + \fi% + \fi% \leavevmode% \get@sw@txt{#2}% % \end{macrocode} @@ -8829,7 +8846,7 @@ }% % \end{macrocode} % Restore standard \enquote{nobreak} and \enquote{autopar} settings. -% Normally, \cs{if@nobreak} is true only immediately after a sectioning command (see latex.ltx file). As a \cs{pstart}\ ...\ \cs{pend} structure can't contain any sectioning command, we set \cs{if@nobreak} to false. +% Normally, \cs{if@nobreak} is true only immediately after a sectioning command (see latex.ltx file). As a \cs{pstart}\ldots\ \cs{pend} structure can't contain any sectioning command, we set \cs{if@nobreak} to false. % \begin{macrocode} \@nobreakfalse% \ifautopar% @@ -9123,6 +9140,7 @@ % Because of how this prints, a vertical spacing correction is added. % \begin{macrocode} \def\print@eledsection{% + \disable@edindex% \if@firstlineofpage% \set@Xtxtbeforenotes% \set@txtbeforenotesX% @@ -9153,6 +9171,7 @@ \fi% \vskip-\baselineskip% \continuousnumberingwithcolumns@sync@linenumber@singletext% + \restore@edindex% } % \end{macrocode} % \end{macro} @@ -12274,13 +12293,6 @@ \def\printlines#1|#2|#3|#4|#5|#6|#7|#8|{% \begingroup% % \end{macrocode} -% If we use \LuaTeX, ensure we use good text's direction. -% \begin{macrocode} - \ifluatex% - \edef\@tmp{\the\textdir}% - \ifdefstring{\@tmp}{TLT}{}{\textdir TLT}%Test in order to prevent spurious space (bug #397) - \fi% -% \end{macrocode} % Decide which part of line number components we will print. % \begin{macrocode} \setprintlines{#1}{#2}{#3}{#4}{#5}{#6}% @@ -18000,6 +18012,8 @@ {\led@error@fail@patch@makeindex}% \newcommand{\edindex}[1]{\@bsphack\@esphack} \newcommandx{\dummy@edindex}[2][1=\expandonce\jobname,usedefault]{}% +\newcommand{\disable@edindex}{\let\old@edindex\edindex\let\edindex\dummy@edindex}% +\newcommand{\restore@edindex}{\let\edindex\old@edindex}% % \end{macrocode} % \end{macro} % \end{macro} @@ -21453,6 +21467,11 @@ % \subsection{critical-keys for \emph{Emacs}} % The \emph{Emacs} editor has a package to help inserting \macpackage's commands (Juan Manuel Macías Chaín).\\ % \url{https://gitlab.com/maciaschain/critical-keys} +% \subsection{critical-marks for \emph{Emacs}} +% A set of functions for \emph{Emacs} that run in the export process from Org Mode to +% LaTeX and replace a series of simple textual marks with the basic \macpackage's commands (Juan Manuel Macías Chaín) +% \url{https://gitlab.com/maciaschain/critical-marks} +%\subsection{Import from TEI} % \subsection{Import from TEI} % There are multiple tools to convert from XML-TEI to \emph{reledmac}. Here is a non exhaustive-list: % \begin{itemize} diff --git a/Master/texmf-dist/source/latex/reledmac/reledpar.dtx b/Master/texmf-dist/source/latex/reledmac/reledpar.dtx index 2649200823a..45e86de80ef 100644 --- a/Master/texmf-dist/source/latex/reledmac/reledpar.dtx +++ b/Master/texmf-dist/source/latex/reledmac/reledpar.dtx @@ -225,7 +225,7 @@ % \changes{v1.15.0}{2015/04/13}{Fix vertical spurious space before right \protect\cs{eledchapter} (bug added in v1.13.0).} % \changes{v1.15.0}{2015/04/13}{Prevent vertical space when using \protect\cs{AtEveryPstart} or \protect\cs{AtEveryPend} with a command which prints nothing} % \changes{v1.16.0}{2015/05/18}{Fix a bug with nofamiliar / nocritical option of eledmac.} -% \changes{v1.16.0}{2015/05/18}{Error message when using \protect\cs{beginnumbering}\ ...\ \protect\cs{endnumbering} without \protect\cs{pstart}.} +% \changes{v1.16.0}{2015/05/18}{Error message when using \protect\cs{beginnumbering}\ldots\protect\cs{endnumbering} without \protect\cs{pstart}.} % \changes{v1.16.0}{2015/05/18}{Error message when starting a Leftside/a Rightside while the previous one has not been yet typeset.} % \changes{v1.16.0}{2015/05/18}{Error message when calling \protect\cs{Pages} inside `pages' environment and \protect\cs{Columns} inside `pairs' environment.} % \changes{v1.16.0}{2015/05/18}{New package option sameparallelpagenumber to have the same page number for both left and right side.} @@ -293,7 +293,7 @@ % \changes{v2.14.4}{2016/11/14}{Take into account \protect\cs{linenumberstyle} when using \protect\cs{edlineref}.} % \changes{v2.15.0}{2016/12/12}{Add \protect\option{movecolumnspositiononrightpage} option.} % \changes{v2.15.0}{2016/12/12}{New macro \protect\cs{sidenotemarginR}, fix default value to right.} -% \changes{v2.15.0}{2016/12/12}{Fix a bug with \protect\cs{msdata} when using multiple \protect\cs{beginnumbering}\ ...\ \protect\cs{endnumbering}} +% \changes{v2.15.0}{2016/12/12}{Fix a bug with \protect\cs{msdata} when using multiple \protect\cs{beginnumbering}\ldots\protect\cs{endnumbering}} % \changes{v2.15.0}{2016/12/12}{Fix a bug about space before sectioning commands after a pairs environment (bug added in v.~2.14.4).} % \changes{v2.15.0}{2016/12/12}{Fix a bug with page break when using \protect\cs{columns} (bug added in v.~2.14.1).} % \changes{v2.16.0}{2016/12/23}{Compatibility with \protect\cs{setmsdataposition}} @@ -317,7 +317,7 @@ % \changes{v2.20.0}{2017/08/17}{Fix a bug with \protect\cs{continuousnumberingwithcolumns} when using multiple series of continued numbering text. Now, the line number are correctly reset at each \protect\cs{beginnumbering}.} % \changes{v2.20.0}{2017/08/17}{Fix a bug with \protect\option{continuousnumberingwithcolumns} and inner / outer notes and line numbering.} % \changes{v2.20.0}{2017/08/17}{Add \protect\cs{linenumOnlyPagesForColumns} and \protect\cs{linenumOnlyPagesForColumnsR} to tell to print the line numbers associated with a column only on some specific pages (for example, only on right pages).} -% \changes{v2.20.0}{2017/08/17}{Fix a bug with \protect\option{continuousnumberingwithcolumns} when a \protect\cs{beginnumbering} is called after an other \protect\cs{beginnumbering}\ ...\ \protect\cs{endnumbering}.} +% \changes{v2.20.0}{2017/08/17}{Fix a bug with \protect\option{continuousnumberingwithcolumns} when a \protect\cs{beginnumbering} is called after an other \protect\cs{beginnumbering}\ldots\protect\cs{endnumbering}.} % \changes{v2.20.0}{2017/08/17}{Fix a bug with \protect\option{widthliketwocolumns} when manually setting \protect\cs{beforecolumnseparator} and \protect\cs{aftercolumnseparator}.} % \changes{v2.20.0}{2017/08/17}{Fix compatibility between \protect\option{continuousnumberingwithcolumns} and \protect\cs{numberpstartfalse}.} % \changes{v2.20.1}{2017/08/23}{Fix bug with \protect\option{continuousnumberingwithcolumns} when left column and right column have not the same size.} @@ -338,6 +338,8 @@ % \changes{v2.22.1}{2019/01/08}{Really reset line number annotation at each line} % \changes{v2.22.2}{2019/01/22}{Fix bug with \protect\cs{Xonlyside} and \protect\cs{onlysideX}} % \changes{v2.22.3}{2019/07/21}{When using \protect\cs{parindentX} or \protect\cs{Xparindent} and stanza, use the normal indentation in the footnote, not the verse indentation.} +% \changes{v2.23.0}{2020/03/08}{Add \protect\cs{Leftpagehook} and \protect\cs{Rightpagehook}.} +% \changes{v2.23.0}{2020/03/08}{Add hanging symbol feature into \protect\env{astanza}.} % ^^A PW added following as the definitions are at some unknown elsewhere % % \newcommand{\egstart}{% @@ -627,8 +629,8 @@ % numbers between multiple columns and single columns, use the % \option{continuousnumberingwithcolumns} option when loading \macpackage % or \parpackage. -% You will need to use \cs{pausenumbering}~...\ -% \cs{resumenumbering} in addition to \cs{beginnumbering}~...\ +% You will need to use \cs{pausenumbering}\ldots +% \cs{resumenumbering} in addition to \cs{beginnumbering}\ldots % \cs{endnumbering} (see \reff{reledmac-pause}). % % The best way to understand the behaviour of \cs{pausenumbering} and @@ -640,15 +642,15 @@ % left-column commands. % % This means that you must switch between single-column and left-column -% text using \cs{beginnumbering}~...\ \cs{pausenumbering}~...\ -% \cs{resumenumbering}~...\ \cs{pausenumbering}~...\ -% \cs{resumenumbering}~...\ \cs{endnumbering}. +% text using \cs{beginnumbering}\ldots\cs{pausenumbering}\ldots +% \cs{resumenumbering}\ldots\cs{pausenumbering}\ldots +% \cs{resumenumbering}\ldots\cs{endnumbering}. % % On the other side, the first right column must always begin with % \cs{beginnumbering}, no matter if the corresponding left-column started % with \cs{resumenumbering} or not; this is because numbering in the right % column has not been started yet. Then, for consecutive chunks of -% right-column text you should use \cs{pausenumbering}~...\ +% right-column text you should use \cs{pausenumbering}\ldots % \cs{resumenumbering}. % % You must use \cs{endnumbering} in a right column in the following cases: @@ -1210,6 +1212,13 @@ % % About these two hooks, read \macpackage's handbook (\reff{reledmac-linehook}). % +% \subsection{Executing code at each page} +% \DescribeMacro{\Rightpagehook} +% \DescribeMacro{\Leftpagehook} +% When typesetting parallel pages, the \cs{Leftpagehook} and \cs{Rightpagehook} macros +% are executed each time \Parpackage switches to Left / Right page. +% +% These macro are initially void. You can redefine them using \cs{renewcommand}. % \section{Verse} % % If you are typesetting verses with \macpackage you can use the \protect\cs{stanza} @@ -1386,7 +1395,7 @@ % \begin{macrocode} %<*code> \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{reledpar}[2019/11/04 v2.22.4 reledmac extension for parallel texts]% +\ProvidesPackage{reledpar}[2020/03/08 v2.23.0 reledmac extension for parallel texts]% % \end{macrocode} % \subsection{Package's requirement} @@ -2636,7 +2645,7 @@ % % \begin{macro}{\l@d@set} % The \protect\cs{l@d@set}\marg{num} macro sets -% the line number for the next \verb?\pstart...? to the value specified as +% the line number for the next \cs{pstart}\ldots\ to the value specified as % its argument. This is used to implement \protect\cs{setlinenum}. % It is defined in \macpackage. % \changes{v2.0.0}{2015/07/19}{\protect\cs{l@d@set} defined only in \reledmac.} @@ -3001,8 +3010,9 @@ % line-list file, to mark the start of a new text line. % \begin{macrocode} \newcommand*{\new@lineL}{% + \set@this@c@page% \ifnumberline% - \write\linenum@out{\string\@nl[\the\c@par@page][\thepage]}% + \write\linenum@out{\string\@nl[\the\@this@c@page][\thepage]}% \fi% }% % \end{macrocode} @@ -3012,8 +3022,9 @@ % line-list file, to mark the start of a new text line. % \begin{macrocode} \newcommand*{\new@lineR}{% + \set@this@c@page% \ifnumberline% - \write\linenum@outR{\string\@nl[\the\c@par@page][\thepar@page]}% + \write\linenum@outR{\string\@nl[\the\@this@c@page][\thepage]}% \fi% }% % \end{macrocode} @@ -3051,7 +3062,7 @@ % % \begin{macro}{\setline} % You can use \protect\cs{setline}\marg{num} -% in running text (i.e., within \verb?\pstart...\pend?) to set the +% in running text (i.e., within \cs{pstart}\ldots\cs{pend}) to set the % current visible % line-number to a specified positive value. % It is defined in \macpackage. @@ -3413,6 +3424,15 @@ % \end{macrocode} % \end{macro} % \end{macro} +% \begin{macro}{ifinastanzaL} +% \begin{macro}{ifinastanzaR} +% These boolean tests are switched by the \protect\env{astanza} environnement, using either the left or right side. +% \begin{macrocode} + \newif\ifinastanzaL% + \newif\ifinastanzaR% +% \end{macrocode} +% \end{macro} +% \end{macro} % \begin{environment}{Leftside} % Within the \verb?pairs? and \verb?pages? environments the left and % right hand texts are within \verb?Leftside? and \verb?Rightside? @@ -3461,6 +3481,15 @@ % \end{macro} % \end{macro} % \end{macro} +% \begin{macro}{\Rightpagehook} +% \begin{macro}{\Leftpagehook} +% Hook at the start of Left/Right page, initially empty. +% \begin{macrocode} +\newcommand*{\Rightpagehook}{}% +\newcommand*{\Leftpagehook}{}% +% \end{macrocode} +% \end{macro} +% \end{macro} % % \begin{environment}{Rightside} % The \verb?Rightside? environment is only slightly more complicated @@ -4056,6 +4085,7 @@ % \protect\cs{print@eledsectionL} is for line with macro code. % \begin{macrocode} \def\print@eledsectionL{%% + \disable@edindex% \addtocounter{pstartL}{-1}% \ifdefstring{\@eledsectnotoc}{L}{\ledsectnotoc}{} \ifdefstring{\@eledsectmark}{L}{}{\ledsectnomark} @@ -4081,6 +4111,7 @@ {\new@line \hbox{\l@dunhbox@line{\one@line}}}% \fi% \vskip\eledsection@correcting@skip% + \restore@edindex% } % \end{macrocode} @@ -4245,6 +4276,7 @@ } \def\print@eledsectionR{% + \disable@edindex% \addtocounter{pstartR}{-1}% \set@sectcountR% \ifdefstring{\@eledsectnotoc}{R}{\ledsectnotoc}{}% @@ -4270,7 +4302,8 @@ \hspace{3\paperwidth}% {\new@lineR \hbox{\l@dunhbox@line{\one@lineR}}}% \fi% - \vskip\eledsection@correcting@skip + \vskip\eledsection@correcting@skip% + \restore@edindex% } % \end{macro} % \end{macro} @@ -5309,6 +5342,9 @@ \noexpand\csname sza@0@\endcsname}\stanzaindentbase% \@hangingsymbol% \fi% + \ifinastanzaL% + \@hangingsymbol% + \fi% \fi% }% \newcommand{\inserthangingsymbolR}{% @@ -5318,6 +5354,9 @@ \noexpand\csname sza@0@\endcsname}\stanzaindentbase% \@hangingsymbol% \fi% + \ifinastanzaR% + \@hangingsymbol% + \fi% \fi% }% % \end{macrocode} @@ -5344,6 +5383,11 @@ % % \begin{macrocode} \newenvironmentx{astanza}[2][1,2,usedefault]{% + \ifledRcol% + \global\inastanzaRtrue% + \else% + \global\inastanzaLtrue% + \fi% \catcode`\&\active \global\stanza@count\@ne\stanza@modulo\@ne \newdimen\parindent@beforestanza% @@ -5555,11 +5599,14 @@ % If use \protect\package{polyglossia} % \changes{v1.8.0}{2014/08/05}{Correct left/right language setting with polyglossia.} % \changes{v1.9.0}{2014/09/16}{Debug left/right language switching with polyglossia. Do not write in .aux file when setting left/right lines.} -% \changes{v2.22.4}{2019/11/4}{Provide compatibility with lastet version of polyglossia (v1.45).} +% \changes{v2.22.4}{2019/11/04}{Provide compatibility with last version of polyglossia (v1.45).} +% \changes{v2.23.0}{2020/03/08}{Restore compatibility with version of polyglossia prior to v1.45.} % \begin{macrocode} { \let\old@otherlanguage\otherlanguage% \renewcommand{\otherlanguage}[2][]{% - \xpg@set@group@aux% + \ifdefined\xpg@set@group@aux% + \xpg@set@group@aux% + \fi% \selectlanguage[#1]{#2}% \ifledRcol \gdef\theledlanguageR{#2}% \else \gdef\theledlanguageL{#2}% @@ -6241,8 +6288,8 @@ % \begin{macro}{setnotepositionliketwocolumns@R} % The \protect\cs{setwidthliketwocolumns} macro is called in \protect\cs{beginnumbering} in a \textbf{non-parallel} % typesetting context, to fix the width of the lines to be vertically aligned with parallel columns. It is also called at the beginning of a note's group, if some options are enabled. -% The \protect\cs{setposition...} macros are called in \protect\cs{beginnumbering} in a \textbf{non- parallel} typesetting context to fix the position of the lines. -% The \protect\cs{setnoteposition...} macros are called in \protect\cs{xxxfootstart} in a \textbf{non- parallel} typesetting context to fix the position of notes block. +% The \protect\cs{setposition\ldots} macros are called in \protect\cs{beginnumbering} in a \textbf{non- parallel} typesetting context to fix the position of the lines. +% The \protect\cs{setnoteposition\ldots} macros are called in \protect\cs{xxxfootstart} in a \textbf{non- parallel} typesetting context to fix the position of notes block. % \begin{macrocode} \newcommand{\setwidthliketwocolumns}{% \get@intercolumns@width%As \columns is not necessary called before \setwidthliketwocolumns @@ -6505,6 +6552,7 @@ % \changes{v0.2.0}{2004/12/20}{Added \protect\cs{l@duselanguage} to \protect\cs{Pages}} % \begin{macrocode} \checkpageL% + \Leftpagehook% \l@duselanguage{\theledlanguageL}% { \loop\ifl@dsamepage% % \end{macrocode} @@ -6602,6 +6650,7 @@ % \changes{v0.3.0}{2005/02/10}{Added \protect\cs{ledstrutR} to \protect\cs{Pages}} % \begin{macrocode} \checkpageR% + \Rightpagehook% \l@duselanguage{\theledlanguageR}% { \loop\ifl@dsamepage% \set@sectcountR% @@ -6698,6 +6747,8 @@ \global\l@dnumpstartsR=\z@% \global\instanzaLfalse% \global\instanzaRfalse% + \global\inastanzaLfalse% + \global\inastanzaRfalse% \global\l@dprintingpagesfalse% % \end{macrocode} % Check the consistency of \cs{edtext@later} and \cs{edtext@now} -- cgit v1.2.3