[Tex/LaTex] the showframe option to geometry showing me

geometry

I have compiled a document with
\usepackage[showframe]{geometry} to produce the document below with some dimensions of interest annotated in red. What is the difference between dimensions a and b, or between g and h? Basically what do the lines coming from show frame indicate? I had thought that the top margin would be a+b not two different dimensions.

In a previous question I was shown how to control each of these dimensions, here is the link for reference.

enter image description here

Here is the MWE that generated this document:

% arara: pdflatex
\documentclass[10pt,twocolumn]{article}
\usepackage[margin=0.5in,showframe]{geometry}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{authblk}
\usepackage{setspace}
\renewcommand{\familydefault}{\sfdefault}
\usepackage{helvet}
\usepackage{lipsum}

\makeatletter
\def\@maketitle{%
\newpage
\null
\vskip 2em%
\begin{center}%
    \let \footnote \thanks
    {\LARGE \@title \par}%
    \vskip 1.5em%
    {\large
    \lineskip .5em%
    \begin{tabular}[t]{c}%
        \baselineskip=12pt
        \@author
    \end{tabular}\par}%
    \vskip 1em%
    {\large \@date}%
\end{center}%
\par
\vskip 1.5em}
\makeatother

\begin{document}
    \large
    \title{Title}
    \scriptsize
    \setstretch{0.1}
    \author[1]{Author 1}
    \author[2]{Author 2}
    \author[3]{Author 3}
    \author[4]{Author 4}
    \author[5]{Author 5}
    \author[1]{Author 6}
    \author[1]{Author 7}
    \author[1]{Author 8}
    \author[1]{Author 9}
    \author[1]{Author 10}
    \author[1]{Author 11}
    \author[1]{Author 12}
    \author[1]{Author 13}
    \author[1]{Author 14}
    \author[1]{Author 15}
    \author[1]{Author 16}
    \author[1]{Author 17}
    \author[1]{Author 18}
    \author[1]{Author 19}
    \author[1]{Author 20}
    \author[1]{Author 21}
    \author[1]{Author 22}
    \author[1]{Author 23}
    \author[1]{Author 24}
    \author[1]{Author 25}
    \author[1]{Author 26}
    \author[1]{Author 27}
    \author[1]{Author 28}
    \author[1]{Author 29}
    \affil[1]{Affiliation 1}
    \affil[2]{Affiliation 2}
    \affil[3]{Affiliation 3}
    \affil[4]{Affiliation 4}
    \affil[5]{Affiliation 5}
    \date{}
    {\let\clearpage\relax%
    \maketitle }
    \lipsum[1-10]
\end{document}

Best Answer

Well, please check the documentation of package geometry. On page 3 you will find the following images:

image of documentation

There you can see that

  • your g) is simular to marginparsep
  • your h) is simular to marginparwidth
  • your b) is simular to headsep
  • your a) is simular or better part of headheight

Because your given margin (for top, bottom, left and right) is very small (0.5in) you can not print in your document the complete head or marginal note ...

Please have a look to the following MWE, where I changed the values in geometry for headsep and marginparsep:

\documentclass[10pt,twocolumn]{article}
\usepackage[%
  margin=0.5in,
  headsep=3mm, % <======================================================
  marginparsep=3mm, % <=================================================
  showframe
]{geometry}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{authblk}
\usepackage{setspace}
\renewcommand{\familydefault}{\sfdefault}
\usepackage{helvet}
\usepackage{lipsum}

\makeatletter
\def\@maketitle{%
\newpage
\null
\vskip 2em%
\begin{center}%
    \let \footnote \thanks
    {\LARGE \@title \par}%
    \vskip 1.5em%
    {\large
    \lineskip .5em%
    \begin{tabular}[t]{c}%
        \baselineskip=12pt
        \@author
    \end{tabular}\par}%
    \vskip 1em%
    {\large \@date}%
\end{center}%
\par
\vskip 1.5em}
\makeatother

\begin{document}
    \large
    \title{Title}
    \scriptsize
    \setstretch{0.1}
    \author[1]{Author 1}
    \author[2]{Author 2}
    \author[3]{Author 3}
    \author[4]{Author 4}
    \author[5]{Author 5}
    \author[1]{Author 6}
    \author[1]{Author 7}
    \author[1]{Author 8}
    \author[1]{Author 9}
    \author[1]{Author 10}
    \author[1]{Author 11}
    \author[1]{Author 12}
    \author[1]{Author 13}
    \author[1]{Author 14}
    \author[1]{Author 15}
    \author[1]{Author 16}
    \author[1]{Author 17}
    \author[1]{Author 18}
    \author[1]{Author 19}
    \author[1]{Author 20}
    \author[1]{Author 21}
    \author[1]{Author 22}
    \author[1]{Author 23}
    \author[1]{Author 24}
    \author[1]{Author 25}
    \author[1]{Author 26}
    \author[1]{Author 27}
    \author[1]{Author 28}
    \author[1]{Author 29}
    \affil[1]{Affiliation 1}
    \affil[2]{Affiliation 2}
    \affil[3]{Affiliation 3}
    \affil[4]{Affiliation 4}
    \affil[5]{Affiliation 5}
    \date{}
    {\let\clearpage\relax%
    \maketitle }
    \lipsum[1-10]
\end{document}

with the following changed result:

resulting pdf

As you can see geometry is calculating the other values depending on the given values in the options for geometry ...