diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/reledmac/reledmac.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/reledmac/reledmac.sty | 146 |
1 files changed, 120 insertions, 26 deletions
diff --git a/Master/texmf-dist/tex/latex/reledmac/reledmac.sty b/Master/texmf-dist/tex/latex/reledmac/reledmac.sty index 2ce474fae86..bcbc5f2f06f 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}[2017/04/12 v2.19.0 typesetting critical editions]% +\ProvidesPackage{reledmac}[2017/05/04 v2.20.0 typesetting critical editions]% \RequirePackage{xkeyval} \newif\ifparledgroup \DeclareOptionX{series}[A,B,C,D,E]{\xdef\default@series{#1}} @@ -1649,12 +1649,27 @@ \newbox\one@line \newcount\par@line +\newcommand{\AtStartEveryPstart}[1]{% + \ifstrempty{#1}% + {\gdef\@at@start@every@pstart{}}% + {\gdef\@at@start@every@pstart{#1}}% +}% +\def\@at@start@every@pstart{}% + +\newif\ifat@every@pstart@star@% \newcommand{\AtEveryPstart}[1]{% \ifstrempty{#1}% - {\xdef\at@every@pstart{}}% + {\gdef\at@every@pstart{}}% {\gdef\at@every@pstart{\noindent#1}}% + \global\at@every@pstart@star@false% }% -\xdef\at@every@pstart{}% +\WithSuffix\newcommand\AtEveryPstart*[1]{% + \ifstrempty{#1}% + {\gdef\at@every@pstart{}}% + {\gdef\at@every@pstart{#1}}% + \global\at@every@pstart@star@true% +}% +\def\at@every@pstart{}% \newcounter{pstart} \renewcommand{\thepstart}{{\bfseries\@arabic\c@pstart}. } @@ -1662,9 +1677,17 @@ \numberpstartfalse \newif\iflabelpstart \labelpstartfalse -\newcommandx*{\pstart}[1][1]{% +\newcommandx*{\pstart}[2][1,2,usedefault]{% \normal@pars% - \ifstrempty{#1}{\at@every@pstart}{\noindent#1}% + \ifboolexpr{% + test {\ifstrempty{#1}}% + and test {\ifstrempty{#2}}% + }% + {\at@every@pstart}% + {% + \ifstrempty{#1}{}{\noindent#1}% + \ifstrempty{#2}{}{#2}% + }% \ifautopar% \autopar% \fi% @@ -1705,9 +1728,10 @@ {\p@pstart\thepstart} \fi% \l@dzeropenalties% + \@at@start@every@pstart% \ignorespaces%because not automatically ignored if an optional argument is used (classical TeX behavior for space after commands) } -\newcommandx*{\pend}[1][1]{\ifnumbering \else% +\newcommandx*{\pend}[2][1,2,usedefault]{\ifnumbering \else% \led@err@PendNotNumbered% \fi% \global\l@dskipversenumberfalse% @@ -1715,6 +1739,7 @@ \led@err@PendNoPstart% \fi% \l@dzeropenalties% + \@at@end@every@pend% \endgraf\global\num@lines=\prevgraf\egroup% \global\par@line=0% \csnumdef{pstartline}{0}% @@ -1738,20 +1763,42 @@ \fi% \addtocounter{pstart}{1}% \normal@pars% - \ifstrempty{#1}{\at@every@pend}{\noindent#1}% + \ifboolexpr{% + test {\ifstrempty{#1}}% + and test {\ifstrempty{#2}}% + }% + {\at@every@pend}% + {% + \ifstrempty{#1}{}{\noindent#1}% + \ifstrempty{#2}{}{#2}% + }% \@nobreakfalse% \ifautopar% \autopar% \fi% } +\newif\ifat@every@pend@star@% \newcommand{\AtEveryPend}[1]{% \ifstrempty{#1}% - {\xdef\at@every@pend{}}% + {\gdef\at@every@pend{}}% {\gdef\at@every@pend{\noindent#1}}% + \global\at@every@pend@star@false% +}% +\WithSuffix\newcommand\AtEveryPend*[1]{% + \ifstrempty{#1}% + {\gdef\at@every@pend{}}% + {\gdef\at@every@pend{#1}}% + \global\at@every@pend@star@true% }% \xdef\at@every@pend{}% +\newcommand{\AtEndEveryPend}[1]{% + \ifstrempty{#1}% + {\xdef\@at@end@every@pend{}}% + {\gdef\@at@end@every@pend{#1}}% +}% +\def\@at@end@every@pend{}% \newcommand*{\l@dzeropenalties}{% \brokenpenalty \z@ \clubpenalty \z@ \displaywidowpenalty \z@ \interlinepenalty \z@ \predisplaypenalty \z@ @@ -3389,6 +3436,7 @@ \notbool{parapparatus@}{\newcommand*}{\newcommand}{\normalvfootnoteX}[2]{% \csuse{beforeinsertingX@#1}% \insert\@nameuse{footins#1}\bgroup + \reset@font% \hsize=\expandafter\dimexpr\csuse{widthX@#1}\relax% \noindent\csuse{bhooknoteX@#1}% \csuse{notefontsizeX@#1}% @@ -6686,7 +6734,7 @@ }% } -\newcommandx{\stanza@line}[1][1]{ +\newcommandx{\stanza@line}[2][1,2,usedefault]{% \ifnum\value{stanzaindentsrepetition}=0 \ifcsdef{sza@\number\stanza@count @}% {% @@ -6703,7 +6751,8 @@ \led@err@StanzaIndentNotDefined% }% \fi - \pstart[#1]\stanza@hang\ignorespaces} + \pstart[#1][#2]\stanza@hang\ignorespaces% +}% \xdef\stanza@hang{\noexpand\leavevmode\noexpand\startlock \hangindent\expandafter \noexpand\csname sza@0@\endcsname\stanzaindentbase @@ -6711,7 +6760,7 @@ \def\sza@penalty{\count@\csname szp@\number\stanza@count @\endcsname \ifnum\count@>\@M\advance\count@-\@M\penalty-\else \penalty\fi\count@} -\xdef\@startstanza[#1]{% +\xdef\@startstanza[#1][#2]{% \noexpand\instanzatrue\expandafter \begingroup% \catcode`\noexpand\&\active% @@ -6726,45 +6775,74 @@ \noexpand\newverse[][]}% \def\noexpand\&{\noexpand\@stopstanza}% \noexpand\@advancestanzanumber% - \noexpand\stanza@line[#1]% + \noexpand\stanza@line[#1][#2]% \noexpand\@insertstanzanumber% \let\par\relax\ignorespaces%No paragraph in verses } -\newcommandx{\stanza}[1][1,usedefault]{% - \ifboolexpr{not test{\ifdefvoid{\at@every@stanza}} and test{\ifstrempty{#1}}}% - {\@startstanza[\at@every@stanza]}% - {\@startstanza[#1]}% +\newcommandx{\stanza}[2][1,2,usedefault]{% + \ifboolexpr{% + not test{\ifdefvoid{\at@every@stanza}}% + and test{\ifstrempty{#1}}% + and test{\ifstrempty{#2}}}% + {\@startstanza[][\at@every@stanza]\at@start@every@stanza}% + {\@startstanza[#1][#2]\at@start@every@stanza}% }% -\newcommandx{\@stopstanza}[1][1,usedefault]{% +\newcommandx{\@stopstanza}[2][1,2,usedefault]{% \unskip% \endlock% - \ifboolexpr{not test{\ifdefvoid{\at@every@stop@stanza}} and test{\ifstrempty{#1}}}% - {\pend[\at@every@stop@stanza]}% - {\pend[#1]}% + \ifboolexpr{% + not test{\ifdefvoid{\at@every@stop@stanza}}% + and test{\ifstrempty{#1}}% + and test{\ifstrempty{#2}}}% + {\before@every@stop@stanza\pend[][\at@every@stop@stanza]}% + {\before@every@stop@stanza\pend[#1][#2]}% \endgroup% \instanzafalse% } \newcommand{\AtEveryStopStanza}[1]{% \ifstrempty{#1}% - {\xdef\at@every@stop@stanza{}}% + {\gdef\at@every@stop@stanza{}}% + {\gdef\at@every@stop@stanza{\noindent#1}}% +}% +\WithSuffix\newcommand\AtEveryStopStanza*[1]{% + \ifstrempty{#1}% + {\gdef\at@every@stop@stanza{}}% {\gdef\at@every@stop@stanza{#1}}% }% \def\at@every@stop@stanza{}% \newcommand{\AtEveryStanza}[1]{% \ifstrempty{#1}% - {\xdef\at@every@stanza{}}% + {\gdef\at@every@stanza{}}% + {\gdef\at@every@stanza{\noindent#1}}% +}% +\WithSuffix\newcommand\AtEveryStanza*[1]{% + \ifstrempty{#1}% + {\gdef\at@every@stanza{}}% {\gdef\at@every@stanza{#1}}% }% -\def\at@every@stanza{}% -\newcommandx*{\newverse}[2][1,2,usedefault]{% +\newcommand{\AtStartEveryStanza}[1]{% + \ifstrempty{#1}% + {\gdef\at@start@every@stanza{}}% + {\gdef\at@start@every@stanza{#1}}% +}% +\def\at@start@every@stanza{}% + +\newcommand{\BeforeEveryStopStanza}[1]{% + \ifstrempty{#1}% + {\gdef\before@every@stop@stanza{}}% + {\gdef\before@every@stop@stanza{#1}}% +}% +\def\before@every@stop@stanza{}% + +\newcommandx*{\newverse}[4][1,2,3,4,usedefault]{% \unskip% - \endlock\pend[#1]\sza@penalty\global% - \advance\stanza@count\@ne\stanza@line[#2]% + \endlock\pend[#1][#3]\sza@penalty\global% + \advance\stanza@count\@ne\stanza@line[#2][#4]% } \newcommand*{\flagstanza}[2][\stanzaindentbase]{% @@ -8018,7 +8096,9 @@ \notbool{@noeled@sec}{% \newwrite\eled@sectioning@out \newcommand{\eledchapter}[2][]{% + \disable@familiarnotes% #2% + \restore@familiarnotes% \ifledRcol% \immediate\write\eled@sectioningR@out{% \string\eled@chapter{#1}{\unexpanded{#2}}{\the\l@dnumpstartsR}{}{R} @@ -8031,7 +8111,9 @@ } \newcommand{\eledsection}[2][]{% + \disable@familiarnotes% #2% + \restore@familiarnotes% \ifledRcol% \immediate\write\eled@sectioningR@out{% \string\eled@section{#1}{\unexpanded{#2}}{\the\l@dnumpstartsR}{}{R} @@ -8044,7 +8126,9 @@ } \newcommand{\eledsubsection}[2][]{% + \disable@familiarnotes% #2% + \restore@familiarnotes% \ifledRcol% \immediate\write\eled@sectioningR@out{% \string\eled@subsection{#1}{\unexpanded{#2}}{\the\l@dnumpstartsR}{}{R} @@ -8056,7 +8140,9 @@ \fi% } \newcommand{\eledsubsubsection}[2][]{% + \disable@familiarnotes% #2% + \restore@familiarnotes% \ifledRcol% \immediate\write\eled@sectioningR@out{% \string\eled@subsubsection{#1}{\unexpanded{#2}}{\the\l@dnumpstartsR}{}{R} @@ -8069,7 +8155,9 @@ } \WithSuffix\newcommand\eledchapter*[2][]{% + \disable@familiarnotes% #2% + \restore@familiarnotes% \ifledRcol% \immediate\write\eled@sectioningR@out{% \string\eled@chapter{#1}{\unexpanded{#2}}{\the\l@dnumpstartsR}{*}{R} @@ -8082,7 +8170,9 @@ } \WithSuffix\newcommand\eledsection*[2][]{% + \disable@familiarnotes% #2% + \restore@familiarnotes% \ifledRcol% \immediate\write\eled@sectioningR@out{% \string\eled@section{#1}{\unexpanded{#2}}{\the\l@dnumpstartsR}{*}{R} @@ -8095,7 +8185,9 @@ } \WithSuffix\newcommand\eledsubsection*[2][]{% + \disable@familiarnotes% #2% + \restore@familiarnotes% \ifledRcol% \immediate\write\eled@sectioningR@out{% \string\eled@subsection{#1}{\unexpanded{#2}}{\the\l@dnumpstartsR}{*}{R} @@ -8108,7 +8200,9 @@ } \WithSuffix\newcommand\eledsubsubsection*[2][]{% + \disable@familiarnotes% #2% + \restore@familiarnotes% \ifledRcol% \immediate\write\eled@sectioningR@out{% \string\eled@subsubsection{#1}{\unexpanded{#2}}{\the\l@dnumpstartsR}{*}{R} |