特殊タグ練習 - 主にMathJax   作:小沼高希

1 / 3
よくわかる数式の書き方

小説の中で数式を出したい。そう思ったことはありませんか?筆者の調査によれば実に#DIV/0! パーセントの作者が小説内で数式を用いたいと考え、そして方法が分からず挫折したそうです。悲しいですね。

 

しかしご安心を。我らがはWeb小説投稿サイトハーメルンは数式を投稿できるJavaScriptライブラリ「MathJax」を導入しているので $\TeX$ 構文を用いることができるのです。

 

……言葉があまり良くわからない?あとこのズレたアルファベットはなんて読むのかわからない?そうですか。まあそうですよね。きちんと説明していきましょう。

 


 

まず数式を使うための準備をするために、tex変換ツールの使用方法を確認しておきましょう。あとリンク切れてるのはゼータ関数に詳しい人が書いてたらしい小説です。具体例見たかったら「図書庫の城邦と異哲の女史」の「偏差」を読めばいいんじゃないかな。拙作です。

 

ハーメルンには執筆中のプレビュー機能として新規投稿か編集完了の隣にあるやつと多機能フォームに付随するやつがあります。なおこの2つは搭載機能が異なり、例えば前者でしかboxタグは機能しません。

 

というわけで数式がちゃんと表示できるか確認するために開示設定を「チラシの裏」に、そして「特殊タグ練習」をつけることを忘れないようにしましょう。このサイトは小説以外を投稿すると怒られる場所ですが、主目的が特殊タグの練習・共有の場合に限ってタグ設定をすれば小説(SS)以外の投稿の対象にはなりません。詳しくは特殊タグの使用方法を確認のこと。

 


 

さて。まず投稿画面を作ったらやることがあります。何でもいいので1000文字書きましょう。これはハーメルンの投稿文字数下限設定のせいです。なお「 」(半角スペース)とか「 」(全角スペース)とかは文字数カウントされませんが「」(ゼロ幅スペース)はカウントされます。やったね。

 

なおこれは文字数稼ぎになり、文字数稼ぎは投稿されている作品に適用されるので多分アウト行為です。世知辛いね。

 

というか最初の導入から数式が出てくる作品はあまりない気がしますね。かの結城浩による「数学ガール」でもプロローグでは数式が出てきていません。第一章では二ページ目で出てきます。

 

そして一旦投稿しましょう。ああ、あとどこかに

 

$()\TeX

$

 

と打っておきましょう。二つの$で挟むのが鍵です。えっ、上の箱の中のやつではどうやって数式化を回避しているかって?これは冒頭の$()に無をルビとして与えています。 必要なら一番上のバーにある誤字報告から実際のコードを見れますよ。あとこれtopicPathクラス使ってるんですね。本来はパンくずリスト用の表示なのか。

 


 

これで、あなたの小説(小説?)の中に

 

$\TeX$

 

 

という文字が出たと思います。これはドナルド・アーヴィン・クヌースという数学者が作った組版処理システムの名前です。

 

組版というのは文字をどう並べるか、というものですね。彼は自分の本を書く時に狙ったように文字を置けなかったのでわざわざシステムから作ったのです。ちなみに $\TeX$ は $\TeX$ と読みます。

 

彼の作ったシステムは数式表示で評判がよく、$\TeX$ を組み込んだソフトウェアである $\LaTeX$ やその派生は科学論文の執筆において広く用いられています。適当にやっても論文っぽさが出るので便利なんですよね。拡張のマクロパッケージを読み込むと数式以外にも表現の幅が広がりますし。

 

でも、これらは一般的にはPDFなどのファイルとして書き出すことを前提としたものです。ウェブサイト上でも数式表示ができないか、として作られたのがJavaScriptライブラリ「MathJax」です。これには文字がずれるような変な表記方法はないはずですね。

 

このライブラリはかなり広く使われているので、ウェブサイトで見る数式のだいたいに多分使われています。もちろんここでも。さもなくば使われているのはKaTeXというもう少しシンプルなやつです。

 

MathJaxは様々な方法で数式の表示を試みるので、だいたいの環境で数式が見れるようになるはずです。でもPDF出力はできないんですよね。それをやるならTeXworksとか使ったほうがいいんじゃないかな。

 

さて、じゃあ実際に数式を打ってみましょう。コピペでできるような簡単な数式ないかな。あれでいいか。

 

$$() T = 2 \pi \sqrt{\frac{L}{g}} \sum_{n=0}^{\infty} \frac{(2n-1)!!}{2n!!} \sin^2 \left( \frac{\theta}{2} \right) $$

 

これをコピペして貼って編集完了してみましょう。

 

$$ T = 2 \pi \sqrt{\frac{L}{g}} \sum_{n=0}^{\infty} \frac{(2n-1)!!}{2n!!} \sin^2 \left( \frac{\theta}{2} \right) $$

 

こういうのが出ればひとまずヨシ!です。

 


 

というわけで、一個づつ要素を説明していきましょう。あとさっきの式は重力加速度を $g$ と置いて質点を長さ $l$ の糸で吊るした最大振れ幅 $\theta$ の振り子の周期 $T$ を厳密に求めるためのものです。第一種完全楕円積分ってやつを使います。

 

$$ T = 2 \pi \sqrt{\frac{L}{g}} \sum_{n=0}^{\infty} \frac{(2n-1)!!}{2n!!} \sin^2 \left( \frac{\theta}{2} \right) $$

 

ここの$$()は数式を表す範囲を指定しています。同じ行の中で対応するものがあれば、その間を数式として処理する感じですね。$()だと行内数式、$$()だと独立行の数式です。とはいえ長すぎる数式は改行とかで問題が起こる可能性があるので、overscroll属性をもたせたboxの中に入れるとかするといい気がします。

 

$$() T = 2 \pi \sqrt{\frac{L}{g}} \sum_{n=0}^{\infty} \frac{(2n-1)!!}{2n!!} \sin^2 \left( \frac{\theta}{2} \right) $$

$$ \color{#e11}{T} = 2 \pi \sqrt{\frac{L}{g}} \sum_{n=0}^{\infty} \frac{(2n-1)!!}{2n!!} \sin^2 \left( \frac{\theta}{2} \right) $$

 

普通に書いたアルファベットは斜体になります。これは数学では変数を斜体で表示するためですね。なお $\TeX$ のデフォルトの設定のままが便利なので本来立体で書くべき自然対数の底 $\mathrm{e}$ とか虚数単位 $\mathrm{i}$ とかも斜体で書かれる事がよくあります。

 

あ、立体で書きたい時は \mathrm{e} みたいな形を使います。この「\コマンド{中身}」みたいな書き方は今後も出てきます。

 

$$() T = 2 \pi \sqrt{\frac{L}{g}} \sum_{n=0}^{\infty} \frac{(2n-1)!!}{2n!!} \sin^2 \left( \frac{\theta}{2} \right) $$

$$ T = 2 \color{#e11}{\pi} \sqrt{\frac{L}{g}} \sum_{n=0}^{\infty} \frac{(2n-1)!!}{2n!!} \sin^2 \left( \frac{\theta}{2} \right) $$

 

ギリシャ文字などは、 \pi などのコマンドで表示させることができます。また、\Pi のように最初の文字を大文字にするとギリシャ文字の大文字に相当する $\Pi$ を出すことができます。「\」のつけ忘れはよくあるミスなので、ちゃんとと出力を確認しましょう。

 

$$() T = 2 \pi \sqrt{\frac{L}{g}} \sum_{n=0}^{\infty} \frac{(2n-1)!!}{2n!!} \sin^2 \left( \frac{\theta}{2} \right) $$

$$ T = 2 \pi \color{#e11}{\sqrt{\frac{L}{g}}} \sum_{n=0}^{\infty} \frac{(2n-1)!!}{2n!!} \sin^2 \left( \frac{\theta}{2} \right) $$

 

ちょっと複雑になっていますが、ここの部分は \sqrt{...} の中に \frac{L}{g} が入っているという形になっています。前者はルート、後者は分数で前の方の波括弧の中が分子、後の方が分母になる分数の表示ですね。これを組み合わせることでルートの中の分数を表しています。

 

$$() T = 2 \pi \sqrt{\frac{L}{g}} \sum_{n=0}^{\infty} \frac{(2n-1)!!}{2n!!} \sin^2 \left( \frac{\theta}{2} \right) $$

$$ T = 2 \pi \sqrt{\frac{L}{g}} \color{#e11}{\sum_{n=0}^{\infty}} \frac{(2n-1)!!}{2n!!} \sin^2 \left( \frac{\theta}{2} \right) $$

 

\sum は和の記号を表す記号です。_ の後で下に置かれる数字あるいは記号を、^ の後で上に置かれる数字あるいは記号を指定できます。この指定方法は他の記号にも適用できて、例えば x_{n-1}^{p+1} と書くと $x_{n-1}^{p+1}$ となります。

 

$$() T = 2 \pi \sqrt{\frac{L}{g}} \sum_{n=0}^{\infty} \frac{(2n-1)!!}{2n!!} \sin^2 \left( \frac{\theta}{2} \right) $$

$$ T = 2 \pi \sqrt{\frac{L}{g}} \sum_{n=0}^{\infty} \color{#e11}{\frac{(2n-1)!!}{2n!!}} \sin^2 \left( \frac{\theta}{2} \right) $$

 

ここの分数の書き方は \frac{分子}{分母} の形ですね。英語だと2/3(3分の2)をtwo thirdsといいますし、順番もそのままなのでわかりやすいかと。




続きは気が向いたら書きます
  1. 目次
  2. 小説情報
  3. 縦書き
  4. しおりを挟む
  5. お気に入り登録
  6. 評価
  7. 感想
  8. ここすき
  9. 誤字
  10. 閲覧設定

▲ページの一番上に飛ぶ
X(Twitter)で読了報告
感想を書く ※感想一覧
内容
0文字 10~5000文字
感想を書き込む前に 感想を投稿する際のガイドライン に違反していないか確認して下さい。
※展開予想はネタ潰しになるだけですので、感想欄ではご遠慮ください。