マクロツイーター

はてダから移行した記事の表示が崩れてますが、そのうちに直せればいいのに(えっ)

tabular のセルに斜線を入れる(bxslashcell パッケージ)

例の斜線のアレについて、“とりあえず作って”いたのだが……。

とりあえず GitHub に上げてみた。

このパッケージを使うと、例の記事の最後にある例は以下のように書ける。(ドライバ指定が必要なことに注意!*1

% pLaTeX 文書
\documentclass[a4paper,dvipdfmx]{jsarticle}% ドライバ指定が必要!
\usepackage{bxslashcell}
\begin{document}
\begin{center}
\begin{tabular}{|c||c|r|}\hline
  \slashcell{5zw} % 幅を指定する
  & 値段 & カロリー \\\hline  
  牛丼並盛 & 480円 & 600 kcal \\
  牛丼テラ盛 & 1,980円 & 2,900 kcal \\\hline
\end{tabular}
\end{center}
\end{document}

例の記事で述べた通り、“魔法”は存在しないので、一般的にはユーザが適切な横幅と縦幅を指定する必要がある。ただし、斜線のセルを含む行が“普通の縦幅”を持っている場合*2(上例はこれに該当する)は縦幅の指定は不要である。

横幅の指定は必須であり、\slashcell 命令の必須引数に指定する。基本的には「当該のセルが、それのある列の中で横幅が最大」になるようにすればよい。他のどのセルの横幅よりも過大になる場合はその列の横幅が拡張される。

既定の設定では上手くいかない場合は、\slashcell のオプション引数にパラメタを指定することで調整できる。詳細は説明書(README ファイル)を見てほしい。

*1:これは bxslashcell が pict2e に依存しているたからで、従って、pict2e の有効なドライバである dvips、dvipdfmx、dvipdfm、xdvi 等が使用できる(dviout は非対応)。なお、pict2e 自体は PDF 出力のエンジンの場合でも(pdftex や xetex 等の)ドライバ指定を必須とするのだが、bxslashcell ではその場合のドライバ指定は不要である。

*2:要するに、過大な縦幅をもつものを全く含まない場合。