newfloat를 사용하기 위해 환경을 만든 float의 위치를 ​​강제로 적용하려면 어떻게 해야 합니까?

newfloat를 사용하기 위해 환경을 만든 float의 위치를 ​​강제로 적용하려면 어떻게 해야 합니까?

올바른 페이지에 나타나지 않는 완고한 플로트가 있습니다(실제로 그럴 이유가 없음에도 불구하고 전체 페이지가 필요하며 어떤 이유로 삽입될 수는 있지만 장의 끝 뒤에 나타납니다). 전체 페이지 플로트이기 때문에 내가 요청한 바로 그 위치에 있습니다).

불행히도 나는 내 자신의 새로운 float 환경이기 때문에 float 패키지와 함께 H를 사용할 수 없습니다.

내가 시도한 내용은 다음과 같습니다. 오류가 발생했습니다.

\documentclass{book}

\usepackage{float}
\usepackage{newfloat}



\DeclareFloatingEnvironment[
    fileext=loa,
    listname=List of A,
    name=FloatA,
    placement=tbhp,
    within=chapter,
]{floata}


\begin{document}

\begin{floata}[Ht]
\caption[float a]{float a example}
\end{floata}


\end{document}

답변1

H자체적으로 사용해야 하는 경우 H환경을 부동이 아닌 환경으로 만드는 의미이므로 부동 옵션과 결합하는 것은 의미가 없습니다. 사용하지 않은 경우 라텍스가 플로트 페이지를 사용하지 않도록 강제 하기를 H원할 것입니다 . 이는 일반적으로 큰 플로트에 필요한 것입니다. 라텍스에 플로트를 배치할 수 있는 법적 위치를 제공하지 않으면 일반적으로 장이 끝날 때 까지 플러시될 때까지 보류됩니다 .pp\clearpage

\documentclass{book}

\usepackage{float}
\usepackage{newfloat}



\DeclareFloatingEnvironment[
    fileext=loa,
    listname=List of A,
    name=FloatA,
    placement=tbhp,
    within=chapter,
]{floata}


\begin{document}

\begin{floata}[H]
\caption[float a]{float a example}
\end{floata}


\end{document}

관련 정보