包 Geometry 的选项冲突:原因是什么?

包 Geometry 的选项冲突:原因是什么?

这是我第一次使用 Latex 制作简历。在这里,我收到以下错误:

! LaTeX 错误:包几何选项冲突。

\documentclass[a4paper,10pt]{article}

%A Few Useful Packages
\usepackage{marvosym}
\usepackage{fontspec}                   %for loading fonts
\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{supertabular}               %for Grades
\usepackage{titlesec}%custom \section

%Setup hyperref package, and colours for links
\usepackage{hyperref}
\usepackage[letterpaper,showframe]{geometry}
\usepackage{multirow}
\usepackage{array} %for table lists
\definecolor{linkcolour}{rgb}{0,0.2,0.6}
\hypersetup{colorlinks,breaklinks,urlcolor=linkcolour, linkcolor=linkcolour}

%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
%\addtolength{\voffset}{-1.3cm}

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

当我在 Google 上搜索时,我意识到这个错误是因为我导入了两次相同的包。但我的代码中没有看到任何一行再次导入几何图形。那么,这在我的上下文中是否意味着其他事情?提前致谢。

答案1

layaureo已加载了geometry没有选项的包。当 LaTeX 看到包的第二个加载请求时,不会再次加载该包(例如,否则,\newcommand在包中会抛出错误)。但是,LaTeX 会检查选项。在后续加载请求中给出的选项必须是用于加载包的选项的子集。在这种情况下,有两个新选项导致 LaTeX 抛出错误。

解决方案:

  • 使用以下方式加载包全部第一次需要选项。
  • \PassOptionsToPackage在文档的最开始处使用以添加包选项。如果包的第一次加载是由类或其他包完成的,则特别有用。
  • 某些选项也可以作为 的全局选项\documentclass。所有包都可以看到这样的选项。

在示例中,这似乎letterpaper是一个错误,您只想添加选项showframe。然后删除\usepackage[letterpaper, showframe]{geometry}--顺便说一句,geometry应该在之前加载包(应该设置文档的布局)hyperref

选项showframe可以这样给出:

\PassOptionsToPackage{showframe}{geometry}
\documentclass[a4paper, ...]{...}
...
\usepackage{layaureo}% loads package geometry
...

答案2

只需将错误调用geometry(即\usepackage[letterpaper,showframe]{geometry})替换为

\geometry{showframe}

letterpaper选项没有意义;如果您确实需要它,则加载也没有意义layaureo

相关内容