
나는 일반적으로 그림, 테이블, 수레 배치에 대해 몇 가지 질문이 있다는 것을 알고 있습니다.표/그림을 언급된 위치 가까이에 두기.
하지만 내 질문은 다릅니다. IEEEtran 템플릿을 사용하고 있습니다. figure*
제가 손에 들고 있는 그림이 한 칼럼에 비해 너무 크기 때문에 본문 중간에 환경을 연상시켰습니다 . 그러나 그 수치는 다음 페이지로 넘어갑니다. 아무 문제가 없습니다.
그런 다음 figure
환경을 이용하여 또 다른 인물을 배치했습니다. 이 새로운 수치는 마지막 수치 이후에 나타납니다. 하지만 이전 페이지(이전 페이지) 이전이 더 좋아 보인다고 생각합니다. 그렇지 않으면 표시하려는 위치와 실제 배치 사이에 많은 텍스트가 있을 것입니다.
나는 fixltx2e도 사용하고 있기 때문에 이런 일이 발생한다는 것을 알았습니다. 논리적인 해결책은 라인에 주석을 달거나 float 패키지의 \usepackage{fixltx2e}
를 사용하는 것입니다. [H]
그러나 fixltx2e의 이점을 유지하면서 이 작업을 수행할 수 있는 더 나은(영리한) 방법이 있는지 궁금합니다.
\documentclass{IEEEtran}
\usepackage{fixltx2e}
\usepackage{blindtext}
\usepackage{float}
\begin{document}
\Blindtext
\begin{figure*}
\caption{fig1}
\label{fig1}
\end{figure*}
\blindtext
\begin{figure}
\caption{fig2}
\label{fig2}
\end{figure}
\begin{figure}[H]
\caption{fig3}
\label{fig3}
\end{figure}
\end{document}
답변1
이러한 문제에 대한 일반적인 접근 방식은 문제가 되는 패키지를 로드하여 변경된 매크로의 '이전' 정의를 저장한 다음 이후 이전 버전을 복원하는 것입니다.\usepackage
. 그만큼fixltx2e 패키지이중 열 부동 배치에 영향을 미치는 9개의 매크로를 변경합니다. 이 예에서는 이를 다시 변경합니다.
\documentclass{IEEEtran}
\makeatletter
\let\old@dblfloatplacement\@dblfloatplacement
\let\old@end@dblfloat\end@dblfloat
\let\old@doclearpage\@doclearpage
\let\old@startdblcolumn\@startdblcolumn
\let\old@addtonextcol\@addtonextcol
\let\old@addtodblcol\@addtodblcol
\let\old@addtocurcol\@addtocurcol
\let\old@xtryfc\@xtryfc
\let\old@ztryfc\@ztryfc
\usepackage{fixltx2e}
\let\@dblfloatplacement\old@dblfloatplacement
\let\end@dblfloat\old@end@dblfloat
\let\@doclearpage\old@doclearpage
\let\@startdblcolumn\old@startdblcolumn
\let\@addtonextcol\old@addtonextcol
\let\@addtodblcol\old@addtodblcol
\let\@addtocurcol\old@addtocurcol
\let\@xtryfc\old@xtryfc
\let\@ztryfc\old@ztryfc
\makeatother
\usepackage{blindtext}
\usepackage{float}
\begin{document}
\Blindtext
\begin{figure*}
\rule{0.9\textwidth}{20pt}
\caption{fig1}
\label{fig1}
\end{figure*}
\blindtext
\begin{figure}
\rule{0.45\textwidth}{20pt}
\caption{fig2}
\label{fig2}
\end{figure}
\end{document}
의 부동 소수점 배치 코드는 LaTeX
다소 복잡하므로 이것이 다른 것에 부정적인 영향을 미치지 않을 것이라고 확신할 수 없습니다. 사실 egreg나 David Carlisle이 곧 나타나서 이 해킹이 완전한 재앙이라고 지적하더라도 나는 놀라지 않을 것입니다.