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
Cosa cè di sbagliato in questa sintassi?
Commenti
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}
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
makeboxemintage?
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
\marginparo una versione senza Speciali difigureotableambiente. 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}
\documentclass{...}e termina con\end{document}.\labelnel primo snippet di codice è inutile, poiché non genera unetichetta per la tua figura: devi usare\captionaffinché un\labelsia effettivo lì. Qui generi unetichetta per lultimo contatore incrementato al di fuori dellambientefigure, ad es. achaptercounter\begin{figure}[htbp]come impostazione predefinita (\begin{figure}) è uguale a\begin{figure}[tbp]nota noh(ricorda chehnon significa QUI , significa qui circa)multicolsdisabilita lambiente delle figure, in modo che non venga visualizzato nulla