# Option Clash for package Geometry: Reason?

This is the first document I am working with Latex for my CV. Here, I am getting an error as follows:

! LaTeX Error: Option clash for package geometry.

``````\documentclass[a4paper,10pt]{article}

%A Few Useful Packages
\usepackage{marvosym}
\usepackage{xunicode,xltxtra,url,parskip}   %other packages for formatting
\RequirePackage{color,graphicx}
\usepackage[usenames,dvipsnames]{xcolor}
\usepackage[big]{layaureo}              %better formatting of the A4 page
% an alternative to Layaureo can be ** \usepackage{fullpage} **
\usepackage{titlesec}%custom \section

%Setup hyperref package, and colours for links
\usepackage{hyperref}
\usepackage[letterpaper,showframe]{geometry}
\usepackage{multirow}
\usepackage{array} %for table lists

%FONTS
\defaultfontfeatures{Mapping=tex-text}
%\setmainfont[SmallCapsFont = Fontin SmallCaps]{Fontin}
%%% modified for Karol Kozioł for ShareLaTeX use
\setmainfont[
SmallCapsFont = Fontin-SmallCaps.otf,
BoldFont = Fontin-Bold.otf,
ItalicFont = Fontin-Italic.otf
]
{Fontin.otf}
%%%

%CV Sections inspired by:
%http://stefano.italians.nl/archives/26
\titleformat{\section}{\Large\scshape\raggedright}{}{0em}{}[\titlerule]
\titlespacing{\section}{0pt}{3pt}{3pt}
%Tweak a bit the top margin

%Italian hyphenation for the word: ''corporations''
\hyphenation{im-pre-se}
``````

When I googled, I realized that this error was because I had imported the same package twice. But I don't see any line in my code where geometry has been imported again. So, does this mean something else in my context? Thanks in advance.

• [letterpaper] for geometry, but [a4paper] for documentclass? – Thruston Jan 27 '18 at 19:23
• Were they supposed to be the same? This error came up only after I changed something in the body section of the code. Until then, everything was working fine. – Darshan Venkatesh Jan 27 '18 at 19:27
• welcome to tex.sx. take a closer look at your log -- maybe some earlier package silently loads `geometry`. that will be reported in the log, and if it's within "unclosed" parentheses, that will tell you which package it was. – barbara beeton Jan 27 '18 at 19:36
• I had to remove [letterpaper]. I also had to remove the [showframe] declaration as it was reloading multirow. – Darshan Venkatesh Jan 29 '18 at 10:11

Package `layaureo` already loads package `geometry` without options. When LaTeX sees the second load request of a package, then the package is not loaded again (e.g., otherwise, `\newcommand` in a package would throw errors). But, LaTeX checks the options. The options, given in later load request must be a subset of the options that were used for the loading of the package. In this case, there are two new options causing LaTeX to throw an error.

Solutions:

• Load the package with all needed options the first time.
• Use `\PassOptionsToPackage` at the very begin of the document to add package options. Especially useful, if the first loading of a package is done by the class or another package.
• Some options can also be given as global option for `\documentclass`. Such an options is seen by all packages.

In the case of the example, it seems that `letterpaper` is an error, and you just want to add option `showframe`. Then remove the `\usepackage[letterpaper, showframe]{geometry}` -- BTW, package `geometry` should be loaded (the layout of the document should be set) before `hyperref`.

Option `showframe` can be given this way:

``````\PassOptionsToPackage{showframe}{geometry}
\documentclass[a4paper, ...]{...}
...
Simply substitute the erroneous call of `geometry` (that is, `\usepackage[letterpaper,showframe]{geometry}`) with
``````\geometry{showframe}
The `letterpaper` option doesn't make sense; if you really need it, it doesn't make sense to load `layaureo`.