endfloat はマーカーテキストがオフの場合でもスペースを残します

endfloat はマーカーテキストがオフの場合でもスペースを残します

私は、endfloat文書の最後にあるすべての表を処理するために を使用しています。また、テキスト内マーカーを抑制するオプションも使用しています。しかし、endfloatマーカーがあるはずの場所にスペースが挿入されているようです (つまり、段落間に不要なスペースが作成されています)。この問題が発生する理由は、中央揃えタグのためです。タグを削除すると、問題は解決します。なぜこのようなことが起こるのでしょうか? MWE:

\documentclass[english]{article}
\usepackage[nolists,tablesfirst,nomarkers]{endfloat}


\begin{document}
Some text here Some text here Some text here Some text here Some text
here Some text here Some text here Some text here Some text here Some
text here Some text here Some text here Some text here Some text here
Some text here Some text here Some text here Some text here Some text
here Some text here Some text here Some text here Some text here Some
text here Some text here Some text here Some text here Some text here
Some text here 

\begin{center}
\begin{table}
\protect\caption{My Table}


\begin{tabular}{|c|c|c|c|c|}
\hline 
a &  &  &  & \tabularnewline
\hline 
\hline 
 & b &  &  & \tabularnewline
\hline 
 &  &  &  & \tabularnewline
\hline 
 &  &  &  & \tabularnewline
\hline 
 &  &  &  & \tabularnewline
\hline 
\end{tabular}
\end{table}

\par\end{center}

Some more text here Some more text here Some more text here Some more
text here Some more text here Some more text here Some more text here
Some more text here Some more text here Some more text here Some more
text here Some more text here Some more text here Some more text here
Some more text here Some more text here Some more text here Some more
text here Some more text here Some more text here 
\end{document}

答え1

その空間は環境によって生じますcentercenter環境は次のように定義されますtrivlist(または単にlist)。

\def\center{\trivlist \centering\item\relax}
\def\endcenter{\endtrivlist}

ご覧のとおり、 は の\trivlist周囲にあります\centering。 の効果はなど\trivlistを追加することです \topsep\partopsepこれらの定義については を参照してくださいlatex.ltx。 結論として、center環境は上下に垂直方向のスペースを追加しますが、これは場合によっては (この場合のように) 不要です。

さらに、環境内に含まれるテーブルはcenterフロートしますが (最後に置かれます)、center環境はそのままの位置に留まります。空白 (center環境に関連付けられている) も元の位置に留まり、環境table外になるcenterため、中央に配置されません。

のみを使用して、これらのスペースを避けます\centering

\documentclass[english]{article}
\usepackage[nolists,tablesfirst,nomarkers]{endfloat}


\begin{document}
Some text here Some text here Some text here Some text here Some text
here Some text here Some text here Some text here Some text here Some
text here Some text here Some text here Some text here Some text here
Some text here Some text here Some text here Some text here Some text
here Some text here Some text here Some text here Some text here Some
text here Some text here Some text here Some text here Some text here
Some text here

%\begin{center}
\begin{table}
\caption{My Table}    %% no need of \protect use \caption[short title] instead

\centering         %%<--- here
\begin{tabular}{|c|c|c|c|c|}
\hline
a &  &  &  & \tabularnewline
\hline
\hline
 & b &  &  & \tabularnewline
\hline
 &  &  &  & \tabularnewline
\hline
 &  &  &  & \tabularnewline
\hline
 &  &  &  & \tabularnewline
\hline
\end{tabular}
\end{table}

%\par\end{center}

Some more text here Some more text here Some more text here Some more
text here Some more text here Some more text here Some more text here
Some more text here Some more text here Some more text here Some more
text here Some more text here Some more text here Some more text here
Some more text here Some more text here Some more text here Some more
text here Some more text here Some more text here
\end{document}

ここに画像の説明を入力してください

関連情報