4

I have a strange problem. I am writing my thesis and the style file is provided by my university. The normally working graphicx package seems to be distorting the format when I enable it using \usepackage{graphics}

If I enable this package, and not even insert a figure, the bottom margin changes as demonstrated in the figures below. And naturally, I can not add a figure without graphicx!

How can I overcome this problem?

Faulty page bottom with graphicx enabled

The normal view before enabling graphicx

  • Could you add an example so we can compile it and see what happens? – Manuel Jan 3 '14 at 12:05
  • you would need the style file, right? in a normal article document, the problem does not occur. – Emre Turkoz Jan 3 '14 at 12:06
  • Just some (minimal) lines of code which we can compile and see what happens. Starting from \documentclass and ending with \end{document}. And if necessary, a link to the style file. By the way, I usually write \usepackage{graphicx}. – Manuel Jan 3 '14 at 12:12
  • You can check fbe.boun.edu.tr/en/downloads/fbe_thesis.zip for the style file. As soon as you add \usepackage{graphics} you will see the difference. I also tried graphicx, the problem persists.. – Emre Turkoz Jan 3 '14 at 12:27
  • 2
    The page seems to be enshortened… If you add a4paper in the options to documentclass you get it right. May be the style file defines the page size in an obscure way. But wait for a real (and complete) answer. – Manuel Jan 3 '14 at 12:31
7

Classically (La)TeX has no knowledge of the physical paper size, it just sets up a text block area of a give width and height. The "page margins" were just an artifact of where the dvi driver positioned that text block on the page.

PDF and pdftex change that a bit as pdftex is essentially its own driver so needs to be concerned with that aspect and the pdf format itself has a notion of the intrinsic size of each page, which is used by pdf viewers to clip the view or size the window.

The latex format mostly uses \textwidth and \textheight (the area of the text block) but LaTeX2e introduces \paperheight and \paperwidth which are typically set by options such as a4paper. They are not used much although the standard classes use them in some initial calculations to set \textwidth and \@oddsidemargin.

The graphics package uses several different back ends (dvips, pdftex, etc) and if it detects that it is running under pdftex then it sets the pdftex primitives \pdfpagewidth and \pdfpageheight to the values of \paperwidth and \paperheight respectively) This has the effect of specifying latex's idea of the physical page size in the pdf output and the viewer uses that as you noticed. (Several other packages now do the same, notably geometry). This isn't strictly to do with graphics inclusion but the idea back then was that all driver-specific code would be in one customisable file dvips.def, pdftex.def, ... and this same file is loaded by graphics and color and any other package that needed back end driver support, so it seemed a natural place to add this setting.

For reasons to do with historical compatibility, the default paper size in LaTeX is US letter, however the default page size in your pdf viewer is probably A4 if you are not in the USA. This means that the default behaviour is to typeset the document for US letter but display it in a viewer clipped to A4, which sort of works but is sub-optimal.

The effect of the graphics package making things match is that you noticed:-) Especially as it made them align the wrong way, as latex's default page size was communicated to the pdf browser. By adding [a4paper] you not only tell the pdf browser that you want that size, so it doesn't clip the bottom, latex actually formats the document for A4 rather than US Letter, to match the physical page dimensions.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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