Estou tentando encaixar duas figuras grandes lado a lado em uma página. Tentei usar minipage e AdjustWidth, mas a legenda da segunda figura ficava desalinhada à esquerda, conforme mostrado abaixo.
Tentei ler várias perguntas aparentemente relacionadas, mas não consegui descobrir. Tentei usar subfigura seguindo uma das sugestões, mas pareceu piorar.
Qualquer dica seria apreciada. Obrigado.
\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}
Atualização: Após sugestões de especialistas do Mico, tentei o seguinte:
\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}
que produziu a seguinte saída:
Agora as legendas são simétricas, o que é muito melhor do que antes. Uma última parte restante, porém, é: se alguém (talvez desnecessariamente) quisesse fazer com que as legendas ficassem mais próximas do centro, como poderia fazer isso? Pensei que talvez pudesse introduzir alguns espaços ao lado da legenda, mas um hspace* ou mbox apenas deslocou a legenda para baixo, não para a direita.
Atualização2: Conforme comentado abaixo \caption{\kern0.2cm Schooling Time Shares}
é possível mover o texto da legenda ligeiramente para a direita. Também width=1.1\linewidth
é mais estável que scale=0.5
. Código final:
\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}
produz
Atualização 3: Veja abaixo a solução de Bernard com o floatrow
pacote. Pode ser o mais conciso.
Responder1
Eu usaria um único figure
ambiente, iniciaria o adjustwidth
ambientedentroo figure
ambiente, e utilizar dois minipage
ambientes, lado a lado, para exibir as duas imagens; cada um pode receber o seu próprio \caption
. (As linhas do quadro na captura de tela representam as margens normais da página.)
\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}
Termo aditivo: Você mencionou em um comentário que não tinha certeza se deveria usar subfiguras. Essa decisão depende principalmente de como as duas imagens estão relacionadas entre si. Se eles não estiverem particularmente relacionados, faz sentido atribuir-lhes legendas separadas em nível de figura. Se, por outro lado, eles estão intimamente relacionados, provavelmente é uma boa ideia tratá-los como subfigure
s. Felizmente, não é difícil fazer isso: (i) carregar o subcaption
pacote em vez de (ou além) do caption
pacote, (ii) substituir minipage
por subfigure
(quatro instâncias) e (iii) fornecer uma nova \caption
declaração para o valor geral. As legendas anteriores, anteriormente numeradas 1 e 2, serão agora rotuladas (a) e (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}
Responder2
Uma solução muito simples com o floatrow
pacote. É uma extensão do float
pacote e você não deve carregá-lo ao carregar o floatrow. A \FBwidth
opção define a largura da legenda para a largura da figura.
\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}
Se você quiser que os números ultrapassem ambas as margens, você pode usar \llap
e \rlap
da seguinte forma:
\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}