Conflictos de paquetes

! LaTeX Error: Option clash for package X significa que el mismo paquete se cargó dos veces con opciones distintas. Normalmente algo ya cargó X, sin tu opción, antes de tu \usepackage. Un paquete solo puede cargarse una vez.

Por qué ocurre

Un paquete se carga solo una vez. Si tu \usepackage[opt]{X} se ejecuta después de que X ya fue cargado por la clase, por otro paquete o por un \usepackage{X} anterior con opciones distintas, las opciones chocan: “Option clash”. Ejemplo clásico: un paquete carga xcolor sin opciones y después escribes \usepackage[table]{xcolor}.

Solución

  • Pon \PassOptionsToPackage{opt}{X} antes de que X se cargue, al inicio del preámbulo o antes de lo que lo importa; la opción se aplicará en la primera carga.
  • Consolida en un único \usepackage con todas las opciones, cargado antes de cualquier cosa que lo cargue automáticamente.
  • Reordena: carga el paquete al que quieres dar opciones antes del paquete que lo importa.
latex
% X が読まれる前に(プリアンブル冒頭)/ before X loads, at the very top
\PassOptionsToPackage{table}{xcolor}
\documentclass{article}
% 以降どこかで \usepackage{xcolor} されても table が効く
% (table applies even if something else loads xcolor later)

Otros conflictos

Además de los choques de opciones, los paquetes pueden entrar en conflicto al redefinir las mismas cosas. Por ejemplo, hyperref interfiere con muchos paquetes y por convención se carga casi al final. Sigue el README de cada paquete y las pistas del log, y ajusta el orden de carga u opciones de compatibilidad.