Falsche Ausrichtung der Bildunterschrift mit Minipage und Adjustwidth

Falsche Ausrichtung der Bildunterschrift mit Minipage und Adjustwidth

Ich versuche, zwei übergroße Abbildungen nebeneinander auf einer Seite unterzubringen. Ich habe versucht, Minipage und Breitenanpassung zu verwenden, aber die Beschriftung der zweiten Abbildung wurde immer wieder nach links verschoben, wie unten gezeigt.

Ich habe versucht, mehrere scheinbar verwandte Fragen zu lesen, konnte das aber nicht herausfinden. Ich habe versucht, nach einem der Vorschläge subfigure zu verwenden, aber das schien noch schlimmer zu sein.

Ich bin für jeden Tipp dankbar. Danke.

\documentclass{article} % letter paper and 11pt font 
\usepackage[space]{grffile} % for filenames with spaces
\usepackage{float} 
\usepackage{graphicx} 
\usepackage{chngpage}
\usepackage{caption}
\usepackage{calc}
\begin{document}

\begin{minipage}[t]{.5\textwidth}     % example that almost works
        \begin{figure}[H] 
            \begin{adjustwidth}{-\oddsidemargin-1in}{-\rightmargin}
            \centering 
            \caption{Schooling Time Shares}
            \includegraphics[scale=0.5]{Schooling Time Share over Time.png} 
            \end{adjustwidth}
    \end{figure}
\end{minipage}% 
\begin{minipage}[t]{.5\textwidth}
        \begin{figure}[H] 
            \begin{adjustwidth}{\oddsidemargin-0.8in}{-\rightmargin}
            \centering 
            \caption{Training Time Shares}
            \includegraphics[scale=0.5]{Training Time Share over Time.png} 
            \end{adjustwidth}
        \end{figure}
\end{minipage}

\end{document}

Timesharing

Update: Nach Micos Expertenvorschlägen habe ich Folgendes versucht:

\begin{figure}[ht!] 
\begin{adjustwidth}{-1.85cm}{-1.75cm}  % choose margin adjustments
\begin{minipage}{0.48\linewidth}
\caption{Schooling Time Shares}
\includegraphics[scale=0.5]{Schooling Time Share over Time.png} 
\end{minipage}
\hspace*{\fill}  % spread out the two minipages
\begin{minipage}{0.48\linewidth}
\caption{Training Time Shares}
\includegraphics[scale=0.5]{Training Time Share over Time.png}
\end{minipage} 
\end{adjustwidth}
\end{figure}

was die folgende Ausgabe erzeugte:

Timesharing2

Jetzt sind die Bildunterschriften symmetrisch, was viel besser ist als vorher. Ein letztes verbleibendes Detail ist jedoch: Wenn man (vielleicht unnötigerweise) die Bildunterschriften näher an die Mitte bringen wollte, wie könnte man das tun? Ich dachte, ich könnte vielleicht ein paar Leerzeichen neben der Bildunterschrift einfügen, aber ein hspace* oder mbox verschob die Bildunterschrift nur nach unten, nicht nach rechts.

Update2: Wie unten kommentiert, \caption{\kern0.2cm Schooling Time Shares}kann der Beschriftungstext leicht nach rechts verschoben werden. width=1.1\linewidthIst auch stabiler als scale=0.5. Endgültiger Code:

\begin{figure}[ht!] 
\begin{adjustwidth}{-3.5cm}{-3cm}  % choose margin adjustments
\begin{minipage}{0.48\linewidth}
 \caption{\kern0.2cm Schooling Time Shares }
\includegraphics[width=1.1\linewidth]{Schooling Time Share over Time.png} 
\end{minipage}
\hspace*{\fill}  % spread out the two minipages
\begin{minipage}{0.48\linewidth}
\caption{\kern0.2cm Training Time Shares }
\includegraphics[width=1.1\linewidth]{Training Time Share over Time.png}
\end{minipage} 
\end{adjustwidth}
\end{figure}

produziert

Timesharing3

Update 3: Siehe Bernards Lösung unten mit dem floatrowPaket. Sie ist vielleicht die prägnanteste.

Antwort1

Ich würde eine einzelne Umgebung verwenden , die Umgebung figurestartenadjustwidthinnendie figureUmgebung und verwenden Sie zwei minipageUmgebungen nebeneinander, um die beiden Bilder anzuzeigen. Jedem kann eine eigene zugewiesen werden \caption. (Die Rahmenlinien im Screenshot stellen die normalen Seitenränder dar.)

Bildbeschreibung hier eingeben

\documentclass[letterpaper,11pt]{article} 
\usepackage[demo]{graphicx} % omit 'demo' option in real doc
\usepackage[space]{grffile} % for filenames with spaces
\usepackage{float} 
\usepackage{chngpage}
\usepackage{caption}
\usepackage{calc}
\usepackage[showframe]{geometry} % omit 'showframe' option in real doc
\begin{document}

\begin{figure}[ht!] 
\begin{adjustwidth}{-1.25cm}{-1.25cm}  % choose margin adjustments
\begin{minipage}{0.48\linewidth}
\caption{Schooling Time Shares}
\includegraphics[width=\linewidth]{Schooling Time Share over Time.png} 
\end{minipage}
\hspace*{\fill}  % spread out the two minipages
\begin{minipage}{0.48\linewidth}
\caption{Training Time Shares}
\includegraphics[width=\linewidth]{Training Time Share over Time.png}
\end{minipage} 
\end{adjustwidth}
\end{figure}

\end{document}

Nachtrag: Sie erwähnen in einem Kommentar, dass Sie sich nicht sicher waren, ob Sie Unterabbildungen verwenden sollten. Diese Entscheidung hängt hauptsächlich davon ab, wie die beiden Bilder miteinander in Beziehung stehen. Wenn sie nicht besonders verwandt sind, ist es sinnvoll, ihnen separate Bildunterschriften auf Abbildungsebene zuzuweisen. Wenn sie andererseits recht eng miteinander verwandt sind, ist es wahrscheinlich eine gute Idee, sie als subfigureUnterabbildungen zu behandeln. Glücklicherweise ist dies nicht schwer zu tun: (i) Laden Sie das subcaptionPaket anstelle des Pakets (oder zusätzlich dazu) caption, (ii) ersetzen Sie es minipagedurch subfigure(vier Instanzen) und (iii) geben Sie eine neue \captionAussage für die Gesamtabbildung an. Die früheren Bildunterschriften, die zuvor mit 1 und 2 nummeriert waren, werden jetzt mit (a) und (b) beschriftet.

Bildbeschreibung hier eingeben

\documentclass[letterpaper,11pt]{article} 
\usepackage[demo]{graphicx} % omit 'demo' option in real doc
\usepackage[space]{grffile} % for filenames with spaces
\usepackage{float} 
\usepackage{chngpage}
\usepackage{subcaption}
\usepackage{calc}
\usepackage{geometry}
\begin{document}

\begin{figure}[ht!]
\caption{Two Types of Time Shares} 
\begin{adjustwidth}{-1.25cm}{-1.25cm}  % choose margin adjustments
\begin{subfigure}{0.48\linewidth}
\caption{Schooling Time Shares}
\includegraphics[width=\linewidth]{Schooling Time Share over Time.png} 
\end{subfigure}
\hspace*{\fill}  % spread out the two minipages
\begin{subfigure}{0.48\linewidth}
\caption{Training Time Shares}
\includegraphics[width=\linewidth]{Training Time Share over Time.png}
\end{subfigure} 
\end{adjustwidth}
\end{figure}

\end{document}

Antwort2

Eine sehr einfache Lösung mit dem floatrowPaket. Es ist eine Erweiterung des floatPakets und Sie sollten es nicht laden, wenn Sie Floatrow laden. Die \FBwidthOption setzt die Beschriftungsbreite auf die Breite der Abbildung.

\documentclass[letterpaper,11pt]{article}
\usepackage{graphicx} % omit 'demo' option in real doc
\usepackage[space]{grffile} % for filenames with spaces
\usepackage{chngpage}
\usepackage{caption}
\usepackage{calc}
\usepackage[showframe]{geometry} % omit 'showframe' option in real doc

\usepackage{floatrow}
\begin{document}

\begin{figure}[ht!]
\begin{floatrow}
\ffigbox[\FBwidth]{\caption{Perseus Rescuing Andromeda}}
{\includegraphics[width=\linewidth]{Piero_di_Cosimo_2.jpg}}
\ffigbox[\FBwidth]{\caption{The Death of Procris}}
{\includegraphics[width=\linewidth]{Piero_di_Cosimo_1.jpg}}
\end{floatrow}
\end{figure}

\end{document} 

Bildbeschreibung hier eingeben

Wenn die Zahlen über beide Ränder hinausgehen sollen, können Sie \llapund \rlapwie folgt verwenden:

\documentclass[letterpaper,11pt]{article}
\usepackage{graphicx, mathtools} % omit 'demo' option in real doc
\usepackage[space]{grffile} % for filenames with spaces
\usepackage{changepage}
\usepackage{caption}
\usepackage{calc}
\usepackage[showframe]{geometry} % omit 'showframe' option in real doc

\usepackage{floatrow}
\begin{document}

\begin{figure}[ht!]
\begin{floatrow}
\llap{\ffigbox[1.2\linewidth]{\caption{Perseus Rescuing Andromeda}}
{\includegraphics[width =\linewidth]{Piero_di_Cosimo_2.jpg}}}
\rlap{\ffigbox[1.2\linewidth]{\caption{The Death of Procris}}
{\includegraphics[width = 1\linewidth]{Piero_di_Cosimo_1.jpg}}}
\end{floatrow}
\end{figure}

\end{document} 

Bildbeschreibung hier eingeben

verwandte Informationen