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
Ce este în neregulă cu această sintaxă?
Comentarii
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}
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
șimintage
?
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 afigure
sautable
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}
\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 mediuluifigure
, de ex. un contorchapter
\begin{figure}[htbp]
deoarece valoarea implicită (\begin{figure}
) este aceeași cu\begin{figure}[tbp]
nota nuh
(amintiți-văh
nu înseamnă AICI , înseamnă aici despre)multicols
dezactivează mediul figurii, astfel încât să nu apară nimic