I currently have an article document class and I previously changed it to include printing on A4 paper:

\documentclass[12pt, a4paper]{article}

However, I had to change my margins to meet my university requirements and the answer I received used A4 in the geometry package too.

\geometry{a4paper,margin=15mm,bindingoffset=25mm,heightrounded,}

Partially practical and partially theoretical, is there any difference to using either declaration and/or is there an effect by using both?

  • 3
    It's irrelevant: options to the class are automatically passed to all loaded packages. – egreg Jul 5 '12 at 15:51
  • That makes sense, thank you! – Mike Stumpf Jul 5 '12 at 15:52
  • @egreg: If you specify the paper size via \documentclass and don't use geometry, the paper will be of the correct size, so something changes. The question is, could these changes interfere with geometry in any way? (It doesn't seem like it.) – doncherry Jul 5 '12 at 16:30
  • @doncherry The class understands a4paper and sets the text block dimensions accordingly. If you also load geometry the dimensions are changed again according to geometry default for A4 paper, unless you use the pass option. – egreg Jul 5 '12 at 16:36
up vote 23 down vote accepted

a4paper specified in document class will be passed to geometry. So there is no difference if you specify the option in \documentclass{article} or \usepackage{geometry}.

  • Looking at the source for the article class, how is the paper size being passed to geometry? I only see that paperheight and paperwidth are being directly set. – Tyler Crompton Oct 8 '15 at 3:18
  • @kissmyarmpit ! LaTeX Error: File a4paper.sty' not found.` – alhelal Jan 10 at 3:32

I'm not sure about the changes, but I think the standard way is the following:

\documentclass[12pt]{article}
\usepackage[a4paper]{geometry}
...

You can specify the margins further. The simplest way is writing

\usepackage[a4paper, margin=2cm]{geometry}
  • no, add a4paper to the class options, it only passed on to geometry then any later package that might also react to a4paper would never see it. – daleif Jul 5 '12 at 16:08
  • @daleif I don't understand your comment sorry... – Alenanno Jul 5 '12 at 21:42
  • 1
    type \documentclass[12pt,a4paper]{...} not just \usepackage[a4paper]{geometry} – daleif Jul 7 '12 at 10:02
  • @daleif I just realized but if that's true, how is this different from the accepted answer? – Alenanno Apr 23 '15 at 15:48
  • @daleif No answer? :P – Alenanno May 4 '17 at 10:18

There might be a difference if you load some other packages that could use ...paper options. It is naturally global option of your manuscript so I think it is better declared global, similarly to the language options discussed here: https://tex.stackexchange.com/a/60298/11002

So I think that ...paper should be put as a global option of \documentclass.

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.