You suffer from a combination of factors.
\begin{minipage}[t][\textheight]
creates a box that's slightly bigger than \textheight
You have a non zero \parindent
You have a non zero \fboxsep
(this is used by \colorbox
)
\documentclass[a4paper,11pt,extrafontsizes,twoside]{memoir}
\usepackage{xkeyval,calc,etex,etoolbox}
\usepackage{graphicx}
\usepackage[dvipsnames,svgnames]{xcolor}
\usepackage[pagecolor={none}]{pagecolor}
\usepackage{ifthen,ifpdf,ifxetex}
\usepackage[utf8]{inputenx}
\usepackage{newunicodechar,adjustbox}
%\settrimmedsize{\stockheight}{\stockwidth}{*}%
%\settrims{0pt}{0pt}
%\setulmargins{0pt}{*}{*}
%\checkandfixthelayout
\usepackage[margin=0pt]{geometry}
\pagecolor{blue}
\pagestyle{empty}
\newlength{\spinelen}
\setlength{\spinelen}{\paperwidth * 1/8}
\begin{document}
\begingroup
\setlength{\parindent}{0pt}
\setlength{\fboxsep}{0pt}
\hspace*{\spinelen}%
\colorbox{white}{%
\vbox to\textheight{
\hsize=\dimexpr\linewidth-\spinelen\relax
\leftskip=6pt %%% some padding
\vspace*{\stretch{1}}
{\color{blue}\fontsize{36pt}{40pt}\selectfont Title\par}
\vspace{\baselineskip}
{\color{blue}\fontsize{25pt}{28pt}\selectfont Subtitle\par}
\vspace*{\stretch{5}}
\Large Author1
Author2
\vspace{2\baselineskip}
\vspace*{\stretch{2}}
}% end \vbox
}% end \colorbox
\endgroup
\clearpage
\ifxetex\pagecolor{white}\else\nopagecolor\fi
\end{document}
Setting \parindent
to zero avoids having to specify \noindent
in the box. Some inner padding can be obtained by setting \leftskip
.
The changepage
package is useful for temporarily change the page parameters, based on the current values, so it's compatible with several other packages; particularly useful is its adjustwidth
environment.
On the other hand, geometry
and vmargin
are useful to set the overall shape of the page without doing complicated computations involving \topmargin
, \evensidemargin
and \oddsidemargin
and several other parameters.
The approach of the two packages is different; vmargin
has two different eight argument commands for setting the main parameters, while geometry
offers a much more flexible key-value interface. Moreover geometry
also handles page imposition (a page layout built on a smaller page than the one the document is printed on, with crop marks) and the \newgeometry
feature that allows to change the page parameters as many times as we need (but requires a page break, due to how TeX handles pages).
Also changepage
provides for changing the page height and width, but with an interface I consider difficult to manage, while \newgeometry
uses the same key-value interface as \geometry
(or the options to \usepackage[...]{geometry}
).
Which one to prefer? The answer is easy: vmargin
makes a bad error when doing its computations for the page parameters, because it usually sets \hoffset
and \voffset
to -1in (see section 3.3 in the documentation), which breaks other packages (notably atbegshi
on which eso-pic
and pdfpages
are based) that, coherently with the recommendations in source2e
(the commented source code of LaTeX), assume \hoffset
and \voffset
are zero.
There is another package that's worth mentioning, that is, typearea
, part of the KOMA-script suite. Its approach in setting the page parameters is completely different from geometry
's because it's based on page divisions: divide the height and width of the page by the same integer, create an imaginary subdivision into rectangles and take some of them as the type block (more details in the guide to KOMA-script). It doesn't support page imposition, but works well with crop
. It doesn't conflict with atbegshi
.
Note also that the memoir
class and the AMS classes have their own methods for setting the page parameters, but using geometry
with them is possible.
Of course one should never forget the \enlargethispage
feature, which is in the LaTeX kernel, that may help in easily solving pagination problems without having to change the overall shape of the type block.
Best Answer
The best way to check all the page parameters is to use the layouts package (written by Peter Wilson the same author of memoir) and used by the class to illustrate them in the manual.
There is no notion of top, bottom, left or right as defined by geometry (they are just convenience lengths for calculations and for author inputs). Similarly memoir offers some lengths that are not available clearly in geometry, such as
\trimtop
etc.top
is equivalent to\uppermargin
in memoir,\headsep
is a LaTeX length and available in both.The page layout parameters can all be changed using the LaTeX
\setlength
command. For example, to set theheadsep=0pt
, put this into the preamble:To view any dimension in a document just use the
\showthe
or\the
macros. For example to view theheadsep
values use\showthe\headsep
or simply\the\headsep
to print it. See Page geometry discrepancies for a short macro to print all the lengths.