Re: 表に斜め線をひきたい

名前: ZR
日時: 2007-10-29 17:44:57
IPアドレス: 124.102.69.*

>>49989 次のようなことが原因のようです。 - slashbox では、picture の機能を用いて斜線を描いているので、線の傾きを 1:n (n=1〜6) になるように幅を調整している。 # 勿論 2:3 等も描けるはずだが、そこは簡略化されている。 - オプションの幅指定では、幅を必要最低限のものから増やすことはできるが、 減らすことはできない。(だから [0pt] は無指定と同じ。) - 幅を増やす場合でも、上述の調整のため、その値丁度にはならない。 - "\backslashbox{電荷}{世代}" の場合、傾き 1:2 ではギリギリ収まらない ので、傾き 1:3 になるように調整され、無駄に幅を食っている。 - [l] を付けた場合は必要幅が少し減ったので、その結果、傾き 1:2 で収まる ようになった。 現在では、eepic や pict2e のパッケージを使って、任意の傾きの直線が描ける ようになっているので、上述の「調整」は本来は不要です。掲示板で挙げられて いた "epicslbx" というのも、斜線の傾きが自由になる拡張を施したものだった のでしょう。 今の slashbox をそのまま使うとして、次のような回避策をとると、傾き 1:2 の 斜線で済むようになり好都合です。 - "\backslashbox{\makebox[1.8zw][l]{電荷}}{\makebox[1.8zw][r]{世代}}" のように、テキストの幅を実際より少し小さく見せかける。 - \tabcolsep の値を小さくする。今の場合、表自体の幅が過大なので、これを 行う「必要」もあると思われる。 あと、一つ注意ですが、 <--空行 \begin{tabular}{|c||ccc|}\hline \backslashbox{\makebox[1.8zw][l]{電荷}}{\makebox[1.8zw][r]{世代}} & \makebox[3em]{1}& \makebox[3em]{2}&\makebox[3em]{3}\\\hline \hline +2/3 &\shortstack{u(アップ)\\ 1.5$\sim$4.5} &\shortstack{c(チャーム)\\ 1000$\sim$1400} &\shortstack{t(トップ)\\ 169300$\sim$17350}\\ \hline -1/3 &\shortstack{d(ダウン)\\ 5$\sim$8.5} &\shortstack{s(ストレンジ)\\ 80$\sim$155} &\shortstack{b(ボトム)\\ 4000$\sim$4500}\\ \hline \end{tabular} <--空行 のように書くと、tabular だけで 1 つの段落を作ることになり、ゆえに tabular の前に「段落下げの空白」が入ります。左端に置きたいのであれば、flushleft 環境が必要です(\noindent でもいいですが…)。

この書き込みへの返事:

お名前
題名 
メッセージ(タグは <a href="...">...</a> だけ使えます。適宜改行を入れてください)