[LaTeX]表組みのセルの中に複数行書くとき、行間をいい感じに詰めたい

   2019/06/12

LaTeXで表組みを使ってるとき、セルの中に複数行書きたいときがある。
こういう時は、セルの幅を指定してやると、勝手に改行を入れてくれるらしい。

ん〜、でも行間が気にくわない。
もうちょっと詰めたい。

\arraystretchを使うと行間が変えられるっていう記事もあったけど、変わらない。
まぁこれはそもそもそういう用途のコマンドじゃないっぽいわ。

\shortstackにそういうオプションはないかと探したけど、左右寄せができるだけだった。


フォーラムを探したら、いいのが出てきた。
\shortstackをうまいことアレンジして\bettershortstackというコマンドを作ってやるといいっぽい。

\bettershortstack[左右寄せ]{行間の指定}{下の行間}{セル内の文章※}
※(改行位置は「\\」で指定してやる必要がある)

って感じに使う。

@{}ってのは、セル両脇のスペースの文字をどうするか指定するやつ。デフォルトではスペースが入るが、@{}なのでなにも出力されない設定になってる。
@{hello}とかすると、セルの両脇にhelloと出てくる。

ちなみにshortstackで出力された文章は大きな文字と同じような扱いになるので、隣のセルの文章は複数行の最下行と同じ行に出力される。
上に揃えたい場合は、\raisebox{◯em}{文章}とする。

ただ、表のセルの高さが小さいせいで文字が上の枠線にくっついてしまう現象はうまく調整することができなかった。
bettershortstackをraiseboxで囲むとうまく調整できるかなと思ったけど、ダメだった。

逆に下にくっついちゃう。

うまくやりたいならそもそも変に詰めようとするなってこったな。

 

タイトルとURLをコピーしました

この記事へのコメントはこちら

メールアドレスは公開されませんのでご安心ください。
また、* が付いている欄は必須項目となりますので、必ずご記入をお願いします。

内容に問題なければ、下記の「コメント送信」ボタンを押してください。

1 × four =

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください