From c8e8fe4cb53b2b726916ac8c976c6f9f41b8f6ea Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 22 Jan 2019 22:19:50 +0000 Subject: reledmac (22jan19) git-svn-id: svn://tug.org/texlive/trunk@49792 c570f23f-e606-0410-a88d-b1316a301751 --- .../texmf-dist/source/latex/reledmac/reledpar.dtx | 62 +++++++++++++++------- 1 file changed, 42 insertions(+), 20 deletions(-) (limited to 'Master/texmf-dist/source/latex/reledmac/reledpar.dtx') diff --git a/Master/texmf-dist/source/latex/reledmac/reledpar.dtx b/Master/texmf-dist/source/latex/reledmac/reledpar.dtx index 951b1e45917..3fc339e156f 100644 --- a/Master/texmf-dist/source/latex/reledmac/reledpar.dtx +++ b/Master/texmf-dist/source/latex/reledmac/reledpar.dtx @@ -336,6 +336,7 @@ % \changes{v2.21.9}{2018/07/19}{Fix (little) bug when using \protect\package{calc} package.} % \changes{v2.22.0}{2018/09/13}{Compatibility with \protect\cs{doinsidethislinehook} macro.} % \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}} % ^^A PW added following as the definitions are at some unknown elsewhere % % \newcommand{\egstart}{% @@ -1384,7 +1385,7 @@ % \begin{macrocode} %<*code> \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{reledpar}[2019/01/08 v2.22.1 reledmac extension for parallel texts]% +\ProvidesPackage{reledpar}[2019/01/22 v2.22.2 reledmac extension for parallel texts]% % \end{macrocode} % \subsection{Package's requirement} @@ -4836,8 +4837,10 @@ % \subsection{Footnotes output specific to \protect\cs{Pages}} % \begin{macro}{\print@Xnotes@forpages} +% \begin{macro}{\restore@Xnotes@settings} % \begin{macro}{\correct@Xfootins@box} % \begin{macro}{\print@notesX@forpages} +% \begin{macro}{\restore@notesX@settings} % \begin{macro}{\correct@footinsX@box} % \changes{v1.13.1}{2015/03/12}{Correct \protect\cs{correct@footinsX@box} and \protect\cs{correct@Xfootins@box}} % \changes{v1.13.1}{2015/03/12}{Call \protect\cs{correct@footinsX@box} and \protect\cs{correct@Xfootins@box} directly in \protect\cs{print@notesX@forpages} and \protect\cs{print@Xnotes@forpages}.} @@ -4894,19 +4897,10 @@ }% % \end{macrocode} % In case we are on a page where notes must NOT be printed. -% First restore expected rooms for notes on the next page. Also reset expected vertical size allowed to notes. +% We reset the settings of the notes for one side. % \begin{macrocode} {% - \global\count\csuse{#1footins}=\csuse{default@#1footins}% - \global\skip\csuse{#1footins}=\csuse{Xbeforenotes@#1}% - \bgroup% - \csuse{Xnotefontsize@#1}% - \global\dimen\csuse{#1footins}=\csuse{Xmaxhnotes@#1}% - \egroup% -% \end{macrocode} -% Then, save the current insert box to a temporary insert box. -% \begin{macrocode} - \global\setnamebox{#1footins@kept}=\box\namebox{#1footins}% + \restore@Xnotes@settings{#1}% }% % \end{macrocode} % End of \protect\cs{print@Xnotes@forpages}. @@ -4914,6 +4908,21 @@ }% }% % \end{macrocode} +% The macro which restore the note settings. +% \#1 = series +% \begin{macrocode} +\newcommand{\restore@Xnotes@settings}[1]{% + \unless\ifnocritical@ + \global\count\csuse{#1footins}=\csuse{default@#1footins}% + \global\skip\csuse{#1footins}=\csuse{Xbeforenotes@#1}% + \bgroup% + \csuse{Xnotefontsize@#1}% + \global\dimen\csuse{#1footins}=\csuse{Xmaxhnotes@#1}% + \egroup% + \global\setnamebox{#1footins@kept}=\box\namebox{#1footins}% + \fi +}% +% \end{macrocode} % And now, the same for familiar footnotes. % \begin{macrocode} \newcommand\print@notesX@forpages[1]{% @@ -4933,24 +4942,30 @@ \global\count\csuse{footins#1}=\z@% \global\skip\csuse{footins#1}=\z@% \global\dimen\csuse{footins#1}=\maxdimen% - }% {% - \global\count\csuse{footins#1}=\csuse{default@footins#1}% - \global\skip\csuse{footins#1}=\csuse{beforenotesX@#1}% - \bgroup% - \csuse{Xnotefontsize@#1}% - \global\dimen\csuse{footins#1}=\csuse{maxhnotesX@#1}% - \egroup% - \global\setnamebox{footins#1@kept}=\box\namebox{footins#1}% + \restore@notesX@settings{#1}% }% }% }% +\newcommand{\restore@notesX@settings}[1]{% + \unless\ifnofamiliar@ + \global\count\csuse{footins#1}=\csuse{default@footins#1}% + \global\skip\csuse{footins#1}=\csuse{beforenotesX@#1}% + \bgroup% + \csuse{Xnotefontsize@#1}% + \global\dimen\csuse{footins#1}=\csuse{maxhnotesX@#1}% + \egroup% + \global\setnamebox{footins#1@kept}=\box\namebox{footins#1}% + \fi +}% % \end{macrocode} % \end{macro} % \end{macro} % \end{macro} % \end{macro} +% \end{macro} +% \end{macro} % \begin{macro}{\insert@notes@for@onlyside} % \cs{insert@notes@for@onlyside} is everytime \cs{Pages} go to the next side. % It just reinsert the notes note printed on the previous side because of \protect{Xonlyside} or \cs{onlysideX} setting. @@ -4964,6 +4979,7 @@ \unvnamebox{##1footins@kept}% \egroup% \fi% + \restore@Xnotes@settings{##1}% \fi% \unless\ifnofamiliar@% \ifvoid\csuse{footins##1@kept}\else% @@ -4972,6 +4988,7 @@ \unvnamebox{footins##1@kept}% \egroup% \fi% + \restore@notesX@settings{##1}% \fi% }% \dolistloop{\@series}% @@ -6712,6 +6729,11 @@ \global\newnamebox{footins##1}% \fi % \end{macrocode} +% We must also restore the settings for the footnotes in case of using onlyside option. +% \begin{macrocode} + \restore@Xnotes@settings{##1}% + \restore@notesX@settings{##1}% +% \end{macrocode} % And now, add a \protect\cs{newpage} if there is no more footnote to print. % \begin{macrocode} \ifvoid\csuse{##1footins}% -- cgit v1.2.3