논문작성을위한기초 L A TEX 2ε 이남형, 조남운, 한원용, 민병길, 김형종 고려대학교경제학과 2012. 7. 27 Ver. 1.6
요약 이안내서는 L A TEX 을사용하여학위논문을쓰려는학생에게기초적인도움을주기위한것이다. 이글은워드프로세서를사용하다 L A TEX 으로전환하려는사람을대상으로하므로, 어느정도의수준에도달한사용자에게는부적합하다. 또한글논문작성을기준으로작성되었다. 또한저자들의경험을바탕으로한것이므로사용자는이안내서에서제시한해법이외에도자기나름의해법을찾아갈수있다. 이남형은 1, 2, 3, 6, 7 장을, 조남운은 4, 5장과 8장의초안을, 한원용은 9장을, 민병길을 8장을, 김형종은 LyX 과관련된내용을작성했다. 안내서의오류는 <latex.ko@gmail.com> 으로연락주시기바란다. TEX 을만든 Donald Knuth, L A TEX 을개발한 Leslie Lamport, 그리고한글화구현및사용자편의성을높이기위해여러모로애쓰시고, 활발한질의응답으로문제해결을주시는 ktug의많은회원들께감사드린다.
목차 변경사항 iv 제 1 장 L A TEX 소개 1 1.1 문서의구조와 L A TEX 의장점.......................... 1 1.1.1 문서의구조............................... 1 1.1.2 L A TEX 의특징.............................. 1 1.2 L A TEX 설치.................................... 3 1.2.1 LyX의설치및한글설정....................... 4 1.2.1.1 Mac에서 LyX 설치..................... 5 1.2.1.2 Windows에서 LyX 설치................... 7 1.2.1.3 LyX에서한글설정...................... 7 1.2.1.4 LyX에서 TEX 으로...................... 7 1.3 L A TEX 시스템................................... 9 1.3.1 L A TEX 시스템에서사용하는파일................... 9 1.3.2 L A TEX 시스템에서생성되는파일................... 9 1.4 L A TEX 관련문서및홈페이지.......................... 10 1.4.1 관련문서................................ 10 1.4.2 관련홈페이지............................. 11 제 2 장 L A TEX 문서의기초 12 2.1 L A TEX 명령어의기초와컴파일......................... 12 2.2 작업폴더와파일인코딩............................ 13 i
2.3 프리앰블 (pre-amble)............................... 13 2.3.1 문서클래스 (document class)..................... 13 2.3.2 패키지 (usepackage).......................... 14 2.4 한글구현..................................... 15 2.5 표제작성..................................... 16 2.5.1 제목, 저자, 작성일작성........................ 16 2.5.2 초록작성................................ 16 2.5.3 목차작성................................ 16 2.6 본문작성..................................... 17 2.6.1 장, 절의설정.............................. 17 2.6.2 본문................................... 18 2.6.3 각주와난외주............................. 19 2.6.4 인용................................... 19 2.6.5 참고문헌, 표, 그림넣기........................ 19 2.6.6 상호참조................................ 20 2.6.7 프로그램코드를그대로입력하기.................. 20 2.6.8 각장을파일별로나누기....................... 20 2.7 개조식문서작성................................ 21 2.7.1 개조식문서작성을위한명령어................... 21 2.7.2 모양바꾸기............................... 23 제 3 장 참고문헌작성 24 3.1 BibTEX 의개요.................................. 24 3.2 참고문헌데이터베이스만들기......................... 24 3.3 인용방법및참고문헌목록스타일...................... 27 3.3.1 참고문헌관리프로그램........................ 30 제 4 장표와그림 31 4.1 그림넣기..................................... 31 4.1.1 예제 1 : 간단한그림넣기....................... 31 ii
4.2 표만들기..................................... 34 4.2.1 간단한표의예............................. 34 4.2.2 조금더복잡한표........................... 36 4.2.2.1 열병합표........................... 36 4.2.2.2 행병합표........................... 37 4.2.2.3 표속에각주넣기...................... 38 4.2.2.4 Excel2Latex의사용..................... 40 4.2.2.5 csvsimple 패키지의사용.................. 40 제 5 장 수식 42 5.1 수식모드..................................... 42 5.2 수식의표현법.................................. 43 5.2.1 기초적용법............................... 43 5.2.2 첨자있는화살표............................ 44 5.2.3 적분................................... 44 5.2.4 경우의수................................ 45 5.2.5 행렬................................... 45 5.2.6 align 환경................................ 46 5.2.7 극한, 확률................................ 46 5.2.8 LyX에서수식입력........................... 47 제 6 장 L A TEX 문서의편집기초 49 6.1 글자모양..................................... 49 6.1.1 글꼴바꾸기............................... 49 6.1.2 글꼴크기................................ 50 6.1.3 글꼴모양................................ 50 6.1.4 밑줄긋기................................ 51 6.2 문단모양..................................... 52 6.2.1 들여쓰기................................ 52 6.2.2 줄간격................................. 52 iii
6.2.3 문단간격................................ 53 6.2.4 정렬................................... 53 6.3 편집용지..................................... 54 6.3.1 문서클래스의옵션활용....................... 54 6.3.2 문서여백................................ 54 6.3.2.1 setlength 명령어의활용................... 54 6.3.2.2 geometry 패키지의활용.................. 55 6.4 머리말 / 꼬리말.................................. 55 6.5 쪽번호매기기 / 새번호로시작........................ 56 6.6 줄나누기 / 쪽나누기.............................. 57 6.6.1 줄나누기................................ 57 6.6.2 쪽나누기................................ 57 6.7 LyX에서의편집................................. 57 제 7 장 문서스타일바꾸기-명령과클래스작성 59 7.1 명령어의정의.................................. 59 7.1.1 대상이름바꾸기............................ 60 7.1.2 장 / 절편집하기............................. 61 7.1.3 수학환경지정하기.......................... 62 7.1.4 float 패키지의사용.......................... 63 7.2 클래스파일만들기............................... 64 제 8 장 프리젠테이션용파일만들기 : Beamer 66 8.1 beamer 서식................................... 67 8.2 프레임...................................... 67 8.2.1 제목만들기............................... 68 8.2.2 목차만들기............................... 68 8.3 프레임구조................................... 68 8.3.1 다단편집................................ 69 8.3.2 블록설정................................ 70 iv
8.4 절편성...................................... 70 8.5 글꼴모양..................................... 70 8.5.1 프로그램코드나공식입력...................... 71 8.5.2 글자크기와글꼴테마......................... 71 8.5.3 글꼴묶음................................ 72 8.6 프레임정렬, 줄간격, 띄워쓰기......................... 72 8.6.1 프레임상하정렬............................ 72 8.6.2 프레임좌우정렬............................ 72 8.6.3 줄간격과띄워쓰기........................... 73 8.7 개조식...................................... 73 8.7.1 itemize................................. 73 8.7.2 Enumerate............................... 74 8.7.3 Description............................... 74 8.8 오버레이..................................... 75 8.8.1 오버레이와명령어........................... 76 8.8.2 오버레이환경............................. 77 8.9 표와그림..................................... 78 8.9.1 표만들기................................ 78 8.9.2 표를오버레이시키기......................... 78 8.9.3 그림삽입................................ 79 8.10 테마........................................ 79 8.10.1 전체테마................................ 79 8.10.2 색테마................................. 80 8.11 유인물출력................................... 80 8.12 LyX에서 Beamer 구현.............................. 80 제 9 장그래프그리기 82 9.1 curves 패키지의활용.............................. 82 9.2 PSTricks 의활용................................. 84 v
9.2.1 설치및패키지사용지정....................... 84 9.2.2 컴파일링과주의사항......................... 84 9.2.3 PSTricks 활용의기초......................... 85 9.2.3.1 그래프그리기........................ 85 9.2.3.2 에지워스상자그리기.................... 87 9.2.3.3 선분그리기......................... 88 9.2.3.4 그래프 2개그리기...................... 88 9.2.3.5 함수를이용한그래프.................... 89 9.2.3.6 음함수그리기 ; psplotimp.................. 90 9.2.3.7 무차별곡선과예산제약그래프............... 90 9.3 LaTeXDraw의활용............................... 91 9.3.1 LaTeXDraw............................... 91 9.3.2 설치................................... 91 9.3.3 eps 파일생성.............................. 92 9.4 그외의사항들.................................. 94 제 10 장경제학을위한 L A TEX 95 10.1 게임보수표및게임나무의작성....................... 95 10.1.1 전략형게임보수표의작성...................... 95 10.1.2 확장형게임나무의작성....................... 96 10.2 Stata 결과값불러오기............................. 98 10.2.1 sutex, outtex 명령어.......................... 98 10.2.2 Stata 응용및기타통계패키지................... 99 10.3 웹의정보를활용하여참고문헌달기..................... 100 10.4 논문용패키지활용하기............................. 100 vi
그림목차 1.1 LyX 의사용자환경............................... 5 1.2 LyX 인코딩설정화면............................. 6 1.3 LyX 한글구현설정화면............................ 8 4.1 TEX 이뭐야? 먹는거야?............................ 32 4.2 상대크기를폭의 50% 로축소하면서반시계방향으로 45 도꺾음...... 34 4.3 Excel2Latex................................... 40 5.1 LyX 에서수식입력............................... 48 9.1 curves.sty 를사용한예산제약식과무차별곡선............... 83 10.1 확장형게임................................... 98 vii
표목차 2.1 장절수준및번호............................... 17 3.1 표준 BibTEX 참고문헌종류입력값..................... 25 3.2 표준 BibTEX 참고문헌종류별필수필드.................. 26 3.3 기본참고문헌스타일............................. 28 3.4 인용명령어용례................................ 29 4.1 열병합표.................................... 36 4.2 행병합표.................................... 37 6.1 ko.tex 기본글꼴목록............................. 49 6.2 ko.tex 문서한글기본설정.......................... 50 6.3 글자모양.................................... 50 6.4 글자크기.................................... 51 6.5 용지의각부분별이름............................. 56 7.1 float 패키지의스타일과성격......................... 64 8.1 beamer의글꼴테마.............................. 71 8.2 기본글꼴묶음종류.............................. 72 8.3 오버레이사용의기본예........................... 76 8.4 오버레이의응용................................ 77 10.1 전략형게임보수표.............................. 96 viii
10.2 Stata 결과의 L A TEX 전환명령어........................ 99 ix
변경사항 2012 년 7 월 25 일 추가 3쪽 TnXTeX 설명추가. 5쪽 LyX의장단점설명추가. 5쪽 LyX에서한글설치설명추가. 7쪽 Mac에서 LyX 설정방법설명추가. 40쪽 csvsimple 패키지사용법추가. 수정 3쪽 TEXLive 2011로변경. 7쪽 LyX의한글환경관련내용수정. 15쪽윈도우즈상의스타일파일저장경로수정. 33쪽 다만, EPS확장자는지원하지않으므로미리 pdf나 jpg 등으로변환시켜두어야한다. 삭제 84쪽 PSTricks 설치방법수정. 91쪽 LaTeXDraw 중심으로재서술. x
2010 년 8 월 12 일 추가 66쪽 beamer 문서소개추가. 75쪽예제변경및설명추가. 76쪽예제변경및설명추가. 77쪽예제및설명추가. 수정 76 쪽예제오탈자수정. 2010 년 8 월 10 일 추가 1쪽각주에 TEX 의역사및특징을소개하는 url 추가. 4쪽 LyX 설치추가. 11쪽 Andy Roberts의홈페이지추가. 29쪽 LyX에서의참고문헌형식관리추가. 30쪽참고문헌관리프로그램소개. 57쪽 LyX에서문서편집요령추가. 80쪽 LyX에서의 Beamer 사용법추가. 91쪽 LaTeXDraw 소개추가. 95쪽경제학을위한 L A TEX 추가 : sgamevar 등을이용한게임보수표및트리작성이동, Stata 등의결과값을 L A TEX 용으로전환하기추가등. 수정제목 학위논문작성 에서 논문작성 으로수정. 8장내용수정. 1쪽장제목수정. xi
11쪽 L A TEX for Economics의 url 수정. 15쪽 Windows에서의패키지추가방법수정. KC 2007에서의설치는각주처리. 15쪽 Windows에서의패키지및스타일수동설치경로수정. 16쪽 Texworks 컴파일로수정. 24쪽 Windows에서의.bib 파일절대경로수정. KC 2007에서의설치는각주처리. 28쪽 Windows에서의.bst 파일절대경로수정. KC 2007에서의설치는각주처리. 30쪽 Texworks 컴파일로수정. 61쪽내용수정. 61쪽내용수정. 2010 년 8 월 6 일 수정 31쪽각주수정. 31쪽 url 수정, bb에대한설명삭제, 그림파일 abcd.jpg에서 cat.jpg로교체. 32쪽사소한교정. 42쪽사소한교정. 추가 31 쪽 width, height 에대한설명추가. 34 쪽사소한교정들. 2010 년 7 월 27 일 수정 3쪽설치 url, ko.tex 설치, 추천에디터수정. 13쪽 Windows의컴파일방식을 KCMenu에서 Texworks를사용하는것으로서술변경. 13쪽 Emeditor에서의인코딩설정방법을 Texworks의인코딩설정으로서술변경. xii
85 쪽 Texshop 에서의 PSTricks 컴파일링방법수정. 2008 년 9 월 22 일 추가 29 쪽 Osborne 교수가만든 te 스타일추가소개. 2008 년 2 월 29 일 추가 9쪽 L A TEX 시스템소개하는 1.3절추가. 13쪽 KCMenu와 TeXShop의컴파일방법추가. 14쪽패키지설치관련내용추가. 18쪽이렇게하면목차에장이나타나지않을것이다. 이경우다음의명령어를사용하면된다. \setcounter{chapter}{ 장번호재설정 } \chapter*{ 장제목 } \addcontentsline{toc}{chapter}{* 가붙은장제목 } 30쪽 KCMenu와 TeXShop의 BiBTEX 컴파일방법추가. 31쪽 graphicx 패키지의사용을지정한다. 32쪽그림이제대로들어가지않고에러가난다면, 그림의크기 (bb: bounding box) 를잡아주어야한다. bb=0 0 600 600은그림의크기를지정하는것인데, 첫번째와세번째는가로크기, 두번째와네번째는세로크기를지정한다. 예를들어그림의크기가 1024X768 이라면, bb=0 0 1024 768이된다. 38쪽표속에각주넣기 4.2.2.3절추가. 40쪽 excel2latex을사용한표만들기 4.2.2.4절추가. 82쪽 curves.sty 패키지를활용한그래프작성에관한 9.1절추가. 95쪽 sgamevar.sty를다운받으면이파일을열고, 가장마지막두줄을삭제한다. 이부분은인코딩충돌을일으킬것이다. xiii
수정 3쪽설치 url 수정 63쪽 \newenvironment{proof}[1][ 증명 ]{\noindent\textbf{#1.} }{\rule{0.5em}{0.5em}} 65쪽 \NeedsTeXFormat{LaTeX2e} 84쪽 Windows의경우, 다운받은압축파일을풀고, dvips 폴더에있는파일은 \KC2007\TeX\Share\texmf-dist\dvips\pstricks 폴더에옮겨놓는다. (2012년 7월삭제 ) 96쪽단, 다음의순서를지켜야한다. (2012년 7월삭제 ) \usepackage{pstcol} \usepackage{pstricks} xiv
제 1 장 L A TEX 소개 1.1 문서의구조와 L A TEX 의장점 1.1.1 문서의구조 표제 (title): 누가 ( 저자 ), 언제 ( 작성일 ), 무엇을 ( 제목 ) 썼는가를보여주는부분 목차 (contents): 페이지를지정하는것과더불어, 제목을통해글의내용을, 그리고순서를통해글의구성을한눈에알수있게한다. 제목 (headline): 해당부분에서무엇을말하고있는지명확하게보여준다. 단락 (paragraph): 하나의화제를다루고있는하나의부분 들여쓰기 (identation): 관습적으로단락이시작하는부분을들여씀으로써, 단락의구분을분명히해준다. 서양문서에서는가장첫단락에한해들여쓰기를하지않기도한다. 구두점 (punctuation): 문장의종결을표시하며, 어떤구두점을사용하느냐에따라문장의의미를결정하기도한다. 주석 (note): 이해를돕기위해보충정보를제공하는부분이다. 각주, 미주, 난외주등이이에포함된다. 1.1.2 L A TEX 의특징 1 글쓰기에집중할수있게해준다. 1 이는전적으로이남형의견해이다. TEX 의역사및특징은다음홈페이지를참고하라 (http://www. ctan.org/what_is_tex.html) 1
논문은형식이정해진논리적인글이다. 형식이정해져있다는것은, 앞에서말한문서의구조가학문공동체의합의된일반원칙을따른다는것을의미한다. 워드프로세서는논문보다는일반적인글쓰기에적합한애플리케이션이다. TEX 의목표는저자는내용을쓰고, 조판기인 TEX 이저자의명령 (command) 에따라문서의형식을처리하는것이다. L A TEX 은 TEX 의복잡한명령을좀더간단하게처리할수있도록한다. L A TEX 은정해진형식에따라내용을보여주는데적합하다. 그러므로저자는글에집중하고, 부차적인편집은덜신경써도된다. 그리고 L A TEX 의결과물이전문가수준으로디자인된것처럼나온다. 논리적인글쓰기에적합하다. L A TEX 은글의구성을먼저생각하도록강제한다. L A TEX 은장, 절, 소절등의구조를지정하지않고, 메모를하듯글을쓰면결과물이보기좋게나오지않는다. L A TEX 으로비체계적이고구조화되지않은문서를작성하기는어렵다. 논문은장, 절, 문단이체계적이고논리적으로배치된글이다. L A TEX 은쉽다. 아래아한글이나 MS Word 등보는대로쓸수있는워드프로세서 2 에익숙한사람이 L A TEX 을처음보면어렵게느껴진다. 원고의편집 조판 (typeset) 미리보기 (preview) 출력 / 인쇄 (print) 의순서로글이만들어지는데, 일반워드프로세서는위작업을한번에처리하지만, L A TEX 은단계별로처리하고, 각단계별로상이한애플리케이션을사용하므로어렵게보인다. 또명령어로가득찬문서를처음부터쉽게읽기는어렵다. 2 WYSIWYG: What you see is what you get. 최종출력물의모양을화면으로보면서작업할수있다. 2
그렇지만워드프로세서에있는각주, 스타일, 상호참조, 개요, 목차, 참고문헌 등의고급기능을사용하는것은 L A TEX 이더쉽다. 그리고이것들은논문에필수적인요소들이다. 1.2 L A TEX 설치 L A TEX 설치는다음주소를참조하라. http://www.ktug.or.kr/xe/?mid=install Windows의경우, TeXLive 2011 3 을다운로드받아실행시키면자동으로설치가진행된다. Mac의경우, MacTeX 2011을다운받아설치한후, 한글패키지인 kotex을설치하면된다. L A TEX 은조판을위한컴퓨터언어라고생각하면된다. 따라서이에특화된별도의편집기가필요하고, 결과물을볼수있는뷰어가있어야한다. 이는인터넷을사용할때, html 언어가있고, html 전문편집기와결과물을볼수있는웹브라우저가필요한것과마찬가지이다. 그리고여기에한글을구현하기위한별도의파일이추가되어야한다. 여기에는 TEX live 2011과한글구현용 ko.tex, 편집기겸조판기겸뷰어인 TeXworks 및관련파일이포함되어있다. 패키지와별도로 pdf나 ps 뷰어가필요할수도있다. Adobe의 Acrobat이대표적인관련애플리케이션이다. KTUG 사이트에서는이모든기능을한번에해결할수있는패키지 ko.tex Live 2011을받을수있다. 여기에는 ko.tex, 편집기겸조판기겸뷰어인 TeXworks가포함되어있다. 윈도우즈에서는무설치버전인 TnXTEX 을사용할수도있다. TnXTEX 은사용에필요한최소한의패키지를포함하고있어상대적으로용량이작다. 추가적으로필요한패키지는 TeXworks의콘솔을사용하여손쉽게추가할수있다. 3 TeXLive 뒤의숫자는년도및버전을의미하며, 보통여름무렵에당해년도버전이나온다. 3
KTUG 사이트에는또한 Mac용설치패키지도다운받을수있다. 여기에는 MacTEX 과한글구현용 ko.tex, 편집기겸조판기겸뷰어인 TeXShop이포함되어있다. L A TEX 도 WYSIWYG 방식의편집기가있으며 LyX( 오픈소스 ) 과 Scientific Word( 유료 ) 가대표적이다. LyX에대해서는관련된부분에서중간중간소개할것이다. 현재 Unicode 사용이가능한편집기는다음과같다. Windows에서는 TeXworks, Mac에서는 TeXshop이대표적이며, 본안내서도이둘을중심으로다룰것이다. WinEdt ( 유료, Windows): http://www.winedt.com/ WinShell ( 무료, Windows): http://www.winshell.org/ TeXshop ( 오픈소스, Mac): http://www.uoregon.edu/~koch/texshop/ Notepad++ ( 오픈소스, Windows): http://www.notepad-plus-plus.org/ TeXMaker ( 오픈소스, cross-platform): http://www.xm1math.net/ texmaker/ TeXworks ( 오픈소스, cross-platform): http://en.wikipedia.org/wiki/ TeXworks LyX ( 오픈소스, cross-platform): http://www.lyx.org/ Scientific Word ( 유료 ): http://www.mackichan.com/ 1.2.1 LyX의설치및한글설정 LyX은직관적인사용자인터페이스를가지고있어 MS워드나한글등의문서편집기사용자들이쉽게 TEX 으로전환할수있도록도와준다. Scientific Word도유사한사용자인터페이스를제공하지만유료이다. Scientific Word가 LyX에비해기능적으로특별하게우월하다고생각되는부분은찾기어려우므로여기서는오픈소스인 LyX을중심으로설명한다. 4
그림 1.1: LyX 의사용자환경 앞서언급한것처럼일반적인문서편집기와유사한사용자경험을제공한다는점외에도능숙하게 TEX 을다룰수있는사용자들에게도움이될수있는특징들역시가지고있다. 4 단점은 Scientific Word와달리텍파일 (.tex) 을직접수정하지않고자체적인릭파일 (.lyx) 을생성하는점이다. 하지만릭파일을텍파일로변환하면 Scientific Word처럼일반적이지않은문법을사용하지는않는다는점을알수있다. 이하에서 LyX 설치법을소개한다. 5 1.2.1.1 Mac에서 LyX 설치 Mac에서 LyX을설치한다면자신의 Mac이인텔맥인지아닌지를파악한다. LyX은타이거 (OSX Tiger) 와그이후의버전각각을위한 dmg가구분되어있다. 한글사용을위해서는 도은이아빠 님이제공하시는파일로설치하는것을권장한다. 6 MacTEX 과한글환경이설치된 Mac을가정한다. LyX을다운로드하고 응용프로그램 에넣어둔다. LyX Preferences Output LaTeX에들어가서 Use LaTeX font 4 예를들어한글로 beamer 를작성하는경우에파워포인트로작업하는것과유사한환경을제공할수 있다. 그리고오픈오피스계열의스프레드시트를사용하면 MS 엑셀에서 MS 워드로표를붙이는것과같은 작업들구현할수있다. TEX 에숙달된사용자라도급하게 beamer 나표를만드는것은제법시간이걸리는 작업이다. LyX 은이러한작업들을깨끗하지는않지만빨리할수있도록도와준다. 5 설치에사용할파일은 도은이아빠 님이수정하신파일을권장한다. lyx.org 에서제공하는파일을 사용하여도한글구현이가능하지만여러가지설정을스스로해야한다 : 예를들어 oblivoir 클래스의설치. 다음의링크 http://faq.ktug.or.kr/faq/karnes/lyx20 를참조하기바란다. 6 동일하게 http://faq.ktug.or.kr/faq/karnes/lyx20 를참조한다. 5
그림 1.2: LyX 인코딩설정화면 6
encoding: 에체크를해제하고 save 한다. 1.2.1.2 Windows에서 LyX 설치우선 ko.tex Live 2011이설치된윈도우즈머신을가정한다. 만약 ko.tex Live 2011 이설치되지않은경우라면 LyX 설치과정에서 MiKTEX 의설치를물어본다. MiKTEX 을사용하면한글사용을위한작업은스스로책임져야한다. 영어만사용하려는경우는 MiKTEX 을설치해도문제없다. 윈도우즈용 LyX은설치과정에서 TEX 의경로를물어본다. 사용자가 ko.tex Live 2011 설치과정에서별도의설정을하지않았다면 \usr\texlive\2011\bin\win32로지정해주면된다. 다음으로 GNU 스펠체커 (spell checker) 인 Aspell 설치를물어본다. 필요에따라서설치하도록한다. 1.2.1.3 LyX에서한글설정설치가완료되었다면 LyX을실행하고 Document Settings Language에서 KoreanUCS로언어설정을바꾸어준다. 7 그리고 L A TEX Preamble에서 \usepackage\kotex\ 를입력한다. Tools Preferences Language Settings에서유저인터페이스언어와기본언어를 KoreanUCS로설정하고 babel 사용을해제하면한글구현을위한기초적인모든작업은완료된다. 마지막으로이를문서의기본설정으로저장하면새로작성하는문서에서도한글환경이동일하게구현된다. 1.2.1.4 LyX 에서 TEX 으로 LyX 에서문서를작성하는경우에도최종적인컴파일은 ko.tex 을사용하는것이 편리할수있다. File Export L A TEX (pdflatex) 으로텍파일을생성하고 TeXworks 7 도은이아빠 님이제공하는설치파일을사용하지않으면 KoreanUCS 가기본적으로제공되지않는다. lyx.org 에서제공하는파일로설치를하여도 KoreanUCS 를추가하거나한글을사용할수있지만기타 의세부적인설정은스스로해야한다. 본인이세부적인설정을직접하기를원하는사용자는 lyx.org 에서 제공하는원파일을사용한다. 7
그림 1.3: LyX 한글구현설정화면 8
로컴파일해보면거의대부분의경우문제없이 pdf 파일이생성된다. 우리가할일은 프리앰블에서필요한부분을손보는것뿐이다. 그외에 LyX 을사용하면서발생하는 의문사항은 Help 에있는매뉴얼을참조한다. 1.3 L A TEX 시스템 1.3.1 L A TEX 시스템에서사용하는파일아래에는 L A TEX 시스템에서기본적으로활용되는파일을나열하고있다..tex : 편집기로편집하는문서소스파일.bib : 사용자가작성하는참고문헌용데이터베이스파일, 3장에서다룰것이다..bst : 참고문헌스타일용파일.cls : L A TEX 의문서클래스파일, 이에대해서는 1장과 7 장에서다룰것이다..def : L A TEX 정의파일.fd : 글꼴정의파일.ist : 인덱스스타일정의파일.sty : 명령패키지의정의파일, 스타일 1.3.2 L A TEX 시스템에서생성되는파일.aux : 상호참조, 참고문헌, 목차등에활용되는부수파일.bbl : BIBTEX 을사용하는경우, 해당문서를위해생성되는참고문헌목록파일.dvi : 화면이나프린터상에서결과물을보는데사용되는파일.ent : endnotes 패키지를사용하는경우생성되는파일.idx : MakeIndex 명령어를사용할때생성되는파일 9
.ind : MakeIndex 명령어로인덱스를만드는경우, 해당문서를위해생성되는인덱스파일.log : L A TEX 처리과정에서발생하는, 오류를포함한모든정보를담고있는파일.pdf : 인쇄를위한 pdf 파일.ps : 인쇄를위한포스트스크립트파일.toc : 목차파일, \tableofcontents 명령어를사용할때생성됨 1.4 L A TEX 관련문서및홈페이지 1.4.1 관련문서 8 가장기초적인입문서들 L A TEX 입문 : The Not So short Introduction to L A TEX 2ε Essential LaTeX 워드프로세서사용자를위한 L A TEX Basic L A TEX A Beginner s Introduction to typesetting with L A TEX L A TEX for Complete Novices 광범위한주제를다루고있는문서들 The UK TeX FAQ L A TEX wikibook 논문작성을위한안내서 Using L A TEX to Write a PhD Thesis A graduate student guide to L A TEX and AMS-L A TEX 8 아래의모든문서는 http://econlecture.tistory.com/1에서다운받을수있다. 10
L A TEX による論文作成の手引き 기타 A Beamer Tutorial in Beamer PostScript Drawing: An Economist s Guide 한국어텍 ko.tex v0.1.0 사용설명서 1.4.2 관련홈페이지 KTUG( 한글 TEX 사용자모임 ): http://www.ktug.or.kr/ TUG(TEX 사용자모임 ): http://www.tug.org/ L A TEX-Wikibooks(wiki 형태의 TEX 백과사전 ): http://en.wikibooks.org/wiki/ LaTeX Andrew Robert의 L A TEX 기초 가이드 : http://www.andy-roberts.net/misc/ latex/index.html 말레이시아의 L A TEX 기초 워크숍 : http://liantze.penguinattack.org/ MMULaTeXWorkshop2010.html CTAN( 스타일파일등을구할때 ): http://www.ctan.org/ L A TEX for Economics: http://faculty.gvsu.edu/ogural/ 11
제 2 장 L A TEX 문서의기초 앞으로 3 개의장에서는간단한예제를활용하여아주기본적인수준에서논문을 작성하는데필요한것을다룰것이다. 2.1 L A TEX 명령어의기초와컴파일 L A TEX 은조판을위한일종의컴퓨터용언어이므로, 자기나름의문법이있다. L A TEX 을한번도접해보지않은사람은이문법이어렵게보일것이다. 그러나전혀그렇지않다. 명령어는일반어 ( 영어 ) 와상당히유사하다. 예를들어표제를만들라는명령구문은영어그대로 maketitle(make title) 이다. 명령어는명령 (command) 과환경 (environment) 으로구분된다. 명령어는일반어, 즉본문의내용과구분되도록 \ 를명령구문앞에붙인다. 1 따라서표제를만들라는명령은 \maketitle이다. 보통중괄호 ({}) 안에는명령의적용을받는내용, 대괄호 ([]) 안에는명령과관련된옵션을입력한다. 환경은 \begin{ 명령구문 } 과 \end{ 명령구문 } 으로구성된다. 예를들어문서의시작과끝을지정하는환경은 \begin{document} 와 \end{document} 이다 2. 원고의편집이끝나면결과물을보기위해컴파일 (compile) 을해야한다. 컴파일은명령어형태로되어있는원고를우리가보통보는문서형태로바꿔주는과정이다. Windows의경우이전에는편집기와별도로 KCMenu를사용하여컴파일링을했지만, 2010년현재는 Texworks가에디터와컴파일러를겸용한다. Mac의경우 TeXShop이같은기능을한다. 1 문서를작성하다보면명령어및본문내용과무관하게간단한기록을해놓을필요가있다. 이경우 % 를쓰고그뒤에메모내용을입력한다. % 뒤의내용은편집기에서만보이고, 최종결과물에서는보이지 않을것이다. 2 지금까지는명확한이해를위해 명령, 명령어, 환경 을구분하여썼지만이후에서는큰구분없이쓴 경우도있을것이다. 12
Texworks에서는 왼쪽 상단의 메뉴 바에 컴파일 창을 보고 원하는 컴파일을 선택 한 후 왼쪽의 재생버튼을 누르면 된다. TeXShop에서는 편집 중인 파일 상단 왼쪽의 Typeset 을 누르면 된다. 두 에디터 모두 단축기를 지원하니, 찾아 사용해보자. 2.2 작업 폴더와 파일 인코딩 작업 폴더의 경로에는 공백이 없는 것과 접근하기 쉬운 것이 좋다. 따라서 Windows 사용자의 경우 C:\Work처럼 루트 디렉토리에 폴더를 만드는 것을 권한다. 이는 바탕 화면이나 내 문서 같은 폴더의 경로가 C:\Documents and Settings\user로 시작하기 때문이다. Mac 사용자의 경우는 \Documents 폴더 아래 공백이 없는 이름으로 폴더를 만들어 주면 된다. 또 하나 주의할 사항은 편집기에서 파일의 인코딩을 UTF-8로 맞춰주어야 한다는 것이다. 그렇지 않으면 Windows 기본 인코딩인 CP949나 euc-kr로 저장되는데, 그러면 Mac이나 Linux 같은 다른 OS에서 한글을 읽지 못한다. 이것은 어느 플랫폼에서나 사용 가능하게 한다는 TeX의 취지에 어긋나는 것이다. 따라서 UTF-8로 항상 저장될 수 있도 록 해야 한다. 현재 Windows의 주 에디터인 Texworks의 기본 코딩 설정은 UTF-8이다. 하지만, 다른 Windows 에디터는 UTF-8 저장이 기본이 아닐 수 있으므로 확인해야할 필요가 있다. TeXShop을 사용하는 Mac 사용자는 preferences에서 Document 탭 왼쪽 하단에 있는 Encoding을 UTF-8로 지정해주면 된다. 2.3 프리앰블(pre-amble) 프리앰블은 본문의 시작을 지시하는 \begin{document} 이전까지 문서 전체의 형식 을 지정하는 부분이다. 프리앰블에 들어간 내용이 글 전체에 영향을 주므로, 이 부분을 어떻게 작성하는가가 중요하다. 2.3.1 문서 클래스(document class) \documentclass[옵션]{클래스 이름} 13
이명령어는문서를시작하면서문서의성격을정의한다. 가장기본적인문서클래스는 article, report, book, slide, letter 등이다. 이외에도특정대학의논문서식처럼특정목적의문서클래스가있다. 소속학교의논문작성용클래스가없다면, 논문을쓸때는 \chapter를사용할수있는 report 클래스를사용할것을권한다. \documentclass[10pt,a4paper,twocolumn,landscape]{report} 옵션은문서클래스를사용자에맞게세부적으로조정하는명령인데, 본문의글꼴크기, 용지크기, 다단, 용지가로 / 세로방향등을조절하는데사용한다. 이것만으로도가장기본적인문서를작성할수있다. 다음의명령어를사용해보자. \documentclass[10pt,a4paper]{report} \begin{document} Hi, there! \end{document} 2.3.2 패키지 (usepackage) \usepackage[ 옵션 ]{ 패키지이름 } \usepackage 명령은좀더다채로운문서작성, 예를들어그림을포함한다거나, 게임보수표를쉽게그린다든지하는일을쉽게하도록만들어놓은패키지를사용하는데사용된다. 다음의예를보자. \usepackage[nohead]{geometry} geometry는인쇄용지를설정하는패키지이며, nohead 옵션은머리글을사용하지않겠다는뜻이다. 기본적인패키지는이미설치되었을것이지만, 직접설치해야하는패키지가있다. 가장간단한설치법은패키지를사용하는문서가있는폴더에패키지파일을같이두는것이다. 모든문서에서사용하려면다음의방법을따르면된다. 우선 www.ctan.org에서검색을하여원하는패키지를다운받는다. 다운받은패키지를다음위치에복사한다. 3 3 아직, Windows에서 KCmenu 2007을사용한다면, 자동패키지설치를클릭하는방법이있다. 또 KCmenu의 TeX System 관리탭을클릭한후, package 관리항목의빈칸에서원하는패키지 14
2012년 7월현재 4, KTUG에서 ko.texlive 2011를다운받아 Windows에설치한경우내장된패키지관리유틸리티인 tlmgr을사용하면된다. 직접설치하고싶다면, C:\usr\texlive\2011\texmf-dist\tex\latex 폴더아래에하위폴더를만들면된다. geometry.sty라면, C:\usr\texlive\2011\texmf-dist\tex\latex\geometry\geometry.sty 로저장하면된다. 콘솔에익숙한사용자의경우는임의의경로에스타일을넣고 mktexlsr 를사용하여설치할수있다. TeXworks는실행시켰을때특정스타일을찾지못하면콘솔모드에서정지하기때문에손쉽게스타일을적용할수있다. Mac의경우, 자기계정에서만사용하려면 /library/texmf/tex/latex/mystyles에설치하면된다. 폴더가없으면만들면된다. 2.4 한글구현 L A TEX 은서유럽언어를중심으로만들어졌기때문에한글을구현하기위해서는파일과명령어를추가해야한다. 2012년 7월현재, ko.tex 이한글을구현하는통합솔루션이다. 이한글용패키지는 KTUG에서다운받을수있으며, 이사이트에서설치프로그램을다운받아최초설치한사용자는추가설치를할필요가없다. ko.tex 은 Unicode/UTF-8 인코딩과 EUC-KR을모두지원하나원칙적으로향후발전방향은 Unicode로합의되었으므로, 본안내서에서는 Unicode/UTF-8 인코딩만을다룬다. ko.tex 으로한글을구현하고, pdf로만들었을때북마크기능을사용하려면다음의명령어를프리앰블에추가해야한다. \usepackage{kotex} \usepackage[unicode]{hyperref} 글꼴설치및자세한한글구현에대해서는 ko.tex 문서를참고하면된다. 이름을입력하고, 설치를누르는방법도있다. 이두방법으로설치가되지않는패키지가있으면, \KC2007\TeX\Home\texmf\tex\latex\mystyles 에설치하면된다. 새로운폴더를만들어서패키지를 설치했다면, L A TEX 시스템에새로운폴더의구조를인식시켜주어야한다. KCmenu 에서는 TeX System 관리탭의갱신항목에서 TDS 갱신, package 관리의초기화를누르면된다. 4 ko.tex 과 MacTeX 의폴더트리구조가완전히자리잡은것이아니므로변할수있다. 15
2.5 2.5.1 표제 작성 제목, 저자, 작성일 작성 \title{논문 제목} \author{논문 저자} \date{작성일, 별도 지정하지 않을 경우, 컴파일링한 날짜가 자동 생성됨.} \maketitle 여기까지가 가장 기본적인 명령어이며, 소속, 감사의 글, 저자 연락처 등을 쓰려면, 여러 가지 방법이 있겠지만 본 안내서에서는 다음과 같은 형식을 소개한다. \author{저자\thanks{주소, 연락처 등}\medskip\\{\normalsize 소속}} 2.5.2 초록 작성 \begin{abstract} (초록 내용 입력) \end{abstract} 초록을 입력하려면 \maketitle 명령어 다음에 위의 명령어를 입력하면 된다. 2.5.3 목차 작성 LATEX에서는 아주 쉽게 목차를 만들 수 있다. 다음의 명령어는 각각 목차, 그림 목차, 표 목차를 생성하는 명령어이다. \maketitle 명령어 다음에 아래 명령어를 입력하고, 두번 컴파일링하면 된다. TeXworks나 TeXShop에서 두 번 컴파일 버튼을 눌러주면 된 다. \tableofcontents \listoffigures \listoftables 16
2.6 본문작성 2.6.1 장, 절의설정장, 절을작성하기위한명령어는다음과같다. 단 \chapter명령어는 article 클래스에서사용할수없다. 일반적으로논문에서는소소절 (\subsubsection) 까지쓴다. \part[ 목차에나타날부제목 ]{ 부제목 } \chapter[ 목차에나타날장제목 ]{ 장제목 } \section[ 목차에나타날절제목 ]{ 절제목 } \subsection[ 목차에나타날소절제목 ]{ 소절제목 } \subsubsection[ 목차에나타날소소절제목 ]{ 소소절제목 } \paragraph[ 목차에나타날단락제목 ]{ 단락제목 } \subparagraph[ 목차에나타날소단락제목 ]{ 소단락제목 } 소절의제목까지목차에표시되고, 본문에도소절의번호까지표시되도록하고싶다면, 다음의명령어를사용하면된다. \setcounter{tocdepth}{3} \setcounter{secnumdepth}{3} 번호는구성순서를지정하는것인데, 번호와순서는다음과같다. 부 (part) -1 장 (chapter) 0 절 (section) 1 소절 (subsection) 2 소소절 (subsubsection) 3 문단 (paragraph) 4 소문단 (subparagraph) 5 표 2.1: 장절수준및번호 17
또 숫자를 붙이고 싶지 않지만, 장이나 절처럼 사용하고 싶으면 *를 붙이면 된다. 용례는 다음과 같다. \chapter*{장 제목} 이 명령어는 다른 경우, 예를 들어 수식에도 똑같이 적용될 수 있다. 이렇게 하면 목차에 장이 나타나지 않을 것이다. 이 경우 다음의 명령어를 사용하면 된다. \setcounter{chapter}{장번호 재설정} \chapter*{장 제목} \addcontentsline{toc}{chapter}{*가 붙은 장 제목} 2.6.2 본문 다음의 구두점은 별도의 명령어를 사용해야 한다. 따옴표:,, 여는 따옴표는 표준 자판의 가장 윗줄 제일 왼쪽키(숫자 1 왼편) 에 할당되어 있는 문자를, 닫는 따옴표는 보통 사용하던 엔터/리턴키 왼편의 키를 사용한다. 틸데: \~{}를 사용하면 와 같이 나온다. $\sim$을 사용하면 와 같이 나온다. 하이픈: abstra-ct abstra-ct (프리앰블에 \sloppy를 입력하면, 자동으로 영어 하 이픈을 처리한다.) 엔대시: abstra--ct abstra ct 엠대시: abstra---ct abstra ct 말줄임표: $\cdots\cdots$와 같이 입력하면 와 같이 나온다. 영어의 경우 \ldots 로 입력하면... 으로 나온다. 기타: \#, \$, \%, \&, \_, \{ \}, \^{ },$\backslash$와 같이 입력하면 #, $, %, &,, { }, ˆ,\과 같이 나온다. 18
2.6.3 각주와 난외주 \footnote{각주 내용} 각주는 위 명령어를 사용하여5 입력한다. 용례는 다음과 같다. 각주는 위 명령어를 사용하여\footnote{각주} 입력한다. 제목에 각주를 달아야하는 경우가 있다. 이런 경우 다음과 같이 쓴다. 반드시 [목차 에 나타날 절 제목] 옵션을 사용하여, 목차에 각주가 나타나지 않도록 해야 한다. \section[목차에 나타날 절 제목]{절 제목\protect\footnote{각주 내용}} 표 안의 각주에 대해서는 4 장에서 다룰 것이다. \marginpar{난외주 내용} 문서의 왼쪽이나 오른쪽 여백에 간단한 메모, 원문의 페이지, 코멘트 등을 기록하고 싶 을 때가 있다. 이때는 \marginpar 명령어를 사용한다. 문서의 오른쪽에 나타나는 것이 난외주 기본값이다. 왼쪽에 나타나게 하고 싶다면, 프리앰블에 \reversemarginpar 명령어를 입력한다. 용례는 다음과 같다. 문서의 오른쪽에 나타나는 것이 기본값이다\marginpar{난외주}. 2.6.4 인용 인용문을 입력하는 명령어는 다음과 같다. 다음과 같이 쓰면 양쪽 들여쓰기로 자동 정리되어 본문에 나타난다. \begin{quote} (인용문 내용) \end{quote} 2.6.5 참고문헌, 표, 그림 넣기 참고문헌은 3장, 표와 그림 넣기는 4장에서 다룰 것이다. 5 각주 19
2.6.6 상호참조 논문을 쓰다 보면, 이 내용은 1.1 절을 참고하시오, 수식 2.2에 따르면 등의 표 현을 사용할 때가 있다. 이럴 때 사용하는 것이 상호참조 기능이다. 상호참조 명령어 는 세 가지이다. \label{참조기호}, \ref{참조할 기호}, \pageref{참조할 기호}. \label은 참조 대상이 되는 부분을 지정하고, \ref는 참조 대상의 번호 등을 불러오 고, \pageref는 참조 대상의 쪽 번호를 불러온다. 참조 기호는 보통 prefix:suffix의 형태로 쓰지만, 각자 알아서 입력하면 된다. prefix는 장(chapter)은 cha, 절(section)은 sec, 수식(equation)은 eq, 그림(figure)은 fig, 표(table)는 tab을 주로 쓴다. 다음의 예제를 보자. \subsection{상호참조}\label{sec:cr} 상호참조에 관한 내용은 \ref{sec:cr} 절, \pageref{sec:cr} 쪽에 있다. 2.6.7 프로그램 코드를 그대로 입력하기 본문이나 부록에 자신이 짠 프로그램 코드를 입력하고자 할 경우가 있다. 이때는 verbatim 명령어를 사용한다. \begin{verbatim} (프로그램 코드) \end{verbatim} 만약 파일로 입력하고자 한다면, 프리앰블에 \usepackage{verbatim}을 입력하고, 다음의 명령어를 사용한다. \verbatiminput{파일 이름} 이외에도 listings 패키지를 사용하는 방법도 있으나, 이는 관련 안내서를 참고하기 바란다. 2.6.8 각 장을 파일별로 나누기 논문을 작성하는 처음에는 목차를 변경하기 쉽도록 한 파일에서 입력하면 좋지만, 논문이 어느 정도 궤도에 오르면 각 장의 길이가 길어지므로, 하나의 파일에 관리하기 20
보다 각 장별로 파일을 만드는 것이 편하다. 이럴 경우 프리앰블과 표제를 만들어 놓은 파일에 다음 명령어를 입력한다. \include{경로 및 파일이름 지정, 예를 들어 ch_1.tex} 그리고 ch_1.tex 파일은 프리앰블 없이 chapter{장 제목}나 section{절 제목} 으로 시작하고, 장의 내용을 입력하면 된다. 만약 특정 장만 컴파일링하고 싶다면, 프리앰블에 다음 명령어를 입력한다. \includeonly{파일이름, 파일이름} 개조식 문서 작성 2.7 2.7.1 개조식 문서 작성을 위한 명령어 논문을 쓰다보면 문장부터 시작하기 보다는 마인드 맵을 그리는 것처럼 각각의 주 제어를 잡고, 그에 대한 부연 설명을 첨부시켜 나가는 것이 편할 수도 있다. 이런 경우 보통 찍땡식이라고 하는 개조식 문서로 쓰는 것이 생각을 정리하는 데 더 도움이 될 수 있으며, LATEX은 이것을 쉽게 처리할 수 있다. 또 이러한 표현은 공공기관의 문서와 유사한 형태를 갖는다. 기호로 나열하는 경우 itemize 명령 구문을 사용하고, \begin{itemize} \item 제 1수준, 첫번째 항목 \begin{itemize} \item 제 2수준, 첫번째 항목 \begin{itemize} \item 제 3수준, 첫번째 항목 \begin{itemize} \item 제 4수준, 첫번째 항목 \end{itemize} \end{itemize} 21
\end{itemize} \item 제 1수준, 두번째항목 \end{itemize} 숫자로나열하는경우, enumerate 명령구문을사용한다. \begin{enumerate} \item 제 1수준, 첫번째항목 \begin{enumerate} \item 제 2수준, 첫번째항목 \begin{enumerate} \item 제 3수준, 첫번째항목 \begin{enumerate} \item 제 4수준, 첫번째항목 \end{enumerate} \end{enumerate} \end{enumerate} \item 제 1수준, 두번째항목 \end{enumerate} 그외, 주제어에대한설명만바로쓰고싶다면 description 구문을사용하면된다. \begin{description} \item[ 제 1수준 ] 첫번째항목 \begin{description} \item[ 제 2수준 ] 첫번째항목 \begin{description} \item[ 제 3수준 ] 첫번째항목 \begin{description} \item[ 제 4수준 ] 첫번째항목 \end{description} \end{description} 22
\end{description} \item[제 1수준] 두번째 항목 \end{description} 2.7.2 모양 바꾸기 앞머리에 붙는 기호를 바꾸기 위해서는 \item 명령의 옵션인자를 지정하거나, \begin{itemize} \item[?] 물음표로 시작하는 항목 \end{itemize} 프리앰블에 \usepackage{enumerate}를 입력하고, enumerate 환경의 옵션인자에 I., i., A., a. 옵션을 주면 각각 I(로마자 대문자), i(로마자 소문자), A, a 로 시작하 게 된다. 만약 옵션 인자에 텍스트를 쓰고자 할 때는 중괄호로 묶어주어야 한다. \begin{enumerate}[{문제} I.] \item 다음을 간략히 써라. \begin{enumerate}[i.] \item 한 경제가 다음과 같은 상황에 있다. \begin{enumerate}[a.] \item 국민소득 $\sim$ \begin{enumerate}[a.] \item 투자 $\sim$ \item 저축 $\sim$ \end{enumerate} \end{enumerate} \end{enumerate} \item 다음을 간략히 써라. \item 다음을 간략히 써라. \end{enumerate} 23
제 3 장 참고문헌작성 3.1 BibTEX 의개요 L A TEX 에서는기본적으로 thebibliography 환경 1 을이용하여참고문헌목록을작성할수있다. 그러나논문을작성할때그리고앞으로계속논문을쓴다면 BibTEX 을이용하여참고문헌용데이터베이스를만들고이를활용하여참고문헌목록을만들것을강력히권한다. BibTEX 의장점은다음과같다. 1. 본문에언급된참고문헌만정확하게참고문헌목록에포함시킬수있다. 2. 참고문헌을데이터베이스로관리할수있다. 3. 인용순서나알파벳순서등으로참고문헌을정리하여보여주기쉽다. 4. 스타일파일을사용하면참고문헌을보여주는형식을바꾸기도쉽다. BibTEX 을사용하기위해우선참고문헌데이터베이스를만들어야한다. 3.2 참고문헌데이터베이스만들기 참고문헌데이터베이스파일의확장자는.bib 이다. 이는텍스트파일이므로어느 편집기에서도편집이가능하다. 우선지금사용중인 L A TEX 편집기를실행하고, library.bib 파일을만들자. 패키지 파일과마찬가지로, 사용하려는문서와같은폴더에.bib 파일을두어도되지만, 어 느문서에서나항상사용하려면, Windows 의경우, C:\usr\texlive\texmf-local\bibtex\ 폴더에두면된다. 2 Mac 의경우 library/texmf/bibtex/bib 폴더에파일을두면된다. 참고문헌데이터베이스는일반적인데이터베이스와마찬가지로정해진필드에값을 입력함으로써만들수있다. 기본적인형식은다음과같다. 1 이에대해서는기본안내서들을참고하면된다. 2 아직 KC2007 을사용한다면, \KC2007\TeX\Home\texmf\bibtex\bib 폴더에저장하면된다. 24
@참고문헌 종류{키워드, 필드 이름="필드값", } 기본적인 참고문헌 종류는 이미 정해져 있으며 그 내용은 표 3.1에서 확인할 수 있다. 필요에 따라 홈페이지 주소, 판결문 등의 종류를 직접 추가할 수도 있다. article 일반 논문 book 책 booklet 출판사가 없이 인쇄된 저작 proceedings 학술대회 발표문 모음집 conference inproceedings와 동일 inbook 어떤 책의 부, 장, 또는 절 등 incollection 어떤 책의 한 장이지만 독자적인 저자와 제목이 있음 inproceedings 학술대회 발표문 모음집 중의 발표문 하나 manual 기술문서 masterthesis 석사학위 논문 phdthesis 박사학위 논문 techreport 기관에서 출간한 보고서 unpublished 저자와 제목이 있는 미출간 원고, mimeo 등에 쓰면 됨 표 3.1: 표준 BibTEX 참고문헌 종류 입력값 키워드는 인용을 할 때 참조값으로 불러오기 위해 필요하다. 참고문헌 인용은 상호 참조 만드는 방법과 동일하다. 예를 들어, 어떤 참고문헌을 인용한다고 할 때 이 참고문헌에 Lee:1994lx 라는 키 워드를 주고, 본문에서 \cite{lee:1994lx}라고 인용명령을 입력하면, 해당 문헌을 인 용하게 된다. 구체적인 인용방법은 다음 절에서 다룰 것이다. 키워드는 영문과 숫자만 가능하다. 키워드는 저자의 성:참고문헌 발간년도+식별 25
코드 3 로만드는것이일반적이다. 인용방법은다음절에서다룰것이다. 참고문헌종류에따라필수적으로입력해야하는필드는다음과같다. article book booklet proceedings inbook incollection inproceedings manual masterthesis phdthesis techreport unpublished author, title, journal, year author or editor, title, publisher, year title title, year author or editor, chapter or pages, title, publisher, year author, title, booktitle, publisher, year author, title, booktitle, year title author, title, school, year author, title, school, year author, title, institution, year author, title, note 표 3.2: 표준 BibTEX 참고문헌종류별필수필드 그외 volume, number, month, pages, address, edition, type 등의필드값을참고문헌종류에따라부가적으로입력할수있다. 저자가여러명일경우 and를사용하여구분한다. 단, 한글문헌저자가여러명인경우 and를사용하면, 참고문헌목록에서마지막저자앞에 and가붙는다. 이것을없애려면, 저자모두를쉼표로쓰고중괄호로한번더묶어준다. 즉다수의저자를하나의필드값으로입력하면된다. 다음예제에서용례를확인할수있다. 다음은참고문헌데이터베이스작성의용례이며, 중괄호 ({}) 대신겹따옴표 ( ") 를사용해도된다. @techreport{min:2006vn, 3 식별코드는동일년도에동일저자가여러개의저술을냈을경우구분하기위해필요하다. 26
Author = {{민승규, 김용기, 이갑수, 김근영, 손민중, 양준호, 최희 갑, 최홍, 심창섭}}, Institution = {삼성경제연구소}, Month = {8월}, Title = {소득양극화의 현황과 원인}, Type = {연구보고서}, Year = {2006}, } @article{berninghaus:2003ve, Author = {Siegfried Berninghaus and Werner G{\"u}th and Hartmut Kliemt}, Journal = {Journal of Evolutionary Economics}, Month = {Oct.}, Number = {4}, Pages = {385-410}, Title = {From teleology to evolution}, Volume = {13}, Year = {2003}, } 자신이 갖고 있는 모든 참고문헌 목록을 일일이 입력해도 되지만, 그보다 문헌 관 련 사이트에서 지원하는 참고문헌 추출 기능을 활용하는 것이 훨씬 편하다. http:// ideas.repec.org/ 이나 http://www.ssrn.com/4 은 이러한 기능을 지원한다. http: //www.jstor.org/도 이 기능을 지원한다. 3.3 인용 방법 및 참고문헌 목록 스타일 LATEX에 내장된 참고문헌용 패키지도 좋지만, natbib 패키지가 그 보다 더 강력한 능력을 갖고 있다. ko.tex에 기본 내장되어 있지만, 별도로 다운받아야 한다면, http: //tug.ctan.org/tex-archive/macros/latex/contrib/natbib/에서 찾을 수 있다. 패 4 회원가입이 필요하다. 27
키지의 옵션을 확인하려면 이 주소에서 관련 문서를 다운받으면 된다. 참고문헌을 정 리하려면, natbib 패키지를 프리앰블에서 지정하고, 사용할 참고문헌 스타일과 데이터 베이스를 본문의 마지막에 지정한다. \usepackage[sort&compress,comma,longnamesfirst]{natbib}... \begin{document}... \bibliographystyle{참고문헌 표현 스타일 파일 이름} \bibliography{참고문헌 데이터베이스 파일 이름} \end{document} 스타일 파일을 사용하면 참고문헌 목록과 인용방식을 깔끔하게 정리할 수 있다. 기본적인 스타일은 다음과 같다. abbrv 알파벳 순 정렬, 저자 이름 축약 alpha 알파벳 순 정렬, 참고문헌 목록에 저자 성과 출판 년도가 표시됨 plain 알파벳 순 정렬, 참고문헌 목록에 번호 붙음 unsrt 인용 순 정렬, 참고문헌 목록에 번호 붙음 표 3.3: 기본 참고문헌 스타일 기본 스타일에 추가하여 경제학에서 사용하는 참고문헌 인용방식 및 참고문헌 목록 작성용 스타일을 사용하려면 다음 주소에서 다운 받으면 된다. http://www.ctan.org/ tex-archive/biblio/bibtex/contrib/economic/. 이 스타일 중에는 natbib 패키지를 필수로 설치해야 하는 것이 있다. 여기서 받은 파일 중 확장자가.sty,.cls인 파일은 15쪽에서 지정한 것처 럼 개인 스타일용 폴더로 옮겨 놓아야 한다. 확장자가.bst인 파일은 Windows 의 경우, C:\usr\texlive\texmf-local\bibtex\ 폴더에 두면 된다5. Mac의 경우 local/library/texmf/bibtex/bst 에 옮겨 놓아야 한다. 폴더가 없으면 직접 만들면 된다. 5 아직 KC2007을 사용하는 경우, \KC2007\TeX\Home\texmf\bibtex\bst 에 저장하면 된다. 28
LyX에서 Natbib과 Jurabib의 사용은 Document Settings Bibliography에서 설정한다. 한글 참고문헌이 포함되어 있는 경우 결과물이 깔끔하게 나오는 ecca 스타일 사용을 권한다. 또는 Osborne 교수가 만든 te 스타일의 결과물도 깔끔하다. 아직 일반적이지는 않지만, 각 저널별로 자신들의 형식에 맞는 스타일 파일을 만들어 놓기도 했다. 해당 저널 홈페이지에서 직접 확인하면 된다. 인용을 하려면 다음의 명령어를 사용한다. 이 안내서는 \cite{talbot:2004aa}를 기본으로 만들어졌다. 인용형식에 따라 명령어가 다른데, natbib 패키지와 ecca 스타일의 조합을 사용하는 경우 그 용례6 는 다음과 같다. \cite{키워드} 저자명 (출판연도) \cite[pp. 43-4]{키워드} (저자명, 출판연도, pp. 43-4) \citep{키워드} (저자명, 출판연도) \citeauthor{키워드} 저자명 \citeyear{키워드} 출판연도 \cite{키워드,키워드} 저자명 (출판연도), 저자명 (출판연도) \nocite{키워드} 본문에는 인용이 없으며, 참고문헌 목록에만 나타남 표 3.4: 인용 명령어 용례 참고문헌의 결과물을 볼 차례이다. BibTEX의 사용 순서는 다음과 같다. 1. 참고문헌 데이터베이스 만들기 2. 본문에 인용 문헌을 지정 6 다른 패키지와 스타일의 조합을 사용하더라도 명령어는 동일하지만, 패키지와 옵션, 스타일의 지원 여부에 따라 인용형식의 모양이 변할 것이다. 현재의 예는 comma 옵션을 적용한 결과이다. 콜론으로 인용 문헌을 구분하고 싶다면 comma 옵션을 지우면 된다. 29
3. BibTEX 컴파일링 7 4. L A TEX 컴파일링두번 8 TeXworks나 TeXShop의 BIBTEX 컴파일링은 typeset 버튼왼쪽의메뉴에서 BiBTEX 을선택하면된다. 참고로 unsrt 기본스타일과 \nocite 명령어를사용하면, 논문준비중 reading list 를만드는데편리하다. 3.3.1 참고문헌관리프로그램 bib 파일은텍스트로저장되므로어디에서든열어볼수있는장점이있다. 하지만, 정리해서보여주는것이아니므로보기와찾기에안좋다. 참고문헌관리에특화된, 즉 bib 파일용에디터로는 Mac의경우 Bibdesk( 오픈소스 ) 와 Papers( 유료 ) 를손꼽을수있다. Windows의경우, BibTEX 을직접관리하는프로그램으로 Java에기반한 JabRef가있다. 하지만서지관리프로그램의대부분은 BibTEX 형식의입출력을지원하기때문에굳이이를사용할필요성은없다. Endnote, RefWorks, Mendeley 등의서지관리프로그램이 BibTEX 형식의입출력을지원한다. 서지관리프로그램은정답이없기때문에스스로제일편리하다고생각되는프로그램을사용할것을추천한다. 학교등에서 Endnote를다운받아설치할수있으면, Endnote 파일을 BibTEX 파일로전환할수도있다. 참고문헌관리를위한프로그램목록은 http://dret.net/ projects/sharef/related-projects에서볼수있다. 여기서는 Mendeley를소개하도록한다. Mendeley는일정한도내에서무료이고서로다른 OS 환경에서동일한서지환경을제공한다는장점이있다. 9 Mendeley를설치하면 File export에서서지를 BibTEX 형식으로출력할수있다. 만들어진.bib 파일은앞에서설명한바와같이사용할수있다. 7 해당문서의인용과데이터베이스를대조하여, 해당문서에해당하는참고문헌목록을별도파일 ( 문서파일명.bbl) 로만든다. 8 본문의인용부문에정확한인용결과가표시된다. 9 우분투와윈도우즈, OSX 과윈도우즈에서동일한서지관리환경을구축할수있다는말이다. 30
제4장 표와 그림 4장에서는 표와 그림을 다루는 방법에 대해 알아본다. 우선 간단한 그림을 하나 넣어보면서 TEX에서 그림을 넣는 법1 에 대해서 알아보도록 하자. 그림 넣기 4.1 4.1.1 예제 1 : 간단한 그림 넣기.jpeg나.jpg 확장자의 그림을 넣기 위해서는 프리앰블에 graphicx 패키지의 사용 을 지정한다. \usepackage{graphicx} 여기서는, https://dl.dropbox.com/u/2914888/tex/cat.jpg에서 사진을 다운받 고, TEX연습용으로 쓰고 있는 폴더에 넣어두자. 그리고 아래와 같이 입력해본다. \begin{figure}[htbp] %그림시작, 그림의 위치옵션을 htbp로 설정 \begin{center} %가운데정렬 \includegraphics[width=0.2\textwidth]{cat.jpg} %그림파일 입력 \caption{\tex \이 뭐야? 먹는거야?} %그림 설명 입력 \label{fig:cat} %참조용 라벨 \end{center} \end{figure} 그림이 제대로 들어가지 않고 에러가 난다면, 그림의 크기(bb: bounding box)를 잡아 주어야 한다. bb=0 0 600 600은 그림의 크기를 지정하는 것인데, 첫번째와 세번째는 가 1 좀 더 엄밀하게 표현하자면, 떠다니는 개체(Floating Object)를 넣는 법이라고 해야 한다. TEX에서는 모든 객체가 일종의 상자(box)로 취급된다. 가장 작은 상자는 바로 글자이다. 표나 그림은 커다란 상자라고 보면 되겠다. 이러한 상자들을 통칭하여 떠다니는 개체라고 하며, 이것의 배치법은 일정한 규칙에 따른다. 31
로크기, 두번째와네번째는세로크기를지정한다. 예를들어그림의크기가 1024X768 이라면, bb=0 0 1024 768 이된다. 그림 4.1: TEX 이뭐야? 먹는거야? 아마도그림은원하는위치에오지않았을것이다. TEX 는기본적으로주어진위치 옵션에따라자동배치를한다 2. 위예제중그옵션지정에해당되는부분만남기면 아래와같다. \begin{figure}[htbp]... \end{figure} htbp 옵션은각각 h는바로이자리 (here), t는문서의최상단 (top), b는문서의최하단 (bottom), p는별도의그림만모아놓은장 (page) 를의미한다. TEX 는미리정의된, 떠다니는개체의크기에따른배치조건이설정되어있으며, 첫조건이적용불가능할경우우선순위에따라다음조건의적용가능성을탐색해나간다. 모든탐색조건을충족하지못한다면 ( 디폴트 ), 그경우 p 옵션이발동되어떠다니는개체만을모은페이지로가게된다. 만일이러한디폴트조건을무시하고싶다면옵션뒤에! 를붙이면된다. 가령, hwp의 글자처럼취급 옵션처럼절대조건과상관없이그자리로가게하고싶을경우 [h!] 옵션을사용한다. 아무옵션도붙이지않으면 [tbp] 로설정된다. 만일 hwp의 글자처럼취급 옵션과완전히동일한방식을쓰고싶다면, 넣고싶은부분에 includegraphics 명령어를넣으면된다. 이렇게말이다. \includegraphics[width=0.2\textwidth]{cat.jpg} 2 물론수동으로정확하게자신이의도한자리에의도한배치를하게할수는있지만, 그것은직접기술 문서를참조하면알수있다. 32
위 명령어는 들어갈 그림파일의 위치를 명시하고 있다. 파일 이름의 확장자는 써 도 되지만, 명시하지 않아도 무방하다. TEX는 파일명 뒤에 자신이 지원하는 그림 파일 확장자를 붙여가며 탐색을 하기 때문이다. 대괄호 안의 width=0.2\textwidth는 폭을 문서 가로폭의 20%로 하겠음을 명시하는 것이다. 당연히 0.2를 가령 0.5로 만들면 폭의 50%만큼의 그림이 되는 것이다. 절대폭으로 만들고 싶다면 width=5in, width=7cm와 같은 식으로 단위와 함께 명시할 수 있다. 폭보다 높이가 중요하다면 width 대신 height 를 쓰면 되며, 페이지 높이에 대한 비율을 사용하기 위해서는 \textheight를 사용하면 된다. \caption{\tex \이 뭐야? 먹는거야?} \caption 명령어는 그림에 붙일 캡션을 설정한다. 별도의 위치 지정이 없으면 그림 아래에 만들어진다. 표에서도 같은 방식으로 사용된다. \TeX는 TEX을 표현하기 위한 명령어이고, \이은 kotex package를 설치하면 사용할 수 있는 명령어로, 앞에 붙는 말에 따라 조사 은, 는 중에 적당한 것을 붙여준다. 물론 이, 가 앞에 역슬래시(\)를 붙여 도 된다. 단, 이 기능을 사용하는 경우, dvi로 컴파일할 때 목차가 깨져 나올 수 있다. dvi 로 컴파일을 하는 경우는 본 안내서의 수준에서는 PSTricks를 사용할 때 뿐이며, 이에 대해서는 9장에서 다시 다룬다. 상호참조에 관해서는 20쪽을 참조하라. 다음 명령어는 상대크기를 축소하고, 그림을 회전시키며,!를 사용하여 위치를 지 정한 응용 예이다. \begin{figure}[h!] \begin{center} \includegraphics[angle=45, width=0.5\textwidth]{cat.jpg} \caption{상대크기를 폭의 50\%로 축소하면서 반시계방향으로 45도 꺾음} \label{fig:cat_angle} \end{center} \end{figure} 33
그림 4.2: 상대크기를폭의 50% 로축소하면서반시계방향으로 45 도꺾음 4.2 표만들기 표는 table 환경에 tabular환경을넣어사용한다. 실제표를만드는것은 tabular 환경이고, table환경은표의위치지정옵션및참조레이블, 캡션, 표번호등을관리하는데에쓰인다. 사실그림역시 figure환경에 includegraphics 명령을사용하여그림을넣은것이다. figure환경없이 includegraphics 명령만을사용해도그림은들어간다. 4.2.1 간단한표의예 \begin{tabular}{ c c c } \hline & 자백 & 부인 \\ \hline \hline 자백 & 5,5 & 1,100 \\ \hline 부인 & 100,1 & 0,0 \\ \hline 34
\end{tabular} 위명령어를실행시키면보는것과같은결과를얻을것이다. 이는그림과유사하지만, 위치지정자 (htbp) 나가운데정렬방식등을설정하지않았으므로거대한한글자와같이취급되고있다. 그래서부자연스럽게같은줄에위치하고있다. 이는 hwp의 글자와같이취급 옵션과완전히동일한것이다. 그림역시 table 환경없이 includegraphics 자백 부인 명령만사용할경우같은효과를거둘수있다. 자백 5,5 1,100 부인 100,1 0,0 위표대신정식으로 table 환경을적용한경우는아래와같다. \begin{table}[h!] \begin{center} \begin{tabular}{ c c c } \hline & 자백 & 부인 \\ \hline \hline 자백 & 5,5 & 1,100 \\ \hline 부인 & 100,1 & 0,0 \\ \hline \end{tabular} \caption{ 가운데정렬한표 } \end{center} \end{table} 표의내용을채우고있는부분은수식의행렬과매우유사한데, 행구분은 \\ 으로, 열구분은 & 로하고있다. 주의할점은아무것도없는부분 ( 여기에서는 1행 1열이그러하다 ) 이비었다는것을표현하기위해 & 자백 & 부인 \\ 같은식으로표현한다는점이다. 35
\begin{tabular}{ c c c } 의의미는가운데정렬 (center) 을하는 3열짜리표라는것이며, 세로줄을모두긋되, 1열과 2열사이의세로줄은두줄짜리를쓰겠다는것을의미한다. 즉, 처음표를시작할때열에대한정보와함께세로선에대한기본정보를제공하는것이라고생각하면된다. 가로선은 \hline 명령을쓴다. 위에서쓴 c대신쓸수있는것은 l, r, p 등이있다. l은왼쪽정렬 (left), r은오른쪽정렬 (right), p는줄바꿈이가능하게한다 (paragraph). 뒤에중괄호를붙여크기를강제로지정할수있다. 지정하지않는경우 L A TEX 이자동으로폭을결정해주게된다. 4.2.2 조금더복잡한표 좀더복잡한표를만들어보자. 4.2.2.1 열병합표 열병합은 multicolumn 명령을사용한다. 표 4.1의미완성된줄 (2.1과 3.1 사이 ) 은 종류 C1 C2 C3 2.1 2.2 2.3 3.1 3.2 3.3 표 4.1: 열병합표 의도적인것이다. \cline{} 명령어는가로선의시작부분과끝부분을지정한다. 즉, 예에서 3번째셀의중간에걸친밑선은 2번째셀에서시작하여 3번째셀에서끝나게하기위해 \cline{2-3} 을쓴것이다. \begin{table}[!h] \begin{center} \begin{tabular}{ c c c } \hline \multicolumn{3}{ c }{ 종류 }\\ 36
\cline{1-3} C1&C2&C3\\ \hline 2.1&2.2&2.3\\ \cline{2-3} 3.1&3.2&3.3\\ \hline \end{tabular} \end{center} \caption{ 열병합표 } \end{table} 4.2.2.2 행병합표 이제감을잡았을것이다. 행병합은 multirow 명령을사용한다. 이때 multirow 명 령을사용한셀은빈셀취급을하면된다. C2a C4a Text in C2b Text in C4b column1 C2c column3 C4c C1d C2d C4d 표 4.2: 행병합표 \begin{table}[!h] \begin{center} \begin{tabular}{ l l l l }\hline \multirow{3}{20mm}{text in column1}&c2a&\multirow{4}{20mm}{text in column3}&c4a\\ & C2b & & C4b\\ & C2c & & C4c\\ 37
\cline{1-2} C1d & C2d & & C4d\\ \hline \end{tabular} \end{center} \end{table} \caption{ 행병합표 } 4.2.2.3 표속에각주넣기표안에각주를넣는방법은여러가지가있는데, 이에대해서는 http://faq.ktug. or.kr/faq/table%c8%af%b0%e6을확인하고, 여기서는 threeparttable.sty를사용하는방법과 \footnotemark를사용하는방법두가지를다룬다. 우선 threeparttable.sty을사용하기위해서는해당스타일을설치하고, 프리앰블에사용을지정한다. 그리고, 다음의예제를보자. \begin{table} \begin{center} \begin{threeparttable} \begin{tabular}{ c c c } \hline GDP\tnote{1} & GDP\tnote{2} & GDP\tnote{3}\\ \hline \end{tabular} {\footnotesize \begin{tablenotes} \item[1] 2007년한국은행 \item[2] 2008년한국은행추정치 \item[3] 2008년 KDI 추정치 \end{tablenotes} } 38
\end{threeparttable} \caption{표 아래 각주를 표시하는 표} \label{tab:footnote} \end{center} \end{table} threeparttable 패키지의 사용에서 중요한 것은 \tnote{각주 기호}로 각주 기호 를 지정하고, 이에 대한 내용은 \item[각주 기호]를 사용하여 입력한다는 것이다. tabular 환경에서 페이지 바닥에 각주를 \footnotetext 명령어를 사용한다. \footnotemark[번호] \footnotetext[번호]{각주 내용} 용례는 다음과 같다. \begin{table}[!h] \begin{center} \begin{tabular}{ c c c } \hline GDP\footnotemark[1] & GDP\footnotemark[2] & GDP\footnotemark[3]\\ \hline \end{tabular} \end{center} \caption{페이지 바닥에 각주를 표시하는 표} \label{tab:pagefootnote} \end{table} \footnotetext[1]{2007년 한국은행} \footnotetext[2]{2008년 한국은행 추정치} \footnotetext[3]{2008년 KDI 추정치} 39 넣으려면, \footnotemark와
4.2.2.4 Excel2Latex의사용지금까지본것처럼 L A TEX 에서표를만들기는쉽지않다. 이를좀더편하게해주는유틸리티가 excel2latex이다. 이는엑셀의매크로파일인데, http://www.ctan.org/tex-archive/support/ excel2latex/ 에서받을수있으며, Excel2LaTeX.xla 파일을다운받아, 엑셀의 add-in 디렉토리에설치하면된다. 그러면 도구 메뉴와리본에새로운아이콘이나타난것을볼수있을것이다. 사용방법은 L A TEX 의표로만들고싶은부분을설정하고, 툴바아이콘을눌러주기만하면된다. 그러면 L A TEX 으로내용이전환되고, copy to clipboard를선택하면해당부분이복사되어, 이를 L A TEX 편집기로옮겨놓으면된다. 그림 4.3: Excel2Latex 4.2.2.5 csvsimple 패키지의사용엑셀파일을 csv(comma separate file) 확장자로추출할수있다. csvsimple 패키지는이 csv 파일을이용하여표만들기를도와준다. 먼저프리앰블에 \usepackage{csvsimple} 을정의한다. 40
가장기본적인사용법은다음과같다. \documentclass{article} \usepackage{csvsimple} \begin{document} \csvautotabular{ 파일이름.csv} \end{document} 만약, csv 파일의데이터만불러와서사용하고자한다면, \csvreader{ 옵션 } 을이 용하면된다. 자세한내용은관련기술문서를참고하자. 41
제 5 장 수식 5장에서는수식을다루는법을설명한다. 여기에서다루는수식은엄밀히말하자면 L A TEX 의표준방식이라기보다는 AMS-TEX 라고할수있다. AMS-TEX 는미국수학회에서만든수식입력을위한확장이다. 이확장을이용하기위해서는프리앰블에다음과같이입력하자. \usepackage{amssymb, amsfonts, amsmath} 5.1 수식모드 한글과컴퓨터사에서아래아한글시리즈의수식을써본사람이라면 TEX 의수식을훨씬쉽게이해할수있을것이다. 사실아래아한글의수식입력법은 TEX 의것을차용했다고보아도무방하다. 다른점은예약어목록일부가다르다는것과함께아래아한글의경우는그냥예약어를쓰는반면, TEX 에서는 \ 과함께써야한다는것정도이다. TEX 에서수식모드는크게두가지방법으로쓸수있다. 1. $ 와 $ 사이에수식을넣는법 ( 한글의수식과유사 ) 2. 별도의수식환경을불러쓰는법첫번째방법은아래아한글과거의유사하게수식을부를수있다. 이것은정렬방식을지정하지않은표 ( 아래아한글에서는 글자로취급 옵션과비슷하다 ) 와도비슷하게, 문장사이에수식을넣을수있다. 가령유명한오일러의공식인 e πi + 1 = 0을표현할경우, 문장내에쓸땐첫번째방법 $e^{\pi i }+1=0$ 을쓰고, 수식번호를매기는식으로쓰려면아래와같이 equation 환경을쓰는것이다. \begin{equation} e^{\pi i }+1=0 \end{equation} 42
e πi + 1 = 0 (5.1) 여기에서수식번호는 ( 장번호. 수식번호 ) 의형식으로나타나고있다. 이수식을붙 이는방식은프리앰블에서바꿀수도있고, 이장에서만임시로바꿀수도있다. 한편, 이두가지식표현법은정렬방식외에도다른점이있는데, 첫번째방식의 경우는무조건세로사이즈에상관없이한줄에들어가도록표현한다는것이다. 이는 적분기호나시그마같은합기호를쓸경우잘보인다. 즉, 100 i=0 p iq i 와아래의식을비 교해보라. 어떤의미인지쉽게이해할수있을것이다. 분수와같은경우, 크기를줄여 표현한다. 1 1 10 +1 100 p i q i i=0 1 1 10 + 1 수식모드내에서는일반적인텍스트입력과몇가지면에서다른점이있다. 1. 띄어쓰기는의미가없다. 아무리띄어쓰기 ( 스페이스바 ) 를해도수식내에서는모 두무시된다. 공백은 ~,\quad,\qquad 를사용하여강제지정해야한다. 2. 수식모드내에서는일반모드내에서는쓸수없었던예약어 ( 수식용예약어 ) 들을 쓸수있다. 다시말하면수식모드밖에서수식용예약어들을사용할경우컴파일 에러가발생한다. 3. 수식모드내에서일반모드같은조판을하기위해서는특수한예약어를사용해야 한다. 5.2 수식의표현법 5.2.1 기초적용법 일반적인다항식을표현해보자. 아래는 2 차방정식의일반해이다. x = b ± b 2 4ac 2a 43
위식은아래와같은방법으로표현한다. \begin{equation*} x=\frac{-b\pm\sqrt{b^{2}-4ac}}{2a} \end{equation*} equation* 환경은숫자가붙지않는완전한수식이다. 1 \frac{ 분자 }{ 분모 } 은분수를표현할때쓴다. 루트는 \sqrt{} 를쓰며, \pm는 ± 을, 상첨자 ( 제곱 ) 는 ^으로나타내고있다. 중괄호 { } 는묶여야만하는단위를명시하는기능이있다. 가령 a 2 는 a^{2} 로도표현할수있지만, a^2로도표현해도똑같은모양으로나타나게된다. 하지만, a 4π 같은것은중괄호없이표현하는것이불가능하다. 중괄호를쓰지않고 a^4\pi와같이쓰면 a 4 π 처럼되게된다. 물론이모든수식들은한줄짜리약식수식으로도쓸수있다. 같은내용을두개의 \ 사이에넣으면된다. 5.2.2 첨자있는화살표 F [n 1] 0α(b) E 0b Γ 상하첨자가들어가는화살표는 \xrightarrow[ 하첨자 ]{ 상첨자 } 를쓴다. 물론상 / 하화살표, 왼쪽으로향하는화살표에도사용할수있다. 2 \begin{equation*} F\times \triangle[n-1]\xrightarrow[\gamma]{\partial_{0}\alpha(b)}e^{\partial_{0}b} \end{equation*} 5.2.3 적분 \begin{equation*} \int_{-\infty}^{\infty}\log_{e}\gamma_{t}^{2}dt \end{equation*} 1 강제로번호나표식을붙이고싶다면 \tag { } 명령을쓰면된다. 위환경에대한약식환경으로 \[ \] 환경을쓰는방법도있다. 2 원래쓰던 @>>> 식의표현은이제사용할수없다. 44
log e γ 2 t dt 5.2.4 경우의수줄바꾸기위해 4장에서보았던 & 과 \\ 가사용되고있음을알수있다. 이는이어서살펴볼행렬에도똑같이적용된다. 단, 여기에서 & 는줄을맞출때에만사용하는것이기때문에갯수를맞춰야할필요는없다. 0 if r j is odd, P r j = r!( 1) 2n n N. \begin{equation*} P_{r-j}= \begin{cases} 0&\text{if $r-j$ is odd},\\ r!(-1)^{2n}&n\in\mathbb{n}. \end{cases} \end{equation*} 이이외에도여러예약어들이있다. 이에대해서는 http://www.ams.org/ publications/authors/tex/amslatex.html 등의사이트에서예약어용례와목록들을찾아볼수있다. 5.2.5 행렬 \quad,\qquad 는수식환경에서띄어쓰기를할때쓰는명령어이다. gather* 환경은 여러개의수식을정렬하지않고모으는데쓰인다. 0 1 1 0 a c 0 i i 0 b 0 1 d 1 0 0 1 1 0 45
\begin{gather*} \begin{matrix} 0 & 1 \\ 1 & 0 \end{matrix} \qquad \begin{pmatrix} 0 & -i \\ i & 0 \end{pmatrix} \qquad \begin{bmatrix} 0 & 1 \\ 1 & 0 \end{bmatrix} \\ \begin{vmatrix} a & b \\ c & d \end{vmatrix} \qquad \begin{vmatrix} 0 & 1 \\ 1 & 0 \end{vmatrix} \qquad \end{gather*} 5.2.6 align 환경수식을풀어나가는과정을묘사할때처럼여러줄의수식을정렬해서나타내야할경우, align환경을이용한다. 이때, 정렬해야할기준에 & 을넣는다. 아래예에서는등호를기준으로정렬을하고있다. \begin{align*} ax^{2}+bx+c &= 0\\ ax 2 + bx + c = 0 ( a x + b ) 2 b2 2a 4a + c = 0 x = b ± b 2 4ac 2a a\left( x+\frac{b}{2a}\right)^{2}-\frac{b^{2}}{4a}+c&=0\\ \therefore x&=\frac{-b\pm\sqrt{b^{2}-4ac}}{2a} \end{align*} 5.2.7 극한, 확률 \lim,\pr은극한과확률을표시하기위해사용한다. \leq,\geq를사용하면부등호를나타낼수있다. 앞서살펴본 align환경을이용하는긴수식을작성하는예제를살펴보자. 46
\begin{align*} Pr(t τ < t + dt τ t) Pr(t τ < t + dt) λ(t) = lim = lim dt 0 dt dt 0 Pr(τ t)dt S(t) S(t + dt) = lim dt 0 S(t)dt = 1 S(t) ds(t) dt = d log S(t) dt = f(t) S(t). \lambda(t) &= \lim_{dt \to 0} \frac{\pr(t \leq \tau < t+dt \tau {\ge} t)}{dt} = \lim_{dt \to 0} \frac{\pr(t \leq \tau < t + dt)}{\pr(\tau \ge t)dt} \\ &= \lim_{dt \to 0} \frac{s(t) - S(t +dt)}{s(t)dt} \\ &= -\frac{1}{s(t)}\frac{ds(t)}{dt}= \end{align*} - \frac{d \log S(t)}{dt} = \frac{f(t)}{s(t)}. 5.2.8 LyX에서수식입력 LyX은 TEX 편집기이기때문에앞서살펴본모든수식을표현할수있다. LyX의수식입력은예약어입력도가능하고, 한글이나 MS워드처럼마우스로원하는기호를찾아서클릭하는방식도가능하다. Insert Math를눌러보자. Inline formula 는 $ 사이에수식을넣는방식을의미한다. Display formula 는 \begin{equation*} 또는 \[ 를사용하여수식을넣는방식을의미한다. Numbered formula 는 \begin{equation} 을사용하여번호가있는수식을넣는방식이다. AMS align Environment 는 \begin{align*} 을사용하는방식이다. 이네가지수식입력방법으로거의대부분의수식은입력이가능하다. LyX의수식입력모드에서예약어를사용하고스페이스바나커서를누르면작성중인파일을컴파일하지않아도입력한수식을보여준다. TEX 을처음접하는경우에는아직예약어의사용이익숙하지않기때문에작성한수식을직접보여주는방식이문서의작성에도움을줄수있다. 예약어를모르는경우는입력패널에서찾아마우스로클릭한다. 아래의그림은 LyX에서수식입력이어떻게이루어지는지보여준다. 47
그림 5.1: LyX 에서수식입력 48
제 6 장 L A TEX 문서의편집기초 2 장에서익힌것으로도충분히, 논문을보기좋게만들수있다. 이장에서소개하는 내용은논문을꾸미는데도움을줄지도모르지만, 필수불가결한것은아니라는점을 명심하자. 6.1 글자모양 6.1.1 글꼴바꾸기하나의문서에글꼴이많이쓰이면쓰일수록통일성이떨어지고, 한눈에읽기도좋지않다. 그러므로되도록이면글꼴을유지할것을권한다. 그럼에도표준글꼴이마음에들지않는다면, 다음의명령어를사용할수있다. \SetHangulFonts{rm(roman)}{ss(san serif)}{tt(typewriter)} \SetHanjaFonts{rm(roman)}{ss(san serif)}{tt(typewriter)} 위의명령은각각한글과한자글꼴을지정한다. ko.tex 에서기본지원하는기본글꼴목록과기본설정은표 6.1, 표 6.2와같다. 확장글꼴과트루타입글꼴의추가와같이더자세한사항은 ko.tex 가이드문서를참조하라. 글꼴명조고딕타자그래픽 글꼴이름 utbt utgt uttz utgr 표 6.1: ko.tex 기본글꼴목록 49
언어종류 rm 글꼴이름 sf 글꼴이름 tt 글꼴이름 emph 글꼴이름 한글 utbt utgt uttz utgr 한자 utgt utgt uttz utgr 표 6.2: ko.tex 문서한글기본설정 6.1.2 글꼴크기 \documentclass[17pt]{extarticle} 표준크기 (10, 11pt) 가충분하지않다면, extsizes 패키지를이용하면된다. 문서의기본글꼴크기를바꾸려면위명령어를프리앰블에쓴다. 이패키지는확장된표준문서클래스옵션을제공하여, 8 12, 14, 17, 20 포인트문서를작성할수있도록해준다. 6.1.3 글꼴모양이소절에서는글자모양과글자크기, 두가지를다룰것이다. 우선글자모양이다. 기본적인형식은아래와같으며, 한글의경우이탤릭체보다는굵은글씨를쓰는경우가더많을것이다. 더많은글자모양에대해서는기타안내서를참고하면된다. 명령어 환경 결과 \textnormal textnormal 결과 \textit itshape 결과 \emph 없음 결과 \textbf bfseries 결과 \underline underline 결과 표 6.3: 글자모양 워드프로세서에서는폰트의크기를조정함으로써글자크기를조정했지만, L A TEX 50
에서는문서의기본글꼴크기가정해져있고, 이에비례하여글자크기를조정한다. 글자크기를조정하는명령어는다음과같다. 명령어 \tiny \scriptsize \footnotesize \small \normalsize \large \Large \LARGE \huge \Huge 결과 결과결과 결과결과결과 결과 결과 결과 결과 결과 표 6.4: 글자크기 6.1.4 밑줄긋기보통밑줄을사용하지않는다. 혹사용한다하더라도 \underline으로충분하다. 그래도꼭다양한형태의밑줄을그어야한다면 ulem 패키지를사용하면된다. 자세한내용은패키지문서를참고하라. 51
6.2 문단모양 6.2.1 들여쓰기 \setlength{\parindent}{ 들여쓰기크기 } \parindent 명령을사용하면, 한문단의들여쓰기크기를설정할수있다. 문단 들여쓰기를하지않으려면 noindent 명령어를사용하면된다. \usepackage{indentfirst} L A TEX 에서는영어문서의경우장, 절의첫번째문단은들여쓰기를하지않는것 이기본값이다. 한글의경우, 이것을조정해야하는데, 이때위패키지를사용한다. 기본값은첫문단들여쓰기를하는것이다. 6.2.2 줄간격 \linespread{ 간격 } 줄간격을지정하는명령어로는 \linespread 외에도, setspace 패키지를사용하는 방법이있다. \usepackage[ 옵션 ]{setspace} 옵션으로는 singlespace, onehalfspace, doublespace를지정할수있다. 또, spacing 환경을지정하여, 줄간격을조정할수도있다. 위두방법이문서전체의줄간격을지정하는것과달리이방법을사용하면, spacing 환경이적용되는부분에서만줄간격이변하고, 그외부분에서는문서의기본줄간격이적용될것이다. \begin{spacing}{ 간격 } ( 본문내용 ) \end{spacing} 52
6.2.3 문단간격새로운문단을시작하기위해서는다음의두가지방법이가능하다. 빈줄넣기 : 빈줄을하나이상넣기명령사용 : \par 워드프로세서에서 Enter 키를치면문단과문단사이의공간을만들지만, L A TEX 에서는문단과문단을나누어줄뿐, 문단사이의공간을벌리지않는다. 문단간의간격을벌리려면, 다음명령어를사용한다. \vskip 간격값 그런데, 위명령어는문단사이에만효과가있고, 첫문단에는효과가없다. 이경우 \null 을입력하여문단을띄울위치를잡아주어야한다. \null \vskip 1.3cm 상대적인비율로문단간격을벌리리면다음의명령어를사용하면된다. \smallskip \medskip \bigskip 문서전체의문단간격을지정하려면다음명령어를사용한다. \setlength{\parskip}{ 문단간격 } 6.2.4 정렬오른쪽정렬 : flushright, \raggedright 왼쪽정렬 : flushleft, \raggedleft 가운데정렬 : center, \centering 53
다음의 예제를 따라 하고 결과를 비교해보자. \begin{flushright} 2008년 2월 22일 \end{flushright} \begin{center} 축 생일 \end{center} \begin{flushleft} 스물 다섯번째 생일을 축하해요. \end{flushleft} \raggedleft 2008년 2월 22일\\ \centering 축 생일\\ \raggedright 스물 다섯번째 생일을 축하해요.\\ 편집용지 6.3 6.3.1 문서 클래스의 옵션 활용 \documentclass의 옵션 활용 용지 크기: a4paper, a5paper, b5paper, letterpaper, legalpaper, executivepaper 용지 방향: portrait(기본값), landscape 6.3.2 6.3.2.1 문서여백 setlength 명령어의 활용 \setlength[편집할 여백]{크기} 문서 여백을 지정하기 위해 위와 같은 명령어를 사용할 수 있다. 예제는 다음과 같다. 54
\setlength{\leftmargin}{2cm} \setlength{\rightmargin}{2cm} \setlength{\oddsidemargin}{2cm} \setlength{\evensidemargin}{2cm} \setlength{\topmargin}{-1cm} \setlength{\textwidth}{18cm} \setlength{\textheight}{25cm} 6.3.2.2 geometry 패키지의활용 geometry 패키지를사용하는것도편하다. 종이크기, 여백너비등을자유롭게조절할수있다. 기본적인용례는다음과같다. \usepackage{geometry} \geometry{papersize={25cm,35cm}} \geometry{total={20cm,30cm}} \geometry{body={18cm,25cm}} \geometry{hmargin={3cm,2cm}} \geometry{vmargin={2cm,3cm}} \geometry{marginparwidth=2cm} \geometry{head=1cm} 위명령어에서각값의순서는표 6.5와같다. 이를활용하여 geometry 옵션으로설정할수도있다. \usepackage[left=1.0in,right=1.0in,top=1.0in,bottom=1.0in]{geometry} 6.4 머리말 / 꼬리말 fancyhdr 패키지를활용하는것이편하다. \usepackage{fancyhdr} \pagestyle{fancy} 55
구분 1 순서 2 순서 papersize paperwidth paperheight total width height body textwidth textheight hmargin left right vmargin top bottom 표 6.5: 용지의각부분별이름 프리앰블에위명령어를넣고, 머리말과꼬리말은왼쪽, 가운데, 오른쪽위치중원하는곳에입력하면된다. 이때명령어는다음과같다. \lhead{} \chead{} \rhead{} \lfoot{} \cfoot{} \rfoot{} \thepage 명령을입력하면쪽번호를표시할수있다. 6.5 쪽번호매기기 / 새번호로시작 \setcounter{ 새번호대상 }{ 숫자 } 3절을건너뛰고 4절부터시작하도록절번호를바꾸고싶다면, 다음과같이쓰면된다. \setcounter{section}{3} 특정값을숫자란에입력할수있다. 이때는 \value{ 번호대상 } 명령어를활용하면된다. 예를들어 exercise라는환경이지정되어있고, 이때번호로쪽번호를사용하고싶다면다음과같이쓰면된다. 56
\setcounter{exercise}{\value{page}} 쪽번호의스타일은다음명령어로지정한다. \pagenumbering{ 스타일 } 스타일의종류는다음과같다. arabic (1, 2, 3,... ), roman (i, ii, iii,... ), Roman (I, II, III,... ), alph (a, b, c,... ), Alph (A, B, C,... ). 6.6 줄나누기 / 쪽나누기 6.6.1 줄나누기 \linebreak: 명령이내려진곳까지의문장을해당줄의끝까지전개한다. \newline: 명령이내려진곳에서줄이바뀐다. \\[ 줄간격 ]: 일반적으로가장많이쓴다. 6.6.2 쪽나누기 \newpage: 일반적인쪽나누기 \clearpage: 아직처리되지않은모든그림과표를출력한다음페이지를나눈다. \cleardoublepage: \clearpage와같으나다음쪽이항상홀수에서시작하도록나눈다. 6.7 LyX 에서의편집 Document Settings에서용지와관련한모든설정을할수있다. Fonts에서는기본적인활자의종류와크기를정할수있다. Text Layout에서는문단간격, 줄간격을설정할수있다. Page Layout에서는용지의종류와가로, 세로출력을설정할수있다. Page Margins에서는여백을조정할수있다. 1 1 LyX에서는 geometry 패키지가자동으로적용된다. 따라서 Page Margins에서여백을조정하였다면프리앰블에 geometry 패키지를추가할필요가없다. 대부분의필수적인패키지는 LyX 환경에서기본적 57
쪽나누기는 Insert Formatting 에서 New Page, Page Break 등을선택할수있다. 수식과관련한모든편집은 Insert Math 에서할수있다. 으로구현되기때문에, 논문을작성하는수준에서프리앰블에직접패키지를입력할일은거의발생하지 않는다. 58
제7장 문서 스타일 바꾸기-명령과 클래스 작성 이 장에서는 LATEX의 고급 기능을 배울 것인데, 이 장을 끝내고 나면 기초적인 수준 에서 기존의 명령어를 수정하고, 새로운 명령어를 만들 수 있게 될 것이다. 더 나아가 자신만의 스타일로 문서를 만들 수 있도록 클래스 파일을 만드는 법도 익히게 될 것이다. 7.1 명령어의 정의 앞에서 명령어는 명령(command)과 환경(environment) 두 종류로 구성된다고 했다. 따라서 새로운 명령어를 만들거나, 기존의 명령어를 수정하는 명령어도 명령과 환경 각각 따로 존재한다. \newcommand{명령 이름}[정수][표준값]{정의} \renewcommand{명령 이름}[정수][표준값]{정의} 위 명령어를 어떻게 활용할 수 있을까? 다음의 예제를 보자. \newcommand{\ex}[2][미래]{나는 #1#2에 간다.}... \begin{document} \ex{대학} \ex{출판} \ex[]{대학} \ex[고대]{출판} \end{document} 우리는 방금 \ex라는 명령을 만들었으며, 이 명령은 정의, 나는 (표준값)(사용자 입력 값)에 간다. 에 맞추어 표준값( 미래 )과 사용자가 입력한 값( 대학, 출판 ), 즉 두 개의 값을 자동입력할 것이다. 위 명령어를 실행하여 결과를 확인해보자. 명령어를 새로 만 드는 경우 다른 명령어를 조합하거나, 동일한 작업을 반복하여 실행할 때 편리하다. 59
기존의 명령을 바꾸는 경우도 생각해볼 수 있다. 다음은 한글문서를 작성할 때, 기 본값으로서 장과 별도로 절 번호가 매겨지는 것(제 5 장 제 1절)을, 자신의 구미에 맞게 장 번호와 절 번호가 동시에 매겨지도록(제 5 장 5.1) 기존의 명령을 수정하는 방법이다. \renewcommand\thesection{\thechapter.\arabic{section}} 개조식 문서의 나열 기호를 수정할 수도 있다. \renewcommand*{\labelitemi}{\ding{43}}... \begin{itemize} \item 동물 \item 식물 \item 야채 \end{itemize} 새로운 환경을 만들거나 기존의 환경을 바꾸는 것도 비슷하다. \newenvironment{환경 이름}[정수][표준]{시작}{끝} \renewenvironment{환경 이름}[정수][표준]{시작}{끝} 여기서 시작과 끝은 \begin{환경 이름}이후 지정되는 시작 부분과 \end{환경 이 름} 이후 지정되는 끝 부분의 명령어를 입력하는 곳이다. 다음의 예제는 ex라는 환경을 새로 만드는 것이다. 이 환경의 적용을 받는 부분은 연습문제 라는 제목과 이탤릭체의 본문으로 나타날 것이다. \newenvironment{exercise}{\textbf{연습문제}\begin{itshape}}{\end{itshape}} 지금까지 배운 것을 기본으로, 구체적으로 문서의 스타일을 어떻게 변화시킬 수 있는 지 몇 가지 예제를 보자. 7.1.1 대상 이름 바꾸기 이 소절에서는 한글 문서의 기본으로 설정된 장, 절, 차례 등의 이름을 어떻게 마당, 작은마당, 목차 등으로 바꿀 것인지 배울 것이다. 60