![文本流经框架](https://linux22.com/image/463688/%E6%96%87%E6%9C%AC%E6%B5%81%E7%BB%8F%E6%A1%86%E6%9E%B6.png)
我正在排版一本包含两段文本的书。
文本 1 是常规文本。文本 2 我希望它流经页面底部定义的框架,所有框架的宽度相同,但高度可变。
我知道如何使用 FLOWFRAM 包和静态框架来实现这一点。我也可以用其他方法来实现。但我不想手动破坏我的文本。我希望文本流经页面底部的框架(动态框架),而另一个文本流经顶部。
显然,使用 indesign 可以轻松实现这一点。有没有办法在 Latex 中做到这一点?请参阅我的 MWE。我可以在底部框架中制作文本流,但如何在页面顶部制作另一个文本流?
\documentclass[a5paper]{book}
\usepackage{lipsum}
\usepackage{flowfram}
\newflowframe [1-2]
{\textwidth}
{7cm}
{0\textwidth}
{0\textheight}
[Frame1]
\newflowframe [3-5]
{\textwidth}
{3cm}
{0\textwidth}
{0\textheight}
[Frame2]
\newflowframe [6-7]
{\textwidth}
{5cm}
{0\textwidth}
{0\textheight}
[Frame3]
\begin{document}
\lipsum{1}
\end{document}
答案1
一种解决方案是将每段文本放在单独的 pdf 中,每个框架应为一整页,并将该文件的页面用作以任意顺序混合在最终文档中的图像。在 MWE 中,这些图像被框起来以\fbox
显示每页的确切尺寸。
如果这些图像必须按常规顺序包含(第 1 页中的 A1 和 B1,第 2 页中的 A2 和 B2,等等),使用循环,您甚至可以用几行代码混合大型文本。MWE 表明,\lipsum[1-10]
5 页的 PDF(横向 A6 纸)中的红色(假拉丁文)打印在五个顶部框架中,而另一个类似的 PDF 中的蓝色\kant[1-7]
(康德风格的无意义英语文本)打印在底部框架中。
根据您的确切目标,您可能还希望裁剪每个源 pdf 页面以pdfcrop
避免原始边距和垂直顶部或底部间隙。然后每页将具有随机高度甚至不同的宽度(MWE 显示第 9 帧明显较小,因为所有页面都已裁剪)。请注意,使用相对于文本布局大小的裁剪图像可能会产生意外的字体大小不一致(但在本 MWE 中不会出现这种情况)。
梅威瑟:
lipsum.tex
来源(kant.tex
之后也可以使用它来修改虚拟文本和颜色):
\documentclass[a6paper,landscape]{article}
\usepackage{lipsum,kantlipsum,xcolor}
\usepackage[margin=1cm]{geometry}
\pagestyle{empty}
\begin{document}
\color{red!30!black}
\section{Lipsum}
\lipsum[1-10] %\kant[1-7]
\end{document}
lipsum-crop.pdf
和kant-crop.pdf
:
pdfcrop lipsum.pdf
pdfcrop kant.pdf
主要文件:
\documentclass{article}
\usepackage{graphicx}
\usepackage[margin=2cm]{geometry}
\usepackage{ifthen}
\begin{document}
\whiledo{\value{page}<6}{%
\fbox{\includegraphics[page=\thepage,
height=.45\textheight,width=\linewidth,keepaspectratio]{lipsum-crop.pdf}}\par
\vspace{\fill}
\fbox{\includegraphics[page=\thepage,
height=.45\textheight,width=\linewidth,keepaspectratio]{kant-crop.pdf}}
\newpage}%
\end{document}