
floatrow
Ich versuche, mithilfe des Pakets zwei nebeneinander liegende Abbildungen (mit derselben Größe) in die Breite des Textes einzupassen . Ich verwende die showframe
Option und das \fbox
in mwe zur besseren Visualisierung. Wie kann ich sie perfekt in die Textbreite einpassen?
\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}
Antwort1
Sie müssen den standardmäßig \columnsep
verwendeten floatseparator ( ) ändern. Angesichts der Breite Ihrer Zahlen ist hier keiner der vordefinierten Trenner von Nutzen, Sie können jedoch problemlos einen definieren mit \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}
Beachten Sie, dass links neben dem ersten Unterabschnitt immer noch ein sporadischer Leerraum vorhanden ist. Ich vermute, dass es sich hier um einen Fehler handelt floatrow.sty
(höchstwahrscheinlich wurde versucht, %
einen sporadischen Leerraum zu löschen).
Um die Unterfiguren perfekt an den Rändern auszurichten, würde ich Ihnen einen Workaround vorschlagen, bei dem Sie floatrow statt subfloatrow verwenden und \captionof{subfigure}{text...} zur Bereitstellung der Bildunterschriften verwenden:
\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}