使用 sidecap 和 iopart 减少额外空间

使用 sidecap 和 iopart 减少额外空间

有没有办法减少此 MWE 中图形和标题之间的空白:

\documentclass{iopart}
%\documentclass{article}
\usepackage{graphicx}
\usepackage{mwe}
\usepackage{sidecap}
\begin{document}
\begin{SCfigure}[50]
    \includegraphics[width=0.6\linewidth]{example-image-a}
    \caption{Long long long long long long long long long long long 
    long long long long long long long long long long long long long 
    long long long caption}
\end{SCfigure}
\end{document}

在此处输入图片描述

我希望它看起来更像article文档类中的同一个示例:

在此处输入图片描述

答案1

iopart这是缩进标题的结果;\mathindent在环境中将其设置为零SCfigure以避免出现该问题。

\documentclass{iopart}
\usepackage{graphicx}
\usepackage{sidecap}
\usepackage{etoolbox}

\usepackage{showframe} % just for the example

\AtBeginEnvironment{SCfigure}{\mathindent=0pt }

\begin{document}

\begin{SCfigure}[50]
\includegraphics[width=0.6\linewidth]{example-image-a}

\caption{Long long long long long long long long long long long 
  long long long long long long long long long long long long long 
  long long long caption}

\end{SCfigure}

\begin{figure}[htp]
\centering
\includegraphics[width=0.6\linewidth]{example-image-a}

\caption{Long long long long long long long long long long long 
  long long long long long long long long long long long long long 
  long long long caption}

\end{figure}

\end{document}

在此处输入图片描述

答案2

这有效:

\usepackage{xpatch}
\makeatletter
\patchcmd{\@makecaption}{\begin{indented}
\item[]}{}{}{err}
\patchcmd{\@makecaption}{\end{indented}}{}{}{err}
\makeatother

相关内容