我正在尝试使用下面的 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
您遭受的困扰是多种因素造成的。
\begin{minipage}[t][\textheight]
创建一个比\textheight
你有一个非零
\parindent
你有一个非零
\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
。