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
\marginparsau o versiune fără stea afiguresautablemediu. 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}.\labeldin primul fragment de cod nu are niciun folos, deoarece nu generează o etichetă pentru figura dvs. – trebuie să utilizați\captionpentru ca un\labelsă 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ăhnu înseamnă AICI , înseamnă aici despre)multicolsdezactivează mediul figurii, astfel încât să nu apară nimic