I have a problem with the multicol environment. I can not insert a
figure environment, i have also tried flotingfigure, wrapfigure. LaTeX
says Error: not in outer par mode.
Have anybody got some experience in this field?
--
Thanks! M.C.
> I have a problem with the multicol environment. I can not insert a
> figure environment
Try figure*.
Happy TeXing!
--
Axel Reichert -- http://www.axel-reichert.de
> I still get the same responce : Not in outer par mode
\documentclass[twocolumn]{article}
\begin{document}
\begin{figure}
Foo
\end{figure}
\begin{figure*}
Bar
\end{figure*}
\end{document}
should work. Try to make a minimum example file.
you would have got that even if you'd not been using the multicol
package. the error message means "you're inside a box", and i can
provoke it with
\begin{minipage}{2in}
\begin{figure}\relax
without having multicol loaded
if, however, i say
\usepackage{multicol}
...
\begin{multicols}{2}
\begin{figure}
a
\end{figure}
i get
Package multicol Warning: Floats and marginpars not allowed inside
`multicols' environment!.
which was the warning one can get away from by using \begin{figure*}
--
Robin Fairbairns, Cambridge
\begin{figure*}[!h]
\begin{nopagebreak}
\begin{center}
\epsfig{file="filename",width=.5\columnwidth}
\caption{some text}
\end{center}
\end{nopagebreak}
\end{figure*}
but my figure pops up on the next page, in the middle of the page
ignoring the twocolumn environment.
--
> I have actually got i working with using multicol package and figure*:
>
> \begin{figure*}[!h]
figure* environments are for full page figures and they are
never `h'. So this figure has no legal position as you have prevented
latex from positioning it in either t or p float areas, and I would
expect it to always go to the end of the document (or chapter)
> \begin{nopagebreak}
figures form a box so there is neve a possibility of getting a page
break inside a figure.
\nopagebreak is a command not an environment.
If you use it as an environment (in a place where \nopagebreak had any
effect) then it only affects the point at which the \begin{nopagebreak}
occurs, it does not stop page breaks for the whole environment.
> \begin{center}
center environment adds extra vertical space that you almost never want
in a figure. Use \centering.
> \epsfig{file="filename",width=.5\columnwidth}
epsfig package is unsupported, please use the standard latex graphics
interface.
> \caption{some text}
> \end{center}
> \end{nopagebreak}
> \end{figure*}
>
> but my figure pops up on the next page, in the middle of the page
> ignoring the twocolumn environment.
David
(all the right things, as one might expect ;-)
>Morten Carstensen <mor...@nokia.kom.auc.dk> writes:
>> but my figure pops up on the next page, in the middle of the page
>> ignoring the twocolumn environment.
as david pointed out, your figure has been banished to outer darkness;
presumably the next page is the end of a chapter or of the entire
document.
it's in the middle of the page because that's where a figure on a page
by itself will end up, by default.
it's not `ignoring the twocolumn environment'. somewhere early on in
this thread, someone told you that you can't do in-column floats in
a multicols environment. figure* is a page-wide figure, always, and
does work with multicols ... but it's page-wide -- you can't get away
from it.
--
Robin Fairbairns, Cambridge
> epsfig package is unsupported, please use the standard latex graphics
> interface.
Does this mean packages in tex-archive/latex/required can be
unsupported? Seems a bit wrong to make a package required but not to
support it ;-)
--
Dan Luecking Dept. of Mathematical Sciences
luec...@comp.uark.edu University of Arkansas
http://comp.uark.edu/~luecking/ Fayetteville, AR 72101
You can place graphics without a figure environment, perhaps using a
minipage, and the ccaption package to provide captions, or I have a
non-floating figure environment:
\makeatletter
\newsavebox{\fixfigbox}% box for fixed figures and tables
\newenvironment{fixedfigure}{%
\def\@captype{figure}% Setup caption command
\begin{lrbox}{\fixfigbox}% save figure in box
\minipage{\linewidth}% make box
\vrule height \baselineskip width 0pt\relax % Correct spacing
\ignorespaces
}{%
\endminipage
\end{lrbox}%
\vadjust{\goodbreak\noindent\usebox{\fixfigbox}}% Put the box after the line
\ignorespacesafterend} % eat random spaces.
\makeatletter
It's not a real replacement for the figure environment, and it is only use
when there is no better way. It inserts the figure below the current line.
and fails totally to do the right thing near a page or column break.
fine positioning must be done by hand. YMMV.
James
> On 24 Nov 1999, David Carlisle wrote:
>
> > epsfig package is unsupported, please use the standard latex graphics
> > interface.
>
> Does this mean packages in tex-archive/latex/required can be
> unsupported? Seems a bit wrong to make a package required but not to
> support it ;-)
>
it's supported in as far as it continues to exist and be distributed
but the documentation that comes with those packages makes it clear
it should not be used for new documents, it is just there for easing
transfer from 2.09. But by now everyone is using 2e (aren't they:-)
David
Maybe you should include a package warning that the user should switch
to graphic{s|x}.
Best regards
Martin
--
Martin Schr"oder, mar...@oneiros.de
Das ist eine klassische journalistische Behauptung.
Sie ist zwar richtig, aber sie ist nicht die Wahrheit. (Helmut Kohl)
> it's not `ignoring the twocolumn environment'. somewhere early on in
> this thread, someone told you that you can't do in-column floats in
> a multicols environment. figure* is a page-wide figure, always, and
> does work with multicols ... but it's page-wide -- you can't get away
> from it.
True, of course, as expected. A detail, from multicols doc, {figure*}[bt]
in normal twocolumn can appear on the page where it was declared, while
in multicols it will necessarily appear on the next page.
if it's any help, i was against the name `required'. but i couldn't
think of anything better, so i lost...
>>it's supported in as far as it continues to exist and be distributed
>>but the documentation that comes with those packages makes it clear
>>it should not be used for new documents, it is just there for easing
>>transfer from 2.09. But by now everyone is using 2e (aren't they:-)
>
>Maybe you should include a package warning that the user should switch
>to graphic{s|x}.
this is not something one would voluntarily do. not, that is, if
you're involved in user support. i _still_ get whinged at about the
amstex.sty warning, and that's so old it's been dropped from the
latest version.
imho, the only sensible way forward is to tell people what to do. as
david (and most other people who answer questions on graphics in
latex) already do.
--
Robin Fairbairns, Cambridge