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
makeboxemintage?
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
\marginparou uma versão sem estrela defigureoutableambiente. 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}.\labelno primeiro trecho de código é inútil, uma vez que não gera um rótulo para sua figura – você deve usar\captionpara um\labelser eficaz lá. Aqui, você gera um rótulo para o último contador incrementado fora do ambientefigure, por exemplo, umchaptercontador\begin{figure}[htbp]como o padrão (\begin{figure}) é o mesmo que\begin{figure}[tbp]observe que nãoh(lembre-se dehnão significa AQUI , significa aqui sobre)multicolsdesativa o ambiente da figura, de forma que nada apareça