顶部边距、回忆录类和几何包

顶部边距、回忆录类和几何包

我正在尝试使用下面的 MWE 为文档设置一个非常基本的首页。我希望在左边距上有一个垂直条纹,并将所有边距设置为 0pt。布局基于 memoir 类,页面布局依赖于 geometry 包。我的问题是 (1) 我无法有效地将顶部边距设置为 0pt——即使使用下面 MWE 中注释的 memoir 类命令也无法做到——以及 (2) 页面“溢出”到背面页面——我认为这与将 minipage 环境设置为文本高度以及具有不想要的非零顶部边距有关。

在 MWE 中,我加载了一些我实际上并不使用的包,但我认为它们与我面临的问题无关。关于如何获得“真正的”0pt 顶部边距,有什么想法吗?

编辑:这只是我尝试完成此布局的方法之一,但其他方法均不起作用(例如,包括使用包的方法adjustbox)。

\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}{*}{*}

\usepackage[margin=0pt]{geometry}

\begin{document}
\pagecolor{blue}%
\pagestyle{empty}%
\newlength{\spinelen}%
\setlength{\spinelen}{\paperwidth * 1/8}%
\vspace*{0pt}%
\hspace*{\spinelen}%
\colorbox{white}{%
\begin{minipage}[t][\textheight]{\linewidth - \spinelen}
\vspace*{0pt}%
\vspace*{\stretch{1}}\par\noindent%
\textcolor{blue}{\fontsize{36pt}{40pt}\selectfont Title}
\par\vskip\baselineskip\noindent
\textcolor{blue}{\fontsize{25pt}{28pt}\selectfont Subtitle}
\par\vspace*{\stretch{5}}\par\noindent%
\normalcolor\Large%
Author1%
\par\noindent%
Author2%
\par\vskip2\baselineskip%
\par\vspace*{\stretch{2}}\noindent\normalcolor
\end{minipage}}
\clearpage
\ifxetex\pagecolor{white}\else\nopagecolor\fi%
\end{document}

答案1

您遭受的困扰是多种因素造成的。

  1. \begin{minipage}[t][\textheight]创建一个比\textheight

  2. 你有一个非零\parindent

  3. 你有一个非零\fboxsep(这被使用\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}

设置\parindent为零可避免必须\noindent在框中指定。可以通过设置来获得一些内部填充\leftskip

相关内容