我有一份很长的两栏文档。在其中一页中,我添加了一个图形,该图形正好横跨该页面的右半部分并触及边缘;使用以下代码完成:
\begin{tikzpicture}[remember picture,overlay]
\node[anchor =north east, inner sep=0pt,outer sep=0pt] at (current page.north east) {\includegraphics[width=0.5\paperwidth,height=\paperheight]{gfx/portraitmod}};
\end{tikzpicture}
问题是右列的文本刚好流过图像,看起来非常丑陋。
我怎样才能告诉 Latex 不要使用给定页面(例如,此页面)的左列或右列,而不干扰任何其他排版?
答案1
选项overlay
使tikzpicture
图片不占用空间,因此文本会溢出图片。仅供参考,remember picture
允许您使用页面锚点,例如current page.north east
。此外,您必须使用\columnwidth
和 ,\textheight
而不是\paperwidth
和\paperheight
。
解决方案是删除overlay
选项。
\documentclass[twocolumn]{article}
\usepackage{tikz}
\usepackage{lipsum}
\begin{document}
\lipsum[1-3]
\begin{tikzpicture}[remember picture]
\node[anchor =north east, inner sep=0pt,outer sep=0pt] at (current page.north east)
{\includegraphics[width=\columnwidth,height=\textheight]{example-image}};
\end{tikzpicture}
\end{document}
另一方面,如果你想让图形覆盖右侧纸,使用afterpage
包并发出\afterpage{\mbox{}\pagebreak}
:
\documentclass[twocolumn]{article}
\usepackage{tikz,afterpage}
\usepackage{lipsum}
\begin{document}
\afterpage{\mbox{}\pagebreak}
\lipsum[1]
\begin{tikzpicture}[remember picture,overlay]
\node[anchor =north east, inner sep=0pt,outer sep=0pt] at (current page.north east)
{\includegraphics[width=0.5\paperwidth,height=\paperheight]{example-image}};
\end{tikzpicture}
\lipsum
\end{document}