But when posting the code I realized there shouldn't be any conflict betweenAs you've posted in you first post it isn'tAardbei wrote:Yes, I know that sometimes packages need to be loaded in a certain order, e.g. all things to do with internal links (the packages you mention). But in this case, the biblatex package seems unrelated to thebreqn
package, so I thought it's strange that the warning pops up.biblatex
directly but etoolbox (a package which provides useful programming tools and is used by various other packages besidesbiblatex
, too).
The thing is that bothbreqn
andetoolbox
redefine the very fundamental LaTeX command\end
and obviouslybreqn
does it in a way incompatible toetoolbox
.
Code: Select all
% breqn's redefinition: \def\@tempa#1\endcsname#2\@nil{\def\latex@end##1{#2}} \expandafter\@tempa\end{#1}\@nil \def\end#1{\csname end#1\endcsname \latex@end{#1}}%
Code: Select all
% etoolbox's redefinition: \newrobustcmd{\AtEndEnvironment}[1]{% \csgappto{@end@#1@hook}} \patchcmd\end {\csname end#1\endcsname} {\csuse{@end@#1@hook}% \csname end#1\endcsname} {} {\etb@warning{% Patching '\string\end' failed!\MessageBreak '\string\AtEndEnvironment' will not work\@gobble}}
breqn
and etoolbox
. And indeed: I cannot reproduce the error - the order of biblatex
and breqn
doesn't seem to matter with an up to date TeX Live 2013.