htlatex와 호환되는 endfloat를 사용하지 않고 모든 부동 소수점을 문서 끝으로 강제 이동

htlatex와 호환되는 endfloat를 사용하지 않고 모든 부동 소수점을 문서 끝으로 강제 이동

문서 끝에 모든 부동 소수점을 강제로 표시하는 가장 쉬운 방법은 무엇입니까?솔루션은 다음과 함께 작동해야 합니다.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}

이것을 어떻게 구현하겠습니까?

MnWE

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

  1. \AtEndDocument{\clearpage}바로 뒤의 장소\begin{document}

  2. richfigure하나 하나 감싸서\AtEndDocument{...}

관련 정보