summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/eledmac
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2015-03-06 22:25:59 +0000
committerKarl Berry <karl@freefriends.org>2015-03-06 22:25:59 +0000
commitf9aaa3838259336c024df786fbd42d9b19e5c13e (patch)
treec293fb93daec90e11683c8e7c46ef73c3211ac33 /Master/texmf-dist/tex/latex/eledmac
parenta1de98c2e6a9abc9f7a2848511ce420c8e9e1b0c (diff)
eledmac (6mar15)
git-svn-id: svn://tug.org/texlive/trunk@36447 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/eledmac')
-rw-r--r--Master/texmf-dist/tex/latex/eledmac/eledmac.sty86
-rw-r--r--Master/texmf-dist/tex/latex/eledmac/eledpar.sty168
2 files changed, 220 insertions, 34 deletions
diff --git a/Master/texmf-dist/tex/latex/eledmac/eledmac.sty b/Master/texmf-dist/tex/latex/eledmac/eledmac.sty
index a7eb8fa48f8..4d7566977bd 100644
--- a/Master/texmf-dist/tex/latex/eledmac/eledmac.sty
+++ b/Master/texmf-dist/tex/latex/eledmac/eledmac.sty
@@ -25,7 +25,7 @@
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{eledmac}[2015/02/23 v1.18.0 LaTeX port of EDMAC]%
+\ProvidesPackage{eledmac}[2015/03/06 v1.19.0 LaTeX port of EDMAC]%
\newif\ifledfinal
\newif\ifparapparatus@
\newif\ifnoquotation@
@@ -1587,7 +1587,9 @@
\csname #1footfmt\endcsname #2[#1]\egroup}
\newcommand*{\footsplitskips}{%
\interlinepenalty=\interfootnotelinepenalty
- \floatingpenalty=\@MM
+ \unless\ifl@dprintingpages%
+ \floatingpenalty=\@MM%
+ \fi%
\splittopskip=\ht\strutbox \splitmaxdepth=\dp\strutbox
\leftskip=\z@skip \rightskip=\z@skip}
@@ -1773,6 +1775,7 @@
\expandafter\let\csname #1footnoterule\endcsname=%
\normalfootnoterule
\count\csname #1footins\endcsname=1000
+ \csxdef{default@#1footins}{1000}%Use this to confine the notes to one side only
\dimen\csname #1footins\endcsname=\csuse{maxhXnotes@#1}
\skip\csname #1footins\endcsname=\csuse{beforeXnotes@#1}
\expandafter\let\csname mpv#1footnote\endcsname=\mpnormalvfootnote
@@ -1790,6 +1793,7 @@
\expandafter\let\csname #1footfmt\endcsname=\parafootfmt
\expandafter\let\csname #1footgroup\endcsname=\para@footgroup
\count\csname #1footins\endcsname=1000
+ \csxdef{default@#1footins}{1000}%Use this to confine the notes to one side only
\dimen\csname #1footins\endcsname=\csuse{maxhXnotes@#1}
\skip\csname #1footins\endcsname=\csuse{beforeXnotes@#1}
\para@footsetup{#1}
@@ -1953,6 +1957,7 @@
\expandafter\let\csname v#1footnote\endcsname=\threecolvfootnote
\expandafter\let\csname #1footfmt\endcsname=\threecolfootfmt
\expandafter\let\csname #1footgroup\endcsname=\threecolfootgroup
+ \dimen\csname #1footins\endcsname=\csuse{maxhXnotes@#1}%
\threecolfootsetup{#1}
\expandafter\let\csname mpv#1footnote\endcsname=\mpnormalvfootnote
\expandafter\let\csname mp#1footgroup\endcsname=\mpthreecolfootgroup
@@ -1961,6 +1966,7 @@
\newcommand*{\threecolfootsetup}[1]{%
\count\csname #1footins\endcsname 333
+ \csxdef{default@#1footins}{333}%Use this to confine the notes to one side only
\multiply\dimen\csname #1footins\endcsname \thr@@}
\newcommand*{\mpthreecolfootsetup}[1]{%
\count\csname mp#1footins\endcsname 333
@@ -1986,8 +1992,8 @@
{\nobreak\hskip\csuse{beforelemmaseparator@#4}\csuse{lemmaseparator@#4}\hskip\csuse{afterlemmaseparator@#4}%
}}%
#3\strut\par\allowbreak}
-\newcommand*{\threecolfootgroup}[1]{{\notefontsetup
- {\csuse{Xnotefontsize@#1}\noindent\csuse{txtbeforeXnotes@#1}}\par
+\newcommand*{\threecolfootgroup}[1]{{\csuse{Xnotefontsize@#1}%
+ \noindent\csuse{txtbeforeXnotes@#1}\par%
\splittopskip=\ht\strutbox
\expandafter
\rigidbalance\csname #1footins\endcsname \thr@@ \splittopskip}}
@@ -2022,6 +2028,7 @@
\expandafter\let\csname v#1footnote\endcsname=\twocolvfootnote
\expandafter\let\csname #1footfmt\endcsname=\twocolfootfmt
\expandafter\let\csname #1footgroup\endcsname=\twocolfootgroup
+ \dimen\csname #1footins\endcsname=\csuse{maxhXnotes@#1}%
\twocolfootsetup{#1}
\expandafter\let\csname mpv#1footnote\endcsname=\mpnormalvfootnote
\expandafter\let\csname mp#1footgroup\endcsname=\mptwocolfootgroup
@@ -2030,6 +2037,7 @@
\newcommand*{\twocolfootsetup}[1]{%
\count\csname #1footins\endcsname 500
+ \csxdef{default@#1footins}{500}%Use this to confine the notes to one side only
\multiply\dimen\csname #1footins\endcsname \tw@}
\notbool{parapparatus@}{\newcommand*}{\newcommand}{\twocolvfootnote}[2]{\insert\csname #1footins\endcsname\bgroup
\csuse{Xnotefontsize@#1}
@@ -2051,7 +2059,7 @@
}}%
#3\strut\par\allowbreak}
\newcommand*{\twocolfootgroup}[1]{{\csuse{Xnotefontsize@#1}
- {\csuse{Xnotefontsize@#1}\noindent\csuse{txtbeforeXnotes@#1}}\par
+ \noindent\csuse{txtbeforeXnotes@#1}\par%
\splittopskip=\ht\strutbox
\expandafter
\rigidbalance\csname #1footins\endcsname \tw@ \splittopskip}}
@@ -2262,6 +2270,7 @@
\expandafter\let\csname footgroup#1\endcsname=\normalfootgroupX
\expandafter\let\csname footnoterule#1\endcsname=\normalfootnoteruleX
\count\csname footins#1\endcsname=1000
+ \csxdef{default@footins#1}{1000}%Use to have note only for one side
\dimen\csname footins#1\endcsname=\csuse{maxhnotesX@#1}
\skip\csname footins#1\endcsname=\csuse{beforenotesX@#1}
\expandafter\let\csname mpvfootnote#1\endcsname=\mpnormalvfootnoteX
@@ -2276,6 +2285,7 @@
\expandafter\let\csname regvfootnote#1\endcsname=\twocolvfootnoteX
\expandafter\let\csname footfmt#1\endcsname=\twocolfootfmtX
\expandafter\let\csname footgroup#1\endcsname=\twocolfootgroupX
+ \dimen\csname #1footins\endcsname=\csuse{maxhnotesX@#1}%
\twocolfootsetupX{#1}
\expandafter\let\csname mpvfootnote#1\endcsname=\mpnormalvfootnoteX
\expandafter\let\csname mpfootgroup#1\endcsname=\mptwocolfootgroupX
@@ -2283,6 +2293,7 @@
\newcommand*{\twocolfootsetupX}[1]{%
\count\csname footins#1\endcsname 500
+ \csxdef{default@footins#1}{500}%Use this to confine the notes to one side only
\multiply\dimen\csname footins#1\endcsname by \tw@}
\newcommand*{\mptwocolfootsetupX}[1]{%
\count\csname mpfootins#1\endcsname 500
@@ -2344,6 +2355,7 @@
\expandafter\let\csname regvfootnote#1\endcsname=\threecolvfootnoteX
\expandafter\let\csname footfmt#1\endcsname=\threecolfootfmtX
\expandafter\let\csname footgroup#1\endcsname=\threecolfootgroupX
+ \dimen\csname #1footins\endcsname=\csuse{maxhnotesX@#1}%
\threecolfootsetupX{#1}
\expandafter\let\csname mpvfootnote#1\endcsname=\mpnormalvfootnoteX
\expandafter\let\csname mpfootgroup#1\endcsname=\mpthreecolfootgroupX
@@ -2351,6 +2363,7 @@
\newcommand*{\threecolfootsetupX}[1]{%
\count\csname footins#1\endcsname 333
+ \csxdef{default@footins#1}{333}%Use this to confine the notes to one side only
\multiply\dimen\csname footins#1\endcsname by \thr@@}
\newcommand*{\mpthreecolfootsetupX}[1]{%
\count\csname mpfootins#1\endcsname 333
@@ -2415,6 +2428,7 @@
\expandafter\let\csname footgroup#1\endcsname=\para@footgroupX
\expandafter\let\csname footnoterule#1\endcsname=\normalfootnoteruleX
\count\csname footins#1\endcsname=1000
+ \csxdef{default@footins#1}{1000}%Use this to confine the notes to one side only
\dimen\csname footins#1\endcsname=\csuse{maxhnotesX@#1}
\skip\csname footins#1\endcsname=\csuse{beforenotesX@#1}
\expandafter\let\csname mpvfootnote#1\endcsname=\mppara@vfootnoteX
@@ -2585,12 +2599,23 @@
\nointerlineskip%
}%
+\newcommand\print@notesX[1]{%
+ \csuse{footstart#1}{#1}%
+ \csuse{footgroup#1}{#1}%
+}%
\newcommand*{\doxtrafeeti}{%
\setbox\@outputbox \vbox{%
- \unvbox\@outputbox
- \def\do##1{\ifvoid\csuse{footins##1}\else\csuse{footstart##1}{##1}\csuse{footgroup##1}{##1}\fi}
- \dolistloop{\@series}%
- }}
+ \unvbox\@outputbox%
+ \def\do##1{%
+ \ifvoid\csuse{footins##1}\else%
+ \ifdefined\correct@footinsX@box%
+ \correct@footinsX@box{##1}%
+ \fi%
+ \print@notesX{##1}%
+ \fi%
+ }%
+ \dolistloop{\@series}}%
+ }%
\newcommand{\doreinxtrafeeti}{%
\def\do##1{\ifvoid\csuse{footins##1}\else\insert\csuse{footins##1}{\unvbox\csuse{footins##1}}\fi}%
@@ -2683,6 +2708,9 @@
\newcommand{\newseries@}[1]{
\xifinlist{#1}{\@series}{\led@warn@SeriesStillExist{#1}}%
{%
+ \ifdefined\newseries@eledpar%
+ \newseries@eledpar{#1}%
+ \fi%
\newtoggle{Xlemmadisablefontselection@#1}
\newtoggle{Xendlemmadisablefontselection@#1}
\csgdef{Xhangindent@#1}{0pt}%
@@ -2733,10 +2761,10 @@
\newtoggle{Xnoteswidthliketwocolumns@#1}%
\newtoggle{notesXwidthliketwocolumns@#1}%
- \expandafter\newinsert\csname mpfootins#1\endcsname
- \expandafter\newinsert\csname footins#1\endcsname
- \expandafter\newinsert\csname #1footins\endcsname
- \expandafter\newinsert\csname mp#1footins\endcsname
+ \expandafter\newinsert\csname footins#1\endcsname%
+ \expandafter\newinsert\csname #1footins\endcsname%
+ \expandafter\newinsert\csname mpfootins#1\endcsname%
+ \expandafter\newinsert\csname mp#1footins\endcsname%
\global\notbool{parapparatus@}{\expandafter\newcommand\expandafter *}{\expandafter\newcommand}\csname #1footnote\endcsname[2][]{%
\begingroup%
@@ -2783,7 +2811,9 @@
\newcommand{\content}{##1}%
\stepcounter{footnote#1}%
\protected@csxdef{@thefnmark#1}{\csuse{thefootnote#1}}%
- \csuse{@footnotemark#1}%
+ \nottoggle{nomk@}%Nomk is set to true when using \footnoteXnomk with eledpar
+ {\csuse{@footnotemark#1}}%
+ {}%
\csuse{vfootnote#1}{#1}{\expandonce\content}\m@mmf@prepare%
\endgroup%
}
@@ -2971,6 +3001,7 @@
\newcommand*{\symplinenum}{}
\newtoggle{nonum@}
\newtoggle{nosep@}
+\newtoggle{nomk@}%
\newcommandx*{\nolemmaseparator}[1][1]{\lemmaseparator[#1]{}}
\newskip\ipn@skip
\newcommand*{\interparanoteglue}[1]{%
@@ -3123,15 +3154,30 @@
\setbox\@outputbox \vbox{%
\unvbox\@outputbox
\@opxtrafeetii}}
+\newcommand\print@Xnotes[1]{%
+ \csuse{#1footstart}{#1}%
+ \csuse{#1footgroup}{#1}%%
+}%
\newcommand*{\@opxtrafeetii}{%
- \def\do##1{\ifvoid\csuse{##1footins}\else\csuse{##1footstart}{##1}\csuse{##1footgroup}{##1}\fi}
- \dolistloop{\@series}}
+ \def\do##1{%
+ \ifvoid\csuse{##1footins}\else%
+ \ifdefined\correct@Xfootins@box%
+ \correct@Xfootins@box{##1}%
+ \fi%
+ \print@Xnotes{##1}%
+ \fi%
+ }%
+ \dolistloop{\@series}%
+}%
\newcommand*{\l@ddodoreinxtrafeet}{%
\doreinxtrafeeti
\doreinxtrafeetii}
\newcommand*{\doreinxtrafeetii}{%
- \def\do##1{\ifvoid\csuse{##1footins}\else\insert\csuse{##1ootins}{\unvbox\csuse{##1footins}}\fi}
+ \def\do##1{%
+ \ifvoid\csuse{##1footins}\else%
+ \insert\csuse{##1footins}{\unvbox\csuse{##1footins}}%
+ \fi}%
\dolistloop{\@series}
}
@@ -3344,8 +3390,10 @@
\else%
\expandafter\def\csname the@@label#2\endcsname{\l@dgetref@num{1}{#2}|\l@dgetref@num{2}{#2}|\l@dgetref@num{3}{#2}}%
\fi%
- \linenum{\csname the@@label#1\endcsname|%
- \csname the@@label#2\endcsname}}}
+ \StrDel{\csuse{the@@label#1}}{\Rlineflag}[\@tempa]%
+ \StrDel{\csuse{the@@label#2}}{\Rlineflag}[\@tempb]%
+ \linenum{\@tempa|%
+ \@tempb}}}%
\newcommand*{\edmakelabel}[2]{\expandafter\xdef\csname the@label#1\endcsname{#2}}
diff --git a/Master/texmf-dist/tex/latex/eledmac/eledpar.sty b/Master/texmf-dist/tex/latex/eledmac/eledpar.sty
index 33e6f5951d2..bb531abde26 100644
--- a/Master/texmf-dist/tex/latex/eledmac/eledpar.sty
+++ b/Master/texmf-dist/tex/latex/eledmac/eledpar.sty
@@ -23,8 +23,9 @@
%% This work consists of the files listed in the README file.
%%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{eledpar}[2015/02/27 v1.12.1 eledmac extension for parallel texts]%
+\ProvidesPackage{eledpar}[2015/03/06 v1.13.0 eledmac extension for parallel texts]%
+\RequirePackage{xspace}%
\newif\ifshiftedpstarts
\let\shiftedversestrue\shiftedpstartstrue
\let\shiftedversesfalse\shiftedpstartsfalse
@@ -33,9 +34,6 @@
\DeclareOption{parledgroup}{\parledgrouptrue}
\DeclareOption{widthliketwocolumns}{\widthliketwocolumnstrue}%
\ProcessOptions%
- \l@dpairingfalse
- \l@dpagingfalse
- \ledRcolfalse
\newdimen\Lcolwidth
\Lcolwidth=0.45\textwidth
\newdimen\Rcolwidth
@@ -702,6 +700,42 @@
\fi
\fi}
+\newcommand{\newseries@eledpar}[1]{%
+ \csgdef{onlysideX@#1}{}%
+ \csgdef{onlyXside@#1}{}%
+ \global\newbool{keepforXside@#1}%
+ \global\newbool{keepforsideX@#1}%
+ \expandafter\list@create\csname footnote#1@mk\endcsname%
+ \expandafter\newcommand\csname footnote#1nomk\endcsname[1]{%
+ \toggletrue{nomk@}%
+ \csuse{footnote#1}{##1}%
+ \togglefalse{nomk@}%
+ \letcs{\@tmp}{footnote#1@mk}%
+ \numdef\@tmpa{\csuse{c@footnote#1}}%
+ \global\xright@appenditem{\@tmpa}\to\@tmp%
+ \global\cslet{footnote#1@mk}{\@tmp}%
+ }%
+ \expandafter\newcommand\csname footnote#1mk\endcsname{%
+ \letcs{\@tmp}{footnote#1@mk}%
+ \gl@p\@tmp\to\@tmpa%
+ \global\cslet{footnote#1@mk}{\@tmp}%
+ \letcs{\old@footnote}{c@footnote#1}%
+ \setcounter{footnote#1}{\@tmpa}%
+ \protected@csxdef{@thefnmark#1}{\csuse{thefootnote#1}}%
+ \csuse{@footnotemark#1}%
+ \setcounter{footnote#1}{\old@footnote}%
+ \xspace%
+ }%
+}%
+\newhookcommand@series{onlysideX}%
+
+\newhookcommand@series{onlyXside}%
+
+\newcommand{\init@series@eledpar}{%
+ \def\do##1{\newseries@eledpar{##1}}%
+ \dolistloop{\@series}%
+}%
+\init@series@eledpar%
\list@create{\list@pstartL@pc}%
\list@create{\list@pstartR@pc}%
@@ -1450,6 +1484,90 @@
\let\ledsavedprintlines\printlines
+\newcommand\print@Xnotes@forpages[1]{%
+ \ifcsempty{onlyXside@#1}{%
+ \csuse{#1footstart}{#1}%
+ \csuse{#1footgroup}{#1}%
+ }%
+ {%
+ \ifboolexpr{%
+ ((test {\ifcsstring{onlyXside@#1}{L}} and not test{\ifnumodd{\c@page}})%
+ or%
+ (test {\ifcsstring{onlyXside@#1}{R}} and test{\ifnumodd{\c@page}}))%
+ }%
+ {%
+ \csuse{#1footstart}{#1}%
+ \csuse{#1footgroup}{#1}%
+ \global\count\csuse{#1footins}=0%
+ \global\skip\csuse{#1footins}=0pt%
+ \csuse{Xnotefontsize@#1}%
+ \global\advance\dimen\csuse{#1footins} by -\baselineskip%
+ \global\boolfalse{keepforXside@#1}%
+ }%
+ {%
+ \global\booltrue{keepforXside@#1}%
+ \global\count\csuse{#1footins}=\csuse{default@#1footins}%
+ \global\skip\csuse{#1footins}=\csuse{beforeXnotes@#1}%
+ \bgroup%
+ \csuse{Xnotefontsize@#1}%
+ \global\advance\dimen\csuse{#1footins} by \baselineskip%
+ \egroup%
+ }%
+ }%
+}%
+\newcommand{\correct@Xfootins@box}[1]{%
+ \ifbool{keepforXside@#1}{%
+ \csuse{Xnotefontsize@#1}%
+ \splittopskip=0pt%
+ \global\setbox\csuse{#1footins}=\vbox{%
+ \vsplit\csuse{#1footins} to \dimexpr\ht\csuse{#1footins}-1pt\relax%
+ \vskip \dimexpr-0.5\baselineskip-\lineskip-0.5pt\relax%
+ \unvbox\csuse{#1footins}%
+ }%
+ }{}%
+}%
+\newcommand\print@notesX@forpages[1]{%
+ \ifcsempty{onlysideX@#1}{%
+ \csuse{footstart#1}{#1}%
+ \csuse{footgroup#1}{#1}%
+ }%
+ {%
+ \ifboolexpr{%
+ ((test {\ifcsstring{onlysideX@#1}{L}} and not test{\ifnumodd{\c@page}})%
+ or%
+ (test {\ifcsstring{onlysideX@#1}{R}} and test{\ifnumodd{\c@page}}))%
+ }%
+ {%
+ \csuse{footstart#1}{#1}%
+ \csuse{footgroup#1}{#1}%
+ \global\count\csuse{footins#1}=0%
+ \global\skip\csuse{footins#1}=0pt%
+ \csuse{notefontsizeX@#1}%
+ \global\advance\dimen\csuse{footins#1} by -\baselineskip%
+ \global\boolfalse{keepforsideX@#1}%
+ }%
+ {%
+ \global\booltrue{keepforsideX@#1}%
+ \global\count\csuse{footins#1}=\csuse{default@footins#1}%
+ \global\skip\csuse{footins#1}=\csuse{beforenotesX@#1}%
+ \bgroup%
+ \csuse{notefontsizeX@#1}%
+ \global\advance\dimen\csuse{footins#1} by \baselineskip%
+ \egroup%
+ }%
+ }%
+}%
+\newcommand{\correct@footinsX@box}[1]{%
+ \ifbool{keepforsideX@#1}{%
+ \csuse{notefontsizeX@#1}%
+ \splittopskip=0pt%
+ \global\setbox\csuse{footins#1}=\vbox{%
+ \vsplit\csuse{footins#1} to \dimexpr\ht\csuse{footins#1}-1pt\relax%
+ \vskip \dimexpr-0.5\baselineskip-\lineskip-0.5pt\relax%
+ \unvbox\csuse{footins#1}%
+ }%
+ }{}%
+}%
\list@create{\labelref@listR}
\def\l@dmake@labelsR#1|#2|#3|#4|#5{%
@@ -1613,7 +1731,6 @@
\let\stanza@hang\relax
\let\endlock\relax
\else
-%%% \interlinepenalty\@M % this screws things up, but I don't know why
\rightskip\z@ plus 1fil\relax
\fi
\ifnum\usenamecount{szp@0@}=\z@
@@ -1624,14 +1741,16 @@
\sza@penalty
\global\advance\stanza@count\@ne
\@astanza@line}%
- \def\&{%
- \endlock\mbox{}
- \pend
- \endstanzaextra}%
+ \def\&{\@stopastanza}%
\pstart
\@astanza@line
}{}
+\newcommandx{\@stopastanza}[1][1,usedefault]{%
+ \endlock\mbox{}%
+ \pend[#1]%
+ \endstanzaextra%
+}%
\newcommand*{\@astanza@line}{%
\ifnum\value{stanzaindentsrepetition}=0
\parindent=\csname sza@\number\stanza@count
@@ -1855,7 +1974,7 @@
\@writelinesinparL
\@writelinesinparR
\check@pstarts
- \ifbypstart@
+ \ifbypstart@%
\write\linenum@out{\string\@set[1]}
\resetprevline@
\fi
@@ -2010,6 +2129,8 @@
\ifnum\l@dnumpstartsL=\l@dnumpstartsR\else
\led@err@BadLeftRightPstarts{\the\l@dnumpstartsL}{\the\l@dnumpstartsR}%
\fi
+ \setlength{\Lcolwidth}{\textwidth}%
+ \setlength{\Rcolwidth}{\textwidth}%
\cleartol@devenpage
\begingroup
\l@dzeropenalties
@@ -2021,6 +2142,8 @@
\global\l@dpscR=\z@
\writtenlinesLfalse
\writtenlinesRfalse
+ \let\print@Xnotes\print@Xnotes@forpages%
+ \let\print@notesX\print@notesX@forpages%
\check@pstarts
\loop\if@pstarts
\global\advance\l@dpscL \@ne
@@ -2051,7 +2174,6 @@
{ \loop\ifaraw@text
\checkpageL
\l@duselanguage{\theledlanguageL}%
-%%% \begingroup
{ \loop\ifl@dsamepage%
\ifdefstring{\@eledsectnotoc}{L}{\ledsectnotoc}{}
\csuse{before@pstartL@\the\l@dpscL}%
@@ -2062,7 +2184,13 @@
{}%
\advance\numpagelinesL \@ne
\ifshiftedpstarts
- \ifdim\ht\l@dleftbox>0pt\hb@xt@ \hsize{\ledstrutL\unhbox\l@dleftbox}\fi%
+ \ifdim\ht\l@dleftbox>0pt\hb@xt@%
+ \hsize{\ledstrutL\unhbox\l@dleftbox}%
+ \else%
+ \dimen0=\pagetotal%
+ \advance\dimen0 by \baselineskip%
+ \global\pagetotal=\dimen0%
+ \fi%
\else%
\parledgroup@correction@notespacing{L}
\hb@xt@ \hsize{\ledstrutL\unhbox\l@dleftbox}%
@@ -2097,7 +2225,13 @@
{}%
\advance\numpagelinesR \@ne
\ifshiftedpstarts
- \ifdim\ht\l@drightbox>0pt\hb@xt@ \hsize{\ledstrutR\unhbox\l@drightbox}\fi%
+ \ifdim\ht\l@drightbox>0pt\hb@xt@%
+ \hsize{\ledstrutR\unhbox\l@drightbox}%
+ \else%
+ \dimen0=\pagetotal%
+ \advance\dimen0 by \baselineskip%
+ \global\pagetotal=\dimen0%
+ \fi%
\else%
\parledgroup@correction@notespacing{R}
\hb@xt@ \hsize{\ledstrutR\unhbox\l@drightbox}%
@@ -2138,6 +2272,7 @@
\global\instanzaLfalse
\global\instanzaRfalse
\l@dprintingpagesfalse%
+ \newpage\null%Needed to prevent final notes overlap line number
\ignorespaces}
\newcommand*{\ledstrutL}{\strut}
@@ -2153,14 +2288,17 @@
\fi
\ifodd\c@page\hbox{}\clearpage\fi}
\newcommand*{\clearl@dleftpage}{%
- \clearpage
+ \ifdim\pagetotal=0pt\hbox{}\fi%
+ \newpage%
\ifodd\c@page\else
\led@err@LeftOnRightPage
\hbox{}%
\cleardoublepage
\fi}
+
\newcommand*{\clearl@drightpage}{%
- \clearpage
+ \ifdim\pagetotal=0pt\hbox{}\fi%
+ \newpage%
\ifodd\c@page
\led@err@RightOnLeftPage
\hbox{}%