AKJPプロンプト

Mathematical.jp BU/repo



LaTeXコードの組み方


LaTeXコーディング

基本的な組み方

基本的にHTMLと同じマークアップ言語になります。学生にLaTeXを進める理由はWebサイトの知識や概念だけでなく、パスなんかのPC周りの知識を習得できるようになるためです。かくいう私もこれを皮切りにしてシステムエンジニアをやっています。
個人的な意見になりますがクヌース博士はHTMLの開発にかかわっていると思います(とにかく構造がほぼ一緒)。

ひとまずいえるのは習うより慣れろといった感じのものなので当サイトに関連のコード類を今後もおいていこうかと思います(基本的に自分用のログです)。
これらを使って実際に試してみて途中から自分でコードを変えたりしてその変化を見るというのもありかと思います。

数式の整列

コード

\[
\begin{array}{ccl}
f(x)\;=\;5+4x+x^2+6x^3\\
f'(x)\;=\;4+2x+18x^2\\
f''(x)\;=\;2+36x\\
f'''(x)\;=\;36
\end{array}
\]

出力画像

&で挟んで=で整列させる

arrayコードを使って整列させるには以下のように{array}の後に例えば{ccl}のように位置を指定し整列される個所(以下のコードの場合、=)を&ではさみます。cは中央、rは右寄せ、lは左寄せになります。

コード

\[
\begin{array}{ccl}
f(x)\;&=&\;5+4x+x^2+6x^3\\
f'(x)\;&=&\;4+2x+18x^2\\
f''(x)\;&=&\;2+36x\\
f'''(x)\;&=&\;36
\end{array}
\]

出力画像

上記の注意点としては例えば整列される列が3列だったら区切る&の数は2つ、4列だったら3つといった具合にします。これを間違えるとエラーになります。

array環境の行間の開け方

上記のarray環境での数式において1行ごとの行間を開ける場合は改行コードを使うのではなく以下のようにarray{ccc}の直後に\vspace{数値}を置きます。例えば\vspace{10pt}などとした場合は以下のようになります。

コード

\[
\left\{
\begin{array}{ccccl}\vspace{10pt}
u\left(\:0,\:t\:\right)&=&\phi\left(\:0\:\right)\:\psi\left(\:t\:\right)&=&0\\
u\left(\:L,\:t\:\right)&=&\phi\left(\:L\:\right)\psi\left(\:t\:\right)&=&0
\end{array}
\right.\quad\Longrightarrow\quad\phi\left(\:0\:\right)=0,\quad\phi\left(\:L\:\right)\;=\;0
\]

出力画像

eqnarrayによる通常の数式の整列の仕方

通常の数式計算展開過程を表示する場合は一般的に左辺に計算前、左辺と右辺の間に=を入れて右辺に計算過程を表記して下の行へ下の行へと書いていくと思います。そういった場合array環境を使うのではなく簡単にeqnarray環境を使います。大体の場合は=を中心にそれに合わせて書くのでこの書き方でことが足ります。以下のように\begin{eqnarray*}から\end{eqnarray*}で囲みます。ポイントとしては*を入れるところになります。これを入れない場合は番号が付与されます。

コード

\begin{eqnarray*}
H_n\left(\:x\:\right)&=&\left(\:-1\:\right)^ne^{x^2}\frac{d^n}{dx^n}e^{-x^2}\\
H_0\left(\:x\:\right)&=&1\\
H_1\left(\:x\:\right)&=&2x\\
H_2\left(\:x\:\right)&=&4x^2\;-\;2\\
H_3\left(\:x\:\right)&=&8x^3\;-\;12x\\
H_4\left(\:x\:\right)&=&16x^4\;-\;48x^2\;+\;12\\
H_5\left(\:x\:\right)&=&32x^5\;-\;160x^3\;+\;120x\\
H_6\left(\:x\:\right)&=&64x^6\;-\;480x^4\;+\;720x^2\;-\;120\\
\end{eqnarray*}

出力画像

括弧(){}[]の使い方

括弧はそのままコードに埋め込めば確かにそのままDVIファイル上で表示されますが分数や指数関数を使ってその括弧よりも中の数式のほうが大きくなってしまった場合非常に体裁の悪いDVI文書に仕上がってしまいます。

コード

\begin{eqnarray*}
(\frac{d^2}{dx^2}-2x\frac{d}{dx}+2n)H_n(x)=0
\end{eqnarray*}

出力画像

こうした場合は次のように使います。

コード

\[
\left(\:\frac{d^2}{dx^2}\;-\;2x\frac{d}{dx}\;+\;2n\:\right)H_n\left(\:x\:\right)\;=\;0
\]

出力画像

ポイントとしては\left(をまず書き、反対側の右側の括弧は\right)として上記のように囲みます。ここで注意する点は[]に関しては上の場合と同じような書き方で問題ないのですが{}になると上記の書き方だとエラーになります。コーディングの仕方としては{、および}の直前に\を付け加えるところになります。例を示すと以下のようになります。

コード

\begin{eqnarray*}
\sum^{\infty}_{n\;=\;0}\frac{1}{n!}\left\{\:\frac{d^2H_n\left(\:\xi\:\right)}{d\xi^2}\;-\;2\xi\frac{dH_n\left(\:\xi\:\right)}{d\xi}\;+\;2nH_n\left(\:\xi\:\right)\:\right\}t^n&=&0
\end{eqnarray*}

出力画像

列間の調整

重積分の記号などを描画する際にインテグラルを続けて書きますがデフォルトだと次のようになります。

コード

\begin{eqnarray*}
\int\int\int_s\left(\:x,\:y,\:z\:\right)\:=\:dxdydz
\end{eqnarray*}

出力画像

これを避けるためには以下のように\!を縮めたい幅の分だけ入力していきます。

コード

\begin{eqnarray*}
\int\!\int\!\int_s\left(\:x,\:y,\:z\:\right)&=&dxdydz\\
\int\!\!\int\!\!\int_s\left(\:x,\:y,\:z\:\right)&=&dxdydz\\
\int\!\!\!\int\!\!\!\int_s\left(\:x,\:y,\:z\:\right)&=&dxdydz\\
\end{eqnarray*}

PAGE TOP