全宽内的迷你页面

全宽内的迷你页面

我正在使用 Marco Daniel 的fullwidth包,详细在这个答案中。我希望我的所有文本fullwidth都是不可分割的(并且以长黑线开始和结束),所以我目前正在执行以下操作:

\documentclass[11pt,a4paper]{memoir}

\usepackage[outermargin=-4cm,]{fullwidth}

\begin{document}

\begin{minipage}{\linewidth}
\begin{fullwidth}[width=\linewidth+4cm]
\medskip

This is very long, but because it is in the fullwidth environment,
it extends into the full length of the page
before a line break occurs.

\medskip
\end{fullwidth}
\end{minipage}

\end{document}

这有效,但它确实给了我以下警告:

“全宽使用选项 nobreak 警告:\def 在输入第 15 行”

“包全宽警告:输入行 15 处的环境为空(全宽)。”

以及

“\hbox 过满”……

当我删除命令时,这些警告不再出现minipage。是什么导致了这些警告?我该如何消除它们?

另外,我可以定义一个宏,以便无论何时我写入\begin{fullwidth},LaTeX 都会自动执行\begin{minipage}{\linewidth} \begin{fullwidth}[width=\linewidth+4cm] \medskip吗?

更新:

@cmhughes 为“定义宏”问题提供了完美的解决方案。但是,他使用nobreakin 选项fullwidth代替 usingminipage不起作用。以下是问题要点:

如果我使用[leftmargin = -4cm]OR [outermargin = -4cm],则fullwidth文本在奇数页上会延伸到正确的边距(外边距),在偶数页上会延伸到错误的边距(内边距)。如果我使用[rightmargin = -4cm]OR [innermargin = -4cm],则fullwidth文本在偶数页上会延伸到正确的边距(外边距),在奇数页上会延伸到错误的边距(内边距)。问题就在这里:该nobreak选项搞乱了相对定位,因此outermargininnermargin只会表现得像leftmarginrightmargin

请阅读他的答案的评论,以获得更详细的讨论。截至目前,我正在寻找可以修复使用给出的警告minipage或可以nobreak正确使用该选项的东西......

答案1

我不确定我是否真的理解了这个问题,但是如果你想在全页面(或任何东西)中放置一些牢不可破的东西,我会期望小页面位于环境内部而不是外部。

\begin{fullwidth}[width=\linewidth+4cm]
\noindent\begin{minipage}{\linewidth}

不会产生任何警告并产生合理的输出。

答案2

除了使用minipage来阻止环境分裂之外,您还可以使用选项nobreak

除此之外,\medskip您还可以使用选项innertopmargin和,而不是使用innerbottommargin

在下面的代码中,我插入了一个人工代码vspace,只是为了测试块是否保持在一起,并且不会跨页

\documentclass[11pt,a4paper]{memoir}
\usepackage{lipsum}
\usepackage[outermargin=-4cm,]{fullwidth}

\begin{document}

\lipsum[1]
\vspace{8.5cm}
\lipsum[1]
\begin{fullwidth}[innermargin=-2cm,width=\linewidth+4cm,nobreak]
This is very long, but because it is in the fullwidth environment,
it extends into the full length of the page
before a line break occurs.
\end{fullwidth}

\end{document}

您可以创建自己的环境

\newenvironment{myfullwidth}{\begin{fullwidth}[width=\linewidth+4cm,nobreak]}%
{\end{fullwidth}}

可以用作

\begin{myfullwidth}
\lipsum[2]
\end{myfullwidth}

相关内容