LaTeX package conflicts

From Exterior Memory
Revision as of 23:13, 23 October 2008 by MacFreek (Talk | contribs)

Jump to: navigation, search

LaTeX package conflicts

Package conflicts in LaTeX are a hell. Perhaps I should have used ConTeX after all (ConTeX does not have package conflicts; I guess mostly because there are no packages...)

Hyperref

Hyperref is *by far* the package causing most conflicts. Do yourself a favour and do read the [hyperref README] file. It contains an extensive, albeit not complete list of conflicts and solutions.

Hyperref and preamble pages

Error:

pdfTeX warning (ext4): destination with the same identifier (name{page.2}) has been already used, duplicate ignored

If you have a preamble, e.g. you make a thesis and use \frontmatter, \mainmatter and \backmatter, then the page numbers in front matter are roman (i, ii, iii, iv, v, vi, etc.) The page numbers in main matter are

% You must specify plainpages=false % Otherwise, you get errors like "pdfTeX warning (ext4): destination with the same identifier (name{page.2}) has been already used, duplicate ignored", since preamble is now identified with name{page.ii}. \usepackage[pdftex,colorlinks=false,plainpages=false]{hyperref}

Hyperref and Fancy headers

Error:

XXXXX

Hyperref must be loaded after fancy headers, otherwise you get errors about reuse of identifiers and (thus) get faulty internal links in the table of contents.

Solution:

\usepackage{fancyhdr}
\usepackage[pdftex,colorlinks=false,plainpages=false]{hyperref}


Error:

% Hyperref is *extremely* buggy. % YOU MUST READ THE README PF HYPERREF, or else, you WILL suffer dependency hell. % % Hyperref must go AFTER fancy headers. % Otherwise, you get errors about reuse of identifiers and (thus) faulty internal links in the table of contents % Hyperref must go AFTER float % Hyperref must go BEFORE algorithm and algorithmic % Otherwise, \labels{} end up faulty in the .aux file, and the 2nd time you run pdflatex, you get the error "undefined control sequence" for each \ref{} to labels defined a \begin{algorithm}\end{algorithm} % TODO: enable hyperref package % TODO: fix errors: % pdfTeX warning (ext4): destination with the same identifier (name{ALC@rem.1}) has been already used, duplicate ignored % see: http://developer.berlios.de/feature/?func=detailfeature&feature_id=2973&group_id=3442