[[TableOfContents]] == 기본적인 수식 삽입 방법 == === 행중 수식과 단락 수식 === 수식은 크게 두 가지 종류로 삽입이 되는데 하나는 작성중인 문장 사이에 inline으로 들어가는 수식이 있고, 수식 자체가 한 단락을 차지하도록 넣을 수도 있다. 문장 사이에 수식을 넣을 경우 해당 수식을 {{{'\('}}}와 {{{'\)'}}}로 감싸거나 {{{'$'}}}로 감싸준다. 단락으로 수식을 넣을 경우 {{{'\['}}}와 {{{'\]'}}}로 수식을 감싸준다. {{{#!tex 임의의 직각삼각형에 대해 빗변의 길이를 \(c\), 나머지 두 변의 길이를 $a$, $b$로 나타내면 다음과 같은 관계가 항상 성립한다. \[a^2 + b^2 = c^2\] }}} attachment:PythagoreanThm.png === 미리 정의된 함수들 === sine 함수나 cosine 함수 같은 경우 이들을 식자하기 위한 명령어가 이미 정의되어 있다. {{{#!tex 수식 입력시 sine 함수는 $\sin$으로 입력하고 $sin$으로 입력하는 것은 피하자 이것은 변수 $s$, $i$ 그리고 $n$의 곱과 구분이 되지 않는다. }}} attachment:sinFn.png [[BR]] 추가적인 명령어들의 목록은 [[http://ftp.ktug.org/mirrors/CTAN/info/lshort/korean/lshort-kr.pdf|이 문서]]의 53페이지를 참고한다. === 특수한 문자 및 굵은 글꼴 === 행렬이나 벡터를 나타내기 위해 굵은 문자를 사용하고 싶다면 amsbsy 패키지 혹은 이를 포함하고 있는 [amsmath 패키지]를 불러오고 다음과 같이 사용한다. {{{#!tex \begin{eqnarray*} \mathbf{ABC},\quad \boldsymbol{ABC},\quad \pmb{ABC}\\ \mathbf{abc},\quad \boldsymbol{abc},\quad \pmb{abc}\\ \mathbf{\alpha\beta\gamma},\quad \boldsymbol{\alpha\beta\gamma},\quad \pmb{\alpha\beta\gamma} \end{eqnarray*} }}} attachment:boldFont.png [[BR]] 경우에 따라 사용하고 있는 글꼴이 굵은 글꼴을 포함하지 않는 경우 제대로 동작하지 않을 수도 있다. 하지만 {{{'\pmb'}}}의 경우 웬만한 모든 문자들을 굵은 문자로 바꿔준다.[* '\pmb'는 해당 문자를 서로 다른 위치에 여러번 찍어 굵은 글씨를 만들어 낸다.] 실수 전체 집합을 나타내기 위해 보통 R의 굵은 글씨 대신 특이한 문자 모양을 사용하기도 한다. 만약 amssymb 패키지를 불러올 경우 {{{'\mathcal'}}} 명령어와 {{{'\mathbb'}}} 명령어를 사용할 수 있다. 혹은 dsfont 패키지를 불러오고 {{{'\mathds'}}} 명령어를 사용하기도 한다. 취향에 따라 골라서 쓰면 되겠다. {{{#!tex \begin{eqnarray*} \mathcal{R},\quad \mathbb{R},\quad \mathds{R}\\ \mathcal{ABC},\quad \mathbb{ABC},\quad \mathds{ABC} \end{eqnarray*} }}} attachment:specialFonts.png == 복잡한 수식의 작성 == 수식에 번호를 삽입 하거나 여러 줄로 구성된 수식 단락을 삽입하고자 한다면 그에 맞는 수식 환경을 사용해야 한다. 대표적으로 사용되는 환경은 align 환경이다. 이 환경은 amsmath 패키지를 불러오면 사용이 가능하다. {{{#!tex 폐구간 $[a,b]$에서 연속이고 개구간 $(a,b)$에서 미분 가능한 두 함수 $f$, $g$에 대해 미적분학의 기본 정리로부터 다음과 같은 관계를 얻는다. \begin{align} f(b)g(b) - f(a)g(a) &=\int_a^b \frac{d}{dx} ( f(x) g(x) ) \, dx \nonumber\\ &=\int_a^b f'(x) g(x) \, dx + \int_a^b f(x) g'(x) \, dx.\label{intByParts} \end{align} 식 \eqref{intByParts} 우변의 두 번째 항에 대해 정리하면 다음과 같은 부분적분 공식을 얻는다. \begin{align*} \int_a^b f(x) g'(x)\,dx = \left[ f(x) g(x) \right]_{a}^{b} - \int_a^b f'(x) g(x)\,dx. \end{align*} }}} attachment:intByParts.png [[BR]] align 환경 안에서 두 번째 줄과 세 번재 줄에 들어간 {{{'&'}}}를 기준으로 정렬된 것을 볼 수 있다.[* align 환경은 rlrl... 순서로 정렬된 표로 이해하면 된다.] {{{'\nonumber'}}}를 이용하면 해당 줄에는 수식 번호가 붙지 않는다. 환경 내의 수식 전체에 번호를 붙이고 싶지 않다면 align*을 사용한다. 만약 본문에서 참조가 되고 있는 수식에만 번호가 붙고 그 외의 수식들은 자동으로 번호가 붙지 않도록 하고 싶다면 [[mathtools]] 패키지를 불러오고 {{{\mathtoolsset{showonlyrefs=true}}}} 명령을 추가한다. === 행렬 입력 === 기본적으로 행렬을 입력하는 방법은 array 환경을 괄호로 감싸는 것이다. {{{#!tex \left(\begin{array}{cc} a&b\\ c&d \end{array}\right) }}} 하지만 amsmath 패키지를 불러오고 matrix, pmatrix, bmatrx 등의 환경을 사용할 것을 권한다. bmatrix류의 환경에서 행렬 원소들의 정렬 방식을 바꾸고 싶을 경우 mathtools 패키지를 불러오고 다음과 같이 사용한다. ([attachment:KTSConference/2015/KTS-2015-mathtools.pdf mathtools: amsmath의 확장판] 참조) {{{#!tex \[ \begin{bmatrix*}[r] a&-b\\ -c&d \end{bmatrix*},\quad \begin{pmatrix*}[l] a&-b\\ -c&d \end{pmatrix*},\quad \begin{vmatrix*}[c] a&-b\\ -c&d \end{vmatrix*} \] }}} attachment:matrixAlignment.png [[BR]] 'r','l','c' 인자에 따른 정렬 방식을 눈여겨 보자. === 사용자 정의 함수 === {{{'\sin'}}}, {{{'\cos'}}}와 달리 미리 정의되지 않은 함수의 이름을 정의해서 사용하고 싶을 때가 있다. 예를 들어 행렬의 rank같은 경우 정의가 되어 있지 않으므로 별도로 정의를 해줘야 사용이 가능하다. 만약 행렬 A의 rank를 나타내기 위해 {{{'\mathrm{rank}A'}}}와 같이 입력할 경우 결과가 마음에 들지 않을 것이다. 만약 amsopn 패키지를 사용하면 다음과 같은 해법이 있다. {{{#!tex \usepackage{amsopn} \DeclareMathOperator{\ranka}{{rank}} \newcommand{\rankb}{\operatorname{rank}} }}} 둘 중 마음에 드는 방법을 사용하면 된다. 만약 새로 정의한 operator에 아랫첨자 윗첨자를 사용하고 싶다면({{{'\sum'}}}이나 {{{'\prod'}}}와 같은 방식으로) 다음과 같이 사용한다. {{{#!tex \usepackage{amsopn} \DeclareMathOperator*{\argmina}{{arg\,min}} \newcommand{\argminb}{\operatornamewithlimits{arg\,min}} }}} amsopn 패키지는 amsmath 패키지를 불러오면 함께 불려오므로 amsmath 패키지를 사용해도 된다. amsmath 패키지를 사용할 경우 operator name과 첨자 사이의 간격이 약간 더 좁다. {{{#!tex \DeclareMathOperator{\rank}{{rank}} \DeclareMathOperator{\argmina}{{arg\,min}} \DeclareMathOperator*{\argminb}{{arg\,min}} \begin{document} \begin{eqnarray*} \mathrm{rank}A,\quad \rank A\\ \argmina_{i\in V}(k-x_{i})^2\\ \argminb_{i\in V}(k-x_{i})^2 \end{eqnarray*} \end{document} }}} attachment:userOper2.png 인자를 받아들이는 명령어를 정의하면 복잡한 수식을 간단히 표현할 있는 경우가 있다. 예를 들어 angle bracket을 이용해 두 벡터의 내적을 나타내고 싶은 경우 다음과 같이 사용하자. {{{#!tex \newcommand{\inner}[2]{{\left\langle #1,#2 \right\rangle}} \begin{document} \[\inner{\frac{\partial\phi}{\partial x}}{f(x)}\] \end{document} }}} attachment:newcommArg.png == 좀 더 보기 좋은 수식을 위해... == * 여러 행에 걸친 수식이 페이지 끝에 걸쳐있을 경우 프리앰블에 {{{'\allowdisplaybreaks'}}} 명령을 추가해 줌으로써 수식이 두 페이지에 걸쳐서 나오도록 할 수 있다(amsmath 패키지 필요). * oblivoir 클래스를 이용하여 한글 문서를 작성하는 경우 클래스 옵션에 {{{'adjustmath'}}}를 추가하여 display 수식 전후의 과도한 공백을 줄일 수 있다. (oblivoir manual 참고) == 참고 == === 문서 === * [http://texdoc.net/texmf-dist/doc/latex/lshort-english/lshort.pdf lshort (en) ] * [http://texdoc.net/texmf-dist/doc/latex/amsmath/amsldoc.pdf amslatex guide ] * [http://texdoc.net/texmf-dist/doc/latex/voss-mathmode/Mathmode.pdf Mathmode ] * [http://texdoc.net/texmf-dist/doc/latex/comprehensive/symbols-a4.pdf comprehensive symbols ] === 연습 문제 === * 수식 작성을 위한 연습문제가 [[http://www.ktug.org/xe/index.php?document_srl=190999|이 링크]]에 있다. === 기호 검색 === * [[http://detexify.kirelabs.org/classify.html|Detexify]]에서 기호의 모양을 마우스로 입력해서 해당 기호를 식자하기 위해 어떤 명령어를 사용해야 하는지 알 수 있다. == 자주 묻는 질문 == === 행중 수식의 분수와 첨자 === 행중 수식은 \textstyle로 식자된다. 첨자는 상하가 아니라 오른쪽으로 붙으며, 분수의 분모와 분자는 작은 글자가 된다. {{{#!tex 행중 수식 \(\sum_{k=1}^{n}\), \(\lim_{n\to\infty}\), \(\frac12\) 별행 수식 \[ \sum_{k=1}^n,\quad \lim_{n\to\infty},\quad \frac12 \] }}} attachment:textmathstyle.png 이러한 스타일은 텍스트와 수식을 함께 조판하기 위한 고려에서 나온 것으로 표준적인 조판 방식이다. 특히 큰 수학기호를 사용하게 되면 행간격을 일정하게 유지할 수 없게 되는 경우가 많은데, 이는 마땅히 기피하여야 할 것이다. 그러나 중고등학교 교과서나 참고서와 같이 수학 기호가 행중이든 별행이든 모두 동일한 모양을 가질 것이 요구되고 그것이 '''조판 규칙보다 중요한''' 경우, 다음을 참고한다. * 분수를 일정한 크기(displaystyle)로 식자하는 명령 \dfrac이 amsmath에 있다. {{{ \dfrac{1}{2} }}} * 첨자를 기호의 상하로 보내기 위하여 \limits 명령을 쓸 수 있다. {{{ \lim \limits_{n \to \infty} }}} * \displaystyle을 지정한다. {{{ \displaystyle\sum_{k=1}^{n} }}} 이런 조판방식은 일반적인 수학 문서에서 '''권하지 않는다'''. 언급한 대로 중고등학교 학습용 텍스트 이외에 행중에서 \displaystyle의 수식 조판이 필요한 경우는 거의 없을 것이다. [[FootNote]]