mdframed 和 wrapfig

mdframed 和 wrapfig

在开始提问之前,我要为图片太大而道歉。我不得不用一些长文本来演示这个问题。


生成类似这样的内容:

我使用了以下命令:

\setlength{\intextsep}{-1.5pt}
\begin{boxedminipage}{\textwidth}
    \begin{wrapfigure}[3]{l}[0pt]{0pt}
        \includegraphics[width=0.5in]{Information.pdf}
        \hspace{-8pt}
    \end{wrapfigure}
    \lipsum[1-2]
\end{boxedminipage}

但是,boxedminipage不能跨页面拆分,因此我不得不使用mdframed上述方法这里所以,上面的代码就变成这样了:

\setlength{\intextsep}{-1.5pt}
\begin{mdframed}
    \begin{wrapfigure}[3]{l}[0pt]{0pt}
        \includegraphics[width=0.5in]{Information.pdf}
        \hspace{-8pt}
    \end{wrapfigure}
    \lipsum[1-2]
\end{mdframed}

不幸的是,效果并不像预期:

我怎样才能一起使用mdframedwrapfig

附言:framed软件包似乎没有受到此问题的影响;但是,它的输出不能满足我的目的:framed 关闭当框架跨页面边界分割时,重新开放下一页。这并不表明框架是待续下一页。要了解我的意思,请比较

\begin{framed}
    \lipsum
\end{framed}

\begin{mdframed}
    \lipsum
\end{mdframed}

答案1

除了使用wrapfig包之外,您还可以使用 TeX 原语\parshape来为图像“腾出空间”;类似这样的操作(当然,更改长度以使用最适合您需要的值):

\documentclass{article}
\usepackage[demo]{graphicx}
\usepackage{mdframed}
\usepackage{lipsum}

\newlength\mylena
\setlength\mylena{.6in}
\newlength\mylenb

\newenvironment{myframe}
  {\begin{mdframed}
    \setlength\mylenb{\linewidth}
    \addtolength\mylenb{-0.6in}
    \includegraphics[width=0.5in,height=0.5in]{Information.pdf}\par\vskip-3\baselineskip
    \parshape 4 0.6in \mylenb 0.6in \mylenb 0.6in \mylenb 0in \linewidth
  }
  {\end{mdframed}}

\begin{document}

\begin{myframe}
\lipsum[1-2]
\end{myframe}

\end{document}

在此处输入图片描述

我使用了包demo的选项graphicx来使我的示例可供所有人编译;请不要在实际代码中使用该选项。

答案2

您可以使用该包lettrine

在此处输入图片描述

这是 MWE:

\documentclass[12pt]{article}
\usepackage{graphicx}  
\usepackage{mdframed}
\usepackage{lettrine}
\usepackage{lipsum} % dummy text
\begin{document}
\begin{mdframed}
\lettrine[image,lines=3]{Information}{}
\lipsum[1]
\end{mdframed}
\end{document}

这个 MWE 需要一个Information.pdf具有适当宽度和高度的

信息符号尽管质量较低,但保存Information.png为对 MWE 来说还是不错的。

\usepackage[demo]{graphicx}对于具有或调整图片尺寸的演示,请将\lettrine行更改为:

\lettrine[lines=3]{\includegraphics[width=0.5in,height=0.5in]{Information}}

相关内容