将图像完美地定位在文本之上

将图像完美地定位在文本之上

出于好奇,在 LaTeX 中可以有以下布局吗?

即图像位于文本上方,文本自动停止在图像的边界上。左右边距可能相同,但左右边距可以不同吗?

在此处输入图片描述

答案1

基于这个完美回答,使用pullquote环境,以下代码可能会有帮助:

\documentclass{article}
\usepackage{tikz}
\usepackage{lipsum,graphicx}
\usepackage[latin]{babel}
\usepackage{pullquote}

\usetikzlibrary{shapes,backgrounds,calc}

\def\mygraphic
{%
  \begin{tikzpicture}
    \node (0,0) {\includegraphics[width=4cm]{example-image-a}};
  \end{tikzpicture}%
}

\begin{document}

\begin{pullquote}{shape=rectangular,object=\mygraphic}
  \lipsum[1-4]
\end{pullquote}

\end{document}

在此处输入图片描述

答案2

wrapfig实际上并不适合这个 - 我意识到 - 感谢@永劫回帰提出的有趣问题(包文档特别警告:“它确实在双列格式下工作,但是你的数字有那么小吗?”相反,@ferahfeza 之前的答案似乎更接近标准!

但仍然有些情况下,人们会不断尝试自己的方式……甚至达不到完美的成功。试验应该我认为,至少从开发人员的角度来看,数量是最重要的。因此,我发布这个答案时完全意识到它可能太笨拙而难以实现(至少当有一个简单的 时pullquote),但可以将wrapfigure环境扩展到其开发人员 Donald Arseneau 在 16 年前创建它时可能没想到的地方!

以下是我定制的解决方案,灵感来自ctan 文档

\documentclass[twocolumn]{article}
\usepackage{lipsum,graphicx,wrapfig}
\begin{document}

\lipsum[1]

\begin{wrapfigure}[15]{r}[0.35\columnwidth]{5.2cm}
\includegraphics[width=5cm,height=10\baselineskip]{example-image-a}
\caption{This wrapfigure spans two-columns of text}
\end{wrapfigure}

\lipsum[3-5]  %  deciding the break is vital to the 
              %  nice functioning of a 2-col wrapfigure

\begin{wrapfigure}[17]{l}[0.35\columnwidth]{5.2cm}
%  this only creates free space without inserting anything
\end{wrapfigure}

\lipsum[6-7]

\end{document}

制作这个输出

在此处输入图片描述

相关内容