LATEX-L Archives

Mailing list for the LaTeX3 project


Options: Use Forum View

Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Frank Mittelbach <[log in to unmask]>
Reply To:
Mailing list for the LaTeX3 project <[log in to unmask]>
Sun, 1 Jun 2014 21:55:36 +0200
text/plain (49 lines)
Am 01.06.2014 21:37, schrieb Ulrike Fischer:
> Am Sun, 1 Jun 2014 21:23:39 +0200 schrieb Frank Mittelbach:
> Arno wrote about fixltx2e and not fix-cm.

but unfortunately her recycled the old subject line  - ok we should have
read more carefully but ... :-)

And he is right: If loaded
> after float fixltx2e overwrites the float definition of float:
> \documentclass{article} \usepackage{float} \usepackage{fixltx2e}
> \begin{document} \begin{figure}[H] blub \end{figure}
> \end{document}
> gives: ! LaTeX Error: Unknown float option `H'.
> I run into a similar problem some days ago: If loaded after setspace
> fixltx2e overwrite the setspace patches for floats.
> Imho fixltx2e should be loaded like fix-cm before documentclass to
> avoid such problems.

that is absolutely true, fixltx2e fixes the kernel so it should come
directly after the kernel as soon as possible either via \RequirePackage
(best) or directly after the document class (second best).

Nevertheless there is no way to do any fixing without side effects if
some package hooks into the fixed code (I discussed that one around the
float placement code in ltnews)

basically packages that hook into those areas would need to  check if
they run with a  kernel or with a "kernel + patches"

There is no way for fixltx2e to check for all possible packages that
modify internal so it has to be the other way around really

> How would you then treat packages that require fixltx2e and are
> loaded at a later point? (As in your code example?)

if a package internally loads fixltx2e (which is a doubtful practice in 
my opinion) you can still load it early on yourself in which case the 
second load will not happen.