Hatena::ブログ(Diary)

アセトアミノフェンの気ままな日常

2016-03-09

nidanfloat で「右側の文章が段抜きフロートと重なる」

積み残しのひとつ:アスキーの pLaTeX に付属している nidanfloat パッケージについて、qa:44116qa:51706 で指摘されている問題点がある。

右側の文章が bottom フロートに重なる

table 環境を [b] 指定すると、フロートの高さ分だけ文章が重なる。

\documentclass[twocolumn]{article}
\usepackage{nidanfloat}
\usepackage{lipsum}
\begin{document}
\lipsum[1-5]
\begin{table*}[b]
\begin{tabular}{cccccccc}
\hline
AAAAAA & BBBBBB & CCCCCC & DDDDDD & EEEEEE & FFFFFF & GGGGGG & HHHHHH \\
\hline
a & 1.00 & 1.00 & 1.00 & 1.00 & 1.00 & 1.00 & 1.00 \\ 
a & 2.00 & 2.00 & 2.00 & 2.00 & 2.00 & 2.00 & 2.00 \\ 
a & 3.00 & 3.00 & 3.00 & 3.00 & 3.00 & 3.00 & 3.00 \\ 
a & 4.00 & 4.00 & 4.00 & 4.00 & 4.00 & 4.00 & 4.00 \\ 
\hline
\end{tabular}
\end{table*}
\lipsum[1-3]
\end{document}

f:id:acetaminophen:20160311140406p:image

右側の文章の高さがはみ出す

table 環境を [b] ではなく[t] にしても、今度はフロートの高さ分だけ文章がはみ出す。

\documentclass[twocolumn]{article}
\usepackage{nidanfloat}
\usepackage{lipsum}
\begin{document}
\lipsum[1-5]
\begin{table*}[t]
\begin{tabular}{cccccccc}
\hline
AAAAAA & BBBBBB & CCCCCC & DDDDDD & EEEEEE & FFFFFF & GGGGGG & HHHHHH \\
\hline
a & 1.00 & 1.00 & 1.00 & 1.00 & 1.00 & 1.00 & 1.00 \\ 
a & 2.00 & 2.00 & 2.00 & 2.00 & 2.00 & 2.00 & 2.00 \\ 
a & 3.00 & 3.00 & 3.00 & 3.00 & 3.00 & 3.00 & 3.00 \\ 
a & 4.00 & 4.00 & 4.00 & 4.00 & 4.00 & 4.00 & 4.00 \\ 
\hline
\end{tabular}
\end{table*}
\lipsum[1-3]
\end{document}

f:id:acetaminophen:20160311140405p:image

いずれにせよ、「フロートが左側でなく右側のカラムに登場するとき、文章の高さを正しく設定できていない」という状態である。対症療法としてフロートが左側に現れるように文章の長さを調節することが挙げられているが、根本的な解決策は不明。

munepimunepi 2016/09/09 23:38 今年に、texmf-dist 以下をたまたま眺めていて見つけたのですが、dblfloatfix パッケージがありました。
しかしながら、dblfloatfix は、\begin{table*}[b] した該当頁に配置せず、次の頁に置くんですね。
大抵の場合、この配置の仕様でも問題ない気もしますが、使いにくいと感じる人もいるかもですね。

acetaminophenacetaminophen 2016/09/10 00:15 私も dblfoatfix は承知していました。仰る通り挙動は異なりますので、nidanfloat の仕様が好まれるのもわかる気がしますから、nidanfloat がなんとかなればよいのですが…

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証