如何在不使用 \afterpage 的情况下手动拆分段落?

如何在不使用 \afterpage 的情况下手动拆分段落?

因此我编写了一个 LaTeX 包,它可以给我整页浮动:https://tex.stackexchange.com/a/84312/13450

不幸的是,它引入了硬分页符。

\documentclass[a5paper]{memoir}
\usepackage{picturepage}
\usepackage{mwe}
\begin{document}
\blindtext\blindtext

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Etiam
lobortis facilisis sem. Nullam nec mi et neque pharetra sollicitudin.
Praesent imperdiet mi nec ante. Donec ullamcorper, felis non sodales
commodo, lectus velit ultrices augue, a dignissim nibh lectus
placerat pede. Vivamus nunc nunc, molestie ut, ultricies vel, semper
in, velit. Ut porttitor. Praesent in sapien. Lorem ipsum dolor
sit amet, consectetuer adipiscing elit. Duis fringilla tristique neque.
Sed interdum libero ut metus. Pellentesque placerat. Nam rutrum
augue a leo. Morbi sed elit sit amet ante lobortis sollicitudin. Praesent
blandit blandit mauris. Praesent lectus tellus, aliquet aliquam,
luctus a, egestas a, turpis. Mauris lacinia lorem sit amet ipsum.
Nunc quis urna dictum turpis accumsan semper. Lorem ipsum dolor
sit amet, consectetuer adipiscing elit. Etiam lobortis facilisis sem.
Nullam nec mi et neque pharetra sollicitudin. Praesent imperdiet
mi nec ante. Donec ullamcorper, felis non sodales commodo, lectus
velit ultrices augue, a dignissim nibh lectus placerat pede. Vivamus
nunc nunc, molestie ut, ultricies vel, semper in, velit. Ut porttitor.
Praesent in sapien. Lorem ipsum dolor sit amet, consectetuer
adipiscing elit. Duis fringilla tristique neque. Sed interdum libero
ut metus. Pellentesque placerat. Nam rutrum augue a leo. Morbi
sed elit sit amet ante lobortis sollicitudin. Praesent blandit blandit
mauris. Praesent lectus tellus, aliquet aliquam, luctus a, egestas a,
turpis. Mauris lacinia lorem sit amet ipsum. Nunc quis urna dictum
turpis accumsan semper.
\picturepage{example-image-a}{Full-page image.}{fig:a}

\blindtext\blindtext

\blindtext\blindtext\blindtext\blindtext
\end{document}

因此,这显然会引入丑陋的分页符(图像后的页面未显示)。

丑陋的分页符

现在通常\afterpage对于这类情况来说是完美的。

\documentclass[a5paper]{memoir}
\usepackage{picturepage}
\usepackage{mwe}
\usepackage{afterpage}
\begin{document}
\blindtext\blindtext

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Etiam
lobortis facilisis sem. Nullam nec mi et neque pharetra sollicitudin.
Praesent imperdiet mi nec ante. Donec ullamcorper, felis non sodales
commodo, lectus velit ultrices augue, a dignissim nibh lectus
placerat pede. Vivamus nunc nunc, molestie ut, ultricies vel, semper
in, velit. Ut porttitor. Praesent in sapien. Lorem ipsum dolor
sit amet, consectetuer adipiscing elit. Duis fringilla tristique neque.
Sed interdum libero ut metus. Pellentesque placerat. Nam rutrum
augue a leo. Morbi sed elit sit amet ante lobortis sollicitudin. Praesent
blandit blandit mauris. Praesent lectus tellus, aliquet aliquam,
luctus a, egestas a, turpis. Mauris lacinia lorem sit amet ipsum.
Nunc quis urna dictum turpis accumsan semper. Lorem ipsum dolor
sit amet, consectetuer adipiscing elit. Etiam lobortis facilisis sem.
Nullam nec mi et neque pharetra sollicitudin. Praesent imperdiet
mi nec ante. Donec ullamcorper, felis non sodales commodo, lectus
velit ultrices augue, a dignissim nibh lectus placerat pede. Vivamus
nunc nunc, molestie ut, ultricies vel, semper in, velit. Ut porttitor.
Praesent in sapien. Lorem ipsum dolor sit amet, consectetuer
adipiscing elit. Duis fringilla tristique neque. Sed interdum libero
ut metus. Pellentesque placerat. Nam rutrum augue a leo. Morbi
sed elit sit amet ante lobortis sollicitudin. Praesent blandit blandit
mauris. Praesent lectus tellus, aliquet aliquam, luctus a, egestas a,
turpis. Mauris lacinia lorem sit amet ipsum. Nunc quis urna dictum
turpis accumsan semper.
\afterpage{\picturepage{example-image-a}{Full-page image.}{fig:a}}

\blindtext\blindtext

\blindtext\blindtext\blindtext\blindtext
\end{document}

由于某种原因我一直无法弄清楚,至少对于memoir,这种用法\afterpage彻底毁掉了之后的页面\picturepage

完美的分页符,搞砸了下一页

现在,回到更手动的方法,人们可以注意到 LaTeX 在“amet ipsum”之后中断了第一页。因此,在那里引入分页符当然会将一个段落分成两个段落。但只要这个事实可以在视觉上被隐藏,这将是一个可行的解决方案(不是一个好的解决方案,更不用说一个漂亮的解决方案......但它可以做到)。不幸的是,我不知道如何告诉 LaTeX 它应该像以前一样排版段落的前半部分。第二个是一个简单的问题\noindent

\documentclass[a5paper]{memoir}
\usepackage{picturepage}
\usepackage{mwe}
\begin{document}
\blindtext\blindtext

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Etiam
lobortis facilisis sem. Nullam nec mi et neque pharetra sollicitudin.
Praesent imperdiet mi nec ante. Donec ullamcorper, felis non so-
dales commodo, lectus velit ultrices augue, a dignissim nibh lectus
placerat pede. Vivamus nunc nunc, molestie ut, ultricies vel, sem-
per in, velit. Ut porttitor. Praesent in sapien. Lorem ipsum dolor
sit amet, consectetuer adipiscing elit. Duis fringilla tristique neque.
Sed interdum libero ut metus. Pellentesque placerat. Nam rutrum
augue a leo. Morbi sed elit sit amet ante lobortis sollicitudin. Prae-
sent blandit blandit mauris. Praesent lectus tellus, aliquet aliquam,
luctus a, egestas a, turpis. Mauris lacinia lorem sit amet ipsum.
\picturepage{example-image-a}{Full-page image.}{fig:a}
\noindent Nunc quis urna dictum turpis accumsan semper. Lorem ipsum dolor
sit amet, consectetuer adipiscing elit. Etiam lobortis facilisis sem.
Nullam nec mi et neque pharetra sollicitudin. Praesent imperdiet
mi nec ante. Donec ullamcorper, felis non sodales commodo, lectus
velit ultrices augue, a dignissim nibh lectus placerat pede. Vivamus
nunc nunc, molestie ut, ultricies vel, semper in, velit. Ut portti-
tor. Praesent in sapien. Lorem ipsum dolor sit amet, consectetuer
adipiscing elit. Duis fringilla tristique neque. Sed interdum libero
ut metus. Pellentesque placerat. Nam rutrum augue a leo. Morbi
sed elit sit amet ante lobortis sollicitudin. Praesent blandit blandit
mauris. Praesent lectus tellus, aliquet aliquam, luctus a, egestas a,
turpis. Mauris lacinia lorem sit amet ipsum. Nunc quis urna dictum
turpis accumsan semper.

\blindtext\blindtext

\blindtext\blindtext\blindtext\blindtext

\end{document}

分页符前的最后一行不再完整

所以我希望您能够看到(并且这是预期的行为),分页符之前段落的最后一行不再对齐,从而破坏了两页上段落连贯的印象。

我如何让 LaTeX 像以前一样排版分页符之前的最后一段,而不是最后一行不齐?当然,如果您知道如何在其他时候解决我的问题,特别是通过修复行为afterpage,那至少会同样受到赞赏。

如果这对我混乱的picturepage包来说太具体或者不够简洁,我深表歉意,因为我正在使用这大块代码,但我觉得最好提供一个体面的动机,而不仅仅是问“我该如何拆分一个段落但我不想afterpage因为原因!”

答案1

不清楚为什么需要手动分段和分页,或者使用afterpage。标准图形环境可以在段落中间使用而不会干扰行或分页,图形将插入到下一个可用的分页符处。我用它sidewaysfigure来进行旋转,但插入行为是相同的。

在此处输入图片描述

\documentclass[a5paper]{memoir}
\usepackage{rotating,blindtext}

\begin{document}
\blindtext\blindtext

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Etiam
lobortis facilisis sem. Nullam nec mi et neque pharetra sollicitudin.
Praesent imperdiet mi nec ante. Donec ullamcorper, felis non so-
dales commodo, lectus velit ultrices augue, a dignissim nibh lectus
placerat pede. Vivamus nunc nunc, molestie ut, ultricies vel, sem-
per in, velit. Ut porttitor. Praesent in sapien. Lorem ipsum dolor
sit amet, consectetuer adipiscing elit. Duis fringilla tristique neque.
Sed interdum libero ut metus. Pellentesque placerat. Nam rutrum
augue a leo. Morbi sed elit sit amet ante lobortis sollicitudin. Prae-
sent blandit blandit mauris. Praesent lectus tellus, aliquet aliquam,
luctus a, egestas a, turpis. Mauris lacinia lorem sit amet ipsum!
\begin{sidewaysfigure}[p]
\includegraphics[width=\columnwidth]{example-image-a}
\caption{Full-page image.\label{fig:a}}
\end{sidewaysfigure}
Nunc quis urna dictum turpis accumsan semper. Lorem ipsum dolor
sit amet, consectetuer adipiscing elit. Etiam lobortis facilisis sem.
Nullam nec mi et neque pharetra sollicitudin. Praesent imperdiet
mi nec ante. Donec ullamcorper, felis non sodales commodo, lectus
velit ultrices augue, a dignissim nibh lectus placerat pede. Vivamus
nunc nunc, molestie ut, ultricies vel, semper in, velit. Ut portti-
tor. Praesent in sapien. Lorem ipsum dolor sit amet, consectetuer
adipiscing elit. Duis fringilla tristique neque. Sed interdum libero
ut metus. Pellentesque placerat. Nam rutrum augue a leo. Morbi
sed elit sit amet ante lobortis sollicitudin. Praesent blandit blandit
mauris. Praesent lectus tellus, aliquet aliquam, luctus a, egestas a,
turpis. Mauris lacinia lorem sit amet ipsum. Nunc quis urna dictum
turpis accumsan semper.

\blindtext\blindtext

\blindtext\blindtext\blindtext\blindtext

\end{document}

相关内容