[Tex/LaTex] Extra 0.1cm after setting geometry top margin

geometryheader-footermarginsviewers

I try to set 3cm for top margin of the paper with geometry package. After I measure the real length of top margin with PDF, this is actually 3.1 cm. There are a 0.1 extra space there.
Also, I spot many inconsistencies with below margin. At one page it is exactly 3cm. At many pages it exceeds or lack 0.1cm from exact wanted margin.

Beside geometry, I also use fancydhr, and customize some native pagestyle. Here is my MWE.

\documentclass[12pt, a4paper, onecolumn, oneside, final]{report}
\usepackage[paper=a4paper,headheight=0pt,left=4cm,top=3cm,right=3cm,bottom=3cm]{geometry}
\setlength{\footskip}{0.5cm}
\usepackage{fancyhdr}
\fancypagestyle{plain}
{% 
\fancyhf{}% 
\fancyfoot[C]{\thepage}% 
\fancyfoot[R]{\footnotesize {\fontfamily{phv}\selectfont{\bo{Dummy University}}}} 
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}
}%
\begin{document}
Some text blah blah blah
\end{document}

Where actually bottom margin of geometry is measured from bottom side of paper? Right below 'g' or 'e'? Or–though I think it is least unlikely–it is just a flaw from pdf viewer used to measure size?

Best Answer

The report class uses \raggedbottom, so it's normal that the bottom line is not at 3cm exactly from the bottom side of the paper. The distance is measured from the baseline, so where the ā€œeā€ sits.

If you measure the top distance, you should get that the first baseline sits 3cm + 12pt (the value of the \topskip parameter). An uppercase letter is (with the Computer Modern fonts) 8.2pt high. So, if you measure from the top side to the top of an uppercase letter in the first line, you should have a distance of

3cm + (12-8.2)pt = 3.13cm

which accords with your measurement.

On the other hand, an integer number of lines doesn't fill 23.7cm (29.7-3-3). Let's see why: the first line occupies 12pt and successive baselines are 14.5pt apart from each other. The text block area is 23.7cm = 674.33pt high; so you can fit 46 lines, which occupy

(45*14.5 + 12)pt = 664.5pt

and so 9.83pt are missing, that is 0.35cm (in a page where only continuous text is typeset, no title or other object).

If you add the showframe option to the call of geometry, you get this for the top:

top

where you see the line where the 3cm are measured from, slightly above the ā€œAā€.

Here's a picture of the bottom:

bottom

where the missing 3.5mm are clearly visible.

Here is the result after adding

\setlength{\topskip}{8.2pt}
\linespread{1.02}

so the baselineskip will be 14.5*1.02=14.79 and

14.79*45 + 8.2 = 673.75

(which is just 0.58pt from 674.33pt = 23.7cm). Top:

new top

and bottom:

new bottom

I wouldn't bother, though.