我在将文本环绕在图形周围时遇到了问题。以下示例演示了这个问题,文本没有环绕在图形周围。通过禁用该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}