wrapfigure 和 chemstyle 的问题

wrapfigure 和 chemstyle 的问题

我在将文本环绕在图形周围时遇到了问题。以下示例演示了这个问题,文本没有环绕在图形周围。通过禁用该chemstyle包,一切都可以正常工作。但是,我依赖于该chemstyle包。您知道任何解决方法吗?或者为什么该chemstyle包会阻止文本环绕所包含的图形?

\documentclass[12pt,a4paper,captions=nooneline,twoside]{scrreprt} 
\usepackage[onehalfspacing]{setspace} 
\usepackage[paper=a4paper,left=30mm,right=20mm,top=25mm,bottom=25mm]{geometry} 

\usepackage{wrapfig}
\usepackage{lipsum} 
\usepackage{graphicx} 
\usepackage{chemstyle} 


\begin{document} 

\chapter{Test}


\lipsum[1]
\begin{wrapfigure}{r}{0.5\textwidth}
  \begin{center}
    \includegraphics[width=0.48\textwidth]{figure}
  \end{center}
  \caption{A gull}
\end{wrapfigure}
\lipsum[1]



\end{document}

答案1

我的问题没有得到任何澄清,因此我假设 MJK 的问题是我在运行样本时看到的。

由于 center 环境导致图片上下有多余的空格。应使用\centering命令替换。

图片太小,因为 floatrow 包重新定义了 wrapfigure 环境,将 的值更改\textwidth为图形的宽度。它对所有图形类型都这样做,这在双列文档中很令人困惑!(在问题中,0.5\textwidth双列文档中的宽度也会很糟糕。)

忍受 floatrow.sty 的滑稽\textwidth意味着避免它并使用更合适的线宽参数。

\begin{wrapfigure}{r}{0.5\columnwidth}
  \centering
    \includegraphics[width=0.95\linewidth]{figure}
  \caption{A gull}
\end{wrapfigure}

答案2

这里有一个解决方法,使用\InsertBoxR来自纯 TeX 宏包的命令。此命令有两个强制参数:段落开头未缩短的行数和要插入的框,以及一个可选参数(在末尾!)——要缩短的补充行数,以防 IeX 无法计算正确的较短行数。它似乎与 不冲突chemstyle

\documentclass[12pt,a4paper,captions=nooneline,twoside]{scrreprt}
\usepackage[onehalfspacing]{setspace}
\usepackage[paper=a4paper,left=30mm,right=20mm,top=25mm,bottom=25mm]{geometry}
\usepackage{wrapfig}
\usepackage{lipsum}
\usepackage{graphicx}
\usepackage{chemstyle}
\input{insbox.tex}

\begin{document}

\chapter{Test}

\lipsum[1]

\InsertBoxR{2}{%
\parbox{0.5\textwidth}{\raggedleft\includegraphics[width=0.48\textwidth]{TasmanianDevil}\\
\captionof{figure}{The Tasmanian Devil}}
}[5]
\lipsum[1]

\end{document} 

在此处输入图片描述

相关内容