latex で table 書くときにね?

よくアクセスがあるみたいなので情報を整理しておきます。

latex で( tex で?) table のコードをいちいち書くのは面倒だな〜というときは、

Latex Table Generator https://www.tablesgenerator.com/
Latex Tables Editor http://www.latex-tables.com/

などを使って xlsx や csv やお手製データを流し込んでコードを生成するのが手っ取り早いと思います。 なお、それはそれとして「セル内での改行を綺麗にしたい(垂直方向に中央に置きたい)」という場合には、

\newcommand{\linestack}[1]{\def\arraystretch{0.9}\begin{tabular}[c]{@{}c@{}} #1 \end{tabular}}

といったマクロを書いて \linestack{this is \\ line break} のように書けばよさそうな気がします。見た感じの通り、セル内に新しい table を作っています。いろんな工夫が可能です。そんな感じです。

arxiv に出てくるような論文を読んでる人は、「こんな表どうやって書くねん!」となったらその論文の tex データが利用可能なら(条件節が多すぎる)その table を生成しているコードを見たりするのもいいと思います。

以下が過去の記事です(2020年3月4日以前)。


よくひとつのセルに改行含めた表現を入れたくなるじゃないですか、こんなふうに

f:id:liephia:20160927034932p:plain

ここでは \shortstack{All you need is \\ love} って書いてます。見るからに美しさに欠けており、内容の上に余白ができないかなあと思って困ってたんですが(そもそもバリバリに罫線を引くのが間違っているという説はあるとして)、簡単に解決したのでメモをします

f:id:liephia:20160927034944p:plain

\shortstack{\\All you need is \\ love} でなんとかなりました。vspace とか入れようとしてる場合ではなかった。先頭に改行で良かった感じ。そもそも \shortstack 使わずに別の行にしちゃえよという意見もあるかもしれない。それもわかります。次はそうしようと思います。メモですメモ。

追記
けっきょく booktabs.sty を使うのが最近の流行りっぽいし見栄えが良いです

さらに追記(2018-06-10)
Latex Table Generator https://www.tablesgenerator.com/
Latex Tables Editor http://www.latex-tables.com/
あたりが楽でいいです。小さい表を作るときは……。

\newcommand{\linestack}[1]{\def\arraystretch{0.9}\begin{tabular}[c]{@{}c@{}} #1 \end{tabular}}

現時点で、結局大きな表で改行を綺麗に表示したい(他の行間よりも狭くしたいとか含め)ときは上のようなマクロを書いて使っています。