floatrow で横並びの数字を合わせる

floatrow で横並びの数字を合わせる

パッケージを使用して、テキストの幅に 2 つの図 (同じサイズ) を並べて配置しようとしています。 視覚化を向上させるために、オプションとmwe のfloatrowを使用します。 テキストの幅にぴったりと合わせるにはどうすればよいでしょうか?showframe\fbox

\documentclass[]{report}
\usepackage[a4paper,showframe]{geometry}
\usepackage{subcaption}
\usepackage{lipsum}
\usepackage{graphicx}
\usepackage{floatrow} 

\begin{document}


\lipsum[1]
\begin{figure}[htb!]
\ffigbox[\textwidth]
{\begin{subfloatrow}[2]\setlength\fboxsep{0pt}\setlength\fboxrule{0.75pt}\fbox{\ffigbox[0.49\textwidth]
{
    \caption{sidewalk perforation}
    \label{subfig:furadeira}
}
{   \setlength\fboxsep{0pt}
    \setlength\fboxrule{0.75pt}
    \fbox{\includegraphics[width=0.48\textwidth]{image1.jpg}}}
    \setlength\fboxsep{0pt}
    \setlength\fboxrule{0.75pt}}
    \fbox{\ffigbox[0.49\textwidth]
{
\caption{volatile organic compounds measurement}
\label{subfig:medicaomalha}
}
{
    \setlength\fboxsep{0pt}
    \setlength\fboxrule{0.75pt}
    \fbox{\includegraphics[width=0.48\textwidth]{image2.jpg}}
}}
\end{subfloatrow}
}
{
    \caption{Hot spot investigation}
    \label{fig:hotspot}
}
\end{figure}%
\lipsum[1]
\end{document}

ここに画像の説明を入力してください

答え1

デフォルトの floatseparator ( \columnsep) を変更する必要があります。数字の幅を考えると、定義済みのセパレーターはどれもここでは役に立ちませんが、 を使って簡単に定義できます\DeclareFloatSeparators

\documentclass[]{report}
\usepackage[a4paper,showframe]{geometry}
\usepackage{subcaption}
\usepackage{lipsum}
\usepackage{graphicx}
\usepackage{floatrow} 

\DeclareFloatSeparators{myfill}{\hskip.013\textwidth plus1fill}

\begin{document}

\lipsum[1]
\floatsetup[subfloat]{floatrowsep=myfill}
\begin{figure}[htb!]
\setlength\fboxsep{0pt}\setlength\fboxrule{0.75pt}
\ffigbox[\textwidth]
{
\begin{subfloatrow}[2]
%\fbox{
\ffigbox[.49\textwidth]
  {
    \caption{sidewalk perforation}
    \label{subfig:furadeira}
  }
  {
    \includegraphics[width=\linewidth]{example-image-a}%
  }
%}
%\fbox{
\ffigbox[.49\textwidth]
  {
    \caption{volatile organic compounds measurement}
    \label{subfig:medicaomalha}
  }
  {
    \includegraphics[width=\linewidth]{example-image-b}%
  }
%}
\end{subfloatrow}%
}
{
    \caption{Hot spot investigation}
    \label{fig:hotspot}
}
\end{figure}%
\lipsum[1]

\end{document}

ここに画像の説明を入力してください

最初のサブフレーズの左側にまだ不要な空白スペースがあることに注目してください。これはバグだと思いますfloatrow.sty(おそらく、%不要なスペースを削除するのを忘れたのでしょう)。

サブ図を余白にぴったりと合わせるには、subfloatrow の代わりに floatrow を使用し、\captionof{subfigure}{text...} を使用してキャプションを提供する回避策をお勧めします。

\documentclass[]{report}
\usepackage[a4paper,showframe]{geometry}
\usepackage{subcaption}
\usepackage{lipsum}
\usepackage{graphicx}
\usepackage{floatrow} 

\captionsetup[subfigure]{labelformat=parens,labelsep=space}

\begin{document}

\lipsum[1]

\begin{figure}[htb!]
\ffigbox[\textwidth]
  {
    \begin{floatrow}
    \ffigbox[\linewidth]
      {\captionof{subfigure}{sidewalk perforation}
      \label{subfig:furadeira}}
      {\includegraphics[width=\linewidth]{example-image-a}}
    \ffigbox[\linewidth]
      {\captionof{subfigure}{volatile organic compounds measurement}
      \label{subfig:medicaomalha}}
      {\includegraphics[width=\linewidth]{example-image-b}}
    \end{floatrow}%
  }
  {\caption{Hot spot investigation}\label{fig:hotspot}}
\end{figure}
\lipsum[1]

\end{document}

ここに画像の説明を入力してください

関連情報