Несоответствие заголовка мини-странице и регулировке ширины

Несоответствие заголовка мини-странице и регулировке ширины

Я пытаюсь разместить две слишком большие фигуры рядом на одной странице. Я пробовал использовать minipage и adjustwidth, но подпись на второй фигуре все время смещалась влево, как показано ниже.

Я пытался прочитать несколько, казалось бы, связанных вопросов, но не смог разобраться. Я пытался использовать subfigure, следуя одному из предложений, но это, похоже, сработало хуже.

Буду признателен за любые советы. Спасибо.

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

таймшеры

Обновление: После экспертных рекомендаций Мико я попробовал следующее:

\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пакетом. Возможно, оно самое лаконичное.

решение1

Я бы использовал одну figureсреду, запустил adjustwidthсредувнутрисреду figureи использовать две minipageсреды рядом для отображения двух изображений; каждому может быть присвоен свой собственный \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}

Приложение: Вы упоминаете в комментарии, что не уверены, следует ли использовать подрисунки. Это решение в основном зависит от того, как два изображения связаны друг с другом. Если они не особо связаны, имеет смысл назначить им отдельные подписи на уровне рисунка. Если же они связаны довольно тесно, вероятно, будет хорошей идеей рассматривать их как subfigures. К счастью, это несложно сделать: (i) загрузить пакет subcaptionвместо (или в дополнение к) пакета caption, (ii) заменить minipageна subfigure(четыре экземпляра) и (iii) предоставить новое \captionутверждение для всего рисунка. Более ранние подписи, ранее пронумерованные 1 и 2, теперь будут помечены (a) и (b).

введите описание изображения здесь

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

введите описание изображения здесь

Связанный контент