summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/breqn/breqn.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/breqn/breqn.dtx')
-rw-r--r--macros/latex/contrib/breqn/breqn.dtx69
1 files changed, 56 insertions, 13 deletions
diff --git a/macros/latex/contrib/breqn/breqn.dtx b/macros/latex/contrib/breqn/breqn.dtx
index ce68c555b6..bd33b11cfd 100644
--- a/macros/latex/contrib/breqn/breqn.dtx
+++ b/macros/latex/contrib/breqn/breqn.dtx
@@ -151,8 +151,8 @@
%
%
% \title{The \pkg{breqn} package}
-% \def\fileversion{0.98k}
-% \def\filedate{2020/09/24}
+% \def\fileversion{0.98l}
+% \def\filedate{2021/10/28}
% \date{\pkg{breqn} bundle: \filedate\space\fileversion}
% \author{Authors: Michael J. Downes, Morten H\o gholm\\ Maintained by Morten H\o gholm, Will Robertson\\ Feedback: \texttt{https://github.com/wspr/breqn/issues}}
%
@@ -1377,7 +1377,7 @@
% Declare package name and date.
% \begin{macrocode}
\RequirePackage{expl3}
-\ProvidesExplPackage{breqn}{2020/09/24}{0.98k}{Breaking equations}
+\ProvidesExplPackage{breqn}{2021/10/28}{0.98l}{Breaking equations}
% \end{macrocode}
% Regrettably, \pkg{breqn} is internally a mess, so we have to take
% some odd steps.
@@ -1458,6 +1458,30 @@
%
% \section{Some useful tools}
%
+%
+%
+% \begin{macro}{\MaybeRawNoindent}
+% Breqn does a lot of low-level paragraph stuff which iesn't
+% supposed to execute paragraph hooks, so with a newer \LaTeX{} it
+% needs to run the versions that prevent the hooks from executing.
+% \begin{macrocode}
+\providecommand\IfFormatAtLeastTF{\@ifl@t@r\fmtversion}
+% \end{macrocode}
+%
+% \begin{macrocode}
+\IfFormatAtLeastTF{2021/06/01}
+ {%
+ \def\MaybeRawNoindent{\ifvmode\expandafter\RawNoindent\fi}%
+ }%
+ {%
+ \let\MaybeRawNoindent\noindent
+ \let\RawParEnd\@@par
+ }
+% \end{macrocode}
+% \end{macro}
+%
+%
+%
% \begin{macro}{\@nx}
% \begin{macro}{\@xp}
% The comparative brevity of \cs{@nx} and \cs{@xp} is
@@ -3114,19 +3138,25 @@
\def\eq@typeset@L@single{%
\nobreak
\eq@params\eq@parshape
- \nointerlineskip\noindent
+ \nointerlineskip
+% \noindent
+ \MaybeRawNoindent
\add@grp@label
\rlap{\kern-\leftskip\box\EQ@numbox}%
\if F\eq@frame
\else
\rlap{\raise\eq@firstht\hbox to\z@{\eq@addframe\hss}}%
\fi
- \eq@dump@box\unhbox\EQ@box \@@par
+ \eq@dump@box\unhbox\EQ@box
+ %\@@par
+ \RawParEnd
}
\def\eq@typeset@R@single{%
\nobreak
\eq@params\eq@parshape
- \nointerlineskip\noindent
+ \nointerlineskip
+% \noindent
+ \MaybeRawNoindent
\add@grp@label
\if F\eq@frame
\else
@@ -3134,7 +3164,8 @@
\fi
\rlap{\kern-\leftskip\kern\linewidth\kern-\wd\EQ@numbox\copy\EQ@numbox}%
\eq@dump@box\unhbox\EQ@box
- \@@par
+ %\@@par
+ \RawParEnd
}
% \end{macrocode}
%
@@ -3535,7 +3566,9 @@
\def\eq@startup{%
\global\let\EQ@hasLHS\@False
\setbox\z@\vbox\bgroup
- \noindent \@@math \displaystyle
+% \noindent
+ \MaybeRawNoindent % no matching \RawParEnd (implicit at box end)
+ \@@math \displaystyle
\penalty-\@Mi
}
% \end{macrocode}
@@ -5332,7 +5365,9 @@
% \begin{macrocode}
\def\eq@dump@box#1#2{%
%\debug@box#1%
- \noindent #1#2\setbox\f@ur\lastbox \setbox\tw@\lastbox
+% \noindent
+ \MaybeRawNoindent % did not find the end yet
+ #1#2\setbox\f@ur\lastbox \setbox\tw@\lastbox
% \end{macrocode}
% If the LHS contains shrinkable glue, in an L layout the alignment
% could be thrown off if the first line is shrunk noticeably.
@@ -5609,9 +5644,13 @@
\def\eq@typeset@equation{%
\nobreak
\eq@params\eq@parshape
- \nointerlineskip\noindent
+ \nointerlineskip
+% \noindent
+ \MaybeRawNoindent
\add@grp@label
- \eq@dump@box\unhbox\EQ@box\@@par
+ \eq@dump@box\unhbox\EQ@box
+% \@@par
+ \RawParEnd
}
% \end{macrocode}
%
@@ -6007,7 +6046,9 @@
% 10000, it means a sub and/or superscript is present on the right
% delimiter and the box containing them must be taken off first.
% \begin{macrocode}
- \noindent\unhbox\z@ \unskip
+% \noindent
+ \MaybeRawNoindent
+ \unhbox\z@ \unskip
\subsup@flag-\lastpenalty \unpenalty
\xdef\right@delim@code{\number\lastpenalty}%
\unpenalty
@@ -6029,7 +6070,9 @@
% this complication. The penalty value $-10001$ is a no-op case
% in the case statement of \cs{eq@repacka}.
% \begin{macrocode}
- \penalty-\@Mi\z@rule\@@par
+ \penalty-\@Mi\z@rule
+% \@@par
+ \RawParEnd
\setbox\z@\lastbox \unskip\unpenalty
%%{\showboxbreadth\maxdimen\showboxdepth99\showlists}%
}