我在每个页面的右下角都放置了一个方形徽标(使用绝对定位和 tikz 放置),它相当大。我希望文本能够围绕徽标流动/环绕 - 可以这样做吗?
例如,我想要类似下面的内容,其中(a
是文本,l
是徽标)
+--------------+
| aaaaaaaaaaaa |
| aaaaaaaaaaaa |
| aaaaaaaaaaaa |
| aaaaa +------+
| aaaaa | llll |
| aaaaa | llll |
+------ +------+
编辑,下面是文本和徽标重叠的示例:
\documentclass{article}
\usepackage[letterpaper,margin=1in]{geometry}
\usepackage{tikz}
\usepackage{lipsum}
\begin{document}
\begin{tikzpicture}[remember picture,overlay]
\node [shift={(-2 in, 2 in)}] at (current page.south east) {
\rule{2in}{2in}
};
\end{tikzpicture}
\lipsum[1-8]
\end{document}
这将生成以下文档
您会注意到右下角的块覆盖了一些文本,我想通过让其环绕文本来避免这种情况。徽标很大,所以我不想让它占用页脚空间。
答案1
您可以使用\parshape
指定不规则的段落形状,后续段落应遵循该形状。这仅有的适用于后续段落,并应为下一个段落重新定义。这是可行的,因为图像足够小,以至于最多两个段落可能因添加徽标而“受到影响”。
由于\parshape
适用于特定段落,而段落取决于文档内容,因此很难自动执行此过程。请记住,您正在制作徽标作为tikz
overlay
,因此 TeX 在排版时不知道有“某些东西”。但是,在手动操作时,环绕徽标没有问题。
以下是 MWE:
\documentclass{article}
\usepackage[letterpaper,margin=1in]{geometry}% http://ctan.org/pkg/geometry
\usepackage{tikz}% http://ctan.org/pkg/pgf
\usepackage{lipsum}% http://ctan.org/pkg/lipsum
\begin{document}
\begin{tikzpicture}[remember picture,overlay]
\node [shift={(-2 in, 2 in)}] at (current page.south east) {
\rule{2in}{2in}
};
\end{tikzpicture}
\lipsum[1-6]
% Special paragraph formatting
\parshape=2 % 2 lines will be affected
0pt \linewidth % One regular line
0pt \dimexpr\linewidth-2in-1ex\relax % one (and remaining paragraph) reduced line
\lipsum[7]
% Special paragraph formatting
\parshape=5 % 5 lines will be affected
0pt \dimexpr\linewidth-2in-1ex\relax % Four reduced lines
0pt \dimexpr\linewidth-2in-1ex\relax
0pt \dimexpr\linewidth-2in-1ex\relax
0pt \dimexpr\linewidth-2in-1ex\relax
0pt \linewidth % one (and remaining paragraph) at regular width
\lipsum[8]
\end{document}
\parshape=<n> <i1> <l1> <i2> <l2> ...
设置段落中后续行的行i
缩进和行宽。如果段落继续超过行,则使用最后设置的行缩进和行宽。l
<n>
<n>
<i> <l>
对于调整格式后的第一段,二线条的格式为(
\parshape=2
):第一行有i
ndent0pt
和l
ine 宽度\linewidth
,而第二行及后续行有i
ndent0pt
和l
ine 宽度\linewidth-2in-1ex
,这会1ex
在徽标边界和文本之间留出间隙。对于需要调整格式的第二段,五行格式(
\parshape=5
):四行有i
缩进0pt
和l
行宽\linewidth-2in-1ex
,最后一行及后续行有i
缩进0pt
和l
行宽\linewidth
,恢复传统段落形状。
答案2
这个软件包有可能wrapfig
就是您所需要的解决方案。