A imagem não aparece ao usar o ambiente de figura

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

insira a descrição da imagem aqui

O que há de errado com esta sintaxe?

Comentários

  • Bem-vindo ao TeX.SX! Uma dica: se você recuar as linhas em 4 espaços, elas ‘ será marcado como uma amostra de código . Você também pode destacar o código e clicar em ” code ” botão (com ” {} ” nele).
  • E adicionalmente: ajude-nos a ajudá-lo e adicione um exemplo de funcionamento mínimo (MWE) que ilustre seu problema. Reproduci resolver o problema e descobrir qual é o problema será muito mais fácil quando virmos o código compilável, começando com \documentclass{...} e terminando com \end{document}.
  • Seu \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 ambiente figure, por exemplo, um chapter contador
  • Tem certeza de que o flutuante não flutuou para uma página diferente? você também pode usar \begin{figure}[htbp] como o padrão (\begin{figure}) é o mesmo que \begin{figure}[tbp] observe que não h (lembre-se de h não significa AQUI , significa aqui sobre)
  • @PanagiotisChatzichristodoulou: multicols desativa o ambiente da figura, de forma que nada apareça

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} 

insira a descrição da imagem aqui

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 e mintage?

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 de figure ou table 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} 

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *