4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

名前の分からない数学記号の LaTeX コマンドを特定する方法

Last updated at Posted at 2023-06-15

教科書や参考書、論文等を読んでいると、見たこともないような数学記号を使っていることがあります。記号そのものや演算の意味を理解していても、LaTeX でこのような記号を再現しようとするときには、コマンドが分からなければ再現できません。

short-math-guide.pdf を参照すれば、基本的な数学記号のコマンドリストを得ることが出来ますが、これだけでは到底足りないことが大いにあります。

このような名前の分からない数学記号のコマンドを特定するには、大きく分けて 3 つの方法があります。

  • フリーハンドから特定する
  • Unicode から特定する
  • TeX ソースから特定する

本記事では、名前の分からない数学記号のコマンドを特定する 3 つの方法を紹介します。

■ フリーハンドから特定する

Detexify を使うと、フリーハンドで書いた記号から特定できます。

Detexify

これで記号がヒットすれば解決です。必要なパッケージも記載されています。

このツールが対応するパッケージは symbols-a4.pdf を参照しているようですが、最新のものがすべて網羅されているわけではないようです。

また、unicode-math パッケージは対応していないので注意が必要です。

■ Unicode から特定する

Shapecatcher を使って、フリーハンドで書いた記号から Unicode を特定します。

Shapecatcher

CJK 以外の 11,817 文字を調べることが出来ます。(と言いつつ平仮名はヒットします)

Unicode がヒットしなければ、求めている記号は独自に作成された記号の可能性が高いです。

求めていた記号がヒットした場合、“Unicode hexadecimal” の “x” 以下 4 桁の英数字 を見てください。Unicode hexadecimal は Unicode の 16 進文字コードです。

例えば、÷ に関して調べると、次のような結果を得ます。

Division sign

÷ の Unicode hexadecimal は “0xf7” です。このように “x” 以下が 4 桁ない場合は、4 桁になるように頭に 0 を与えてください。すなわち、÷ の Unicode hexadecimal の 4 桁の英数字は “00f7” です。

In block 項目に “Mathematical” という言葉が含まれている、あるいは Unicode category 1 が Math symbol に属していれば、少なくともその記号が数学記号用に意図された文字となっています。

類似した記号が複数挙げられた場合は、これを指標にすると良いでしょう。

この後、次の 2 つのいずれかを参照して、4 桁の英数字を内部検索します。

先の例の ÷ に関して、Unicode hexadecimal の “00f7” を unimath-symbols.pdf 内で検索してみると、次ような結果を得ます。これで、÷\div であることが分かりました。

division sign in unimath-symbols.pdf

なお、unimath-symbols.pdf は unicode-math のドキュメント 1 つであり、TeX Live に収録されているため、ターミナルから表示させることが出来ます。

$ texdoc unimath-symbols

▽ unicode-math 以外のパッケージを探す

多くの場合で unicode-math とその他のパッケージは同じようなコマンド名となっています。

unicode-math パッケージ以外のパッケージから記号を探したい場合、symbols-a4.pdf から探します。

先の例の ÷ に関して、\div であることが分かったので、symbols-a4.pdf 内で検索してみると、次のような結果を得ます。(結果は索引ページを参照しています)

\div in symbols-a4.pdf

なお、symbols-a4.pdf は TeX Live に収録されており、ターミナルから表示させることが出来ます。

$ texdoc symbols

当然ですが、symbols-a4.pdf に掲載されていないパッケージのコマンドについて追うことは出来ません。また、unicode-math と異なるコマンド名となっている場合も追えません。

▽ Unicode 名で Google 検索する

unicode-math に収録されていない文字だった場合、Google 等の検索エンジンで次のように検索します。

"unicode name" latex command

このような検索方法で、概ねの記号は解決できるでしょう。

■ TeX ソースから特定する

少しイレギュラーな方法です。

arXiv 等で得た論文を読んでいる際に、分からない記号に遭遇した場合、もとの TeX ファイルを得ることで解消できます。

この方法であれば、複雑に調べなくても簡単に答えに辿り着くことが出来ます。また、上 2 つの方法で特定できなかった記号を特定する唯一の方法です。

arXiv では、当該論文ページの “Donwload” → “Other formats” から Formats selector に移動し、“Download source” からソースをダウンロードすることが出来ます。ソースファイルが複数ある場合は、.tar.gz 形式です。

.tar.gz 形式の場合は、ターミナルで tar を利用して以下のように解凍することが出来ます。

$ tar -zxvf <file_name>

ファイル内で独自に複雑な定義がなされていて、どのようにするべきか分からない場合、de-macro のような独自定義を開くツールを利用するのも 1 つの手でしょう。

★ 実例

実際に、以下の × を 2 つ重ねたような数学記号のコマンドを特定してみましょう。

mysterious mathematical symbol

  1. Detexify を利用してフリーハンドで探す

    • 期待している記号が出ませんでした

    result of Detexify

  2. Shapecatcher を利用して Unicode 名を特定する

    • 期待している記号 (⨳) が出ました
      • Unicode name: Smash product
      • Unicode hexadecimal: 0x2a33

    result of Shapecatcher

  3. unimath-symbols.pdf 内で “2a33” を検索する

    • \smashtimes であることが分かりました

    search at unimath-symbols.pdf

  4. symbols-a4.pdf で “smashtimes” を検索する

    • 2 つのパッケージでも利用できることが分かりました
      • boisik
      • stix
  5. Google で "smash product" latex command を検索する

余談

数式にはさまざまな記号が使われます。その中には、記号そのものや演算の意味を理解していても、LaTeX のコマンドを知らないものもあります。

誰かに訊くことで解決することもありますが、誰も知らないコマンドがまれによく出てきます。

本記事のような方法によって、名前の分からない数学記号のコマンドを特定する一助になれば幸いです。

紹介した方法の他にも、名前の分からない数学記号のコマンドを特定する方法があれば教えてください。


Shapecatcher を使って記号を Unicode から特定する場合、軽微な形状の違いは気にしないでください。あるいは、気になれば総当たりすることをお勧めします。

例えば、\hslash\hbar\emptyset\varnothing 等は Unicode 上では同じ文字コードとなっています。(フォントによっては、これらの組が代替字形として収録されています)

また奇妙なことですが、\Game はフォントによって形状が大きく異なります。

\Game in unimath-symbols.pdf

U+2141 の Unicode 名は “turned sans-serif capital g” なので、縦軸線対称となっているのはおかしいです。(参考:縦軸線対称の場合は “reversed” となります)
しかしながら、AMS フォントでは縦軸線対称な “⅁” となっているため、これを踏襲する形になっているようです。


数学記号についてはある程度、特定に至ることが出来ますが、数学記号以外については特定することが出来ません。

たとえば、化学における標準状態をあらわす円に水平線を引いたような記号 (Plimsoll symbol) を調べるとします。
本記事の調べ方をすると、Unicode では Circle with Horizontal Bar “⦵”、unicode-math では \circlehbar のみが該当します。

しかし、標準状態を表す記号は、\standardstate (chemmacros, chemstyle)、\minuso (stmaryrd)、\stst (plimsoll) が一般的です。(LaTeX Stack Exchange)

また、天文学で利用するような星座シンボルに至っては unicode-math ですべてがサポートされていないため、類似記号さえ追うことは出来ません。(\astrosum (U+02609 “☉”)、\female (U+02640 “♀”)、\male (U+02642 “♂”) のみがサポートされている)
ただし、これに関しては数が少なく Google 検索も容易なため、それほど問題にはならないと思われます。

  1. 特定の文字の Unicode category を知りたい場合は、compart.com を利用すると良いでしょう。compart.com 内で当該文字、あるいは U+<x 以下の 4 桁> を検索します。Category 項目に Math Symbol (Sm) の記述があれば、数学関連の記号になります。

4
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?