Limmagine non viene visualizzata quando si utilizza lambiente figure

Voglio aggiungere unimmagine al mio foglio ma ho un problema.

Quando ho aggiungi limmagine con il solo tag \includegraphics[]{}, tutto funziona correttamente e limmagine viene visualizzata quando compilo il mio documento.

Quando utilizzo \begin{figure} \includegraphics[]{} \end{figure} – sintassi limmagine non appare nel documento compilato.

La parte rilevante della mia intestazione include:

 \usepackage{graphicx} \graphicspath{ {pics/} } 

E successivamente aggiungo limmagine con questo blocco:

%This does not work \begin{figure} \centering \includegraphics[width=.4\textwidth]{generalPolya} \label{generalPolya} \end{figure} %This works \includegraphics[width=.4\textwidth]{generalPolya} 

Immagino sia una sorta di problema nel pacchetto grafico, ma ho copiato la configurazione da un documento precedente, quindi dovrebbe funzionare. Qualche idea su cosa non va? Grazie in anticipo.

Modifica:

Grazie per tutte le risposte. Ho creato un minimo esempio funzionante. Apparentemente il multicols fa confusione con il tag figure:

\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} 

Ciò che appare dopo aver compilato il documento è questo

inserisci qui la descrizione dellimmagine

Cosa cè di sbagliato in questa sintassi?

Commenti

  • Benvenuto in TeX.SX! Un suggerimento: se rientri le righe di 4 spazi, ‘ sarà contrassegnato come esempio di codice . Puoi anche evidenziare il codice e fare clic su ” code ” pulsante (con ” {} ” su di esso).
  • Inoltre: aiutaci ad aiutarti e aggiungi un esempio di lavoro minimo (MWE) che illustri il tuo problema. ng il problema e scoprire quale sia il problema sarà molto più facile quando vediamo il codice compilabile, che inizia con \documentclass{...} e termina con \end{document}.
  • Il tuo \label nel primo snippet di codice è inutile, poiché non genera unetichetta per la tua figura: devi usare \caption affinché un \label sia effettivo lì. Qui generi unetichetta per lultimo contatore incrementato al di fuori dellambiente figure, ad es. a chapter counter
  • Sei sicuro che il float non si sia semplicemente spostato su una pagina diversa? potresti anche voler utilizzare \begin{figure}[htbp] come impostazione predefinita (\begin{figure}) è uguale a \begin{figure}[tbp] nota no h (ricorda che h non significa QUI , significa qui circa)
  • @PanagiotisChatzichristodoulou: multicols disabilita lambiente delle figure, in modo che non venga visualizzato nulla

Risposta

Prova a utilizzare una minipagina come questa:

\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} 

inserisci qui la descrizione dellimmagine

Commenti

  • Grazie per la risposta. Quello che suggerisci funziona, quindi ‘ accetto la risposta. Ancora non ‘ capisco perché questo e un semplice \ includegraphics funzionino, ma lambiente figure non si compila.
  • @PanagiotisChatzichristodoulou: Rimarrà un mistero se non ‘ fornire il documento difettoso che ha causato lerrore 😉
  • Qual è ‘ lo scopo di inclusi gli ambienti makebox e mintage?

Risposta

Questo è il motivo per cui mi piace compilare dalla riga di comando e non con TeXMaker ecc. cose:

Cè un chiaro avvertimento nel .log file (e un errore che si verifica spesso 🙂 Nessun float allinterno multicols ambiente:

Package multicol Warning: Floats and marginpars not allowed inside `multicols" environment!. 

Questo è un comportamento documentato, il manuale multicol descrive questo avviso e indica chiaramente cosa accadrà (enfasi mia):

Floats and marginpars not allowed inside ‘multicols’ environment! 

Questo messaggio Viene visualizzato se si tenta di utilizzare il comando \marginpar o una versione senza Speciali di figure o table ambiente. Tali float scompariranno!

Se un la figura (o la tabella) con didascalia deve essere utilizzata in un multicols ambiente, quindi utilizzare \captionof{figure}{Caption text} invece di \caption e ometti completamente lambiente figure (o table env.) In questo senso, la mia risposta è sostanzialmente la stessa di la soluzione di AboAmmar, ma senza scatola 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} 

Commenti

  • Spero che tu non ‘ non badare alla mia modifica.

Risposta

Ho avuto un problema simile con una figura che non veniva visualizzata quando si utilizzava multicol

Ho risolto con laiuto di questa risposta: https://tex.stackexchange.com/a/483689/152952

\usepackage{float} [...] \begin{figure}[H] [...] \end{figure} 

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *