minipage と adjustwidth によるキャプションのずれ

minipage と adjustwidth によるキャプションのずれ

1 ページに 2 つの特大の図を並べて配置しようとしています。minipage と adjustwidth を使用してみましたが、2 番目の図のキャプションが以下のように左にずれたままになります。

一見関連しているように見える複数の質問を読んでみましたが、理解できませんでした。提案の 1 つに従ってサブフィギュアを使用しようとしましたが、結果は悪かったようです。

何かヒントがあれば教えていただけると嬉しいです。ありがとうございます。

\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}

タイムシェア

更新: Mico の専門家の提案を受けて、次のことを試しました。

\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}

次のような出力が生成されました。

タイムシェア2

これでキャプションは左右対称になり、以前よりずっと良くなりました。ただし、最後に残る問題は、キャプションをもっと中央に寄せたい場合 (おそらく不必要に)、どうすればいいかということです。キャプションの横にスペースをいくつか入れればよいかと思いましたが、hspace* または mbox ではキャプションは下に移動するだけで、右には移動しませんでした。

アップデート2: 以下にコメントされているように、\caption{\kern0.2cm Schooling Time Shares}キャプションテキストをわずかに右に移動できます。また、width=1.1\linewidthよりも安定していますscale=0.5。最終コード:

\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}

生産する

タイムシェア3

更新 3:floatrowパッケージに関する以下の Bernard のソリューションを参照してください。これが最も簡潔かもしれません。

答え1

単一の環境を使用しfigureadjustwidth環境を起動します内部環境figureを設定し、2 つのminipage環境を並べて使用して 2 つの画像を表示します。それぞれに独自の を割り当てることができます\caption。(スクリーンショットのフレーム線は通常のページ余白を表しています。)

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

\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}

補遺: コメントで、サブ図を使用するかどうかわからないと書かれています。その決定は、主に 2 つの画像が互いにどのように関連しているかによって決まります。特に関連がない場合は、図レベルのキャプションを別々に割り当てるのが合理的です。一方、非常に密接に関連している場合は、subfigures として扱うのがおそらく適切です。幸い、これを行うのは難しくありません。(i) パッケージsubcaptionの代わりに (またはパッケージに加えて) パッケージをロードし、(ii) (4 つのインスタンス)にcaption置き換え、(iii)図全体に新しいステートメントを提供します。以前は 1 と 2 と番号が付けられていた以前のキャプションには、(a) と (b) というラベルが付けられます。minipagesubfigure\caption

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

\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}

答え2

パッケージを使用した非常にシンプルなソリューションfloatrow。これはパッケージの拡張機能でありfloat、floatrow をロードするときにはロードしないでください。\FBwidthオプションは、キャプションの幅を図の幅に設定します。

\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} 

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

図を両方の余白からオーバーフローさせたい場合は、次のように\llapと を使用します\rlap

\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} 

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

関連情報