diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/eledmac/eledmac.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/eledmac/eledmac.sty | 317 |
1 files changed, 220 insertions, 97 deletions
diff --git a/Master/texmf-dist/tex/latex/eledmac/eledmac.sty b/Master/texmf-dist/tex/latex/eledmac/eledmac.sty index 5061da66731..275bad0fc5e 100644 --- a/Master/texmf-dist/tex/latex/eledmac/eledmac.sty +++ b/Master/texmf-dist/tex/latex/eledmac/eledmac.sty @@ -24,17 +24,20 @@ \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{eledmac}[2013/11/08 v1.7.0 LaTeX port of EDMAC] +\ProvidesPackage{eledmac}[2013/12/15 v1.8.1 LaTeX port of EDMAC] \newif\ifledfinal \newif\ifparapparatus@ \newif\ifnoquotation@ \newif\iflednopbinverse +\newif\ifparledgroup +\newif\ifledsecnolinenumber \parapparatus@false \DeclareOption{noquotation}{\noquotation@true} \DeclareOption{final}{\ledfinaltrue} \DeclareOption{draft}{\ledfinalfalse} \DeclareOption{parapparatus}{\parapparatus@true} \DeclareOption{nopbinverse}{\lednopbinversetrue} +\DeclareOption{ledsecnolinenumber}{\ledsecnolinenumbertrue} \ExecuteOptions{final} \ProcessOptions*\relax @@ -179,48 +182,49 @@ \global\let\next@page@num=\relax \global\let\sub@change=\relax \resetprevline@ + \resetprevpage@num } \newcommand{\initnumbering@sectcmd}{ \newcommand{\ledsection}[2][]{% - \leavevmode\pend\vspace{3.5ex \@plus 1ex \@minus .2ex}\skipnumbering% + \ifl@dpairing\else\leavevmode\fi\pend\vspace{3.5ex \@plus 1ex \@minus .2ex}\ifl@dpairing\else\skipnumbering\fi%% \pstart% - \leavevmode\section[##1]{##2}\leavevmode\vspace{2.3ex \@plus.2ex}\skipnumbering\pend% + \leavevmode\ifledsecnolinenumber\skipnumbering\fi\section[##1]{##2}\leavevmode\vspace{2.3ex \@plus.2ex}\skipnumbering\pend% \vspace{-2\parskip}\vspace{-2\baselineskip}% \ifautopar\else\pstart\fi } \WithSuffix\newcommand\ledsection*[1]{% - \leavevmode\pend\vspace{3.5ex \@plus 1ex \@minus .2ex}\skipnumbering% + \ifl@dpairing\else\leavevmode\fi\pend\vspace{3.5ex \@plus 1ex \@minus .2ex}\ifl@dpairing\else\skipnumbering\fi% \pstart% - \leavevmode\section*{##1}\leavevmode\vspace{2.3ex \@plus.2ex}\skipnumbering\pend% + \leavevmode\ifledsecnolinenumber\skipnumbering\fi\section*{##1}\leavevmode\vspace{2.3ex \@plus.2ex}\skipnumbering\pend% \vspace{-2\parskip}\vspace{-2\baselineskip}% \ifautopar\else\pstart\fi } \newcommand{\ledsubsection}[2][]{% - \leavevmode\pend\vspace{3.5ex \@plus 1ex \@minus .2ex}\skipnumbering% + \ifl@dpairing\else\leavevmode\fi\pend\vspace{3.5ex \@plus 1ex \@minus .2ex}\ifl@dpairing\else\skipnumbering\fi% \pstart% - \leavevmode\subsection[##1]{##2}\leavevmode\vspace{1.5ex \@plus .2ex}\skipnumbering\pend% + \leavevmode\ifledsecnolinenumber\skipnumbering\fi\subsection[##1]{##2}\leavevmode\vspace{1.5ex \@plus .2ex}\skipnumbering\pend% \vspace{-2\parskip}\vspace{-2\baselineskip}% \ifautopar\else\pstart\fi } \WithSuffix\newcommand\ledsubsection*[1]{% - \leavevmode\pend\vspace{3.5ex \@plus 1ex \@minus .2ex}\skipnumbering% + \ifl@dpairing\else\leavevmode\fi\pend\vspace{3.5ex \@plus 1ex \@minus .2ex}\ifl@dpairing\else\skipnumbering\fi% \pstart% - \leavevmode\subsection*{##1}\leavevmode\vspace{1.5ex \@plus .2ex}\skipnumbering\pend% + \leavevmode\ifledsecnolinenumber\skipnumbering\fi\subsection*{##1}\leavevmode\vspace{1.5ex \@plus .2ex}\skipnumbering\pend% \vspace{-2\parskip}\vspace{-2\baselineskip}% \ifautopar\else\pstart\fi } \newcommand{\ledsubsubsection}[2][]{% - \leavevmode\pend\vspace{3.5ex \@plus 1ex \@minus .2ex}\skipnumbering% + \ifl@dpairing\else\leavevmode\fi\pend\vspace{3.5ex \@plus 1ex \@minus .2ex}\ifl@dpairing\else\skipnumbering\fi% \pstart% - \leavevmode\subsubsection[##1]{##2}\leavevmode\vspace{1.5ex \@plus .2ex}\skipnumbering\pend% + \leavevmode\ifledsecnolinenumber\skipnumbering\fi\subsubsection[##1]{##2}\leavevmode\vspace{1.5ex \@plus .2ex}\skipnumbering\pend% \vspace{-2\parskip}\vspace{-2\baselineskip}% \ifautopar\else\pstart\fi } \WithSuffix\newcommand\ledsubsubsection*[1]{% - \leavevmode\pend\vspace{3.5ex \@plus 1ex \@minus .2ex}\skipnumbering% + \ifl@dpairing\else\leavevmode\fi\pend\vspace{3.5ex \@plus 1ex \@minus .2ex}\ifl@dpairing\else\skipnumbering\fi% \pstart% - \leavevmode\subsubsection*{##1}\leavevmode\vspace{1.5ex \@plus .2ex}\skipnumbering\pend% + \leavevmode\ifledsecnolinenumber\skipnumbering\fi\subsubsection*{##1}\leavevmode\vspace{1.5ex \@plus .2ex}\skipnumbering\pend% \vspace{-2\parskip}\vspace{-2\baselineskip}% \ifautopar\else\pstart\fi } @@ -492,6 +496,10 @@ \def\do##1{\global\csundef{prevline##1}}% \dolistloop{\@series}% } +\newcommand*{\resetprevpage@num}{% + \def\do##1{\ifcsdef{prevpage##1@num}{\global\csname prevpage##1@num\endcsname=0}{}}% + \dolistloop{\@series}% +} \newread\@inputcheck \newcommand*{\read@linelist}[1]{% \list@clearing@reg @@ -597,10 +605,10 @@ \newcommand*{\sub@on}{\ifsublines@ \let\sub@change=\relax \else - \def\sub@change{1}% + \def\sub@changes{1}% \fi} \newcommand*{\sub@off}{\ifsublines@ - \def\sub@change{-1}% + \def\sub@changes{-1}% \else \let\sub@change=\relax \fi} @@ -1151,7 +1159,7 @@ \fi} \newcommand*{\affixline@num}{% -\ifnumberline +\ifledgroupnotesL@\else\ifnumberline \ifl@dskipnumber \global\l@dskipnumberfalse \else @@ -1213,6 +1221,7 @@ \f@x@l@cks \fi \fi +\fi } \newcommand*{\ch@cksub@l@ck}{% @@ -1556,9 +1565,21 @@ \newcommand*{\mpnormalfootgroup}[1]{{ \vskip\skip\@nameuse{mp#1footins} - \normalcolor - \@nameuse{#1footnoterule} - {\csuse{Xnotefontsize@#1}\noindent\csuse{txtbeforeXnotes@#1}} + \ifl@dpairing\ifparledgroup% + \leavevmode\marks\parledgroup@{begin}% + \marks\parledgroup@series{#1}% + \marks\parledgroup@type{Xfootnote}% + \fi\fi\normalcolor% + \ifparledgroup% + \ifl@dpairing% + \else% + \@nameuse{#1footnoterule}% + \fi% + \else% + \@nameuse{#1footnoterule}% + \fi% + \setlength{\parindent}{0pt} + {\csuse{Xnotefontsize@#1}\csuse{txtbeforeXnotes@#1}} \unvbox\csname mp#1footins\endcsname}} \newcommand*{\ledfootinsdim}{0.8\vsize} % kept for backward compatibility, should'nt be used anymore. @@ -1679,8 +1700,19 @@ \newcommand*{\mppara@footgroup}[1]{{% \vskip\skip\@nameuse{mp#1footins} - \normalcolor - \@nameuse{#1footnoterule}% + \ifl@dpairing\ifparledgroup% + \leavevmode\marks\parledgroup@{begin}% + \marks\parledgroup@series{#1}% + \marks\parledgroup@type{Xfootnote}% + \fi\fi\normalcolor + \ifparledgroup% + \ifl@dpairing% + \else% + \@nameuse{#1footnoterule}% + \fi% + \else% + \@nameuse{#1footnoterule}% + \fi% \unvbox\csname mp#1footins\endcsname \makehboxofhboxes \setbox0=\hbox{{\csuse{Xnotefontsize@#1}\csuse{txtbeforeXnotes@#1}}\unhbox0 \removehboxes}% @@ -1768,8 +1800,19 @@ \rigidbalance\csname #1footins\endcsname \thr@@ \splittopskip}} \newcommand*{\mpthreecolfootgroup}[1]{{% \vskip\skip\@nameuse{mp#1footins} - \normalcolor - \@nameuse{#1footnoterule} + \ifl@dpairing\ifparledgroup% + \leavevmode\marks\parledgroup@{begin}% + \marks\parledgroup@series{#1}% + \marks\parledgroup@type{Xfootnote}% + \fi\fi\normalcolor + \ifparledgroup% + \ifl@dpairing% + \else% + \@nameuse{#1footnoterule}% + \fi% + \else% + \@nameuse{#1footnoterule}% + \fi% {\csuse{Xnotefontsize@#1}\noindent\csuse{txtbeforeXnotes@#1}}\par \splittopskip=\ht\strutbox \expandafter @@ -1819,8 +1862,19 @@ \multiply\dimen\csname mp#1footins\endcsname \tw@} \newcommand*{\mptwocolfootgroup}[1]{{% \vskip\skip\@nameuse{mp#1footins} - \normalcolor - \@nameuse{#1footnoterule} + \ifl@dpairing\ifparledgroup% + \leavevmode\marks\parledgroup@{begin}% + \marks\parledgroup@series{#1}% + \marks\parledgroup@type{Xfootnote}% + \fi\fi\normalcolor + \ifparledgroup% + \ifl@dpairing% + \else% + \@nameuse{#1footnoterule}% + \fi% + \else% + \@nameuse{#1footnoterule}% + \fi% {\csuse{Xnotefontsize@#1}\noindent\csuse{txtbeforeXnotes@#1}}\par \splittopskip=\ht\strutbox \expandafter @@ -1942,8 +1996,19 @@ \newcommand*{\mpnormalfootgroupX}[1]{% \vskip\skip\@nameuse{mpfootins#1} - \normalcolor - \@nameuse{footnoterule#1} + \ifl@dpairing\ifparledgroup% + \leavevmode\marks\parledgroup@{begin}% + \marks\parledgroup@series{#1}% + \marks\parledgroup@type{footnoteX}% + \fi\fi\normalcolor + \ifparledgroup% + \ifl@dpairing% + \else% + \@nameuse{footnoterule#1}% + \fi% + \else% + \@nameuse{footnoterule#1}% + \fi% \unvbox\@nameuse{mpfootins#1}} \newcommand{\normalbfnoteX}[2]{% @@ -2031,8 +2096,19 @@ \rigidbalance\csname footins#1\endcsname \tw@ \splittopskip}} \newcommand*{\mptwocolfootgroupX}[1]{{% \vskip\skip\@nameuse{mpfootins#1} - \normalcolor - \@nameuse{footnoterule#1} + \ifl@dpairing\ifparledgroup% + \leavevmode\marks\parledgroup@{begin}% + \marks\parledgroup@series{#1}% + \marks\parledgroup@type{footnoteX}% + \fi\fi\normalcolor + \ifparledgroup% + \ifl@dpairing% + \else% + \@nameuse{footnoterule#1}% + \fi% + \else% + \@nameuse{footnoterule#1}% + \fi% \splittopskip=\ht\strutbox \expandafter \rigidbalance\csname mpfootins#1\endcsname \tw@ \splittopskip}} @@ -2081,8 +2157,19 @@ \rigidbalance\csname footins#1\endcsname \thr@@ \splittopskip}} \newcommand*{\mpthreecolfootgroupX}[1]{{% \vskip\skip\@nameuse{mpfootins#1} - \normalcolor - \@nameuse{footnoterule#1} + \ifl@dpairing\ifparledgroup + \leavevmode\marks\parledgroup@{begin}% + \marks\parledgroup@series{#1}% + \marks\parledgroup@type{footnoteX}% + \fi\fi\normalcolor + \ifparledgroup% + \ifl@dpairing% + \else% + \@nameuse{footnoterule#1}% + \fi% + \else% + \@nameuse{footnoterule#1}% + \fi% \splittopskip=\ht\strutbox \expandafter \rigidbalance\csname mpfootins#1\endcsname \thr@@ \splittopskip}} @@ -2168,8 +2255,20 @@ \noindent\unhbox0\par} \newcommand*{\mppara@footgroupX}[1]{{% \vskip\skip\@nameuse{mpfootins#1} - \normalcolor - \@nameuse{footnoterule#1} + \ifl@dpairing\ifparledgroup + \leavevmode% + \leavevmode\marks\parledgroup@{begin}% + \marks\parledgroup@series{#1}% + \marks\parledgroup@type{footnoteX}% + \fi\fi\normalcolor + \ifparledgroup% + \ifl@dpairing% + \else% + \@nameuse{footnoterule#1}% + \fi% + \else% + \@nameuse{footnoterule#1}% + \fi% \unvbox\csname mpfootins#1\endcsname \makehboxofhboxes \setbox0=\hbox{\unhbox0 \removehboxes}% @@ -2206,6 +2305,67 @@ \g@addto@macro{\l@dfamendmini}{% \ifvoid\@nameuse{mpfootins#1}\else\@nameuse{mpfootgroup#1}{#1}\fi}% } +\newwrite\l@d@end +\newif\ifl@dend@ +\newcommand{\l@dend@open}[1]{\global\l@dend@true\immediate\openout\l@d@end=#1\relax} +\newcommand{\l@dend@close}{\global\l@dend@false\immediate\closeout\l@d@end} + +\newcommand{\l@dend@stuff}{% + \ifl@dend@\relax\else + \l@dend@open{\jobname.end}% + \fi + \immediate\write\l@d@end{\string\l@d@section{\the\section@num}}} + +\def\endprint#1#2#3#4{{\csuse{bhookXendnote@#4}\csuse{Xendnotefontsize@#4}{\csuse{Xendnotenumfont@#4}\printendlines#1|}% + \enspace{\select@lemmafont#1|#2}\enskip#3\par}} +\providecommand*{\@gobblethree}[3]{} + +\let\l@d@section=\@gobble + +\newcommand*{\setprintendlines}[6]{% + \l@d@pnumfalse \l@d@dashfalse + \ifnum#4=#1 \else + \l@d@pnumtrue + \l@d@dashtrue + \fi + \ifl@d@pnum \l@d@elintrue \else \l@d@elinfalse \fi + \ifnum#2=#5 \else + \l@d@elintrue + \l@d@dashtrue + \fi + \l@d@ssubfalse + \ifnum#3=0 \else + \l@d@ssubtrue + \fi + \l@d@eslfalse + \ifnum#6=0 \else + \ifnum#6=#3 + \ifl@d@elin \l@d@esltrue \else \l@d@eslfalse \fi + \else + \l@d@esltrue + \l@d@dashtrue + \fi + \fi} +\def\printendlines#1|#2|#3|#4|#5|#6|#7|{\begingroup + \setprintendlines{#1}{#2}{#3}{#4}{#5}{#6}% + \printnpnum{#1} \linenumrep{#2}% + \ifl@d@ssub \fullstop \sublinenumrep{#3}\fi + \ifl@d@dash \endashchar\fi + \ifl@d@pnum \printnpnum{#4}\fi + \ifl@d@elin \linenumrep{#5}\fi + \ifl@d@esl \ifl@d@elin \fullstop\fi \sublinenumrep{#6}\fi +\endgroup} + +\newcommand*{\printnpnum}[1]{p.#1) } + +\newcommand*{\doendnotes}[1]{\l@dend@close + \begingroup + \makeatletter + \expandafter\let\csname #1end\endcsname=\endprint + \input\jobname.end + \endgroup} +\newcommand*{\noendnotes}{\global\let\l@dend@stuff=\relax + \global\chardef\l@d@end=16 } \newcommand{\newseries}[1]{% \def\do##1{\newseries@{##1}}% \docsvlist{#1} @@ -2357,7 +2517,10 @@ \newcommandx{\setcommand@series}[4][4]{% \def\do##1{ \csgdef{#2@##1}{#3} - \ifstrequal{#4}{reload}{\csuse{foot\csuse{series@display##1}}{##1}}{}} + \ifstrequal{#4}{reload}{ + \csuse{foot\csuse{series@display##1}}{##1} + \csuse{foot\csuse{series@displayX##1}}{##1} + }{}} \ifstrempty{#1}{% \dolistloop{\@series}% }% @@ -2790,67 +2953,6 @@ \newcommand*{\edmakelabel}[2]{\expandafter\xdef\csname the@label#1\endcsname{#2}} -\newwrite\l@d@end -\newif\ifl@dend@ -\newcommand{\l@dend@open}[1]{\global\l@dend@true\immediate\openout\l@d@end=#1\relax} -\newcommand{\l@dend@close}{\global\l@dend@false\immediate\closeout\l@d@end} - -\newcommand{\l@dend@stuff}{% - \ifl@dend@\relax\else - \l@dend@open{\jobname.end}% - \fi - \immediate\write\l@d@end{\string\l@d@section{\the\section@num}}} - -\def\endprint#1#2#3#4{{\csuse{bhookXendnote@#4}\csuse{Xendnotefontsize@#4}{\csuse{Xendnotenumfont@#4}\printendlines#1|}% - \enspace{\select@lemmafont#1|#2}\enskip#3\par}} -\providecommand*{\@gobblethree}[3]{} - -\let\l@d@section=\@gobble - -\newcommand*{\setprintendlines}[6]{% - \l@d@pnumfalse \l@d@dashfalse - \ifnum#4=#1 \else - \l@d@pnumtrue - \l@d@dashtrue - \fi - \ifl@d@pnum \l@d@elintrue \else \l@d@elinfalse \fi - \ifnum#2=#5 \else - \l@d@elintrue - \l@d@dashtrue - \fi - \l@d@ssubfalse - \ifnum#3=0 \else - \l@d@ssubtrue - \fi - \l@d@eslfalse - \ifnum#6=0 \else - \ifnum#6=#3 - \ifl@d@elin \l@d@esltrue \else \l@d@eslfalse \fi - \else - \l@d@esltrue - \l@d@dashtrue - \fi - \fi} -\def\printendlines#1|#2|#3|#4|#5|#6|#7|{\begingroup - \setprintendlines{#1}{#2}{#3}{#4}{#5}{#6}% - \printnpnum{#1} \linenumrep{#2}% - \ifl@d@ssub \fullstop \sublinenumrep{#3}\fi - \ifl@d@dash \endashchar\fi - \ifl@d@pnum \printnpnum{#4}\fi - \ifl@d@elin \linenumrep{#5}\fi - \ifl@d@esl \ifl@d@elin \fullstop\fi \sublinenumrep{#6}\fi -\endgroup} - -\newcommand*{\printnpnum}[1]{p.#1) } - -\newcommand*{\doendnotes}[1]{\l@dend@close - \begingroup - \makeatletter - \expandafter\let\csname #1end\endcsname=\endprint - \input\jobname.end - \endgroup} -\newcommand*{\noendnotes}{\global\let\l@dend@stuff=\relax - \global\chardef\l@d@end=16 } \let\l@dold@xympar\@xympar \renewcommand{\@xympar}{% \ifnumberedpar@ @@ -3002,7 +3104,17 @@ \flush@notes \fi \fi - \def\do##1{\ifvoid\csuse{mp##1footins}\else\csuse{mp##1footgroup}{##1}\fi}% + \def\do##1{ + \ifvoid\csuse{mp##1footins}\else% + \ifl@dpairing\ifparledgroup% + \ifledRcol% + \dimgdef{\parledgroup@beforenotesR}{\parledgroup@beforenotesR+\skip\@nameuse{mp##1footins}} + \else% + \dimgdef{\parledgroup@beforenotesL}{\parledgroup@beforenotesL+\skip\@nameuse{mp##1footins}} + \fi% + \fi\fi% + \csuse{mp##1footgroup}{##1}% + \fi}% \dolistloop{\@series}% } @@ -3045,11 +3157,20 @@ \vskip\skip\@mpfootins \normalcolor \footnoterule + \ifparledgroup + \ifl@dpairing + \ifledRcol + \dimgdef{\parledgroup@beforenotesR}{\parledgroup@beforenotesR+\skip\@mpfootins} + \else + \dimgdef{\parledgroup@beforenotesL}{\parledgroup@beforenotesL+\skip\@mpfootins} + \fi + \fi + \fi \unvbox\@mpfootins} \newif\if@ledgroup \newenvironment{ledgroup}{% - \@ledgrouptrue\def\@mpfn{mpfootnote}\def\thempfn{\thempfootnote}\c@mpfootnote\z@ + \resetprevpage@num\@ledgrouptrue\def\@mpfn{mpfootnote}\def\thempfn{\thempfootnote}\c@mpfootnote\z@ \let\@footnotetext\@mpfootnotetext \l@dfeetbeginmini% }{% @@ -3091,6 +3212,8 @@ \@ledgroupfalse% } +\newif\ifledgroupnotesL@ +\newif\ifledgroupnotesR@ \newcommand{\pagelinesep}{-} \newcommand{\edindexlab}{$&} \newcounter{labidx} |