➗
jlreqを使うと行列が汚くなる件
LaTeXを使用していて、行列の括弧(デリミタ)が異常に長くなって困っていたら、jlreq.clsのせいだった、という話です。jlreq.clsを使っていて行列の表示が何か変だったら、同じ境遇にあるかもしれません。ググってもなかなか出てこなかったのでメモ。
状況
以下が私が出くわした状況です。
\documentclass[dvipdfmx]{jlreq}
\usepackage{mathtools}
\begin{document}
\begin{equation*}
\det
\begin{bmatrix}
a & b \\
c & d
\end{bmatrix}
=
\begin{vmatrix}
a & b \\
c & d
\end{vmatrix}
= ad - bc
\end{equation*}
\end{document}

なんか縦に長いですよね!?
本当はこれくらいの長さのはずです。
解決法
1. \arraystretchを変える
\documentclass[dvipdfmx]{jlreq}
\usepackage{mathtools}
\renewcommand{\arraystretch}{0.7}
\begin{document}
\begin{equation*}
\det
\begin{bmatrix}
a & b \\
c & d
\end{bmatrix}
=
\begin{vmatrix}
a & b \\
c & d
\end{vmatrix}
= ad - bc
\end{equation*}
\end{document}

うん、やっぱりこの長さが落ち着く。こちらのサイト[1]を参考にしました。
2. jsarticle.clsを使う
\documentclass[dvipdfmx,uplatex]{jsarticle}
\usepackage{mathtools}
\begin{document}
\begin{equation*}
\det
\begin{bmatrix}
a & b \\
c & d
\end{bmatrix}
=
\begin{vmatrix}
a & b \\
c & d
\end{vmatrix}
= ad - bc
\end{equation*}
\end{document}

本末転倒な気がしますが……。まあそこまでガッツリ使わない限り、jsarticle.clsでも不自由はないでしょう。
まとめ
困ったらjsarticle.clsを使ってみる!!
-
「jlreq.clsではpmatrixやcases環境等の括弧が大きいものとなってしまう」北見けん氏の回答。 ↩︎
Discussion