Tenho duas imagens que desejo exibir em uma página como figuras. Cada um consome pouco menos da metade do espaço disponível, então não há muito espaço para qualquer outra coisa nessa página, mas sei que há espaço suficiente para ambas as figuras. Tentei colocar as figuras com [ht] e [hb], ambos [h] e ambos [ht], mas ainda não consigo colocar essas duas imagens na mesma página, mas pelo menos alguns parágrafos entre elas.
Como faço para forçar essas duas figuras a permanecer na mesma página?
\afterpage
comando é a melhor resposta.Respostas:
Você pode colocar duas figuras dentro de um ambiente de figura. Por exemplo:
\begin{figure}[p] \centering \includegraphics{fig1} \caption{Caption 1} \includegraphics{fig2} \caption{Caption 2} \end{figure}
Cada legenda irá gerar um número de figura separado.
fonte
\subfloat[Caption]{\includegraphics{file}}
.\label
dentro do\caption
ambiente.Se você quiser ter imagens sobre o mesmo assunto, você pode usar
subfigure
pacote e construção:\begin{figure} \subfigure[first image]{\includegraphics{image}\label{first}} \subfigure[second image]{\includegraphics{image}\label{second}} \caption{main caption}\label{main_label} \end{figure}
Se você quiser ter, por exemplo, duas imagens diferentes uma ao lado da outra, você pode usar:
\begin{figure} \begin{minipage}{.5\textwidth} \includegraphics{image} \caption{first} \end{minipage} \begin{minipage}{.5\textwidth} \includegraphics{image} \caption{second} \end{minipage} \end{figure}
Para imagens em colunas, você terá [1] [2] [3] [4] na fonte, mas será semelhante a
[1] [3]
[2] [4].
fonte
float
package.Eu tive esse problema ao tentar misturar figuras e texto. O que funcionou para mim foi a opção 'H' sem o '!' opção.
\begin{figure}[H]
'H' tenta forçar a figura a estar exatamente onde você a colocou no código. Isso requer que você inclua
\usepackage{float}
As opções são explicadas aqui
fonte
float
pacote é definitivamente a resposta correta aqui. Muitas vezes lamento que usar o! símbolo, como também\begin{figure}[h!]
pode ser reescrito no TeX ou\please
porque o compilador ainda decide por si mesmo onde colocar sua imagem. Ele apenas pisca para você neste momento, em vez de ignorá-lo. Ofloat
pacote fará com que ele faça o que você quiser com certeza.Se você quiser que os dois estejam na mesma página e ambos ocuparão basicamente a página inteira, a melhor ideia é dizer ao LaTeX para colocá-los em uma página própria!
\begin{figure}[p]
Provavelmente seria contra princípios tipográficos sólidos (por exemplo, feio) ter duas figuras em uma página com apenas algumas linhas de texto acima ou abaixo delas.
A propósito, isso
[!h]
funciona porque está dizendo ao LaTeX para substituir suas restrições usuais sobre quanto espaço deve ser dedicado aos flutuantes em uma página com texto. Conforme indicado acima, há uma razão para as restrições existirem. O que não quer dizer que possam ser um pouco afrouxados; veja o FAQ sobre como fazer isso.fonte
[p]
apenas diz ao compilador para colocá-los em uma página apenas com floats. Isso pode ou não resultar em páginas separadas para as duas figuras, dependendo de seu tamanho.Experimente adicionar um
!
, por exemplo[h!]
.fonte
tente [h!] primeiro, mas você pode fazer da maneira mais feia.
LateX é um pouco difícil em colocar imagens com tais restrições, uma vez que consegue se colocar. O que normalmente faço se quero uma figura bem naquele local é algo como |:
text in front of image here \newpage \figure1 \figure2 text after images here
Eu sei que pode não ser a maneira correta de fazer isso, mas funciona como um encanto :).
//editar
Você pode fazer o mesmo se quiser um pequeno texto no topo da página, mas então apenas usar / clearpage. Claro que você também pode escalá-los um pouco menores para que isso não aconteça mais. Talvez o espaço em branco não visto seja um pouco maior do que você suspeita, eu sempre tento diminuir minha imagem até que apareçam na mesma página, só para ter certeza de que não há sobreposição de 1% apenas tornando tudo isso desnecessário .
fonte