I'm quoting this answer from stackoverflow:
For debugging page layout, Peter Wilson's layouts package is the way to go. Here's an example for visualising the page design and seeing the dimensions used for it
\documentclass[a4paper,12pt]{report}% I didn't add the twoside option in order to only display the right page layouts
\usepackage{layouts}
\usepackage{geometry}
\begin{document}
First you see the default page layout:
\currentpage
\pagedesign
\clearpage
\newgeometry{text={155mm, 24cm}, top=25mm}
Now you can check the page layout you passed to geometry:
\currentpage
\pagedesign
\clearpage
\newgeometry{inner=16.5mm,outer=11mm,top=25mm}
and then check the possible layout you expected (I'm assuming you're using A4 paper)
\currentpage
\pagedesign
\clearpage
\end{document}
As you can see (from the first layout displayed), the default page layout for report
(and the other default classes), as @egreg pointed out, does define an outer margin larger than the ineer one.
Since you jest passed to geometry the format for the body (with the text={<textwidth, textheight>}
option), it doesn't change the page's default, just adjusting itself to it. In order to achieve what you expect, you must tell geometry
what is the inner and outer margins lengths you expect. You can do that both with inner
and outer
options or with left
and right
(or lmargin
, rmargim
, check geometry
doc, p. 9)
EDIT: Just updating, following @daleif's comment:
It's considered good typographical practice to use larger outer margins and smaller spines — for the sake of tradition or just to provide the reader a space for personal notes. There's a a wonderfully complete answer explaining that, by Yannis Lazarides (Actually, that question is closely related to yours).
If you are using bookest
and are unable or unwilling to switch to a newer class or package, you should use its facilities to set the page layout dimensions where possible. You can supplement these with a call to geometry
if necessary. bookest
requires geometry
itself so you do not need a \usepackage{}
. You can just say e.g. \geometry{paperwidth=4.25in, paperheight=6.75in, marginparwidth=0pt, marginparsep=0pt}
to set the page and layout dimensions after loading the class. You ought not set the page dimensions directly at all since this will confuse geometry
's calculations (since it won't know what you've done) and is likely to give unexpected and undesirable results.
12pt
is not supported by bookest
. Since you already get a lot of bad boxes with a smaller point size, 12pt would make things worse (although there are obviously other things you could do to improve things).
If you are willing and able to use another class, you have more options. For example, book
is compatible with a number of different page layout packages including not just geometry
, but also e.g. typearea
and zwpagelayout
. Or a package such as the Koma-script book-type class can be used with its page layout facilities. (typearea
is from Koma.) memoir
is a further possibility. Some of these classes provide extended font size options. All support 12pt.
It is hard to give more specific advice without knowing which class you are using.
Best Answer
Package
extsizes
not only changes the fontsize, but also amends various skips as well as the margins. Changing the page geometry after loading the package will give fixed margins.