日本語LaTeXでamsthmのproof環境をなんとかする

2016/2/23 修正 \blacksquareを$で囲みました

最近積極的に更新しています。

今回は、amsthmのproof環境についてです。 \usepackage{amsthm}すると勝手に定義されるこいつですが、なかなかカスタマイズがしづらくて厄介です。

デフォルトでは、italic体のProof.から始まり白抜きの四角のQEDマークで終わります。 これを証明.に変えるには、

\renewcommand{\proofname}{\bf{証明}}

で、もしもQEDを黒い四角に変えたいなら、

\renewcommand{\qedsymbol}{$\blacksquare$}

とすればできます。ここまではよく知られています。

しかしこの方法では、証明.のドットがitalicで残ってしまいます。 気になる方も中にはいるでしょう。 これを変えるのは大変です。 例えば

tex.stackexchange.com

には、\makeatletterとかいうよくわからないものを使った解決法が載っています。 しかしこんなよくわからないものは使いたくない、ということで、thmtoolsを使った解決法を思いつきました。

私の方法はこうです。

% proofの再定義
\declaretheoremstyle[
  spaceabove=6pt, spacebelow=6pt,
  headfont=\bfseries\sffamily,
  notefont=\bfseries\sffamily,
  notebraces={}{},
  postheadspace=1em,
  numbered=no,
  qed=$\blacksquare$
]{myproof}
\declaretheorem[title=証明, style=myproof]{myproof}
\renewenvironment{proof}{\begin{myproof}}{\end{myproof}}

(2016/2/23 pTeX系で動かなかったため更新)

新しくmyproof環境を定義して、proofをそれで置き換えています。 この方法の利点は、シンプルで、かつカスタマイズもしやすいことです。 headfontやnotefontは、お好みで\bfseriesだけにしてもいいでしょう。 詳しくはthmtoolsのドキュメントを参照のこと。

というわけで、皆さんthmtoolsを使いましょう。