summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/eledmac/eledmac.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/eledmac/eledmac.sty')
-rw-r--r--Master/texmf-dist/tex/latex/eledmac/eledmac.sty90
1 files changed, 58 insertions, 32 deletions
diff --git a/Master/texmf-dist/tex/latex/eledmac/eledmac.sty b/Master/texmf-dist/tex/latex/eledmac/eledmac.sty
index ac2412dc3fc..4f1bb0783f5 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/01/16 v1.15.1 LaTeX port of EDMAC]%
+\ProvidesPackage{eledmac}[2015/01/23 v1.16.0 LaTeX port of EDMAC]%
\newif\ifledfinal
\newif\ifparapparatus@
\newif\ifnoquotation@
@@ -69,7 +69,13 @@
\@ifclassloaded{memoir}{\l@dmemoirtrue}{\l@dmemoirfalse}
\newif\ifl@imakeidx
-\@ifpackageloaded{imakeidx}{\l@imakeidxtrue}{\l@imakeidxfalse}
+\@ifpackageloaded{imakeidx}{\l@imakeidxtrue}{}%False is the default value
+\newif\ifl@indextools%
+\@ifpackageloaded{indextools}{%
+ \l@indextoolstrue%
+ \l@imakeidxtrue%
+ \let\imki@wrindexentry\indtl@wrindexentry%
+ }{}%False is the default value. We consider indextools as a variant of imakeidx. That's why we set `l@imakeidx` to true. We also let \imki@wrindexentry to \indtl@wrindexentry
\ifdef{\if@RTL}{}{\newif\if@RTL}
\newcommand{\eledmac@warning}[1]{\PackageWarning{eledmac}{#1}}
\newcommand{\eledmac@error}[2]{\PackageError{eledmac}{#1}{#2}}
@@ -192,6 +198,9 @@
\newcommand{\led@error@ImakeidxAfterEledmac}{%
\eledmac@error{Imakeidx must be loaded before eledmac.}{\@ehd}%
}%
+\newcommand{\led@error@IndextoolsAfterEledmac}{%
+ \eledmac@error{Indextools must be loaded before eledmac.}{\@ehd}%
+}%
\providecommand*{\@gobblethree}[3]{}
\providecommand*{\@gobblefour}[4]{}
\let\linenumberlist=\empty
@@ -853,7 +862,8 @@
\begingroup
\global\renewcommand{\@tag}{\no@expands #1}%%
\set@line
- \global\insert@count=0
+ \ifledRcol \global\insert@countR \z@%
+ \else \global\insert@count \z@ \fi%
\ignorespaces #2\relax
\@ifundefined{xpg@main@language}{%if not polyglossia
\flag@start}%
@@ -875,30 +885,31 @@
}
\newcommand{\edtext}[2]{\leavevmode
\@edtext@true%
- \begingroup
- \global\renewcommand{\@tag}{\no@expands #1}%%
- \set@line
- \global\insert@count=0
- \ignorespaces #2\relax
+ \begingroup%
+ \global\renewcommand{\@tag}{\no@expands #1}%
+ \set@line%
+ \ifledRcol \global\insert@countR \z@%
+ \else \global\insert@count \z@ \fi%
+ \ignorespaces #2\relax%
\@ifundefined{xpg@main@language}{%if not polyglossia
\flag@start}%
{\if@RTL\flag@end\else\flag@start\fi% With polyglossia, you must track whether the language reads left to right (English) or right to left (Arabic).
}%
- \endgroup
+ \endgroup%
\showlemma{#1}%
- \ifx\end@lemmas\empty \else
- \gl@p\end@lemmas\to\x@lemma
- \x@lemma
- \global\let\x@lemma=\relax
- \fi
+ \ifx\end@lemmas\empty \else%
+ \gl@p\end@lemmas\to\x@lemma%
+ \x@lemma%
+ \global\let\x@lemma=\relax%
+ \fi%
\@ifundefined{xpg@main@language}{%if not polyglossia
\flag@end}%
{\if@RTL\flag@start\else\flag@end\fi% With polyglossia, you must track whether the language reads left to right (English) or right to left (Arabic).
}%
\global\@noneed@Footnotefalse%
- \@edtext@false%
- \global\@lemmacommand@false%
- }
+ \@edtext@false%
+ \global\@lemmacommand@false%
+}%
\newcommand*{\flag@end}{%
\ifledRcol%
@@ -2093,10 +2104,7 @@
\fi}
\@ifclassloaded{memoir}{}{%
-\let\l@dold@footnotetext\@footnotetext
-\renewcommand{\@footnotetext}[1]{%
- \l@dold@footnotetext{#1}%
- \m@mmf@prepare}
+\apptocmd{\@footnotetext}{\m@mmf@prepare}{}{}
\renewcommand*{\@footnotemark}{%
\leavevmode
\ifhmode
@@ -2110,23 +2118,23 @@
\relax}
}
-\let\l@doldold@footnotetext\@footnotetext
-\renewcommand{\@footnotetext}[1]{%
+\pretocmd{\@footnotetext}{%
\ifnumberedpar@
\edtext{}{\l@dbfnote{#1}}%
\else
- \l@doldold@footnotetext{#1}%
- \fi}
+ }{}{}
+\apptocmd{\@footnotetext}{\fi}{}{}%
\newcommand{\l@dbfnote}[1]{%
\ifnumberedpar@
- \gdef\@tag{#1}%
+ \gdef\@tag{#1\relax}%
\xright@appenditem{\noexpand\vl@dbfnote{{\expandonce\@tag}}{\@thefnmark}}%
\to\inserts@list
\global\advance\insert@count \@ne
\fi\ignorespaces}
\newcommand{\vl@dbfnote}[2]{%
\def\@thefnmark{#2}%
- \l@doldold@footnotetext{#1}}
+ \@footnotetext{#1}%
+ }%
\newcommand*{\prebodyfootmark}{%
\leavevmode
\ifhmode
@@ -3675,12 +3683,13 @@
\newif\ifledgroupnotesL@
\newif\ifledgroupnotesR@
-\newif\ifeledmac@after@imakeidx@
-\@ifpackageloaded{imakeidx}{\eledmac@after@imakeidx@true}{}
\AtBeginDocument{%
- \ifeledmac@after@imakeidx@\else%
+ \unless\ifl@imakeidx%
\@ifpackageloaded{imakeidx}{\led@error@ImakeidxAfterEledmac}{}%
- \fi
+ \fi%
+ \unless\ifl@indextools%
+ \@ifpackageloaded{indextools}{\led@error@indextoolsAfterEledmac}{}%
+ \fi%
}
\newcommand{\pagelinesep}{-}
\newcommand{\edindexlab}{$&}
@@ -3815,7 +3824,12 @@
}
\@ifclassloaded{memoir}{%
\@ifpackageloaded{imakeidx}%
- {\create@edindex@notfor@memoir}{\create@edindex@for@memoir}%
+ {\create@edindex@notfor@memoir}%
+ {%
+ \@ifpackageloaded{indextools}%
+ {\create@edindex@notfor@memoir}%
+ {\create@edindex@for@memoir}%
+ }%
}%
{\create@edindex@notfor@memoir}%
\newcommand{\hyperlinkformat}[3]{%
@@ -3940,6 +3954,18 @@
\stanza@modulo\@ne
\fi
}
+\newcommand{\stanzaindent}[1]{%
+ \hspace{\dimexpr#1\stanzaindentbase-\parindent\relax}%
+ \ignorespaces%
+}%
+\WithSuffix\newcommand\stanzaindent*[1]{%
+ \stanzaindent{#1}%
+ \global\advance\stanza@modulo-\@ne%
+ \ifnum\stanza@modulo=0%
+ \global\stanza@modulo=\value{stanzaindentsrepetition}%
+ \fi%
+ \ignorespaces%
+}%
\newcommandx{\stanza@line}[1][1]{
\ifnum\value{stanzaindentsrepetition}=0
\parindent=\csname sza@\number\stanza@count