summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/reledmac/reledmac.sty
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-03-04 22:12:40 +0000
committerKarl Berry <karl@freefriends.org>2019-03-04 22:12:40 +0000
commit270f51a641098929ca9083788eb12f01203014cd (patch)
tree07a191f2df180d12f23392d33f837b905751e501 /Master/texmf-dist/tex/latex/reledmac/reledmac.sty
parentcdcd34b4700774946edede081d49d6a110feba9c (diff)
reledmac (4mar19)
git-svn-id: svn://tug.org/texlive/trunk@50229 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/reledmac/reledmac.sty')
-rw-r--r--Master/texmf-dist/tex/latex/reledmac/reledmac.sty159
1 files changed, 104 insertions, 55 deletions
diff --git a/Master/texmf-dist/tex/latex/reledmac/reledmac.sty b/Master/texmf-dist/tex/latex/reledmac/reledmac.sty
index 08eb6ab09c6..4aa20e12ee1 100644
--- a/Master/texmf-dist/tex/latex/reledmac/reledmac.sty
+++ b/Master/texmf-dist/tex/latex/reledmac/reledmac.sty
@@ -35,7 +35,7 @@
%%
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{reledmac}[2019/02/22 v2.31.0 typesetting critical editions]%
+\ProvidesPackage{reledmac}[2019/03/03 v2.31.1 typesetting critical editions]%
\RequirePackage{xkeyval}
\newif\ifparledgroup
\newif\ifsameparallelpagenumber%
@@ -2557,6 +2557,7 @@
\newcommand{\add@Xgroupbyline}{%
\unless\ifnocritical@%
\def\do##1{%Looping on the series
+ \let\olddo\do%Save the old \do macro, that is this macro itself!
\def\do####1{%Looping on the ##1@forinserting command
\ifcsdef{##1@forinserting@####1}{%
\X@beforeinsertion{##1}%
@@ -2566,6 +2567,7 @@
\insert\csname ##1footins\endcsname%
\fi%
{%
+ \nottoggle{Xparindent@##1}{\parindent=\z@}{}%
\ifcsdef{Xhsize\csuse{series@display##1}@##1}%
{\hsize \csuse{Xhsize\csuse{series@display##1}@##1}}%
{}%
@@ -2590,6 +2592,7 @@
\dolistcsloop{##1@forinserting}%
}{}%
\global\csundef{##1@forinserting}%
+ \let\do\olddo%Restore old do
}%
\dolistloop{\@series}%
\fi%
@@ -2811,6 +2814,7 @@
\notbool{parapparatus@}{\newcommand*}{\newcommand}{\normalvfootnote@inserted}[2]{%
\nottoggle{Xgroupbyline@#1}{\noindent}{}\csuse{Xbhooknote@#1}%
\csuse{Xnotefontsize@#1}%
+ \iftoggle{Xgroupbyline@#1}{\strut}{}%
\footsplitskips
\ifl@dpairing\ifl@dpaging\else%
\setXnoteswidthliketwocolumns@{#1}%
@@ -2858,8 +2862,7 @@
\notbool{parapparatus@}{\newcommand*}{\newcommand}{\normalfootfmt}[4]{%
\Xstorelineinfo{#1}{#4}%
\nottoggle{Xgroupbyline@#4}{\Xledsetnormalparstuff{#4}}{}%
- \hangindent=\csuse{Xhangindent@#4}%
- \everypar{\hangindent=\csuse{Xhangindent@#4}}%
+ \Xsethangindent{#4}%
\nottoggle{Xgroupbyline@#4}{\rule\z@\splittopskip}{}%
{\printlinefootnote{#1}{#4}}%
\print@lemma{#1}{#2}{#4}%
@@ -3184,8 +3187,7 @@
{}%
\nottoggle{Xparindent@#1}{\parindent=\z@}{}%
\tolerance=5000%
- \hangindent=\csuse{Xhangindent@#1}%
- \everypar{\hangindent=\csuse{Xhangindent@#1}}%
+ \Xsethangindent{#1}%
\@tempdima=\parindent%
\csuse{Xcolalign@#1}%
\parindent=\@tempdima%
@@ -3280,8 +3282,7 @@
\hsize \csuse{Xhsizetwocol@#1}%
\nottoggle{Xparindent@#1}{\parindent=\z@}{}%
\tolerance=5000%
- \hangindent=\csuse{Xhangindent@#1}%
- \everypar{\hangindent=\csuse{Xhangindent@#1}}%
+ \Xsethangindent{#1}%
\@tempdima=\parindent%
\csuse{Xcolalign@#1}%
\parindent=\@tempdima%
@@ -3326,6 +3327,24 @@
\expandafter
\Xrigidbalance\csname mp#1footins\endcsname \tw@ \splittopskip}}
+\newcommand{\Xsethangindent}[1]{%
+ \if@RTL%
+ \hangindent=-\csuse{Xhangindent@#1}%
+ \everypar{\hangindent=-\csuse{Xhangindent@#1}}%
+ \else%
+ \hangindent=\csuse{Xhangindent@#1}%
+ \everypar{\hangindent=\csuse{Xhangindent@#1}}%
+ \fi%
+}%
+\newcommand{\sethangindentX}[1]{%
+ \if@RTL%
+ \hangindent=-\csuse{hangindentX@#1}%
+ \everypar{\hangindent=-\csuse{hangindentX@#1}}%
+ \else%
+ \hangindent=\csuse{hangindentX@#1}%
+ \everypar{\hangindent=\csuse{hangindentX@#1}}%
+ \fi%
+}%
\def\endashchar{\textnormal{--}}
@@ -3717,48 +3736,51 @@
\iftoggle{Xgroupbylineseparetwolines@#1}{%
\l@dparsefootspec#2%
\ifcsdef{#1@forinserting@\l@dparsedendpage-\l@dparsedendline-\l@dparsedendsub}%
- {%
- \csgappto%
- {#1@forinserting@\l@dparsedendpage-\l@dparsedendline-\l@dparsedendsub}%
- {%
- \ifcsempty{Xsymlinenum@#1}%
- {\csuse{Xparafootsep@#1}}%
- {}%
- #3{#1}{#2}%
- \hskip\csuse{Xafternote@#1}\relax%
- }%
- }%
- {%
- \csdef%
- {#1@forinserting@\l@dparsedendpage-\l@dparsedendline-\l@dparsedendsub}%
- {%
- #3{#1}{#2}%
+ {%
+ \csgappto{#1@forinserting@\l@dparsedendpage-\l@dparsedendline-\l@dparsedendsub}{%
\hskip\csuse{Xafternote@#1}\relax%
}%
- }%
- \listcsxadd{#1@forinserting}{\l@dparsedendpage-\l@dparsedendline-\l@dparsedendsub}%
- }{%
- \ifcsdef{#1@forinserting@all}{%
- \csgappto%
- {#1@forinserting@all}%
- {%
+ }%
+ {}%
+ \add@hooktoggle@specific@to@cs{#1@forinserting@\l@dparsedendpage-\l@dparsedendline-\l@dparsedendsub}%
+ \add@hookarg@specific@to@cs{#1@forinserting@\l@dparsedendpage-\l@dparsedendline-\l@dparsedendsub}%
+ \csxappto%
+ {#1@forinserting@\l@dparsedendpage-\l@dparsedendline-\l@dparsedendsub}%
+ {%
+ \keep@this@crossref@forinserting%
+ \unexpanded{%
\ifcsempty{Xsymlinenum@#1}%
{\csuse{Xparafootsep@#1}}%
{}%
#3{#1}{#2}%
- \hskip\csuse{Xafternote@#1}\relax%
}%
- }%
+ }%
+ \listcsxadd{#1@forinserting}{\l@dparsedendpage-\l@dparsedendline-\l@dparsedendsub}%
+ }{%
+ \ifcsdef{#1@forinserting@all}{%
+ \csgappto%
+ {#1@forinserting@all}%
+ {\hskip\csuse{Xafternote@#1}\relax}%
+ }{}%
+ \add@hooktoggle@specific@to@cs{#1@forinserting@all}%
+ \add@hookarg@specific@to@cs{#1@forinserting@all}%
+ \csxappto%
+ {#1@forinserting@all}%
{%
- \csdef%
- {#1@forinserting@all}%
- {%
- #3{#1}{#2}%
- \hskip\csuse{Xafternote@#1}\relax%
- }%
+ \keep@this@crossref@forinserting%
+ \unexpanded{%
+ \ifcsempty{Xsymlinenum@#1}%
+ {\csuse{Xparafootsep@#1}}%
+ {}%
+ #3{#1}{#2}%
+ }%
}%
- \listcsgadd{#1@forinserting}{all}%
}%
+ \listcsgadd{#1@forinserting}{all}%
+}%
+\newcommand{\keep@this@crossref@forinserting}{%
+ \unexpanded{\gdef\@this@crossref@start}{\@this@crossref@start}%
+ \unexpanded{\gdef\@this@crossref@end}{\@this@crossref@end}%
}%
\providecommand*{\multiplefootnotemarker}{3sp}
\providecommand*{\multfootsep}{\textsuperscript{\normalfont,}}
@@ -3941,8 +3963,7 @@
\@nameuse{@thefnmark#1}%
}%
\ledsetnormalparstuffX{#1}%
- \hangindent=\csuse{hangindentX@#1}%
- \everypar{\hangindent=\csuse{hangindentX@#1}}%
+ \sethangindentX{#1}%
\rule\z@\splittopskip%
{{\csuse{notenumfontX@#1}\wrapped@footfootmarkX{#1}}%
\csuse{wrapcontentX@#1}{#2}%
@@ -4150,8 +4171,7 @@
\@nameuse{@thefnmark#1}%
}%
\normal@pars%
- \hangindent=\csuse{hangindentX@#1}%
- \everypar{\hangindent=\csuse{hangindentX@#1}}%
+ \sethangindentX{#1}%
\hsize \csuse{hsizetwocolX@#1}%
\nottoggle{parindentX@#1}{\parindent=\z@}{}%
\tolerance=5000\relax%
@@ -4234,8 +4254,7 @@
\protected@edef\@currentlabel{%
\@nameuse{@thefnmark#1}%
}%
- \hangindent=\csuse{hangindentX@#1}%
- \everypar{\hangindent=\csuse{hangindentX@#1}}%
+ \sethangindentX{#1}%
\normal@pars%
\hsize \csuse{hsizethreecolX@#1}%
\nottoggle{parindentX@#1}{\parindent=\z@}{}%
@@ -4656,8 +4675,6 @@
\def\@this@crossref@end{#7:end}%
\printlineendnote{#1}{#4}%
\IfStrEq{#6}{R}{\ledRcol@false}{}%
- \undef\@this@crossref@start%
- \undef\@this@crossref@end%
\nottoggle{Xendlemmadisablefontselection@#4}%
{\select@lemmafont#1|}%
{}%
@@ -5167,8 +5184,6 @@
{{\l@d@nums}{\expandonce\@tag}{\expandonce\content}}%
\noexpand\Xnote@false%
\unexpanded{\advance\@edindex@fornote@\m@ne}%
- \unexpanded{\undef\@this@crossref@start}%
- \unexpanded{\undef\@this@crossref@end}%
\ifbool{indtl@innote}%
{\unexpanded{\let\index\orig@@index}}%
{}%
@@ -5207,8 +5222,6 @@
\noexpand\csuse{v#1footnote}%
{#1}%
{{\l@d@nums}{\expandonce\@tag}{\expandonce\content}}%
- \unexpanded{\undef\@this@crossref@start}%
- \unexpanded{\undef\@this@crossref@end}%
\noexpand\Xnote@false%
\unexpanded{\advance\@edindex@fornote@\m@ne}%
\ifbool{indtl@innote}%
@@ -5726,13 +5739,53 @@
\newhooktoggle@series{Xendnoidenticallinenumannotation}[apprefwithpage,SErefwithpage]%
\newcommand{\newhooktoggle@specific}[1]{%
\newtoggle{#1@}%
+ \listgadd{\hooktoggle@specific}{#1}%
\define@key[mac]{truefootnoteoption}{#1}[]{\global\settoggle{#1@}{true}}%When enabling footnote option
\define@key[mac]{falsefootnoteoption}{#1}[]{\global\settoggle{#1@}{false}}
}
\newcommand{\newhookarg@specific}[1]{%
+ \listgadd{\hookarg@specific}{#1}%
\define@key[mac]{truefootnoteoption}{#1}{\csgdef{#1@}{##1}}%When enabling footnote option
\define@key[mac]{falsefootnoteoption}{#1}{\global\csundef{#1@}}%When disabling footnote option
}
+\def\hooktoggle@specific{}%
+\newcommand{\add@hooktoggle@specific@to@cs}[1]{%
+ \def\do##1{%
+ \iftoggle{##1@}{%
+ \ifcsdef{#1}{%
+ \csgappto{#1}{\toggletrue{##1@}}%
+ }{%
+ \csgdef{#1}{\toggletrue{##1@}}%
+ }%
+ }{%
+ \ifcsdef{#1}{%
+ \csgappto{#1}{\togglefalse{##1@}}%
+ }{%
+ \csgdef{#1}{\togglefalse{##1@}}%
+ }%
+ }%
+ }%
+ \dolistloop{\hooktoggle@specific}%
+}%
+\def\hookarg@specific{}%
+\newcommand{\add@hookarg@specific@to@cs}[1]{%
+ \def\do##1{%
+ \ifcsvoid{##1@}{}{%
+ \ifcsdef{#1}{%
+ \csxappto{#1}{%
+ \noexpand\csdef%
+ {##1@}{\csname##1@\endcsname}%
+ }%
+ }{%
+ \csxdef{#1}{%
+ \noexpand\csdef%
+ {##1@}{\csname##1@\endcsname}%
+ }%
+ }%
+ }%
+ }%
+ \dolistloop{\hookarg@specific}%
+}%
\newhooktoggle@specific{fulllines}%
\newhooktoggle@specific{nonum}
\newhooktoggle@specific{nosep}
@@ -6449,8 +6502,6 @@
\xdef\annot@start{\xannotationref{#2:start}}%
\xdef\annot@end{\xannotationref{#2:end}}%
\printlines\xpageref{#2:start}|\xlineref{#2:start}|\xsublineref{#2:start}|\xpageref{#2:end}|\xlineref{#2:end}|\xsublineref{#2:end}|\relax|\xflagref{#2:start}|%
- \undef\@this@crossref@end%
- \undef\@this@crossref@start%
}%
\def\do##1{%
\setkeys[mac]{falsefootnoteoption}{##1}%
@@ -6473,8 +6524,6 @@
\def\@this@crossref@start{#2:start}%
\def\@this@crossref@end{#2:end}%
\printendlines\xpageref{#2:start}|\xlineref{#2:start}|\xsublineref{#2:start}|\xpageref{#2:end}|\xlineref{#2:end}|\xsublineref{#2:end}|\relax|\xflagref{#2:start}|%
- \undef\@this@crossref@end%
- \undef\@this@crossref@start%
}%
\def\do##1{%
\setkeys[mac]{falsefootnoteoption}{##1}%