このブログの更新は Twitterアカウント @m_hiyama で通知されます。
Follow @m_hiyama

メールでのご連絡は hiyama{at}chimaira{dot}org まで。

はじめてのメールはスパムと判定されることがあります。最初は、信頼されているドメインから差し障りのない文面を送っていただけると、スパムと判定されにくいと思います。

参照用 記事

数学記号とか特殊な文字のUnicode

はてなダイアリーだと、TeX記法で数学記号を表します。例えば、テンソル積の記号だと [tex:\otimes] と書きます。TeX記法はサーバー側で処理されて次のような画像に置換されます。(最近だと、MathJaxを使ったクライアント側レンダリングが多いですね。)

<img src="http://d.hatena.ne.jp/cgi-bin/mimetex.cgi?\otimes" class="tex" alt="¥otimes">

画像は文字ではないのでレイアウトがうまくいかないことがあります。例えば、V\otimesV はテンソル積の意味で二乗だから、Vの右肩に\otimes2を乗せたいとします。やってみます。

  • V\otimes2

レンダリング環境にもよると思いますが、テンソル積記号が大きすぎる気がします。テンソル積記号は文字としても存在しています。U+2297 'CIRCLED TIMES' です。HTMLの文字実体参照記法で &#x2297; と書きます。文字のテンソル積記号を使うと:

  • V⊗2

小さくなりました、小さすぎるかな? 通常の演算子として使うと明らかに小さすぎ…

  • V⊗V

それと、記号じゃなくて英字なんですが、小文字エル、これが困るんです。普通のグリフだと1(イチ)やI(アイ)と間違いやすい。Unicodeレパートリを探したら、U+2113 'SCRIPT SMALL L' てのがありました。

このエルなら間違いにくいでしょう。k, ℓ, m, n … ウーン、バンランス悪いな。

それとまた全然話が別ですが、ソフトウェアが認識するマークアップエスケープしたいけど、その手段がないときがあります。僕は、DoxygenMarkdown記法(コードブロック)内でDoxygenコマンドをエスケープする方法がないので困ったことがあります。そんなときは、次の不可視文字が役に立ちます。

  • U+200B 'ZERO WIDTH SPACE'
  • U+200C 'ZERO WIDTH NON-JOINER'

文字コードレベル(バイナリイメージ)では文字なのでマークアップを壊すことができます。しかし、不可視なので表示は壊しません。任意のUnicode文字を生で入れられるエディタで入力します。

あんまり褒められた方法じゃない(弊害もある)ので推奨しませんが、どうにもならないときの最後の手段にはなります。


以下に、ひょっとして使えるかも知れない数学記号のUnicode文字をリストしておきます。フォントやレイアウトエンジンによりけりですが、僕の環境では記号文字のサイズやデザインがいまいち。タブ区切りのデータは、http://d.hatena.ne.jp/m-hiyama-memo/20170713/1499933314 にあります。

[追記]文字の名前は、Unicodeスタンダードが定めている名前と違うものがあります。例えば、黒板文字のアルファベットは、'DOUBLE-STRUCK CAPITAL ホゲ'がUnicodeにおける名前です。[/追記]

集合論
文字 名前 HTML 16進
EMPTY SET &#x2205;
SET MINUS &#x2216;
CONTAINS AS MEMBER &#x220B;
ALEF INFINITY SYMBOL &#x2135;
論理(モデル論を含む)
文字 名前 HTML 16進
¬ NOT SYMBOL &#xAC;
ASSERTION &#x22A6;
MODELS &#x22A7;
TRUE &#x22A8;
DOES NOT PROVE &#x22AC;
NOT TRUE &#x22AD;
特別な集合・構造
文字 名前 HTML 16進
NATURAL NUMBERS &#x2115;
INTEGERS &#x2124;
RATIONAL NUMBERS &#x211A;
REAL NUMBERS &#x211D;
COMPLEX NUMBERS &#x2102;
演算子記号
文字 名前 HTML 16進
RING OPERATOR &#x2218;
CIRCLED PLUS &#x2295;
CIRCLED MINUS &#x2296;
CIRCLED TIMES &#x2297;
CIRCLED DIVISION SLASH &#x2298;
CIRCLED DOT OPERATOR &#x2299;
CIRCLED RING OPERATOR &#x229A;
CIRCLED ASTERISK OPERATOR &#x229B;
SQUARE CAP &#x2293;
SQUARE CUP &#x2294;
DOT PLUS &#x2214;
DOT MINUS &#x2238;
MULTISET MULTIPLICATION &#x228D;
MULTISET UNION &#x228E;
LEFT NORMAL FACTOR SEMIDIRECT PRODUCT &#x22C9;
RIGHT NORMAL FACTOR SEMIDIRECT PRODUCT &#x22CA;
PITCHFORK &#x22D4;
関係記号
文字 名前 HTML 16進
SQUARE IMAGE OF &#x228F;
SQUARE ORIGINAL OF &#x2290;
SQUARE IMAGE OF OR EQUAL TO &#x2291;
SQUARE ORIGINAL OF OR EQUAL TO &#x2292;
PRECEDES &#x227A;
SUCCEEDS &#x227B;
PRECEDES OR EQUAL TO &#x227C;
SUCCEEDS OR EQUAL TO &#x227D;
DELTA EQUAL TO &#x225C;
COLON EQUALS &#x2254;
EQUIVALENT TO &#x224D;
ASYMPTOTICALLY EQUAL TO &#x2243;
APPROACHES THE LIMIT &#x2250;
APPROXIMATELY EQUAL &#x2245;