黒板太字(Blackboard Bold) や重ね打ち体(doublestroke) と呼ばれる二重線で書かれるようなアルファベットを数式で利用したい.
もっとも標準的に黒板太字を利用する方法は,amsfonts(あるいはamssymb) を読み込むことである.1
Exsample
\documentclass{article}
\usepackage{amsfonts}
\begin{document}
$ \mathbb{A} $
\end{document}
アラビア数字,小文字アルファベット,大文字アルファベットに対して\mathbb
すると以下のようになる.
これらから明らかなように,大文字アルファベットのみにしか適用されない. しかし,場合によっては小文字やアラビア数字にも適用させたい.本記事では,これらに適用することを目標にする.
bbm を利用することでいくつかの黒板太字を追加することが出来る.\usepackage
して\mathbbm
とすれば良い.
Exsample
\documentclass{article}
\usepackage{bbm}
\begin{document}
$ \mathbb{1} $
$ \mathbb{a} $
$ \mathbbm{A} $
\end{document}
同時にamsfonts を読み込んでいても競合しないので問題ない.
アラビア数字,小文字アルファベット,大文字に対しては以下のような結果を得る.
これから分かるように,数字は1と2のみしか対応していない.また,よく見ると字がガタガタしていてあまり綺麗ではない.(画質の問題上,上の画像を拡大しても違いが分からないかもしれない.) よく見かける方法ではあるが,少々嫌だなと感じるところがあるように思われる.
以下のように読み込む.bbgreekl
オプションを有効にしておくことで,ギリシャ文字の黒板太字を利用することが出来る.
\usepackage[bbgreekl]{mathbbol}
amsfonts が読み込まれている場合,このパッケージでは\mathbb
がオーバーロードされる形になる.したがって,amsfonts から提供されているフォントが利用できないことに注意したい.
利用例は以下のようになる.
Exsample
\documentclass{article}
\usepackage{amsfonts}
\usepackage[bbgreekl]{mathbbol}
\DeclareMathSymbol{\bbepsilon}{\mathord}{bbold}{"0F}
\begin{document}
$ \mathbb{1} $
$ \mathbb{a} $
$ \mathbb{A} $
$ \bbalpha $
$ \mathbb{\Gamma} $
\end{document}
一覧にすると以下のようになる.このパッケージではギリシャ文字の黒板太字も提供している.小文字は\bbalpha
など頭に"bb" を付け,大文字はアルファベットと同様にする.
mathbbol を読み込むことでアラビア数字,小文字アルファベット,大文字アルファベットを網羅することが出来た.
しかし,実はイプシロンは\bbespilon
("p" と"s" の順序が逆) として定義されている.これは定義がタイプミスをしていることに起因するらしい.
これでは使い勝手が悪いので,新たに定義し直したりすれば良いだろう.そのため4行目で\bbepsilon
を与えている.
\DeclareMathSymbol{\bbepsilon}{\mathord}{bbold}{"0F}
% \newcommand{\bbepsilon}{\bbespilon}% this is fine.
mathbbol ではサンセリフ体が基調になっているように見える. もしも,amsfonts から提供されるローマンを基調にしたような黒板太字を利用したい場合には以下のようにしてみたい.
以下のように\DeclareSymbolFontAlphabet
を追加する.
Exsample
\documentclass{article}
\usepackage{amsfonts}
\usepackage[bbgreekl]{mathbbol}
\DeclareSymbolFontAlphabet{\mathbb}{AMSb}
\DeclareSymbolFontAlphabet{\mathbbl}{bbold}
\DeclareMathSymbol{\bbepsilon}{\mathord}{bbold}{"0F}
\begin{document}
$ \mathbbl{1} $
$ \mathbbl{a} $
$ \mathbb{A} $
$ \bbalpha $
$ \mathbbl{\Gamma} $
\end{document}
このようにしておけば,以下のように大文字アルファベット以外ではmathbbol を,大文字アルファベットはamsfonts を利用することが出来る.満足.
重複するので避けたが,もちろんギリシャ文字も\mathbbl
で利用することが出来る.
他にもいくつかのパッケージで黒板太字を利用することが出来るようになる.以下を参照すると良いだろう.
また,newtxmath でもいくつかの黒板太字を利用することが出来る.
一つ一つ\mathbb
などとするよりも,これらを利用する際には簡略的に定義しておいた方が良いだろう.
Blackboard Bold easy commands (折りたたみ)
Arabicnumerals
\newcommand{\mathNumbb}[1]{\mathbb{#1}}
\newcommand{\bbzero}{\mathNumbb{0}}
\newcommand{\bbone}{\mathNumbb{1}}
\newcommand{\bbtwo}{\mathNumbb{2}}
\newcommand{\bbthree}{\mathNumbb{3}}
\newcommand{\bbfour}{\mathNumbb{4}}
\newcommand{\bbfive}{\mathNumbb{5}}
\newcommand{\bbsix}{\mathNumbb{6}}
\newcommand{\bbseven}{\mathNumbb{7}}
\newcommand{\bbeight}{\mathNumbb{8}}
\newcommand{\bbnine}{\mathNumbb{9}}
Uppercase latin letters
\newcommand{\mathAlphbb}[1]{\mathbb{#1}}
\newcommand{\bbA}{\mathAlphbb{A}}
\newcommand{\bbB}{\mathAlphbb{B}}
\newcommand{\bbC}{\mathAlphbb{C}}
\newcommand{\bbD}{\mathAlphbb{D}}
\newcommand{\bbE}{\mathAlphbb{E}}
\newcommand{\bbF}{\mathAlphbb{F}}
\newcommand{\bbG}{\mathAlphbb{G}}
\newcommand{\bbH}{\mathAlphbb{H}}
\newcommand{\bbI}{\mathAlphbb{I}}
\newcommand{\bbJ}{\mathAlphbb{J}}
\newcommand{\bbK}{\mathAlphbb{K}}
\newcommand{\bbL}{\mathAlphbb{L}}
\newcommand{\bbM}{\mathAlphbb{M}}
\newcommand{\bbN}{\mathAlphbb{N}}
\newcommand{\bbO}{\mathAlphbb{O}}
\newcommand{\bbP}{\mathAlphbb{P}}
\newcommand{\bbQ}{\mathAlphbb{Q}}
\newcommand{\bbR}{\mathAlphbb{R}}
\newcommand{\bbS}{\mathAlphbb{S}}
\newcommand{\bbT}{\mathAlphbb{T}}
\newcommand{\bbU}{\mathAlphbb{U}}
\newcommand{\bbV}{\mathAlphbb{V}}
\newcommand{\bbW}{\mathAlphbb{W}}
\newcommand{\bbX}{\mathAlphbb{X}}
\newcommand{\bbY}{\mathAlphbb{Y}}
\newcommand{\bbZ}{\mathAlphbb{Z}}
Uppercase greek letters
\newcommand{\mathGreekbb}[1]{\mathbb{#1}}
\newcommand{\bbGamma}{\mathGreekbb{\Gamma}}
\newcommand{\bbDelta}{\mathGreekbb{\Delta}}
\newcommand{\bbTheta}{\mathGreekbb{\Theta}}
\newcommand{\bbLambda}{\mathGreekbb{\Lambda}}
\newcommand{\bbXi}{\mathGreekbb{\Xi}}
\newcommand{\bbPi}{\mathGreekbb{\Pi}}
\newcommand{\bbSigma}{\mathGreekbb{\Sigma}}
\newcommand{\bbUpsilon}{\mathGreekbb{\Upsilon}}
\newcommand{\bbPhi}{\mathGreekbb{\Phi}}
\newcommand{\bbPsi}{\mathGreekbb{\Psi}}
\newcommand{\bbOmega}{\mathGreekbb{\Omega}}
LaTeX で文章を作成する際に,ベクトルの記法として黒板太字を利用することはあまり推奨されない.
これは黒板太字がもともと「黒板に太字を書く際に太くない文字との違いをはっきりさせるための方法として用いられていた
」ためである.
そもそも出版物に黒板太字を利用しても良いのか? という議論もあるようだが,少なくともLaTeX においてベクトルに対して積極的に黒板太字を利用する意義やメリットはないと言えるだろう. また,LaTeX 標準(Computer Modern) に黒板太字を含まないのは,TeX の作者であるKnuth が黒板太字よりも太字を好んだためだとされている.
ただし,集合に関しては"自然数$ n \in \mathbb{N} $
" のような表記がよくなされているようだ.(ただし,ボールドで\mathbf{N}
とする表記もある)
線引きは曖昧だが,出版物や学問の慣習に従っていく方が良いだろう.(個人的にはベクトルに黒板太字を利用している出版物を見たことはないので利用すべきでないと考えている.)
Footnotes
-
amssymb を読み込むとamsfonts が読み込まれる. ↩