Quero adicionar uma imagem ao meu trabalho, mas tenho um problema.
Quando eu adicione a imagem apenas com a tag \includegraphics[]{}
, tudo funciona bem e a imagem aparece quando eu compilo meu documento.
Quando eu uso \begin{figure} \includegraphics[]{} \end{figure}
– sintaxe em que a imagem não aparece no documento compilado.
A parte relevante do meu cabeçalho inclui:
\usepackage{graphicx} \graphicspath{ {pics/} }
E mais tarde adiciono a imagem com este bloco:
%This does not work \begin{figure} \centering \includegraphics[width=.4\textwidth]{generalPolya} \label{generalPolya} \end{figure} %This works \includegraphics[width=.4\textwidth]{generalPolya}
Acho que é algum tipo de problema no pacote gráfico, mas copiei a configuração de um artigo anterior que tive, então deve funcionar. Alguma ideia sobre o que está errado? Agradecemos antecipadamente.
Editar:
Obrigado por todas as respostas. Eu criei um exemplo de trabalho mínimo. Aparentemente, multicols bagunça com a tag de figura:
\documentclass[]{article} \usepackage{multicol} % Used for the two-column layout of the document \usepackage{amsmath} \usepackage{graphicx} \graphicspath{ {pics/} } \title{\vspace{-15mm}\fontsize{24pt}{10pt}\selectfont\textbf{Lorem ipsum}} % Article title \begin{document} \maketitle % Insert title \begin{multicols}{2} % %This does not show up \begin{figure}[h] \includegraphics[width=.4\textwidth]{generalPolya} \end{figure} %This shows up. \begin{center} \includegraphics[width=.5\textwidth]{chair} \end{center} \end{multicols} \end{document}
O que aparece depois de compilar o documento é isto
O que há de errado com esta sintaxe?
Comentários
Resposta
Tente usar uma minipágina como esta:
\documentclass[12pt,a4paper]{article} \usepackage{caption} \usepackage{graphicx} \begin{document} \makebox[0pt][l]{% \begin{minipage}{\textwidth} \centering \includegraphics[width=.4\textwidth]{example-image.pdf} \captionof{figure}{figure caption} \label{fig:fig1} \end{minipage} } \medskip I used Figure \ref{fig:fig1} above and referred to it. \end{document}
Comentários
- Obrigado pela resposta. O que você sugere funciona, então ‘ aceitarei a resposta. Eu ainda não ‘ não entendo por que isso e um simples \ includegraphics funcionam, mas o ambiente de figura não compila.
- @PanagiotisChatzichristodoulou: Permanecerá um mistério se você não ‘ não fornece o documento defeituoso que causou o erro 😉
- Qual ‘ é o ponto de incluindo os ambientes
makebox
emintage
?
Resposta
É por isso que gosto de compilar na linha de comando e não com TeXMaker, etc.:
Há um aviso claro no .log
arquivo (e um erro frequente 🙂 Sem flutuações dentro do ambiente multicols
:
Package multicol Warning: Floats and marginpars not allowed inside `multicols" environment!.
Isso é um comportamento documentado, o manual multicol
descreve este aviso e afirma claramente o que acontecerá (ênfase minha):
Floats and marginpars not allowed inside ‘multicols’ environment!
Esta mensagem e aparece se você tentar usar o comando
\marginpar
ou uma versão sem estrela defigure
outable
ambiente. Esses flutuadores desaparecerão!
Se um figura (ou tabela) com legenda deve ser usada em um ambiente multicols
, então use \captionof{figure}{Caption text}
em vez de \caption
e omitir o ambiente figure
completamente (ou o ambiente table
). Nesse sentido, minha resposta é basicamente a mesma que a solução da AboAmmar, mas sem caixa e minipage.
\documentclass[]{article} \usepackage{multicol} % Used for the two-column layout of the document \usepackage{amsmath} \usepackage{caption} \usepackage[demo]{graphicx} \graphicspath{ {pics/} } % I disable this since it"s not relevant %\title{\vspace{-15mm}\fontsize{24pt}{10pt}\selectfont\textbf{Lorem ipsum}} % Article title \begin{document} % \maketitle % Insert title \begin{multicols}{2} % %This does not show up %\begin{figure}[h] % Drop this \includegraphics[width=.4\textwidth]{generalPolya} \captionof{figure}{My figure which should be inside the multicols} %\end{figure} % Drop this %This shows up. \begin{center} \includegraphics[width=.5\textwidth]{chair} \end{center} \end{multicols} \end{document}
Comentários
- Espero que não ‘ ligo para minha edição.
Resposta
Eu tive um problema semelhante com uma figura não aparecendo ao usar multicol
Corrigi com a ajuda desta resposta: https://tex.stackexchange.com/a/483689/152952
\usepackage{float} [...] \begin{figure}[H] [...] \end{figure}
\documentclass{...}
e terminando com\end{document}
.\label
no primeiro trecho de código é inútil, uma vez que não gera um rótulo para sua figura – você deve usar\caption
para um\label
ser eficaz lá. Aqui, você gera um rótulo para o último contador incrementado fora do ambientefigure
, por exemplo, umchapter
contador\begin{figure}[htbp]
como o padrão (\begin{figure}
) é o mesmo que\begin{figure}[tbp]
observe que nãoh
(lembre-se deh
não significa AQUI , significa aqui sobre)multicols
desativa o ambiente da figura, de forma que nada apareça