20

I only recently came across the fixltx2e package. Given that it patches aspects of LaTeX, my spidey-sense begins to tingle out of a concern for possible package conflicts.

Are there known conflicts? Is it better to load fixltx2e early, or, like hyperref, as late as possible? (Yes, I am worrying about a problem I don't as yet have. But, the concern won't be fresh in my mind six months from now if some conflict produces a hard to figure out bug.)

I'd originally thought that there was little documentation, as none is linked on the CTAN Catalogue page that I used as the package link. In light of the answer, I thought to run texdoc fixltx2e1 in the terminal. It turns out there is an extensive amount of documentation available, just not where I am used to looking for a new package.

vanden
  • 30,891
  • 23
  • 67
  • 87

4 Answers4

13

Load fixltx2e before footmisc.

memoir and subfig have special compatibility code to deal with fixltx2e, so it seems to be possible to have conflicts, but I have not had to deal with any.

Lev Bishop
  • 45,462
6

The documentation for fixltx2e says only to load it in the preamble. It sounds like it doesn't matter where in the preamble you load it. I tend to do it right after the \documentclass.

TH.
  • 62,639
5

Load the amsthm package before fixltx2e.

Latex gives an error if it's the other way around: latex> ! You can't use macro parameter character #' in restricted horizontal mode. latex> <argument> \hskip \labelsep \itshape ## latex> 1\@addpunct {.} latex> l.441 #1\@addpunct{.}] latex> \ignorespaces latex> ! Too many }'s. latex> l.442 } latex> {% latex> ! Undefined control sequence. latex> \qed ...}\nobreak \hfill \quad \hbox {\qedsymbol latex> }\fi

Markus
  • 51
  • 4
    Could you give an explanation or a reference to why this is necessary, please? – diabonas Apr 30 '12 at 15:56
  • 1
    @diabonas: Latex gives an error if it's the other way around: latex> ! You can't use macro parameter character #' in restricted horizontal mode. latex> <argument> \hskip \labelsep \itshape ## latex> 1\@addpunct {.} latex> l.441 #1\@addpunct{.}] latex> \ignorespaces latex> ! Too many }'s. latex> l.442 } latex> {% latex> ! Undefined control sequence. latex> \qed ...}\nobreak \hfill \quad \hbox {\qedsymbol latex> }\fi – Markus Apr 30 '12 at 17:43
  • 3
    Oh ok, this is indeed a very convincing argument to respect the correct order ;-) Could you edit your answer to include this error message, please? – diabonas Apr 30 '12 at 17:50
  • ? That's strange. I tried to add fixltx2e to a rather lengthy document, and eventually discovered that including amsmath, ulem and fixltx2e in this order causes the compilation to hang indefinitely on \[ … \] parts. Even on a dumb \[a\]. Loading fixltx2e first corrects this o( o_o )o This is all too weird for me ; I think I'll do without this stuff. – Alice M. Sep 29 '17 at 21:02
2

I'm not aware of any conflicts, but that's not saying much... I don't think it really matters when in the preamble you load it.