Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

Well, I search through the SE site but it seems everyone else was asking how to avoid appending figure and their accidents are not quite an elegant solution to my problem --- I'm looking for a way (one line command if possible) so that I can either keep the figures where they appear within the text, or sweep all to the very end of file (after all text including bibliography) while maintaining their relative order. Any ideas?

share|improve this question
    
I just had to do this and physically moved the code. For some reason, it didn't occur to me to search for a better solution. That said, what I needed was all tables moved, which I think means anything tabular-like. Mine happened to be a figure, though. –  cfr Mar 7 at 2:16
1  
@cfr You could have used \usepackage[nomarkers,tablesonly]{endfloat}. –  Gonzalo Medina Mar 7 at 2:18
    
@GonzaloMedina Thanks but I think your answer would work better because I actually have \begin{figure}\begin{tabular}... and I don't have any non-tabular figures. So I think your answer would move everything to the end correctly. (The system won't accept my .tex file anyway so I didn't actually get anywhere by moving anything. Hence maybe I'll try your solution and move the thing back after getting (hopefully) some instructions.) –  cfr Mar 7 at 2:27
add comment

1 Answer 1

up vote 7 down vote accepted

For the first (risky (see link below)) possibility (force all figures to appear exactly where they are declared in the code, suppressing flotation), you can use the float package and its \floatplacement command together with the H specifier:

\documentclass{article}
\usepackage{float}
\floatplacement{figure}{H}

\begin{document}
<contents>
\end{document}

Of course, this has some drawbacks: Drawbacks of the `H` specifier.

For the second one (moving all figures to the end of the document), the endfloat package can be used. For example, the following:

\documentclass{article}
\usepackage[nomarkers,figuresonly]{endfloat}

\begin{document}
<contents>
\end{document}

will cause just figure environments (nor table or other user-defined floats) to be placed at the end of the document and won't produce any marker in the place where the figures originally were.

Refer to the package documentation to see all the other options it offers.

share|improve this answer
    
The endfloat package seems like the way to go, but it reports errors like this AED endfloat: Processing end Figures and Tables ! Undefined control sequence. \@enddocumenthook ...igures and Tables}\onecolumn \processdelayedfloats l.638 \end{document} after I put it in one of the documents I have. No idea how to debug this... –  nye17 Mar 7 at 2:19
    
@nye17 reduce the code to a minimal document reproducing the error and open a fresh new question posting there the offending minimal code. –  Gonzalo Medina Mar 7 at 2:20
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.