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

名前: とらい
日時: 2007-10-29 16:04:49
IPアドレス: 130.54.50.*

>>49986 長くなってしまい恐縮ですが、 斜め線のセルがやたら長くなってしまったり、 きれいに対角線にならなかったり、など、 なかなか思うように書けないのです。 \documentclass[twocolumn,a4j,9pt]{jreport} \topmargin -2.5cm \oddsidemargin -20mm \evensidemargin -20mm \textheight 26.5cm \textwidth 20cm \columnsep = 10mm \columnseprule=0.5pt \usepackage{slashbox,epic,eepic} \usepackage[dvips]{graphicx} \makeatletter \def\senbun#1(#2)#3({\@senbun(#2)(} \def\@senbun(#1,#2)(#3,#4){% \@tempdima#1\p@ \advance\@tempdima#3\p@ \divide\@tempdima\tw@ \@tempdimb#2\p@ \advance\@tempdimb#4\p@ \divide\@tempdimb\tw@ \edef\@senbun@temp{\noexpand\qbezier(#1,#2)% (\strip@pt\@tempdima,\strip@pt\@tempdimb)(#3,#4)}% \@senbun@temp} \makeatother \begin{document} こんな感じで表が書きたいんですが、普通にやるとこのように右側にはみ出して しまいます。\\ \begin{tabular}{|c||ccc|}\hline \backslashbox{電荷}{世代} & \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}\\ \begin{verbatim} 一番左の列の幅を少し狭くすればいいのかな、と思って、 |c||ccc|を|p{2zw}||ccc|に置き換えると \end{verbatim} \begin{tabular}{|p{2zw}||ccc|}\hline \backslashbox{電荷}{世代} & \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}\\ のように、斜め線が隣の列にはみ出してしまいます。 \begin{verbatim} で、なにか解決策は無いかと模索した結果、 \backslashboxに[0pt][l]のようなオプションを付け、 さらにtable環境とverbatim環境で囲めば下のようになり、 一応どこもはみ出さないようにはなったのですが、 [l]というオプションの効果で斜め線の左上が 微妙に角からずれてしまいます。 \end{verbatim} \begin{table}[h] \begin{center} \begin{tabular}{|c||ccc|}\hline \backslashbox[0pt][l]{電荷}{世代} & \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} \end{center} \end{table} http://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/7409.html までのQ and Aで、一応解決策のようなものがあったようですが、 epicslbx.styというものが最近は入手できない(?)らしく、断念。\\ また、\\ http://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/21381.html\\ http://oku.edu.mie-u.ac.jp/~okumura/texfaq/qa/24684.html\\ にある方法で文字を配置してから\\ http://www.biwako.shiga-u.ac.jp/sensei/kumazawa/tex/slashbox.html\\ にある方法で斜線を引いてみると \begin{center} \begin{tabular}{|c||ccc|}\hline \raisebox{-.75ex}{電荷\strut}\quad\raisebox{.75ex}{世代\strut} \senbun(-55,15)(5,-7) & \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} \end{center} のようになって一応それらしくはできるんですが、\\ 線がギザギザな上に\\ 斜線を多用するとなると毎回手作業で入れるのが結構面倒で。。。\\ 何かこれに対する解決策をご存知の方、 御教授お願いします。 \end{document}

この書き込みへの返事:

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