神秘的幽灵边距——是 minipage 的错吗?

神秘的幽灵边距——是 minipage 的错吗?

我正在尝试为 A4 纸文档创建一个基本模板。当我尝试在 Latex 中进行任何形式的精确操作时,似乎总是会出现令人讨厌的随机边距。

A4 纸的高度正好是 297 毫米,宽度正好是 210 毫米。我使用的是全页包[cm],因此剩余的可用高度应为 277 毫米,宽度应为 190 毫米。但是,如果我创建一个或多个小页面(一个页面叠在另一个页面上),我预计它们的累计高度应为 277 毫米,累计宽度(每行)应为 190 毫米。但是,\begin{minipage}[c][277mm][c]{190mm}导致 Latex 发出警告,

  • 太宽了28.45273pt \hbox(正好是 1cm),并且
  • \vbox太高了 53.45273pt (1.89cm )

并将该宽度/高度分配到几个小页面之间会导致换行符和新页面。

我怎样才能去除所有这些边距,以便实现精确到毫米的模板。我稍后会添加适当的边距,但我希望能够控制它们。

也许有更好的 documentclass 来处理(相当简单的)单页文档?我认为 beamerposter 对于我想要做的事情来说有点太过了。


以下是 MWE:

\documentclass[a4paper]{article}
\usepackage[cm]{fullpage}
\usepackage{ngerman}
\usepackage[utf8]{inputenc}

\pagestyle{empty}
\pagenumbering{gobble}
\setlength{\parindent}{0pt}

\begin{document}

\begin{minipage}[c][277mm][c]{190mm}
\it Lorem ipsum
\end{minipage}

\end{document}

答案1

您的minipage页面比文档的文本区域大。要查看此内容,请添加showframe包并\fbox围绕“minipage”:

\documentclass[a4paper]{article}
\usepackage[cm]{fullpage}
\usepackage{ngerman}
\usepackage[utf8]{inputenc}

\pagestyle{empty}
\pagenumbering{gobble}
\setlength{\parindent}{0pt}
%---------------- show page layout. don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%

\begin{document}

\fbox{\begin{minipage}[c][277mm]{190mm}
\it Lorem ipsum
\end{minipage}%
    }
\end{document}

页面下部为:

在此处输入图片描述

(红线表示页面布局,黑线表示minipage边框\fbox{...}

由于minipage大于文本区域,因此它被推送到下一页。

为什么你喜欢有这么大的页面,不清楚。但是,你可以用以下尺寸删除这个警告。minipae你可以减少/删除

\setlength\fboxsep{0pt}
\addtolength\fboxsep{-2\fboxrule}
\fbox{\begin{minipage}[c][\textheight]{\textwidth}
\it Lorem ipsum
\end{minipage}%
    }

答案2

事实证明,它fullpage[1cm]并没有像预期的那样发挥作用。当使用显然更精确的包设置边距时,它可以正常工作geometry

\documentclass[a4paper]{article}
\usepackage[margin=1cm]{geometry}
\usepackage{ngerman}
\usepackage[utf8]{inputenc}
\usepackage{units}
\usepackage{calc}

\pagestyle{empty}
\pagenumbering{gobble}
\setlength{\parindent}{0pt}
\setlength{\parskip}{0pt}
% these are not strictly necessary
\setlength{\footskip}{0pt}
\setlength{\marginparwidth}{0pt}

相关内容