Как указать LaTeX поместить все рисунки в конец PDF-файла?

Как указать LaTeX поместить все рисунки в конец PDF-файла?

Ну, я просматриваю сайт SE, но, похоже, все остальные спрашивали, как избежать добавления рисунков, и их случайности не являются достаточно элегантным решением моей проблемы --- Я ищу способ (однострочную команду, если возможно), чтобы я мог либо сохранять рисунки там, где они появляются в тексте, либо перемещать их в самый конец файла (после всего текста, включая библиографию), сохраняя при этом их относительный порядок. Есть идеи?

решение1

Для первой (рискованной (см. ссылку ниже)) возможности (заставить все цифры отображаться именно там, где они объявлены в коде, подавляя флотацию) можно использоватьfloatпакет и его \floatplacementкоманда вместе со Hспецификатором:

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

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

Конечно, здесь есть некоторые недостатки:Недостатки спецификатора `H`.

Для второго варианта (перемещение всех рисунков в конец документа)endfloatМожно использовать пакет. Например, следующий:

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

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

приведет к размещению только figureокружений (а tableтакже других определяемых пользователем плавающих объектов) в конце документа и не создаст никаких маркеров в том месте, где изначально находились цифры.

Чтобы узнать обо всех других предлагаемых опциях, обратитесь к документации пакета.

решение2

Также естьфиговые шапкипакет, который имеет два простых переключателя для пересылки всех плавающих элементов в конец \figcapson(включен по умолчанию) и \figcapsoff.

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

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

Обратите внимание, что figcapsв нем гораздо меньше опций, чем в , endfloatи, похоже, нет (простого) способа запретить ему печатать подписи к рисункам в дополнение к самим рисункам, если они вам не нужны.

решение3

Ни то, figcapsни другое не endFloatработает у меня так, как задумано, поскольку некоторые из моих фотографий находятся в альбомной ориентации, а я хотел бы разделить рисунки в основном тексте и приложении.

Хоть этот способ и немного многословен, он работает довольно хорошо, но я буду рад услышать, если есть более удобный способ сделать это.

МВЭ:

\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}

Связанный контент