! LaTeX Error: Option clash for package X は、同じパッケージが 異なるオプションで 2 回読み込まれた という意味です。たいていは、あなたの \usepackage より前に、別のものが(あなたのオプション無しで)すでに X を読み込んでいたため。パッケージは 1 度しか読み込めません。
なぜ起きるか
パッケージは 1 回しか読み込まれません。だから \usepackage[opt]{X} が、X がすでに(クラスや別のパッケージ、または別オプションの早い \usepackage{X} によって)読み込まれた 後 に来ると、オプションが食い違って「Option clash」になります。典型例:あるパッケージが xcolor をオプション無しで引き込んだあとに、あなたが \usepackage[table]{xcolor} と書く、というパターンです。
対処
\PassOptionsToPackage{opt}{X}を、X が読み込まれる 前(プリアンブル冒頭、または X を引き込むパッケージより前)に書く——最初の読み込み時にオプションが効く。- 同じパッケージは 1 回の
\usepackageにまとめ、自動で読み込まれるより 早く 読む。 - 読込順を整理する:オプション付きで読みたいパッケージを、それを引き込むものより先に。
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)その他の衝突
オプションの衝突以外にも、同じものを再定義する非互換なパッケージ どうしの衝突があります。たとえば hyperref は多くのパッケージと干渉しやすく、できるだけ最後に近い位置で読み込む のが定石です。各パッケージの README やログのヒントに従い、読込順や互換オプションで調整しましょう。