Imaginea nu se afișează atunci când se utilizează mediul figura

Vreau să adaug o imagine pe hârtie, dar am o problemă.

Când adăugați imaginea doar cu eticheta \includegraphics[]{}, totul funcționează bine și imaginea apare atunci când compilez documentul.

Când folosesc \begin{figure} \includegraphics[]{} \end{figure} – sintaxă imaginea nu apare în documentul compilat.

Partea relevantă a antetului meu include:

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

Și mai târziu adaug imaginea cu acest bloc:

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

Cred că este un fel de problemă în pachetul grafic, dar am copiat setarea dintr-o lucrare anterioară pe care o aveam, așa că ar trebui să funcționeze. Aveți idei despre ceea ce nu este în regulă? Vă mulțumim anticipat.

Editați:

Vă mulțumim pentru toate răspunsurile. Am creat un exemplu de lucru minim. Se pare că multicols se încurcă cu eticheta de figură:

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

Ceea ce apare după compilarea documentului este aceasta

introduceți descrierea imaginii aici

Ce este în neregulă cu această sintaxă?

Comentarii

  • Bine ați venit la TeX.SX! Un sfat: dacă indentați liniile cu 4 spații, acestea ‘ va fi marcat ca un eșantion de cod . De asemenea, puteți evidenția codul și faceți clic pe ” cod ” buton (cu ” {} ” pe el).
  • Și suplimentar: vă rugăm să ne ajutați să vă ajutăm și să adăugăm un exemplu minim de lucru (MWE) care să ilustreze problema dvs. Problema și aflarea problemei vor fi mult mai ușoare atunci când vom vedea codul compilabil, începând cu \documentclass{...} și terminând cu \end{document}.
  • \label din primul fragment de cod nu are niciun folos, deoarece nu generează o etichetă pentru figura dvs. – trebuie să utilizați \caption pentru ca un \label să fie eficient acolo. Aici generați o etichetă pentru ultimul contor incrementat în afara mediului figure, de ex. un contor chapter
  • Sunteți sigur că plutitorul nu a plutit doar pe o altă pagină? s-ar putea să doriți, de asemenea, să utilizați \begin{figure}[htbp] deoarece valoarea implicită (\begin{figure}) este aceeași cu \begin{figure}[tbp] nota nu h (amintiți-vă h nu înseamnă AICI , înseamnă aici despre)
  • @PanagiotisChatzichristodoulou: multicols dezactivează mediul figurii, astfel încât să nu apară nimic

Răspuns

Încercați să utilizați o minipage astfel:

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

introduceți descrierea imaginii aici

Comentarii

  • Vă mulțumim pentru răspuns. Ceea ce sugerați funcționează, așa că ‘ voi accepta răspunsul. Încă nu ‘ nu înțeleg de ce funcționează acest lucru și un simplu \ include grafic, dar mediul de figură nu se compilează.
  • @PanagiotisChatzichristodoulou: Va rămâne un mister dacă ‘ nu furnizați documentul defect care a provocat eroarea 😉
  • Ce ‘ este punctul de inclusiv mediile makebox și mintage?

Răspuns

Acesta este motivul pentru care îmi place să compilez pe linia de comandă și nu cu TeXMaker etc.:

Există un avertisment clar în .log fișier (și o eroare care apare adesea 🙂 Nu există flotări în mediul multicols:

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

este un comportament documentat, manualul multicol descrie acest avertisment și precizează clar ce se va întâmpla (sublinierea mea):

Floats and marginpars not allowed inside ‘multicols’ environment! 

Acest mesaj e apare dacă încercați să utilizați comanda \marginpar sau o versiune fără stea a figure sau table mediu. Astfel de plutitoare vor dispărea!

Dacă un cifra (sau tabelul) cu legenda trebuie folosită într-un mediu multicols, apoi utilizați \captionof{figure}{Caption text} în loc de \caption și omiteți mediul figure complet (sau table env.) În acest sens, răspunsul meu este practic același cu soluția de AboAmmar, dar fără cutie și 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} 

Comentarii

  • Sper că nu ‘ nu-mi pasă de editarea mea.

Răspuns

Am avut o problemă similară cu o cifră care nu apare atunci când folosesc multicol

Am remediat cu ajutorul acestui răspuns: https://tex.stackexchange.com/a/483689/152952

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

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *