Como dizer ao LaTeX para colocar todas as figuras no final do arquivo pdf?

Como dizer ao LaTeX para colocar todas as figuras no final do arquivo pdf?

Bem, eu pesquiso no site SE, mas parece que todo mundo estava perguntando como evitar o acréscimo de figuras e seus acidentes não são uma solução elegante para o meu problema --- estou procurando uma maneira (comando de uma linha, se possível) então que posso manter as figuras onde aparecem no texto ou varrê-las até o final do arquivo (após todo o texto, incluindo a bibliografia), mantendo sua ordem relativa. Alguma ideia?

Responder1

Para a primeira possibilidade (arriscada (veja link abaixo)) (forçar todos os números a aparecerem exatamente onde estão declarados no código, suprimindo a flutuação), você pode usar ofloatpacote e seu \floatplacementcomando junto com o Hespecificador:

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

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

Claro, isso tem algumas desvantagens:Desvantagens do especificador `H`.

Para o segundo (movendo todas as figuras para o final do documento), oendfloatpacote pode ser usado. Por exemplo, o seguinte:

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

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

fará com que apenas figureos ambientes (nem tableou outros flutuantes definidos pelo usuário) sejam colocados no final do documento e não produzirá nenhum marcador no local onde as figuras estavam originalmente.

Consulte a documentação do pacote para ver todas as outras opções que ele oferece.

Responder2

Há também ofigcapspacote, que possui duas opções simples para encaminhar todos os floats para o final em \figcapson(habilitado por padrão) e \figcapsoff.

\documentclass{article}
\usepackage[printfigures]{figcaps} % printfigures to display figure floats
%\figcapsoff % enable to keep floats in their positions 

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

Observe que figcapsvem com muito menos opções endfloate parece não haver uma maneira (fácil) de evitar que ele imprima as legendas das figuras, além das próprias figuras, se você não as quiser.

Responder3

Nem figcapsnem endFloatfunciona para mim como pretendido, porque algumas das minhas fotos estão em modo paisagem e gostaria de separar entre figuras no corpo e apêndice.

Embora um pouco detalhada, esta solução alternativa funciona muito bem, mas fico feliz em saber se existe uma maneira mais prática de fazer isso.

MWE:

\documentclass[a4paper,12pt]{scrartcl}


\usepackage{blindtext} % lorem ipsum
\usepackage{chngcntr} % for renumbering appendix 
\usepackage{comment}  % for choosing placement of figure in text (W for the "work-in-progress" and S for "submit" version)

\usepackage{pdflscape}      %adds PDF support to the landscape environment of package lscape
\usepackage{graphicx}

\usepackage{flafter} % no figures before section headings

% creating a conditional
\newif\ifS

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% set this to false if you want the figures in the text
% and to true if you want them at the end (S stands for "submit")

\Strue % \Sfalse or \Strue
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%this tells the comment-package which parts to include and exclude
\ifS
    \includecomment{S}
    \excludecomment{W}
\else
    \excludecomment{S}
    \includecomment{W}
\fi

%---------------------------------------
\begin{document}

\section{Intro}

% define figure1
\newcommand{\figureA}{
\begin{figure}
\includegraphics[width=\textwidth]{example-image-a} 
\caption{figureA}
\label{fig:figureA}
\end{figure}
}

%place figure1 if this is the the work-in-progress (W) version
\begin{W}
\figureA
\end{W}

%define figure2
\newcommand{\figureB}{
\begin{landscape}\begin{figure}[!htb]
\includegraphics[width=\textwidth,height=\textheight,keepaspectratio]{example-image-B}
\caption{figureB} 
\label{fig:figureB}
\end{figure}
\end{landscape}
}

%place figure 2 if the work-in-progress (W) version
\begin{W}
\figureB
\end{W}

\Blindtext % lorem ipsum

%-----------------------------------------------
% When it is time to submit and you want your figures at the end, you can place your figures & tables at the end, but before appendix.
% Remember that this controlled by \Strue & \Sfalse in the preabmle

\cleardoublepage

\begin{S}
\listoffigures
\figureA
\figureB
\end{S}

%------------------------------------------
\cleardoublepage
\appendix
\counterwithin{figure}{section} 
\counterwithin{table}{section}
\section{Appendix}\label{appendix}



\begin{figure}[!htb]
\includegraphics[width=8cm]{example-image-golden}
\caption{Golden}
\label{fig:Golden}
\end{figure}



\begin{figure}[!htb]
\includegraphics[width=8cm]{example-grid-100x100pt}
\caption{Grid}
\label{fig:Grid}
\end{figure}


\end{document}

informação relacionada