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
makebox
emintage
?
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 difigure
otable
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}
\documentclass{...}
e termina con\end{document}
.\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 dellambientefigure
, ad es. achapter
counter\begin{figure}[htbp]
come impostazione predefinita (\begin{figure}
) è uguale a\begin{figure}[tbp]
nota noh
(ricorda cheh
non significa QUI , significa qui circa)multicols
disabilita lambiente delle figure, in modo che non venga visualizzato nulla