讓所有浮動強制出現在文件末尾的最簡單方法是什麼?該解決方案應該與htlatex
,在這種情況下,浮動應該會出現在 HTML 文件的末尾。 (原來的問題,強制所有浮動到文件末尾而不使用 endfloat,沒有 htlatex 要求,且該解決方案不適用於 htlatex。除此之外,它是一個副本,對此感到抱歉。我不想編輯原來的問題,但我可以。
該endfloat
軟體包不是一個選項,請參見下文。以下問題相關但沒有幫助:
細節
在我們的環境中,我們有用於創建圖形、表格等的包裝器。包裝器的實作可以針對不同的文件版面進行變更(上面/下面的標題,按規則是/否分隔的圖,...)。
一種特定的佈局要求將每個圖放置在主文檔之後。
自己的嘗試
endfloat
我想到了包裹。然而,我無法讓它工作,因為這些數字是由包裝器創建的。
我嘗試使用以下方法實現此操作\gappto
:圖形建立命令將僅附加到先前執行的全域掛鉤\end{document}
。當圖形創建包裝器只是一個命令時,這是有效的,但現在它是一個允許「一切」在裡面的環境。我已將我的嘗試添加到下面的 MnWE 中,但這會導致以下錯誤訊息:
! Extra }, or forgotten \endgroup.
\environment_richfigure_end_aux:w ...gure}\egroup
l.39 \end{richfigure}
你會如何實施這個?
錳錳礦
\documentclass{scrartcl}
\pagestyle{empty}
\usepackage{caption}
\usepackage{xparse}
\usepackage{etoolbox}
\newcommand{\delayedfigures}{}
% Comment the following line to get working code
\newcommand{\dofigure}[1]{\gappto{\delayedfigures}{\clearpage#1}}
% The example works with the default implementation of \dofigure
\providecommand{\dofigure}[1]{#1}
%% \begin{richfigure}
%% [<placement>, e.g. htp (h=here, t=top, p=page)]
%% {<short caption>}
%% {<long caption>}
%% {<\label{label}>}
%% <\includegraphics[...]{figure}>
%% \end{richfigure}
\NewDocumentEnvironment{richfigure}{O{tbp} m m m}{%
\dofigure\bgroup%{%
\begin{figure}[#1]%
\caption[#2]{#3}#4%
}{% Here, the contents of the environment are placed
\end{figure}%
\egroup%{
}
\gpreto{\enddocument}{\delayedfigures}
% Usage example
\begin{document}
Main document contents.
\begin{richfigure}{Short caption}{Long caption}{\label{fig:1}}
Figure contents.
\end{richfigure}
All figures are to appear on separate pages, one per page.
\end{document}
答案1
rigfigure
您可以使用和的組合\AtEndDocument
:
\AtEndDocument{\clearpage}
緊接著放置\begin{document}
將每一個包裹
richfigure
成\AtEndDocument{...}