Arnkrishn
Arnkrishn

Reputation: 30434

Inserting images in LaTeX

I have a question on inserting images into a LaTeX document. I try to insert images using the keyboard short cut: Ctrl-Alt-G and I'm able to insert images. But the compiled pdf document shows all the images at the end, whereas I want to interleave images with text. Something like the following:

Text1
Image1
Text2
Image2
Text3
Image3

I try to insert images at right positions i.e. in between text, but on compilation, they all appear at the end. I have tried different options provided on the image insertion UI but same result.

Any idea where I'm going wrong.

Related SO question.

Upvotes: 5

Views: 24941

Answers (9)

Vaman Kulkarni
Vaman Kulkarni

Reputation: 1

\documentclass{article}
\usepackage{graphicx}

\begin{document}
 text
\begin{figure}[tbh]
\centering
\includegraphics[width=0.4 \textheight]{ & directory path of jpg. width defines the width of the page and one one can put in its place height which is text page height }

\caption{name of the jpg} 
\end{figure}
% it worked for me.

\end{document}

Upvotes: -1

vartec
vartec

Reputation: 134611

You'll have to use graphicx package:

\usepackage{graphicx}

and then you just use \includegraphics

\includegraphics{myfig.pdf}
\includegraphics[width=60mm]{myfig.png}
\includegraphics[height=60mm]{myfig.jpg}
\includegraphics[scale=0.75]{myfig.pdf}
\includegraphics[angle=45,width=52mm]{myfig.jpg}

Upvotes: 11

\begin{figure}[H!]
  \includegraphics{myfig}
  \caption{...}
  \label{fig:myfig}
\end{figure}

Use H! to denote that you want your picture right there.

Upvotes: 0

Frank
Frank

Reputation: 1426

Sometimes just changing the width or height using an option to the includegraphics statement (square brackets before the filename a.k.a \includegraphics[width=foo]{}) will do the trick.

Upvotes: 0

AdLab
AdLab

Reputation: 11

Using [!t] and [!h] in the figure environment, rather than [t], [h] etc seems to help, though I've yet to find a surefire way to get large images in sensible places. Sometimes it works half way through a document, othertimes it doesn't.

Upvotes: 1

Charlie
Charlie

Reputation:

Maybe this can help you in general...I just hate the LaTeX way of making everything too advanced (flexible) at all times. Beside, the source looks really awful. It will not solve you initial problem, but since it will be easier to change size of each image you can at least try...

% Easy image insert
%   use as \img{imagename}{caption}{label}
%   will insert image with with 70% of textwidth
%   change below for other width
\newcommand{\img}[3]{
    \begin{figure}[!ht]
        \centering
            \includegraphics[width=0.7\textwidth]{#1}
        \caption{#2}
        \label{fig:#3}
    \end{figure}
}

\img{myimage}{has this caption}{and_this_label}

the label is automatically prefixed with fig:. Good luck! /C

Upvotes: 2

Will Robertson
Will Robertson

Reputation: 64580

This is a FAQ: "Moving tables and figures in LaTeX". Note especially the third dot point, which relaxes some of the restrictions LaTeX uses to position floats.

That's the best answer I can give without seeing an example of how large your floats are and how you're inserting them into the document. Provided that they're reasonably-sized, you should have no problem with

\begin{figure}[htbp]
  \includegraphics{myfig}
  \caption{...}
  \label{fig:myfig}
\end{figure}

And note that if the float is too large to fit then it will move to a subsequent page -- this is the whole idea behind getting LaTeX to help you with the formatting. You certainly don't want to end a page prematurely just because there's a figure coming up next that otherwise doesn't fit.

Upvotes: 5

Horst Gutmann
Horst Gutmann

Reputation: 11318

What code did you use for the \figure environment? In most cases the "h" option should at least help a little bit there.

Upvotes: 4

Tom
Tom

Reputation: 45114

Try downsizing the images. Maybe they are too large and so they are moved to the end of the document..

Hope it helps.

Upvotes: 5

Related Questions