\(\rm \TeX\) 수식 처리의 원리와 적용


\(\rm Typing\ \TeX nically\ beautiful\ math\ equaion\)




남수진

\(\rm The\ \TeX book\)


Gentle Reader: This is a handbook about \(\rm\TeX\), a new typesetting system intended for the creation of beautiful books and especially for books that contain a lot of mathematics.

\(\rm\TeX\) is designed to handle complex mathematical expressions in such a way that most of them are easy to input.

And once you have gotten to that level, there's only a little bit more to learn before you are producing formulas as beautiful as any the world has ever seen; tastefully applied touches of \(\rm\TeX\)nique will add a professional polish that works wonders for the appearance and readability of the books and papers that you type.
Solving this quadratic eqution and using the fact that \(B(0)=1\), we obtain \begin{align} B(z) &={1\over2z}\big(1-\sqrt{1-4z}\big) ={1\over2z}\biggl(1-\sum_{k\ge0}\biggl({{1\over2}\atop k}\biggr) (-4z)^k\biggr)\\ &=2\sum_{n\ge0}\biggl({{1\over2}\atop n+1}\biggr)(-4z)^n =\sum_{n\ge0}\biggl({-{1\over2}\atop n}\biggr){(-4z)^n\over n+1}\\ &=\sum_{n\ge0}\biggl({2n\atop n}\biggr){z^n\over n+1}\\ &=1+z+2z^2+5z^3+14z^4+42z^5+132z^6+429z^7\\ &\qquad\qquad\qquad\qquad\qquad\qquad +1430z^8+4862z^9+16796z^{10}+\cdots. \end{align}


\def

\newcommand

다루는 내용

math mode


$ x $
\( x \)

$$ \frac{1}{2} $$
\[ \frac{1}{2} \]


Notice that all mathematical formulas are enclosed in special math brackets; we are using $ as the math bracket in this manual, in accord with the plain \(\rm\TeX\) format defined in Appendix B, because mathematics is supposedly expensive.

수식 스타일과 크기

\(\rm\TeX\)의 수식 스타일
display style \((D)\) (별행 수식)
text style \((T)\) (문단 내에서의 수식)
script style \((S)\) (윗 첨자 또는 아랫 첨자에 사용되는 수식)
scriptscript style \((SS)\) (위 또는 아래 첨자의 첨자에 사용되는 수식)

각 스타일의 cramped 스타일 (\(D'\), \(T'\), \(S'\), \(SS'\))

\(\rm\TeX\)의 수식 크기
text size
script size
scriptscript size

수식 스타일과 크기

If a letter is in style then it will be set in
\(D\), \(D'\), \(T\), \(T'\)text size
\(S\), \(S'\)script size
\(SS\), \(SS'\)scriptscript size

a formular of style superscript style subscript style
\(D\), \(T\)\(S\)\(S'\)
\(D'\), \(T'\)\(S'\)\(S'\)
\(S\), \(SS\)\(SS\)\(SS'\)
\(S'\), \(SS'\)\(SS'\)\(SS'\)

스타일 \(D\) 와 \(T\) 는 큰 차이가 없어 보인다.

수식 스타일과 크기

하지만, 분수식에는 \(D\) 스타일과 \(T\) 스타일에 큰 차이가 있다. \[ {1\over2}\qquad {\textstyle{1\over2}} \qquad\qquad {x\atop y+2}\qquad {\textstyle {x\atop y+2}} \qquad\qquad {\pi\above 1pt 2}\qquad {\textstyle {\pi\above 1pt 2}} \]
$$n+1 \over 3$$ \(\displaystyle n+1 \over \displaystyle3\)
 
$$x \atop y+2$$ \(\displaystyle x \atop \displaystyle y+2\)
 
$$\pi \above 1pt 2$$ \(\displaystyle \pi \above 1pt \displaystyle 2\)

수식 스타일과 크기

\(\alpha\) \over \(\beta\) of style the style of \(\alpha\) the style of \(\beta\)
\(D\)\(T\)\(T'\)
\(D'\)\(T'\)\(T'\)
\(T\)\(S\)\(S'\)
\(T'\)\(S'\)\(S'\)
\(S\), \(SS\)\(SS\)\(SS'\)
\(S'\), \(SS'\)\(SS'\)\(SS'\)

수식 액센트(\(\hat A\)), \sqrt\overline 같은 연산자는 cramped 스타일로 바꾼다. \underline은 스타일을 변경시키지 않는다.

수식 스타일과 크기

$$x^2 \qquad {x^2 \over x^2}$$
\[x^2\qquad{x^2\over x^2}\]

수식 스타일과 크기

[문제] 수식 \(\sqrt{p^{e'}_2}\)이 \(D\) 스타일에 있다고하고, 각 부분의 스타일과 크기를 설명하라.

\(\rm\TeX\)이 제공하는 자동 스타일 규칙이 맘에 안들면, 다음과 같은 명령어로 직접 스타일을 정할 수 있다. \displaystyle, \textstyle, \scriptstyle, \scriptscriptstyle \[\sum_{0\le i\le m \atop 0\lt j\lt n}P(i,j)\qquad \sum_{\scriptstyle 0\le i\le m \atop \scriptstyle 0\lt j\lt n}P(i,j)\]
$$
\sum_{\scriptstyle 0\le i\le m\atop\scriptstyle 0\lt j\lt n}P(i,j)
$$

수식 스타일과 크기

\mathchoice{math1}{math2}{math3}{math4}

\(\rm\TeX\)은 \(D\) 또는 \(D'\) 스타일 일때는 math1를 \(T\) 또는 \(T'\) 스타일 일때는 math2를 \(S\) 또는 \(S'\) 스타일 일때는 math3를 \(SS\) 또는 \(SS'\) 스타일 일때는 math4를 선택한다.

아래 코드의 결과는?
\def\puzzle{{\mathchoice{D}{T}{S}{SS}}}

$$\puzzle{\puzzle\over\puzzle^{\puzzle^\puzzle}}$$
\[\def\puzzle{{\mathchoice{D}{T}{S}{SS}}} \puzzle{\puzzle\over\puzzle^{\puzzle^\puzzle}}\]

large operators

\(D\) 스타일과 \(T\) 스타일에서의 수식에 사용된 글자의 크기는 같지만, \[\coprod,\ \bigvee,\ \bigwedge,\ \biguplus,\ \bigcap,\ \bigcup,\ \prod,\ \sum,\ \int,\ \bigotimes,\ \bigoplus,\ \ldots\] Large operator의 경우에는 \(D\) 스타일과 \(T\) 스타일에서의 수식 크기와 첨자의 위치가 다르다. \[\sum_{n=1}^m \qquad\qquad {\textstyle\sum_{n=1}^m}\] 적분 기호는 large operator 이기는 하지만 지수의 위치가 다른 연산자와 다르다.

large operators

$\int_{-\infty}^{+\infty}$ yields \(\int_{-\infty}^{+\infty}\) (\(T\) style)
$$\int_{-\infty}^{+\infty}$$ yields \(\displaystyle\int_{-\infty}^{+\infty}\) (\(D\) style)
\mathchardef\sum="1350
\mathchardef\intop="1352 \def\int{\intop\nolimits}
$$\int\limits_0^{\pi\over2}$$ \(\displaystyle\int\limits_0^{\pi\over2}\)
$$\sum\nolimits_{n=1}^m$$ \(\displaystyle\sum\nolimits_{n=1}^m\)
$\sum\limits_{n=1}^m$ \(\sum\limits_{n=1}^m\)

수식 atom의 종류

텍 수식에는 13 종의 수식 atom이 있다.
Ord is and ordinary atom like \(x\)
Op is a large operator atom like \(\sum\)
Bin is a binary operation atom like \(+\)
Rel is a relation atom like \(=\)
Open is an opening atom like \((\)
Close is a closing atom like \()\)
Punct is a punctuation atom like \(,\)
Innter is an inner atom like \(1\over2\)
Over is an overline atom like \(\overline x\)
Under is an underline atom like \(\underline x\)
Acc is an accented atom like \(\hat x\)
Rad is a radical atom like \(\sqrt2\)
Vcent is a vbox to be centered, produced by \vcenter

수식 atom의 종류

  \mathord \mathop \mathbin \mathrel
  \mathopen \mathclose \mathpunct \mathinner
  
  $$\cosec\theta,\qquad \cosec^2\theta$$
  
\[\def\cosec{\mathop{\rm cosec}\nolimits}\cosec\theta,\qquad \cosec^2\theta\]
  \def\cosec{\mathop{\rm cosec}}
\[\def\cosec{\mathop{\rm cosec}}\cosec\theta,\qquad \cosec^2\theta\]
  \def\cosec{\mathop{\rm cosec}\nolimits}
\[\def\cosec{\mathop{\rm cosec}\nolimits}\cosec\theta,\qquad \cosec^2\theta\]

간격 조정

\(\rm \TeX\)은 자동으로 수식에 thin spaces, medium spaces, thick spaces을 넣는다. 여러분이 직접 넣고 싶을때는 아래의 명령을 이용한다.

\, thin space (normally \(1/6\) of a quad);
\> medium space (normally \(2/9\) of a quad);
\; thick space (normally \(5/18\) of a quad);
\! negative thin space (normally \(-1/6\) of a quad).

간격 조정

\(Right\ atom\)
OrdOpBin RelOpenClosePunctInner
\(Left\)
\(atom\)
Ord 01(2)(3) 000(1)
Op 11*(3) 000(1)
Bin (2)(2)** (2)**(2)
Rel (3)(3)*0 (3)00(3)
Open 00*0 0000
Close 01(2)(3) 000(1)
Punct (1)(1)*(1) (1)(1)(1)(1)
Inner (1)1(2)(3) (1)0(1)(1)

위의 표에서 0, 1, 2, 3은 각각 no space, thin space, medium space, thick space를 나타낸다.

간격 조정

$$x+y=\max\{x,y\}+\min\{x,y\}$$
\[ \fbox{\(x\)}\ \fbox{\(+\)}\ \fbox{\(y\)}\ \fbox{\(=\)}\ \fbox{\(\max\)}\ \fbox{\(\{\)}\ \fbox{\(x\)}\ \fbox{\(,\)}\ \fbox{\(y\)}\ \fbox{\(\}\)}\ \fbox{\(+\)}\ \fbox{\(\min\)}\ \fbox{\(\{\)}\ \fbox{\(x\)}\ \fbox{\(,\)}\ \fbox{\(y\)}\ \fbox{\(\}\)}\ \] 위의 토큰의 타입은 각각 Ord, Bin, Ord, Rel, Op, Open, Ord, Punct, Ord, Close, Bin, Op, Open, Ord, Punct, Ord, Close 이다. 그리고 앞의 표에 의해서

Ord \> Bin \> Ord \; Rel \;Op Open Ord Punct \, Ord Close \> Bin \>Op Open Ord Punct \, Ord Close \[x+y=\max\{x,y\}+\min\{x,y\}\]

간격 조정

$\int_0^\infty f(x)\,dx$ \(\int_0^\infty f(x)\,dx\)
$y\,dx-x\,dy$ \(y\,dx-x\,dy\)
$dx\,dy=r\,dr\,d\theta$ \(dx\,dy=r\,dr\,d\theta\)
$x\,dy/dx$ \(x\,dy/dx\)
$55\rm\,mi/hr$ \(55\rm\,mi/hr\)
$g=9.8\rm\,m/sec^2$ \(g=9.8\rm\,m/sec^2\)
$\rm1\,ml=1.000028\,cc$ \(\rm1\,ml=1.000028\,cc\)
$(2n)!/\bigl(n!\,(n+1)!\bigr)$ \((2n)!/\bigl(n!\,(n+1)!\bigr)\)
$${52!\over13!\,13!\,26!}$$ \(\displaystyle{52!\over13!\,13!\,26!}\)
$\sqrt2\,x$ \(\sqrt2\,x\)

간격 조정

$O\bigl(1/\sqrt n\,\bigr)$ \(O\bigl(1/\sqrt n\,\bigr)\)
$\sqrt{\,\log x}$ \(\sqrt{\,\log x}\)
$[\,0,1)$ \([\,0,1)\)
$\log n\,(\log\log n)^2$ \(\log n\,(\log\log n)^2\)
$x^2\!/2$ \(x^2\!/2\)
$n/\!\log n$ \(n/\!\log n\)
$\Gamma_{\!2}+\Delta^{\!2}$ \(\Gamma_{\!2}+\Delta^{\!2}\)
$R_i{}^j{}_{\!kl}$ \(R_i{}^j{}_{\!kl}\)
$\int_0^x\!\int_0^y dF(u,v)$ \(\int_0^x\!\int_0^y dF(u,v)\)
$$\int\!\!\!\int_D dx\,dy$$ \(\displaystyle\int\!\!\!\int_D dx\,dy\)

Delimiter symbols

Plain \(\rm\TeX\)은 22가지의 기본적인 delimiters를 제공한다. (, ), [, ], ...

\big \Big \bigg \Bigg{l, m, r}
$\bigl(x-s(x)\bigr)\bigl(y-s(y)\bigr)$ \(\bigl(x-s(x)\bigr)\bigl(y-s(y)\bigr)\)
$\bigl[x-s[x]\bigr]\bigl[y-s[y]\bigr]$ \(\bigl[x-s[x]\bigr]\bigl[y-s[y]\bigr]\)
$\bigl| |x|-|y| \bigr|$ \(\bigl\vert\vert x\vert-\vert y\vert\bigr\vert\)
$\bigl\lfloor\sqrt A\bigr\rfloor$ \(\bigl\lfloor\sqrt A\bigr\rfloor\)


\left\right

Delimiter symbols

\left\right는 매우 편리하지만, ......

$\left|\left|x\right|-\left|y\right|\right|$ \[\left|\left|x\right|-\left|y\right|\right|\]
$$\left(\sum_{k=1}^n A_k\right)$$ \(\displaystyle\left(\sum_{k=1}^n A_k\right)\)
$$\biggl(\sum_{k=1}^n A_k\biggr)$$ \(\displaystyle\biggl(\sum_{k=1}^n A_k\biggr)\)
수식이 길어서 여러 줄에 걸쳐서 나와야 하는 경우

Punctuation

수식에 구둣점을 넣을 때, 수식이 문장 내에 있을 때는 $ 다음에, 별행 수식일 때는 $$ 전에 넣어라.
If $x<0$, we have shown that $$y=f(x).$$ 
같은 맥락으로
for $x = a$, $b$, or $c$.
와 같이 입력하여라. 절대로 아래와 같이 입력하지 말아라.
for $x = a, b$, or $c$.

수식들 사이의 간격

\[F_n=F_{n-1}+F_{n-2},\qquad n\ge2\]
$$F_n=F_{n-1}+F_{n-2}, n\ge2$$
\[F_n=F_{n-1}+F_{n-2}, n\ge2\]
$$F_n=F_{n-1}+F_{n-2},\qquad n\ge2$$

Ellipse

$x_1+\cdots+x_n$ \(x_1+\cdots+x_n\)
$x_1=\cdots=x_n=0$ \(x_1=\cdots=x_n=0\)
$A_1\times\cdots\times A_n$ \(A_1\times\cdots\times A_n\)
$f(x_1,\ldots,x_n)$ \(f(x_1,\ldots,x_n)\)
$x_1x_2\ldots x_n$ \(x_1x_2\ldots x_n\)
$(1-x)(1-x^2)\ldots(1-x^n)$ \((1-x)(1-x^2)\ldots(1-x^n)\)
$n(n-1)\ldots(1)$ \(n(n-1)\ldots(1)\)

Braces

$\{a,b,c\}$ \(\{a,b,c\}\)
$\{1,2,\ldots,n\}$ \(\{1,2,\ldots,n\}\)
$\{\rm red,white,blue\}$ \(\{\rm red,white,blue\}\)
$\{\,x\mid x>5\,\}$ \(\{\,x\mid x>5\,\}\)
$\{\,x:x>5\,\}$ \(\{\,x:x>5\,\}\)
\bigl\{\,\bigl(x,f(x)\bigr)\bigm|x\in D\,\bigr\} \(\bigl\{\,\bigl(x,f(x)\bigr)\bigm|x\in D\,\bigr\}\)

줄바꿈

수식은 \(=\) 또는 \(<\) 또는 \(\to\)와 같은 관계 기호 다음에서나 \(+\) 또는 \(-\) 또는 \(\times\)와 같은 이진 연산자 다음에서만 줄바꿈이 이루어진다. 예를들어, 아래와 같은 수식을
$f(x,y) = x^2-y^2 = (x+y)(x-y)$
문단 내에 쓴다면, 가급적이면 \(=\) 다음에서 줄바꿈을 시도 할 것이고, 여의치 않으면 \(-\) 또는 \(+\) 또는 \(-\)에서 줄바꿈을 할 것이다.

$f(x,y) = x^2-y^2 = {(x+y)(x-y)}$

\allowbreak
$(x_1,\ldots,x_m,\allowbreak y_1,\ldots,y_n)$

환상의 복식조

\smash, \vphantom
$${r_m\brace r_n} \Longrightarrow r$$
\[{r_m\brace r_n} \Longrightarrow r\qquad \fbox{\({r_m\brace r_n} \Longrightarrow r\)}\qquad \fbox{\(\smash{r_m\brace r_n}\vphantom{r} \Longrightarrow r\)}\]
\smash{r_m\brace r_n}\vphantom{r}
\[ \lim_{n\to\infty}x_n {\rm\ exists} \iff \limsup_{n\to\infty}\,x_n = \liminf_{n\to\infty}\,x_n. \] \[ \lim_{n\to\infty}x_n {\rm\ exists} \iff \mathop{\smash\limsup\vphantom{\lim}}_{n\to\infty}\,x_n = \liminf_{n\to\infty}\>x_n. \]
\mathop{\smash\limsup\vphantom{\lim}}

연습문제

\[ \prod_{j\ge0}\biggl(\sum_{k\ge0}a_{jk}z^k\biggr) =\sum_{n\ge0}z^n\,\Biggl(\sum_ {\scriptstyle k_0,k_1,\ldots\ge0\atop \scriptstyle k_0+k_1+\cdots=n} a_{0k_0}a_{1k_1}\ldots\,\Biggr). \] \[ \mathop{{\sum}'}_{x\in A}f(x)\mathrel{\mathop=^{\rm def}} \sum_{\scriptstyle x\in A\atop\scriptstyle x\ne0}f(x). \] \[ \int_0^1\!\cdots\int_0^1f(x_1,\ldots,x_n)\,dx_1\ldots\,dx_n. \]



감사합니다