我正在尝试将一个小图形放在浮动框中;图片本身不需要浮动,它应该只与框一起浮动。我一直在对 minipages 进行一些调整,但这需要反复试验。我一直认为该wrapfig
软件包可以做到这一点,但它似乎与我用来制作框的 floatrow 软件包发生了奇怪的干扰。
梅威瑟:
\documentclass{article}
\usepackage[demo]{graphicx}
\usepackage{wrapfig}
\usepackage{lipsum}
\usepackage{floatrow}
\DeclareNewFloatType{Box}{
name=Box,
placement=htbp,
fileext=lob}
\floatsetup[Box]{
style=BOXED,
capposition=top,
justification=justified}
\newenvironment{BOX}[2][htbp]{%
\begin{Box}[#1]
\ifx\relax#2\relax\else\caption{\textbf{#2}}\fi
}{\end{Box}}
\newenvironment{BOX*}[2][htbp]{%
\begin{Box*}[#1]
\ifx\relax#2\relax\else\caption{\textbf{#2}}\fi
}{\end{Box*}}
\begin{document}
\title{Title}
\maketitle
\begin{BOX}{First box}
\begin{minipage}[t][1\totalheight][c]{0.3\columnwidth}%
\vspace{0pt}
\includegraphics[width=1\textwidth,height=0.2\textheight]{foo}%
\end{minipage}\hspace{0.03\textwidth}%
\begin{minipage}[t]{0.67\columnwidth}%
\vspace{0pt}
\lipsum[1]
\end{minipage}
\lipsum[3]
\end{BOX}
\begin{BOX}{Second box}
\begin{wrapfigure}{l}{0.4\textwidth}
\includegraphics[width=1\textwidth,height=0.2\textheight]{foo}%
\end{wrapfigure}
\lipsum[2]
\end{BOX}
\end{document}
答案1
这是使用 的拙劣的 wrapfig \hangindent
。图像在缩进开始之前以 vmode 绘制。添加\leavevmode
也会导致其缩进。
注意: \hangindent
用途非常广泛。如您所见,负值会将\hangafter
其从悬挂缩进更改为常规缩进。负值会\hangindent
导致右边距悬挂/缩进。
\documentclass{article}
\usepackage{mwe}
\begin{document}
\begin{figure}
\fbox{\begin{minipage}{\dimexpr \textwidth-2\fboxsep-2\fboxrule}
\abovecaptionskip=0pt
\caption{Floating Box}%
\sbox0{\includegraphics[scale=0.25]{example-image}}% get height and width
\hangafter \numexpr -\ht0/\baselineskip -2\relax% adds two blank lines at bottom
\hangindent \dimexpr \wd0 + 1em\relax% adds 1em margin on right
\vbox{\raisebox{-\height}[0pt][0pt]{\box0}}\vspace{-1ex}% overlap image
\lipsum[1]
\end{minipage}}
\end{figure}
\end{document}