Showing posts with label 04 LaTeX. Show all posts
Showing posts with label 04 LaTeX. Show all posts

2012-05-07

LaTeX 헤매기 - Missing $ inserted

한참을 작업하다 보니 뭔가 에러가 나는데 어디서 나는지 알 수가 없다. LaTeX라는 표준 자체가 무척 개방적이다 보니 뭔가 안되는 경우에는 그냥 해당 패키지를 \userpackage{} 를 이용해서 넣어주면 그만이지만, 그 뭔가가 뭔지를 모르는 경우는 참 답답한 일이 아닐 수 없다.

이번에 IEEE 양식을 이용하는데 계속 Missing $ inserted 라는 에러가 뜬다. 이런저런 점검을 해 보다 보니 참고문헌 부분에서 문제가 나는 것을 알 수 있었다. 어디가 문제인가 검색을 해 보니 (http://theoval.cmp.uea.ac.uk/~nlct/latex/novices/missingdollar.html) $ 기호 자체가 수식을 넣는 제한어라서 잘못 사용한 경우 또는 필요한 패키지가 참고되지 않은 경우에 이런 일이 발생한다고 한다.

에러 메시지를 보면서 이곳저곳 쳐다보니 url이 들어있는 참고문헌이 .bib 파일 속의 리스트에 들어있는 경우가 문제를 일으키는 것으로 판단이 되었다. 그럼 어떻게 해야 하는가? 무지 간단하게도

\usepackage{url}

라는 간단한 포함만으로 해결이 되어버렸다. ACM 포멧에서는 요구하지 않았던 많은 패키지들을 IEEE가 요구하는 것을 보면... 그냥 귀찮다^^

2012-02-15

LaTeX 헤메기 - 표 안의 한 셀에 두줄 넣기

앞서 표를 그리는 방법을 알았는데, 기본적으로는 가로줄을 합치려면 \multicolumn 명령을, 세로줄은 \multirow 명령을 넣는다. (물론 \multirow를 쓰려면 TeX 파일 처음에 \usepackage{multirow} 를 넣는 것을 잊지 말아야 겠지.)

근데 여기서 이쁜 표를 만들려고 하다 보면 \multirow로 나뉜 셀에 줄바꿈을 하는 긴 글을 넣을 필요가 생긴다. 즉 하나의 셀에 두줄 이상의 문자를 넣어야 하는 경우다. 이런저런 해결책들이 있지만 내가 발견한 가장 편리한 방법은 \array를 이용하는 것이다. 포인트는 \array를 이용하면 문자 폰트가 바뀌므로 이를 \mathrm 명령을 이용해서 원래대로 그려주는 것, 그리고 수식 내부에서는 공백이 무시되므로 글자단위 공백인 \를 써 주는 것.

\multirow{3}{*}{
   $\begin{array}{c} \mathrm{This \ is} 
     \\ \mathrm{my \ house} \end{array}$
}

이러면 결과는 

This is
my house

라고 3줄로 된 표 중간에 나오게 되겠다.

물론 문제점은 있다. \multirow 내의 줄 수가 \multirow로 설정된 줄 수보다 많으면 아래 행과 겹쳐져 버린다.

그래프 잘 그리기 - 범례 조정하기, 점선 표시하기

1. 범례 조정하기

참고 페이지 : http://t16web.lanl.gov/Kawano/gnuplot/legend-e.html#2.2

그래프를 그리다 보면 범례가 들어가게 되는데, 이게 위치 조정을 하는 게 좋을 때가 있다.
무척 간단하게 조정이 가능한데, "set key" 명령을 사용하면 되고 뒤에 가능한 옵션은 left, right, top, bottom, outside, below 가 있다. 물론 "set key outside bottom"과 간은 조합도 가능하다.

그런데 이게 문제가 outside로 했을 때는 그다지 보기가 좋지 않다. 그림 크기를 늘려놓으면 범례도 함께 늘어나는 듯한 분위기...


2. 점선 표시하기

참고 페이지 : http://t16web.lanl.gov/Kawano/gnuplot/misc4-e.html

한참을 헤맨 끝에 조금 납득할 만한 결과를 얻었다. 위 설명에서는 4가지 종류 (solid, dot, dash, dot-dash)의 선을 그릴 수 있다고 나와 있는데, 내가 쓰는 wgnuplot에서는 dot만 된다.

선 종류와 위/아래 첨자를 표시하기 위해서는 표시되는 그림의 질을 좋게 해야 한다. 이를 위해서는 첫번째 열의 선언인 "set term postscript eps enhanced"을 써 줘야만 한다. 이렇게 지정된 그림은 사이즈를 자유롭게 바꿀 수가 있는데, 범례의 위치와 폰트 등을 잘 고려해서 배치하기 편하다.

아래 선 종류 및 컬러의 선언이 가장 구분이 잘 되는 것 같은데, 선끼리 근접하거나 dot 형태의 선이 여러가지 지정되는 경우 시스템에서 자동적으로 좀 구분이 되게 그려지는 것 같다. 6가지 선을 선언해 보았는데, 굵은 실선 - 굵은 점선 - 회식 굵은 실선 - 회색 굵은 점선 - 가는 실선 - 가는 점선 순이다. (gnuplot 4.4 기준)

set term postscript eps enhanced
# 여기에 터미널 방향을 win으로 바꾸는 말을 써준다
set style line 1 lc rgb "black" lw 2
set style line 2 lt "dot" lc rgb "black" lw 2
set style line 3 lc rgb "gray" lw 2
set style line 4 lt "dot" lc rgb "gray" lw 2
set style line 5 lc rgb "black" lw 1
set style line 6 lt "dot" lc rgb "black" lw 1



위의 지정으로 그린 그래프의 예이다. 좀 구분이 잘 되는지...^^;;

2011-12-23

고생의 나날 - pLaTeX2e 사용하기

타국에 살면서 여러가지 문제점이 있지만, 대부분이 그냥 잘 적응하면 끝나는 거다. 하지만 연구를 하면서 한글로도 표현하기 어려운 내용들을 영어로 표현하는 것은 어쩔 수 없다 하지만, 일본어로 표현하려면 아직도 요원하기만 하다.

이번에는 일본 국내 학회 논문을 쓰는 데서 발생하는 문제다. 내가 사용하는 LaTeX2e는 영어 기반이고, 한글은 따로 한글 사용자 그룹 (KTUG)에서 잘 호환되는 킷을 만들어 놔서 그걸로 그냥 되는데 (사실 한글을 써 본적은 없어서 확실하지는 않다는 표현이 옳다), 일본어를 TeX로 표현하려면 pLaTeX2e라는 스타일을 지원해야만 한다. 내가 쓰고 있는 환경에서는 이게 적용이 안되어서 컴 하나를 아예 일본어 TeX 전용 환경으로 만들었다. (나중에 국내 저널에 올릴 때를 대비하여^^;;)

1. 먼저 pLaTeX2e를 지원하는 환경 파일들을 다운로드하고 설치한다. 아래 링크에 가면 통합 파일을 다운로드 항목에 걸어놓았다.

http://www.math.sci.hokudai.ac.jp/~abenori/soft/abtexinst.html

압축을 풀면 디렉토리 안에 인스톨 파일인 abtexinst가 나타나는데, 이걸 선택하면 필요한 파일들을 자동으로 다운로드하고 설치해 준다. Ghostscript 등등...

사용은 아쉽게도 WYSIWYG 환경은 아니다. 도스창을 띄우고 해당 디렉토리로 가서 platex (파일명) 으로 실행해 주면 dvi 파일이 생성되고, 이를 dviout의 File - Dviprt 항목을 이용해서 pdf로 출판하게 된다. 매우 간단하긴 한데, 오류가 나면 그 오류를 서두에 다 써주니 오류 다 잡을 때까지는 온전한 pdf파일을 얻기 어렵다. 물론 bibtex도 지원하니 platex - bibtex - platex - platex 순으로 해 주면 된다.

2. 물론 pLaTeX2e도 사전에 정의된 클래스 파일 (.cls)이 있으면 매우 편리하다. 아래 예는 일본 국내학회인 DEIM의 2010년 템플릿이다. (이상하게도 2011년 템플릿은 에러가 왕창...)

http://db-event.jpn.org/deim2010/author.html#paper

참 까다로운 클래스 파일이다. 정해진 항목이 하나라도 빠지면 오류가 난다. 예를 들어 일본어 형식 저자 정보가 빠지거나 저자 성명란에 들어가는 공백이 일본어 형식의 2바이트 공백이면 바로 에러 메시지가 뜬다.
웃기는 것이 영어 논문이라 일본어 제목은 없는데 이걸 감당을 못하니 부러 일본어 번역 제목을 넣어야 하는 수고가 필요하고, 일본어로 입력하다 보면 공백도 일본어로 입력이 되는데 왜 유독 저자 성명란에서만 그걸 에러로 처리했는가 하는 거다. (정말 한참을 헤맸다.)

사용하면서도 좀 까다로운 것이 그림이나 표의 위치를 적절하게 조정을 못한다. 일일이 보면서 수동으로 위치를 조정해줘야 하고, dviout을 이용해서 잘 나왔나 확인을 하고 pdf로 출판해야 한다.


#### 2011. 12. 30 추가

현재의 LaTeX2e 환경에서 한글은 지원이 안된다. 이 부분은 더 연구가 필요할 듯.

2011-12-21

그래프 잘 그리기 - gnuplot 자료 넣는 방법

관련 페이지 : http://blog.naver.com/PostView.nhn?blogId=pretop&logNo=150088347186

대부분의 경우에 그냥 엑셀에서 그래프를 그리고 넣는 편인데, 가장 짜증나는 경우가 x축 또는 y축의 값 (label)이 로그 스케일인 경우다. 즉 1, 2, 3, 4... 와 같이 나가면 별로 문제가 안되는데, 10, 100, 1000... 와 같이 나가면 그래프를 그릴 때 중간에 값이 없어 이산변수처럼 같은 간격으로 표시되어 참된 형태를 파악하기 어렵다. 엑셀에서는 y축의 경우 부분적으로 로그 스케일을 지원하는데 x축의 경우는 발견하기 어렵다.

그래서 필요한 것이 gnuplot이라는 그래프 그리는 툴이다. 무료인데다 기능이 다양하고 무엇보다도 학술논문에 그래프를 넣을 때 많이 사용되는 터라 저자나 검토자들에게 익숙한 형태라는 장점이 있다. 그동안 그냥 엑셀로 하다가 하도 안되겠어서 사용하기 시작했다.

다른 내용들은 잘들 설명해 놓았는데, 정작 데이터를 집어넣으려면 내겐 직관적인 문제가 있었다. 만일 다음과 같은 표를 그린다고 생각해 보자.


핵심적인 명령은 gnuplot 창에서 plot 'test.txt' u 1:2 title '' with linespoints라고 넣으면 되겠지만, 데이터가 들어있는 'text.txt'를 어떻게 구성하느냐 하는 거다. 1:2라고 했으니 첫번째 '열'에 x값이, 두번째 '열'에 y값이 들어가면 위와 같은 형태의 그래프가 나오겠다. (물론 값의 한계 등등 다른 세팅을 해야 하지만)

따라서 자료 파일은 '행'이 아닌 '열'로 구성되고, 각 값은 탭 또는 공백으로 구분된다. 실제 위 그래프를 그린 자료는 다음과 같이 입력되었다.

50   0.550026
100   0.516496
200   0.469129
500   0.402167

2011-12-02

LaTeX 수식 표현 조정 : 분수 표시 내부의 조정

간단한 분수 (1/2 등) 을 표시할 때는 공간상으로나 표시상 별로 제한사항이 없는데, 복잡한 수식일수록 표시하는 부분에 민감함이 더해진다. LaTeX는 시키는 대로 하는 편이라 구체적으로 제한을 해 줘야 하는데, 다음 두가지를 비교해 보자.

1.
\begin{equation}
WS(V_{i})=(1-d)+d*\sum_{V_{j} \in In(V_{i})} {\frac {\displaystyle w_{ji}}
{\displaystyle \sum_{V_{k} \in Out(V_{j})} w_{jk}}} WS(V_{j})
\end{equation}


2.

\begin{equation}
WS(V_{i})=(1-d)+d*\sum_{V_{j} \in In(V_{i})} {\frac {w_{ji}}
{\sum_{V_{k} \in Out(V_{j})} w_{jk}}} WS(V_{j})
\end{equation}


어느 것이 보기 좋은가에 대한 사항은 개인의 취향에 따라 다를 수 있으나, 2가 일반적인 경우로서 분수 내에서 합의 표시는 아래 항목이 옆으로 늘어지는 것이다. 그런데 원래의 논문에는 1의 경우와 같이 표시되어 있는데, 이 경우가 항목을 알아보기도 좋고 In과 Out이 대비되는 효과도 누릴 수 있기 때문이다.

결국 이런 형식의 차이는 분수를 표시하는 \frac 내에 \displaystyle 이라는 추가적인 사항을 지정하느냐 아니냐에 따라 변화하게 된다. 이런 자잘한 것들도 알게 되는 것이 중요한 것이랄까... 복잡하다...^^

2011-06-06

LaTeX 헤매기... eps 그림 만들고 집어넣기

한참을 헤매는 것이 당연한 것인데 요즘은 왜 이렇게 억울하게 느껴지는지...

그동안 파워포인트나 엑셀로 작업한 그림들을 Photoshop을 이용해서 jpg 포멧으로 넣었었다. 이게 워드를 이용하면서 들은 습관인데, 그러고 나면 다시 Illustrator를 이용해서 wmf 포멧으로 바꾸곤 했다. 그나마 이게 그림이 명확하게 보이니까.

그런데 LaTeX는 이게 잘 안듣는다. 워낙 jpg 포멧이 화질을 잡아먹기는 하지만 다시 뭔가 변화가 필요했고, 무엇보다 flowchart를 LaTeX 명령으로 그려보려는 시도가 실패하고 나서 알아낸 것이다.

1. 무슨 그림이든 일단 Illustrator로 불러온다. 그리고 나서 여기서 저장을 eps 파일로 하면 화질 좋게 잘 저장이 된다. Photoshop에서도 eps 저장이 되지만 페이지를 기준으로 깨지는 경향이 있으니 직접 Illustrator를 이용해서 저장하는 습관을 길러야 겠다. 참고로 파워포인트에서의 점선은 Illustrator에서는 표시가 안되니 실선으로 두고 색깔을 회색으로 바꾸는 방법으로 사용했다.

2. 때로는 현재 보고 있는 화면을 캡쳐해서 이미지로 사용할 경우가 있다. 이때는 전체 화면이 아니라 한 부분을 주로 이용하게 되는데, Illustrator는 파워포인트처럼 crop기능이 직접적이지가 않아서 조금 돌아가야 한다. 일단 캡쳐한 화면을 붙여놓고 사각형 툴 (Rectangle tool)을 이용해서 원하는 부분을 선택한다. 오른쪽 마우스 버튼을 눌러서 Select - Last Object Below를 선택, 사각형 아래 부분을 사각형과 연결한다. 다음은 주 메뉴의 Object - Clipping Mask - Make를 이용하면 원하는 부분만 잘라서 보여진다.

3. 특히 어떤 경우에는 불러온 jpg 파일이나 파워포인트 부분이 eps 변환은 되는데 정작 LaTeX문에서는 공백으로 변하는 경우가 있다. 이때는 Illustrator에서 직접 작업을 해서 변환을 하면 잘 된다. 즉 그림을 바탕에 두고 여러가지 표시를 하는 것 (텍스트 박스, 선 등) 은 가능하다면 Illustrator 내에서 하는 것이 안정적이다. 아마 용량 문제인 듯 싶다.

2011-05-26

LaTeX 헤매기... 표 내부 상하좌우 여백 조정

살다 보면 이런저런 경우를 당하는데, 이게 자동으로 돌아가는 동안에는 무슨 일이 일어나는지 모른다. LaTeX가 이런 면에서 편하면서도 불편한게, 이건 아주 시키는 대로만 한다.

표의 경우, tabular를 이용해서 기본적인 구성은 쉽게 할 수가 있다. 하지만 잘 정리된 표를 보노라면 왠지 안에다 여백을 주고 싶은 생각이 들 때가 있다. 좌우는 띄우는 데 어렵지 않은 듯 한데 상하는 조금 어렵다.

### 상하 여백

찾아낸 방법은 다음과 같다. 위로 여백을 줄 경우에는 \rule을 이용하고, 아래로 여백을 줄때는 줄 끝에 []를 이용해서 표시한다. 표시 단위는 mm(밀리미터), in(인치), em(좌우여백 배수), ex(상하여백 배수) 등등이 있는데, 치수로 주는 것도 괜찮고 나는 ex를 이용했다. 아래 예를 참조.

\begin{tabular}{|c|c|l|}
\hline
% rule 명령에 크기를 0in으로 하면 세로선을 긋는데 폭이 0 (즉 공백)인 선을 긋는다.
% 3ex의 숫자를 변경해서 현재 글자 위쪽으로 배수만큼 공백을 준다.
\rule{0in}{3ex} A & B & C \\
\hline
% 솔직히 정확한 의미는 모르지만, 행의 끝에 공백과 같은 문자를 넣어주면
% 현재 글자 아래쪽으로 공백을 준다. 똑같이 4ex의 숫자를 변경해서 조절 가능
A1 & A2 & A3 \\ [4ex]
\end{tabular}

이젠 알아가는 데 지치지나 않았으면 싶은데...^^


### 2011. 5. 28  19:55  추가

좌우 여백에는 팁이 있다. 원래 아무것도 명시하지 않으면 적절히 여백을 주는데, 이게 좀 과다할 경우가 있다. 메뉴얼에는 그냥 여백을 없애는 것만 가르쳐 주는데, 이걸 좀 활용하면 좌우 여백도 어느 정도 조정이 가능하다.

% 좌우 여백을 없애버린다.
\begin{tabular}{|@{} c @{}|@{} c @{}|@{} l @{}|}
% 좌우 여백을 반글자 정도 준다
\begin{tabular}{|@{/,} c @{/,}|@{/,} c @{/,}|@{/,} l @{/,}|}

기타 @{}안에 여백을 주는 \quad, \qquad 등도 사용이 가능하다. 근데 문제는 이렇게 정의를 하고 표 내용에 \multicolumn이 있으면 표가 깨지는 현상이... 첩첩산중이다.


###  2011. 6. 1  추가
쓰고 보니 이런저런 일들이 많이 생긴다. 일단 좌우 여백을 정리하는 데는 in을 쓰는 것이 잘 된다. (이유는 모르겠음^^)
그리고 \multirow의 기본 정렬 설정은 \raggedright 인데 이걸 가운데로 정의하는 명령이 있다.
\renewcommand{\multirowsetup}{\centering}

참고 페이지 : http://en.wikibooks.org/wiki/TeX


### 2011. 6. 7 추가
드디어 상하좌우 여백조절의 종결자를 만났다. 이걸 몰라서 여태 헤맨 것을 생각하면... 흑흑...

\begin{table}
% 이 명령은 표의 상하 여백을 숫자로 조정한다.
\renewcommand{\arraystretch}{1.1}
% 이 명령은 표의 좌우 여백을 숫자로 조정한다.
\renewcommand{\tabcolsep}{0.7mm}
\begin{tabular}{c|c}
...
\end{tabular}
\end{table}

참고 페이지 : http://www.cs.ubc.ca/~ewout78/latexfaq.html

2011-05-15

LaTeX 헤매기... \label{}의 위치

참고링크 : http://faq.ktug.or.kr/faq/%BB%F3%C8%A3%C2%FC%C1%B6

경험적으로 알아내는 것은 참 어려운 과정을 수반한다. 머리속으로 그 문제를 상상하기도 어려운데다 막상 닥치고 나면 해결하기가 참 어려운 것이 많기 때문인데, 아직도 문단 첫머리 공백을 처리하는 데 어려움을 겪고 있는 것을 보면 참... 난감하다.

이번에는 상호참조에 관련된 문제다. \section에 붙는 상호참조는 번호를 잘 따오는데, 유독 그림에 붙는 상호참조 \label{}은 번호가 안맞는 것을 발견했다. 자료를 보니 \caption{} 앞에 놓으면 안되고 반드시 다음에 놔야 한다고 되어 있다. 실험을 해 보니 \caption 안에다 넣어야 다른 참조에서 바르게 표시가 된다. 예를 들면 아래와 같다.

\begin{figure}
\centering
\includegraphics[width=0.5\textwidth]{aaa.jpg}
\caption{Example \label{fig:example}}
\end{figure}

위와 같이 \caption{}안에 \label{}을 표기해야 본문에서 \ref{fig:example}로 참조할 때 바르게 번호가 표시된다. 참고로 \table{}의 경우도 동일한 것을 보면, \caption{}을 가지는 개체의 경우에는 그 안에다 표시를 하는 것을 습관 들이는 것이 안전할 것으로 보인다.

2011-04-28

LaTeX 헤매기... table의 셀 관리 (multicolumn, multirow)

이런저런 생각을 하면서 만들다보니 어느덧 익숙해져 가고 있지만 아직도 모르는 것이 많다. 특히 표의 경우에는 안에 넣어야 할 것들이 이것저것 있다 보니 신경이 많이 쓰인다. 여기서는 메뉴얼에 잘 안나오는 내용만 언급하고자 한다.

1. 복잡한 표를 만들 때의 팁 : 셀을 이리저리 합치는 경우가 있다. \multicolumn의 경우에는 직관적이어서 조금 쉬울 수도 있는데, \multirow의 경우 머리속으로 그림을 그리기가 쉽지 않다. 특히 두 컬럼 이상을 줄 합치기 하는 경우 아래와 같이 해야 한다는 경험을 얻었다.

\begin{table}\label{tab:swairline}

\centering
\begin{tabular}{c c|l c}
\multirow{5}{*}{Corporation}
& \multirow{5}{*}{Southwest Airlines}
& 26. Southwest Airlines News & 0.3164 \\
& & 10. Southwest Airlines - Wikipedia & 0.2964 \\
& & 40. Southwest Airlines - USATODAY.com & 0.2933 \\
& & 28. The Southwest Airlines Chinese New Year... & 0.2903 \\
& & 46. Southwest Airlines - Mahalo & 0.2900 \\
\hline
\end{tabular}
\caption{Categorization example (Query: southwest airlines)}
\end{table}

위의 예에서 첫번째 열의 줄 합치기는 다음 열 서두에 &를 앞세워서 되는데, 두번째 열도 줄 합치기를 할 경우에는 그 다음 열부터 줄 합치기를 한 갯수만큼 &를 넣어야 한다는 것을 알 수 있다. (나만 몰랐나...)

2. \multicolumn은 \multicolumn만이 아니다: 처음에 정의해 놓은 표 내부 셀의 정렬방식을 바꾸고 싶은 경우가 있다. 예를 들어 첫줄은 범례로 중앙정렬, 다음 줄부터는 자료로 왼쪽 정렬과 같이 말이다. 이때는 정의할 때 다수 사용하는 정렬방식으로 정의한 후 해당 셀만 바꾸어주는 것이 편리할 수 있다.

\begin{table}\label{tab:swairline}

\centering
\begin{tabular}{c c|r c}
\hline
Item 1 & Item 2 & \multicolumn{1}{c}{Item 3} & Item 4 \\
stock & price & $333.0 & refer this \\
\end{tabular}
\caption{Categorization example (Query: southwest airlines)}
\end{table}

위 예에서 3번째 열이 최초에는 우측 정렬로 되어 있는데 범례 부분만 따로 중앙정렬로 바꾼 것을 볼 수 있다. 이때 사용되는 것이 \multicolumn인데, 첫번째 인수인 셀 수를 {1}로 하면 해당 셀만 바뀌니까 좋다.

3. 셀 내에서의 줄바꿈 : 메뉴얼에는 \\나 \par을 사용 가능하게 해 놨는데 실제로는 되지 않는다. 현재로서는 \multicolumn을 이용해서 셀의 크기를 적절히 정해주는 수밖에 없는데, 이때 정해진 폭 이상의 글은 자동으로 줄바꿈된다.

\multirow{5}{8mm}{This is difficult.}
% 8mm는 매우 작기 때문에
%This
%is
%diffi-
%cult
%의 형태로 표현된다.


### 2011. 5.24 추가
\multirow와 \multicolumn을 함께 써야 하는 경우도 있다. 이때는 \multicolumn을 먼저 쓰고 내용부분에 \multirow를 써야 제대로 나오고 반대의 경우는 에러가 발생한다.

\begin{tabular}{|c|c|c|}\hline

\multicolumn{2}{|c|}{\multirow{2}{*}{combined cells}}
&top right\\ \cline{3-3}
\multicolumn{2}{|c|}{}
&middle right\\ \hline
bottom left
&bottom center
&bottom right\\ \hline
\end{tabular}


참고 페이지 : http://www.tex.ac.uk/cgi-bin/texfaq2html?label=multirow

2011-04-26

LaTeX 헤매기... 알고리즘 쓰기

수식은 대표적인 것이라 용례도 많은데, 알고리즘은 별로 없다.
마침 좋은 사이트를 찾아서 배웠다.

\begin{verbatim}
% 넣고 싶은 코드...
\end{verbatim}

너무 간단하구만^^

LaTeX 헤매기... table / graphic 캡션 설정 및 리스트업

메뉴얼에는 \begin{tabular}를 이용하는 방법만 나와있는데, 그림처럼 Caption을 다는 방법을 모르겠어서 구글링했더니 금방 찾았다. 이렇게 개체화하는 것은 모양이 좋게 하는 것도 있지만 문서상의 모든 그림과 표를 자동으로 리스트화하는 데도 큰 도움이 된다. 꼭 알아야 하는 부분인데.. 의외로 쉽게 풀려서 다행이다.

% 표 시작
\begin{table}

% 가운데 정렬
\centering

% 표 그리기 시작
% c : 가운데 정렬, r : 오른쪽 정렬, l : 왼쪽 정렬
% | : 해당 부분에 세로줄 긋기
\begin{tabular}{c | r r r}

% 줄 구분 : \\, 공백표시 : {}
{} & Total & Set 1 & Set 2 \\

% 가로줄 긋기
\hline

% #은 특수문자로서 \#으로 써야 나온다.
\# Query & 107 & 51 & 56 \\

% 맨 처음칸이 2줄인 경우
Pearson Correlation \\
QA vs. Web & 0.63 & 0.59 & 0.45 \\

\end{tabular}

% 캡션 지정
\caption{Queries and Statistics}

\end{table}


### 2011. 6. 1 추가
- 참조를 위해 \label을 달 때에는 \caption 내부에 달아야 순서가 제대로 나온다.
- 자동으로 정렬하게 내버려두면 아래 여백이 너무 좁은 경우가 있다. 이 때에는 \end{table} 바로 전에 \vskip을 사용하면 된다. 단위는 mm, in, pt등이 사용 가능하고, 양수의 경우 늘리고 음수의 경우 줄인다.

\vskip 6pt   % 6포인트 만큼의 아래 여백을 준다.

LaTeX 헤매기... 경로 지정

요즘은 여러가지로 새로 시작하는 것이 많다. 다 학자적 소양을 위한 것이겠지만, 배우는 것이 너무 많으면 한마디로 짜증이 나는 것도 사실이기에... 그 좋은 워드를 남겨놓고 뭐 그리 깨끗하다고 LaTeX를 사용하는 걸까 싶다.

하긴 이건 나만의 푸념인지도 모른다. 다들 편하게 사용하고 있는 것을 나 혼자서 게으르게 안 배워놓았기 때문에 이제서야 고생하는 거 아니겠는가. 아무튼 제한된 시간 내에 즐거운 마음(?)으로 논문을 완성해야 하기 때문에 이런저런 일들을 하고 있다. 다행히 논리적인 부분은 쉽게 이해가 가고, 한국어 패키지까지 지원이 가능한 편리한 툴을 한국 사람들이 개발해 놔서 (여기를 참조) 열심히 쓰고 있는 중에 있다.

메뉴얼만으로는 헷갈리는 각종 기능에 대해 이런저런 용도로 배우다가, 그래픽을 집어넣는 곳에서 좀 헤맸다. 쉬운 건데 경로를 설정하는 부분이 문제가 되었다.

\begin{figure}
\centering
\includegraphics[width=0.5\textwidth]{introduction/Sample.jpg}
\caption{Example}
\end{figure}

위의 코드에서 파일명 앞에 디렉토리가 붙어 있는 것을 볼 수 있는데, 이것의 기준이 무엇인가 하는 것이 중요하다. 이 문서가 들어있는 디렉토리에 그림 파일도 같이 있다면 문제가 되지 않을 것으로 생각하기 쉬운데 그게 아니었다... 이 문서를 읽는 부분이 무엇인가 하는 것이 중요했다.

하나의 글을 죽 써 나가는 것도 좋지만, 장/절/단락을 나누어 논문을 작성하는 경우에는 서브디렉토리를 만들어 문서 및 자료를 저장하게 된다. 위 예도 그런 것으로 모 디렉토리 아래 introduction이라고 하는 도입부분을 따로 저장하는 디렉토리를 만든 경우다. 이때 그림의 경로는 서브디렉토리를 명시해 줘야 하는데, 이유는 문서 파일을 모 디렉토리에서 모아서 읽기 때문이다.

c:\mine\introduction\Sample.jpg라고 하는 파일을 읽어들이는 부분이 있는 문은 
c:\mine\introduction\introduction.tex라는 파일이지만, 정작 이 파일을 이용하는 본문은
c:\mine\main.tex인 경우가 되겠다.