我怎样才能实现这种布局?
┌────────────────┬──────────────────────────────┐
│ here │ zero, one or more │
│ is always │ lines of wrapping text │
│ a half │ aligned top │
│ page size │ │
│ image │ │
│ displayed │ one line text bottom aligned │
└────────────────┴──────────────────────────────┘
我考虑过使用小型页面,但不确定是否可行以及如何可行。
┌────────────────┬──────────────────────────────┐
│ here │ zero, one or more │
│ is always │ lines of text │
│ a half │──────────────────────────────┘
│ page size │
│ image │──────────────────────────────┐
│ displayed │ one line text bottom aligned │
└────────────────┴──────────────────────────────┘
还有其他常用方法吗?上方的文本框可以有多行、一行或无行。下方的文本框始终填充一行文本。两个文本框和它们之间的空白空间合起来应与它们左侧的图像高度相同。
编辑:拼写已更正,半页大小的意思是我希望能够在一页上添加两个这样的构造。
答案1
\documentclass{article}
\usepackage{graphicx}
\usepackage{lipsum}
\usepackage{calc}
\usepackage{linegoal}
\newlength\graphicheight
\setlength\graphicheight{\heightof{%
\includegraphics[width=.5\linewidth]{example-image}}}
\begin{document}
\noindent\includegraphics[width=.5\linewidth]{example-image}%
\quad%
\begin{minipage}[b][\graphicheight][b]{\linegoal}
\lipsum[1][1-3] \par\vfill \lipsum[2][1]
\end{minipage}
\end{document}
答案2
实施起来有点麻烦
\documentclass{article}
\usepackage{lipsum}
\usepackage[showframe]{geometry}
\newcommand*{\text}{Lorem ipsum dolor sit amet, con-
sectetuer adipiscing elit. Ut purus
elit, vestibulum ut, placerat ac, adip-
iscing vitae, felis. Curabitur dictum
gravida mauris. Nam arcu libero}
\begin{document}
\noindent%
\begin{minipage}[t][\textheight]{0.49\textwidth}
\text
\end{minipage}\hfill%
\begin{minipage}[t][\textheight]{0.49\textwidth}%
\begin{minipage}[t][0.5\textheight]{\textwidth}
\text
\end{minipage}%
\vfill%
\begin{minipage}[t][1em]{\textwidth}
Lorem ipsum dolor sit amet
\end{minipage}%
\end{minipage}
\end{document}