참조 텍스트와 동일한 2열 페이지의 상단 또는 하단에 전폭 표를 배치하는 방법은 무엇입니까?

참조 텍스트와 동일한 2열 페이지의 상단 또는 하단에 전폭 표를 배치하는 방법은 무엇입니까?

제가 작성하고 있는 문서의 공백을 줄이고 싶어서 오늘 글을 올립니다. 콘텐츠는 두 개의 열로 구성되어 있지만 두 열에 걸쳐 있는 부동 테이블이 있습니다( table*).

어느 시점에서 텍스트는 새 페이지의 첫 번째 열 시작 부분에서 끝납니다. 텍스트 아래에 여유 공간이 많기 때문에 이 페이지에 테이블을 포함하고 싶지만 table*텍스트 바로 뒤에 삽입하면 대신 다음 페이지의 상단으로 이동합니다.

원하는 동작을 얻는 방법을 알고 있나요?

최소 작업 예:

\documentclass{article}
\usepackage{lipsum}

\begin{document}
\twocolumn

\paragraph{}
\lipsum[1]

\begin{table*}
\centering
\begin{tabular}{|c|c|c|c|}
\hline
Column 1 & Column 2 & Column 3 & Column 4 \\
\hline
Column 1 & Column 2 & Column 3 & Column 4 \\
\hline
\end{tabular}
\end{table*}%


\end{document}

답변1

상단에 전폭 플로트를 넣을 방법이 없는 것 같습니다.첫 번째페이지; 이를 방지하기 위해 다양한 메커니즘이 사용되지만 해결 방법을 찾지 못했습니다. (이것은 책이나 보고서의 새로운 장의 첫 페이지에서도 마찬가지일 가능성이 높습니다. 아마도 Frank Mitelbach나 David Carlisle이 그 방법을 알고 있을 것입니다.)

그러나 질문에 따르면

어느 시점에서 텍스트는 새 페이지의 첫 번째 열 시작 부분에서 끝납니다.

일부 페이지에 플로트를 배치하는 것이 허용되는 경우~ 후에첫째, 페이지가 완료되기 전에 그림에 대한 입력을 충분히 일찍 이동하여 페이지가 끝나기 전에 읽을 수 있도록(그런 다음 지연) 가능합니다.선행그림이 원하는 것.

다음 예제에서는 이를 수행합니다. 추악하지만 작동합니다. 그것은 예인선에서 항상 사용됩니다. (예인선에는 첫 페이지 상단에 이러한 플로트를 배치해야 한다는 요구 사항이 거의 없으며, 그러한 요구 사항이 있는 경우 일반 텍스트로 되돌립니다.) [t]플로트가 상단에 위치하도록 요청하기 위해 a를 추가했습니다. ; 아마도 중복될 수 있지만 플로트가 페이지의 유일한 항목으로 끝나는 경우 일부 문서 클래스에서 원하는 효과를 얻을 수 있습니다( amsart하나는 분명히 그렇지 않음 ).article

\documentclass{article}
\usepackage{lipsum}

\begin{document}
\twocolumn

\paragraph{}
\lipsum[1-4]

%% this table should appear *before* the paragraph indicated below.
%% it is placed here in the input to force its position at the top of the next page.
\begin{table*}[t]
\centering
\begin{tabular}{|c|c|c|c|}
\hline
Column 1 & Column 2 & Column 3 & Column 4 \\
\hline
Column 1 & Column 2 & Column 3 & Column 4 \\
\hline
\end{tabular}
\end{table*}

\lipsum[5-6]

%% the table coded above should appear at the top of the page on which
%% this paragraph appears.
\paragraph{I want the figure above this text}
\lipsum[1]

\end{document}

편집하다:

아래 예에서는 상자 메시지를 가득 채우는 대신 두 열 모두에 걸쳐 페이지 하단에 그림을 배치합니다. (이것을 제거하는 방법을 찾으려고 노력하고 있지만 아직 성공하지 못했습니다.)

접근 방식은단일 열시작될 위치 위의 첫 번째 열 어딘가에 떠 있습니다. 단일 열 부동 소수점에는 minipage전체 페이지 너비인 가 포함되어 있습니다. 첫 번째 실행 후 열이 얼마나 단축되었는지 확인하고 두 번째 열 어딘가에서부정적인 \enlargethispage페이지의 아래쪽 부분을 비워 두어 전체 너비 그림이 빈 영역으로 넘치도록 하는 명령입니다.

\documentclass{article}
\usepackage{lipsum}

\begin{document}

\twocolumn

%% avoid overfull boxes from the lipsum test.
\sloppy

\paragraph{}
\lipsum[1]

%% this table should appear at the bottom of the page.
%% it must be placed in the input somewhere near the top of the
%% first column so that it will actually appear in the first column.
\begin{table}[b]
\begin{minipage}{\textwidth}
\centering
\begin{tabular}{|c|c|c|c|}
\hline
Column 1 & Column 2 & Column 3 & Column 4 \\
\hline

Column 1 & Column 2 & Column 3 & Column 4 \\
\hline
\end{tabular}
\end{minipage}
\end{table}

%% the table coded above should appear at the bottom of the page on which
%% this paragraph appears.
\textbf{I want the figure at the bottom of the page}

\lipsum[1]

\lipsum[2]

%% somewhere in the second column, reduce the page (column) length
%% by the amount needed to clear the figure.
\enlargethispage{-4\baselineskip}

\lipsum[3-6]

\end{document}

응, 못생겼어. 경고를 받지 못했다고 말하지 마세요.

추가 주의 사항 - 늘이기 기능이 내장된 섹션 제목으로 인해 세로 간격이 손상될 수 있습니다. 이로 인해 반복적인 프로세스가 발생합니다. 텍스트가 최종 완성될 때까지 이 접근 방식을 적용하지 마십시오. 그런 경우에도 테이블이 표시될 페이지 상단의 페이지 나누기를 "수정"하는 것이 현명할 수 있습니다.

편집 2:

여기에 설명된 클러지는 예인선 기사가 되었고,"두 열의 맨 아래에 전폭 삽입 배치",예인선35:3(2014), p.255. (전자 형식의 모든 예인선 물품과 마찬가지로 이 물품은 예인선 회원에게만 제공되는 1년간의 "금지" 기간이 있으며 2015년 늦가을에 모든 사람이 이용할 수 있게 될 예정입니다.)

기사에서 언급된 한 가지 중요한 점 stfloats페이지 하단에 표*를 넣으시겠습니까? 페이지에서만 작동합니다.~ 후에첫 번째 페이지.

답변2

나는 이것이 나에게 가장 적합하다는 것을 알았습니다. 특히 하단에 2열 그림/표가 있는 경우 더욱 그렇습니다.첫 번째페이지:

% The trick is with the following package. You **need** to use the following package.
\usepackage{nidanfloat}

% ....

% Put your figure near the first page content.
\begin{figure*}[b]
    \centering
    \def\svgwidth{\textwidth}
    \import{sections/images/}{some_figure.pdf_tex}
    \caption{Some caption.}
    \label{fig:some_label}
\end{figure*}

관련 정보