2.9 File/Versions 파일 / 버전관리 Edit 메뉴 Edit/Autotext 편집 / 자동완성

Similar documents
TeX

2.8 File/Print File/Versions Edit 메뉴

2.9 File/Versions Edit 메뉴 Edit/Autotext

워드프로세서사용자를위한라텍

워드프로세서사용자를위한라텍

워드프로세서사용자를위한라텍

28 THE ASIAN JOURNAL OF TEX [2] ko.tex [5]

2.9 File/Versions 버전관리 Edit 편집 메뉴 Edit/Autotext 자동완성

제 1 절 복습 \usepackage{ g r a p h i c x }... \ i n c l u d e g r a p h i c s [ width =0.9\ textwidth ] { b e a r. j p g } (a) includegraphics 사용의일반적인유형

현대적 레이텍 활용 Modern Coding Conventions

2 C freetype ttf2tfm 18 D ttf.sh 19 E FD 20

수식모드수식의표현법 수학식표현 조남운 조남운 수학식표현

I LATEX LATEX

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

이장에서다룰내용 테두리를제어하는스타일시트 외부여백 (Margin) 과내부여백 (Padding) 관련속성 위치관련속성 2

Microsoft PowerPoint - lect13-LaTeX사용법.ppt

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

C# Programming Guide - Types

PowerPoint Presentation

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

untitled

Page 2 of 5 아니다 means to not be, and is therefore the opposite of 이다. While English simply turns words like to be or to exist negative by adding not,

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

강의 개요

PowerPoint Template

HL A T E X PDF

step 1-1


Week3

PowerPoint 프레젠테이션

Page 2 of 6 Here are the rules for conjugating Whether (or not) and If when using a Descriptive Verb. The only difference here from Action Verbs is wh

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

Microsoft PowerPoint - chap03-변수와데이터형.pptx

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

The Asian Journal of TEX, Volume 1, No. 1, April 2007 Article revision 2007/03/02 KTS THE KOREAN TEX SOCIETY SINCE 2007 LATEX Dissection of LATEX Macr

Columns 8 through while expression {commands} 예제 1.2 (While 반복문의이용 ) >> num=0

USER GUIDE

112초등정답3-수학(01~16)ok

SIGIL 완벽입문

Eclipse 와 Firefox 를이용한 Javascript 개발 발표자 : 문경대 11 년 10 월 26 일수요일

MySQL-.. 1

LaTeX입문 - Day 1

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Stage 2 First Phonics

PowerPoint 프레젠테이션

Orcad Capture 9.x

윈도우시스템프로그래밍

EndNote X2 초급 분당차병원도서실사서최근영 ( )

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

Microsoft PowerPoint - Zebra ZPL 한글판 명령어 메뉴얼.ppt

경우 1) 80GB( 원본 ) => 2TB( 복사본 ), 원본 80GB 는 MBR 로디스크초기화하고 NTFS 로포맷한경우 복사본 HDD 도 MBR 로디스크초기화되고 80GB 만큼포맷되고나머지영역 (80GB~ 나머지부분 ) 은할당되지않음 으로나온다. A. Window P

농심-내지

Chapter 1

B _00_Ko_p1-p51.indd

chap 5: Trees

커알못의 커널 탐방기 이 세상의 모든 커알못을 위해서

LaTeX. [width=1em]Rlogo.jpg Sublime Text. ..

Microsoft PowerPoint - 26.pptx

DocsPin_Korean.pages

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

하나님의 선한 손의 도우심 이세상에서 가장 큰 축복은 하나님이 나와 함께 하시는 것입니다. 그 이 유는 하나님이 모든 축복의 근원이시기 때문입니다. 에스라서에 보면 하나님의 선한 손의 도우심이 함께 했던 사람의 이야기 가 나와 있는데 에스라 7장은 거듭해서 그 비결을

Network Security - Wired Sniffing 실습 ICNS Lab. Kyung Hee University

쉽게 풀어쓴 C 프로그래밍

자연언어처리

MAX+plus II Getting Started - 무작정따라하기

로거 자료실

PowerPoint 프레젠테이션

Windows 8에서 BioStar 1 설치하기

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

0. 들어가기 전

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

2007 학년도 하반기 졸업작품 아무도 모른다 (Nobody Knows) 얄리, 보마빼 (AIi, Bomaye) 외계인간 ( 外 界 人 間 ) 한국예술종합학교 연극원 극작과 예술전문사 안 재 승

PowerPoint 프레젠테이션

슬라이드 제목 없음

adfasdfasfdasfasfadf

H3050(aap)

RVC Robot Vaccum Cleaner

기존에 Windchill Program 이 설치된 Home Directory 를 선택해준다. 프로그램설치후설치내역을확인해보면 Adobe Acrobat 6.0 Support 내역을확인할수 있다.

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

Studuino소프트웨어 설치

DCR-HC15

MF3010 MF Driver Installation Guide

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A

DE1-SoC Board

Microsoft PowerPoint - 기계공학실험1-1MATLAB_개요2D.pptx

Microsoft Word - windows server 2003 수동설치_non pro support_.doc

해양모델링 2장5~ :26 AM 페이지6 6 오픈소스 소프트웨어를 이용한 해양 모델링 물리적 해석 식 (2.1)의 좌변은 어떤 물질의 단위 시간당 변화율을 나타내며, 우변은 그 양을 나타낸 다. k 5 0이면 C는 처음 값 그대로 농

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600

Microsoft PowerPoint - u4.pptx

View Licenses and Services (customer)

PowerSHAPE 따라하기 Calculate 버튼을 클릭한다. Close 버튼을 눌러 미러 릴리프 페이지를 닫는다. D 화면을 보기 위하여 F 키를 누른다. - 모델이 다음과 같이 보이게 될 것이다. 열매 만들기 Shape Editor를 이용하여 열매를 만들어 보도록

ISP and CodeVisionAVR C Compiler.hwp

Solaris Express Developer Edition

BMP 파일 처리

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx

CD-RW_Advanced.PDF

Microsoft PowerPoint - chap01-C언어개요.pptx

MVVM 패턴의 이해

2 2010년 1월 15일 경상북도 직업 스쿨 운영 자격 취득 위한 맞춤형 교육 시 10곳 100명에 교육 기회 제공 본인에게 적합한 직종 스스로 선택 1인당 최고 100만원까지 교육비 지원 경상북도는 결혼이주여성 100명에게 맞춤형 취업교 육을 제공하는 결혼이민자 직

Transcription:

워드프로세서사용자를위한 L A TEX version 1.0.7 Guido Gonzato, Ph.D. guido.gonzato@univr.it Università di Verona (Italy) Direzione Informatica 김강수 ( 옮김 ) 2010년 9월 18일 요약 L A TEX 텍스트처리는워드프로세서를사용하는것에비해상당한장점이있다. 그러나초보자들은그일을어떻게해야하는지, 필요한특정기능을어디서찾아야하는지알아내기가어렵다. 이안내서는워드프로세서와 L A TEX 조판을비교함으로써워드프로세서에서 L A TEX 으로이행하는것을도와주려한다. 주요워드프로세서기능을열거하고각각이 L A TEX 에서어떻게실현되는가를보여준다. 많은예를첨부하였다. 역자는이문서에두가지로개입하였다. 본문을충실히번역하는이외에역자의의견을방주형태로추가하였다. 그리고일부소절이나단락을추가한것도있다. 원칙적으로원문은손상하지않았으며교정하거나코멘트할것이있으면모두위와같은형식에의해서했다. 본문에추가한단락과소절은그사실을방주에서밝혔다. 차례 1 서론.................................................. 1 1.1 기본사항............................................ 1 1.2 명심할사항........................................... 4 2 File 메뉴................................................ 4 2.1 File/New 파일 / 새문서..................................... 5 2.2 File/Save As 파일 / 다른이름으로저장........................... 5 2.3 File/Save As Template 파일 / 본보기문서로저장....................... 6 2.4 File/Import 파일 / 불러오기................................... 6 2.5 File/Page Setup 파일 / 페이지설정.............................. 6 2.6 File/Printer Setup 파일 / 프린터설정............................. 8 2.7 File/Print Preview 파일 / 인쇄미리보기............................ 8 2.8 File/Print 파일 / 인쇄...................................... 8 i

2.9 File/Versions 파일 / 버전관리.................................. 8 3 Edit 메뉴............................................... 9 3.1 Edit/Autotext 편집 / 자동완성................................. 9 4 Insert 메뉴............................................... 9 4.1 Insert/Breaks 삽입 / 나누기................................... 9 4.2 Insert/Enumerated List 삽입 / 문단머리표........................... 10 4.3 Insert/Special Character 삽입 / 특수문자............................ 11 4.4 Insert/Formula 삽입 / 수식................................... 13 4.5 Insert/Footnote 삽입 / 각주................................... 13 4.6 Insert/Indices 삽입 / 목차.................................... 15 4.7 Insert/Vertical and Horizontal Space 삽입 / 수직수평간격.................. 15 4.8 Insert/Tabs 삽입 / 탭...................................... 15 4.9 Insert/Cross Reference 삽입 / 교차참조............................. 16 4.10 Insert/Margin Notes 삽입 / 방주................................ 16 4.11 Insert/Frame 삽입 / 프레임................................... 16 4.12 Insert/Figure 삽입 / 그림.................................... 17 4.13 Insert/Shapes 삽입 / 그림마당................................. 19 4.14 Insert/Line 삽입 / 선....................................... 20 4.15 Insert/Hyperlink 삽입 / 하이퍼링크............................... 21 4.16 Insert/Comment 삽입 / 주석문................................. 21 5 Format 메뉴.............................................. 22 5.1 Format/Line Spacing 모양 / 줄간격............................... 22 5.2 Format/Character 모양 / 글자.................................. 22 5.3 Format/Paragraph 모양 / 문단................................. 26 5.4 Format/Paragraph Border and Shade 모양 / 문단테두리와음영............... 29 5.5 Format/Colour 모양 / 색상................................... 30 5.6 Format/Columns 모양 / 다단.................................. 30 6 Table 메뉴............................................... 30 6.1 표의행간격........................................... 32 6.2 괘선두께............................................ 32 6.3 숫자정렬............................................ 33 6.4 slashbox 패키지......................................... 34 6.5 LATEX 테이블로데이터가져오기................................ 34 6.6 그밖에재미난것........................................ 35 7 Tools 메뉴............................................... 36 7.1 Tools/Mail Merges 도구 / 메일머지............................... 36 7.2 Tools/Labels 도구 / 이름표만들기............................... 36 7.3 Tools/Default Language 도구 / 언어설정........................... 37 7.4 Tools/Hyphenation 도구 / 하이픈설정............................. 38 7.5 Tools/Spell Check 도구 / 철자검사............................... 39 8 Help 메뉴............................................... 39 9 마지막으로.............................................. 39 ii

A 문서본보기.............................................. 40 표차례 1 Emacs, Vim, Jed의유용한단축키................................ 3 2 몇가지특수문자를입력하는방법................................. 12 3 글꼴속성.............................................. 23 4 폰트사이즈............................................. 23 5 일반적인폰트패밀리........................................ 25 6 표준적인 LATEX 환경........................................ 27 7 A sample table........................................... 31 그림차례 1 A smiley representing the author of this guide......................... 17 2 A Gnuplot graph.......................................... 17 3 Xfig로만든드로잉......................................... 19 A.1 Book template........................................... 40 A.2 Report template.......................................... 40 A.3 Letter template........................................... 41 A.4 How to write a notice....................................... 41 A.5 How to write a poster....................................... 42 A.6 한글문서샘플........................................... 43 iii

서론 1 1 서론 시작하기전에이안내서가 L A TEX 입문서가아니라는점을말해두고자한다. 이문서를읽고있다는것은적어도 L A TEX 이무엇인지, 기본명령은어떤것이있는지를알고있다는뜻이다. 이안내서에서내가설명하려하는것은 L A TEX 을사용함으로써어떻게워드프로세서를효과적으로대체할수있는가하는것이다. 워드프로세서는오늘날사무자동화에서 킬러프로그램 이다. 익숙한 WYSIWYG 인터페이스를가지고있기때문에 L A TEX 에비해더쉬운것으로여겨진다. 평균적인사무보조원은꽤짧은시간에그사용법을익힌다. 문제는이물건이날이갈수록느려지고비대해지고 * 버그투성이가되고심심하면죽고비싸고바이러스에감염되고서로간에호환불가능하게되어간다는것이다. 그기본출력품질에대해서는말하지않겠다. L A TEX 은훌륭한대인이다. 그렇지만당신이작성하려하는것이즉흥적이고비구조적인문서라면무슨방법이있는걸까. 요약하면이따금워드프로세서와같은기능을쓰고싶은데그걸 L A TEX 으로하고싶을때가있다. 한때좋아했던 :-) 워드프로세서로했던작업을 L A TEX 으로어떻게하면되는지알수있다면좋을것이다. 이것이내가이짧은안내서를쓰게된동기이다. 이미말한대로나는 L A TEX 의기본을알고있는사람을전제로하고있다. 만약당신이진정한초심자라면 http://www.ctan. org/starter.html로가서 The (Not So) Short Introduction to L A TEX 2ε 를읽어볼것을권한다. 그외의좋은처음시작문서로 http://en.wikibooks.org/wiki/latex/ 이있다. 이어지는절에서어떤가상의워드프로세서를상정하고그메뉴와메뉴항목을살펴보면서각각에대응하는 L A TEX 방식을찾아보겠다. 자신이 L A TEX 순수주의자라서이런식의접근이지겹게느껴진다면 맘상하지말고여기서접어라. 한국어번역본 그다지짧지않은 LATEX 2ε 를읽으시라. 1.1 기본사항 워드프로세서의기능가운데많은부분은에디터의몫이다. 그밖에 L A TEX 명령에의해 구현되는것이있고패키지 (packages) 에의해이루어지는것이있다. 패키지란 L A TEX 을 확장하여새로운명령과환경을제공하는매크로모음이다. 수많은패키지가존재하는데 유일한문제는그게어디에있는지, 무슨일을하는지, 그리고사용하려면어떤절차를 거쳐야하는지를알아야한다는것이다. 패키지에대해서는 1.1 절에서더다룬다. 패키지를포함하여그밖의 TEX 에관련된자료들은 CTAN(the Comprehensive TeX Archive Network) 을구성하는여러사이트를통해이용할수있다. http://www.ctan. org 사이트를이미소개했다. 이사이트는여러곳의미러사이트를가지고있다. 이제부터 CTAN: 이라하면 자신이선호하는 CTAN 미러사이트의 TEX 디렉터리 를가리키는것 으로하겠다. 예를들면자신의플랫폼에적합한 L A TEX 을얻기위해서는 CTAN://systems \usepackage 명령으로쓸수있는것을보통 패키지 라한다. 이것은스타일파일 (.sty) 과설정파일및사용법문서로이루어져있다. ( 여기서는 http://www.tex.ac.uk/tex-archive/systems/) 를접속하면된다. KTUG 에서도 CTAN 을미러링한다. 문서작성을위해서는좋은텍스트에디터가필요하다. 초심자에게더좋은것은 L A TEX * 옛날에나는나의학위논문을 128k 램을가진 Z80 가정용컴퓨터에서작성했다. WordStar 워드프로세서와나의논문이단면 CP/M 부팅가능 720k 플로피디스크한장에다들어가고도남는공간이많았다.

2 그림차례 shell, 즉소스를작성하고미리보기를할수있는등 L A TEX 에필요한기능을갖춘에디터이다. 아래에나열된프로그램은추천할만한것이다. 이모두가 Free/Open Source 소프트웨어들이다. Texmaker (multiplatform): http://www.xm1math.net/texmaker/index.html TeXworks (multiplatform): http://tug.org/texworks/ LyX, an almost-wysiwyg L A TEX editor (multiplatform): http://www.lyx.org/ TeXShop (Mac OS X): http://www.uoregon.edu/~koch/texshop/ TeXnicCenter (Windows): http://www.texniccenter.org/ Windows 를위한 L A TEX 용편집기의완전한목록은 http://home.arcor.de/itsfd/ texwin 에서찾을수있다. 매킨토시상의 L A TEX 에관한정보를얻으려면 http://www. esm.psu.edu/mac-tex/ 을참고하라. 에디터가지원하는기능 L A TEX 은조판기일뿐이다. 잘라붙이기, 찾기와바꾸기등은에디터에게맡겨진다. 표 1은 geek들에게유명한편집기인 GNU emacs와 vim의기본키바인딩과 Borland IDE 키바인딩을적용한 jed의주요명령을요약한것이다. 패키지추가 아래의사항은 TeX Live 에적용된다. TeX Live 는대부분의 GNU/Linux 배포판에포함 되어있다. MacTeX 에도적용될것이지만내가직접경험해보지는못했다. MiKTEX( 아마 가장유명한 Windows 텍시스템 ) 을위한안내는그뒤에이어진다. 방대한분량의 L A TEX 패키지들이기본으로지원된다. 예를들면 Ubuntu 는많은 texlive-* Ubuntu는한글 LATEX 패키지패키지를제공한다. 만약지원되지않는패키지를사용해야한다면아래와같이하라. ko.tex 도지원한다. 대부분의필요한패키지는 TeX Live 자체가지원하는것으로충분하다. 1. 다음과같은디렉터리구조를만든다. $ mkdir -p ~/texmf/tex/latex 이디렉터리아래새로운패키지를인스톨한다. 2. 가까운 CTAN 미러사이트에서패키지를 ( 대부분 zip- 압축디렉터리이다 ) 내려받 는다. 예컨대 foo.zip 이라하자.

서론 3 Action Emacs Vim Jed command mode Alt -X Esc Alt -X insert mode n/a i a o O n/a line editor mode n/a : n/a 파일조작 file operations open file Ctrl -X Ctrl -F :e Ctrl -KE insert file Ctrl -Xi :r Ctrl -KR save file Ctrl -X Ctrl -S :w Ctrl -KD save as Ctrl -X Ctrl -W name :w name Ctrl -KS close file Ctrl -XK :q Ctrl -KQ change buffer Ctrl -XB bn Ctrl -KN undo Ctrl -XU u Ctrl -U redo Ctrl - Ctrl -R Ctrl -G Ctrl -U exit Ctrl -X Ctrl -C :qa! Ctrl -KX 이동 moving around word left Alt -B b Ctrl -A word right Alt -F w Ctrl -F start of line Ctrl -A 0 Ctrl -QS end of line Ctrl -E $ Ctrl -QD page up Alt -V Ctrl -U Ctrl -R page down Ctrl -V Ctrl -D Ctrl -C start of buffer Alt -< 1G Ctrl -QR end of buffer Alt -> G Ctrl -QC line n. Alt -G n. n.g Ctrl -QI 삭제 deleting character left Ctrl -H X BS character right Ctrl -D x Alt -G word left Alt -DEL db Alt -BS word right Alt -D dw Ctrl -T end of line Ctrl -K d$ Ctrl -QY line Ctrl -A Ctrl -K dd Ctrl -Y 찾기와바꾸기 search & replace search Ctrl -S text /text Ctrl -QS replace Alt -% :s/old/new/g Ctrl -QA 선택영역 blocks start selection Ctrl - v Ctrl -KB cut Ctrl -W D Ctrl -KY copy Alt -W Y Ctrl -KH paste Ctrl -Y P Ctrl -KC 표 1: Emacs, Vim, Jed 의유용한단축키

4 그림차례 3. 적당한곳에압축을푼다. $ mkdir ~/texmf/tex/latex/foo $ mv foo.zip ~/texmf/tex/latex/foo $ cd ~/texmf/tex/latex/foo ; unzip foo.zip 4. 만약.sty 파일이없으면 latex foo.ins 또는 latex foo.dtx 를실행하여만들 어내게한다. 5. texhash /texmf 명령을실행한다. 이지침은 MiKTeX 2.4 이전버전에해당하는것같다. 현재버전에서는위치가조금다르다. 사용자패키지를 MiKTeX 2.8 또는 2.9 에서설치하기위해서는두가지방법이있는데하나는 %APPDATA% 또는 %PROGRAMDATA% 아래설치된사용자용 texmf 트리를이용하는것이고다른하나는이전과비슷하게 localtexmf 를추가하는것이다. 다만두번째경우반드시사용자가 TeX roots 를추가하는조작을해주어야한다. MiKTEX 에새로운패키지를추가하려면 \latex\newpackage를 C:\localtexmf\tex\ 아래만들고거기에필요한파일을가져다둔다. 앞서와같은과정을진행한다음 MiKTeX Options를실행하여 Refresh now 버튼을클릭한다. 또는 initexmf -u 명령을실행한다. 그것으로되었다. 일단패키지가설치되면 documentclass 선언이후에다음한줄추가하는것으로자신의문서에사용하게할수있다. \usepackage{foo} 1.2 명심할사항 시작하기전에, 다음사항을꼭기억하자. 1. 문서의구조화에익숙해져야한다. part, chapter, section와같은구조적요소에신경을쓰자. 학술문서를작성하는경우가아니라도이것은중요하다. 2. L A TEX 은확실히포매팅파라미터로문서를난잡하게만드는것을기피하게한다. 모양에너무신경쓰지말고내용에집중하라. 스스로확신을가지고위의황금률을적용해보라. 그러면인쇄된문서가신기하게도 professional하게보일것이다. 다시강조하거니와진정한 L A TEX 초심자가되어공부해볼것을권장한다. 이규칙은대부분의문서에적용된다. 그러나주로비구조적인문서 ( 회람, 쪽지등 ) 를작성해야하고그방법을꼭찾고싶다면, 이안내서를계속읽어보기로하자. 2 File 메뉴 이메뉴에속하는항목중많은것이자명하게 L A TEX 과는별상관이없다. File/Open, File/Save, File/Close 등은에디터에서해줄일들이다.

File 메뉴 5 2.1 File/New 파일 / 새문서 빈문서에해당하는 L A TEX 소스는다음과같다. \documentclass{article} \begin{document} % This is a comment. Write your stuff here. % 이것은주석문입니다. 내용을쓰세요. \end{document} L A TEX 으로쓰여진문서는본질적으로구조화되어있다. 좀더현실적인보기는다음과 같다. \documentclass[a4paper,12pt]{article} \begin{document} \title{my Document} \author{john Smith} \date{london, \today} \maketitle \begin{abstract} This is a very short article. \end{abstract} \tableofcontents \listoftables \listoffigures \section{first Section} \label{sec:start} This is the text of the section. See \cite{gonzato} for details. \section{end} \label{sec:end} This is the end of the document. Please go to Section \ref{sec:start} to read it again. \begin{thebibliography}{99} \bibitem{gonzato} Gonzato G. \textit{\latex{} for Word Processor Users}. CTAN, 2001. \end{thebibliography} \end{document} 더많은문서표본이부록 A 에있다. 한글문서표본도수록해두었다. 2.2 File/Save As 파일 / 다른이름으로저장 다음도구들은 L A TEX 을다른포맷으로변환할때유용하다. TEX4ht은아마도가장훌륭한 L A TEX HTML 변환기일것이다. http://www.cse.ohio-state.edu/~gurari/tex4ht/ latex2html, 또다른 HTML 변환기이다. http://saftsack.fs.uni-bayreuth.de/~latex2ht/, CTAN://support/latex2html latex2rtf, Rich Text Format으로변환기이다. CTAN://support/latex2rtf

6 그림차례 detex은명령행변환기인데모든 L A TEX 태그를제거하여플레인텍스트로만들어준다. http://www.cs.purdue.edu/homes/trinkle/detex/, CTAN://support/detex/ 그밖에 PDF 변환에관한자세한사항은 2.7 절을참고하라. 2.3 File/Save As Template 파일 / 본보기문서로저장 L A TEX 본보기문서 로저장한다는것은, 아마도새로운 L A TEX 패키지를만든다는것과같은말일지도모른다. 만약그렇다면그것은너무복잡한문제라서이가이드의범위를넘어선다. 2.4 File/Import 파일 / 불러오기 다음도구들은다른포맷으로부터 L A TEX 으로변환한다. sourceforge 에 rtf2latex2e 라는것이있는데사용언어에제한이있고한글은포함되어있지않다. rtf2latex: CTAN://support/rtf2latex html2latex: CTAN://support/html2latex wvware는 MS Word를 L A TEX 을포함하여여러포맷으로변환하는도구의모음이다. http://wvware.sourceforge.net Abiword는프리워드프로세서이다. http://www.abisource.com, MS Word 문서를불러올수있고 L A TEX 으로저장가능하다. txt2tex: CTAN://support/txt2tex 플레인텍스트파일을 L A TEX 으로변환하는데꽤좋은결과를보여준다. 그밖의 *2latex 컨버터를같은주소에서찾아볼수있다. OpenOffice 확장과관련해서 writer2latex 확장모듈이있다. http://writer2latex. sourceforge.net 또한가지재미있는것은 OOoLatex 이라는 OpenOffice 확장매크로이다. http:// ooolatex.sourceforge.net 2.5 File/Page Setup 파일 / 페이지설정 페이지크기, 방향, 여백을설정하는일반적인방법은 \documentclass의인자로이를지정하는것이다. 페이지크기는 a4paper, a5paper, b5paper, letterpaper, legalpaper, executivepaper 중에서고를수있고, 방향은 portrait가디폴트이며 landscape를사용할수있다. 예를들어보자. \documentclass[a5paper,landscape,12pt]{article} 문서전체에걸친여백설정은다음명령으로한다.

File 메뉴 7 \setlength{\leftmargin}{2cm} \setlength{\rightmargin}{2cm} \setlength{\oddsidemargin}{2cm} \setlength{\evensidemargin}{2cm} \setlength{\topmargin}{-1cm} \setlength{\textwidth}{18cm} \setlength{\textheight}{25cm} geometry 패키지는 paper size, margin width 등의파라미터를완전히제어하게해준다. geometry 는여기에모두열거하기에너무많은옵션이있으므로패키지문서를꼭읽어보 기바란다. 아래보인예는간단한사용법으로서이중몇가지파라미터는상충하는것도 있으며보기를보일목적으로지정된것일뿐이다. \usepackage{geometry} % top of document... \geometry{paperwidth=25cm} \geometry{paperheight=35cm} % or: \geometry{papersize={25cm,35cm}} \geometry{width=20cm} % total width \geometry{heigth=30cm} % total heigth % or: \geometry{total={20cm,30cm}} \geometry{textwidth=18cm} % width - marginpar \geometry{textheight=25cm} % heigth - header - footer % or: \geometry{body={18cm,25cm}} \geometry{left=3cm} % left margin \geometry{right=1.5cm} % right margin % or: \geometry{hmargin={3cm,2cm}} \geometry{top=2cm} % top margin \geometry{bottom=3cm} % bottom margin % or: \geometry{vmargin={2cm,3cm}} \geometry{marginparwidth=2cm} \geometry{head=1cm} % header space 선택사항은다음과같이지시할수도있다. \usepackage[left=3cm, right=2cm]{geometry} Page Setup/Headers and Footers 페이지설정 / 머리말과꼬리말 fancyhdr 패키지는 \pagestyle{fancy} 라는새로운명령을제공한다. 이것은현재섹션 memoir 또는 oblivoir 클래스는 fancyhdr와는다른방식으로페 ( 또는 book.cls에서는챕터 ) 과서브섹션으로헤더를만들고페이지번호를바닥에찍어이지스타일을설정한다. 훨씬직준다. 제법팬시하다. 머리말과꼬리말은당연히사용자가변경할수있다. 세부분으로관적이고강력한커스터마이징이가능하다. 자세한것은 memoir 이루어지는데, 각각왼쪽으로정렬되는부분, 가운데오는부분, 오른쪽으로정렬되는사용설명서를참고하라. 여기에주석을붙이는이유는 fancyhdr 부분이다. 이들을사용자가설정하려면다음보기와같이한다. 와일부상충하는경우가있으므로이를미리알려두고자함이다. \usepackage{fancyhdr} 즉, memoir에서는 fancyhdr를쓰지않는것이좋다.... \lhead{} % empty \chead{hello, world!} \rhead{page \thepage} % page number \lfoot{} \cfoot{\textbf{hello!}} \rfoot{}

8 그림차례 2.6 File/Printer Setup 파일 / 프린터설정 이것은운영체제의존적인문제로서 L A TEX 과는아무상관없는것이다. 만약 UNIX 계열의 시스템을사용한다면다음팁이도움이될것이다. lpr -P printername 특정트린터로프린트한다. lpr -# 10 10 장을인쇄한다. lpr -r 인쇄후에파일을삭제한다. 더많은팁에대해서아래를볼것. 2.7 File/Print Preview 파일 / 인쇄미리보기 L A TEX 입력파일이준비되었다면다음중에서선택할수있다..dvi로변환 (latex file.tex) 하여 xdvi나 yap과같은프리뷰어로미리보기할수있다..dvi를 dvips를통하여 POSTSCRIPT로변환한다. 그런다음에 Ghostview와같은프로그램으로미리보기한다. 실제.dvi 나.ps 파일출력은현재거의문제삼지않게되어간다. 예를들어차세대 TEX 엔진이라하는 LuaTEX 이나 XƎTEX 은.pdf 출력이기본이다. b dvipdf를이용하여.dvi를.pdf로변환하거나직접 pdflatex으로.pdf 파일을생성한다. 내생각에,.pdf 파일을만드는것이가장좋다. 활용가능성이가장폭넓기때문이다. dvipdf가.dvi를.ps를거쳐.pdf로만드는스크립트인데반해, pdflatex을사용하는것은더흥미롭다. 사실 hyperref이나 url과같은패키지들은.pdf 파일이브로우징가능하게만들어준다. 4.15절을보라. 그러나 pdflatex을사용하려면주의해야할점이좀있다. 다른패키지와의호환성문제를경험할수도있기때문이다. 자세한것은 4.12절을보라. 2.8 File/Print 파일 / 인쇄 (UNIX 계열운영체제에서 ) 간단히 lpr file.ps 를명령행에서주거나프리뷰어의 File/Print 메뉴항목을선택하면된다. 2.9 File/Versions 파일 / 버전관리 최근 SVN 이주목받고있다. version 패키지가 L A TEX 소스의버전관리를위한기본적인기능을제공하기는하지만 RCS (Revision Control System) 이나 CVS (Concurrent Version Control System) 와같은외부프로그램을사용하는것이낫다. 에디터와연동할수있으면더좋다. CVS와 RCS 에대한간단한소개로 http://www.faqs.org/docs/linux-howto/cvs-rcs-howto. html을찾아보기바란다.

Edit 메뉴 9 3 Edit 메뉴 이메뉴는 L A TEX 기능보다는에디터와더많이관계된다. 편집 / 잘라내기, 편집 / 복사하기, 편집 / 붙이기, 편집 / 찾기, 편집 / 바꾸기와같은에디터에공통되는항목들에대한단축키는표 1에서이미보였다. 텍스트일부를선택하는것은자르기, 붙이기를위해서이기도하지만선택된텍스트에특정스타일을적용하기위해서이기도하다. 이에대응하는 L A TEX 의작용은텍스트일부를중괄호나환경 (environment) 으로감싸는것이다. 예를들면텍스트일부에두꺼운글씨속성을부과하려면다음가운데한가지방식을쓰면된다. this is bold text; this is also bold text; this is bold text, too! this is \textbf{bold text;}\\ this is also {\bfseries bold text;}\\ \begin{bfseries} this is bold text, too! \end{bfseries} 3.1 Edit/Autotext 편집 / 자동완성 자동완성이란예를들어 PS 라고입력하면 PostScript 라고자동으로입력되는기능을 말한다. 이것도에디터의역할이지만대략여기에해당하는 L A TEX 기능이있다. \def\ps {\textsc{postscript}} 이렇게하면 \PS 라고입력하는곳마다 \textsc{postscript} 에해당하는 POSTSCRIPT 가찍힌다. 대소문자구별에주의하자. 4 Insert 메뉴 일반적으로 \def 보다 \newcommand 를쓰는것이더안전하다. 4.1 Insert/Breaks 삽입 / 나누기 행이잘라지지않는강제공백한칸은 ~(tilde) 로나타낸다. 행나눔을강제하려면 \linebreak 나 \newline 을쓴다. 이둘의차이는아래를보 라. \\ 도새줄을시작한다. \\[1cm] 와같이길이를지시하면문단사이의간격을원문에는 \\ 를새문단으로소개하고있는데, 이것은 \par와조절할수도있다. 같은것이아니라 \newline과같은것이다. 설명하는순서를 새문단은빈줄하나를넣고시작한다. \par 명령과같다. 조금바꾸었다. 끝으로강제페이지나누기는 \newpage 나 \clearpage 를쓴다. \linebreak 와 \newline 의차이는, 앞의것이행의나머지를다채우고다음행을시작 한다는것이다. 다음을보자. I am stretched! But I am not. Ok, now you get it. I am stretched!\linebreak But I am not.\newline Ok, now you get it.

10 그림차례 또한, \clearpage 는 \newpage 와마찬가지로새페이지를시작하지만그시점까지출 력되지않고대기중인 floats 들, 즉 figure 나 table 들을모두출력한다음에새페이지를 만든다는점이다르다. float 에대해서는 4.12 절에서설명한다. 4.2 Insert/Enumerated List 삽입 / 문단머리표 숫자나기호붙은리스트는 itemize 와 enumerate 환경에해당한다. 리스트환경에서 글머리에붙는기호를바꾸려면 \item 명령의인자로특정하면된다. * with an asterisk; - with a dash;. with a dot. \begin{itemize} \item[*] with an asterisk; \item[-] with a dash; \item[.] with a dot. \end{itemize} 다른방법은첫째수준에서넷째수준까지각수준의숫자에대응하는카운터스타일을재정의하는것이다. 숫자표현에몇가지스타일이있는데, \arabic은 보통 숫자이고 \roman은로마숫자소문자 ( 예를들면 8을 viii로표시 ), \Roman은로마숫자대문자, \alph와 \Alph는각각알파벳문자소문자와대문자이다. 숫자형식가운데 \fnsymbol 에대해서는나중에설명한다. * first level, item 1 * first level, item 2 - second level, item 1 - second level, item 2 * first level, item 3 \begin{itemize} \renewcommand{\labelitemi}{*} \renewcommand{\labelitemii}{-} \item first level, item 1 \item first level, item 2 \begin{itemize} \item second level, item 1 \item second level, item 2 \end{itemize} \item first level, item 3 \end{itemize} 말하자면, 숫자붙인문단의숫자를로마숫자와알파벳대문자로하려면다음과같이한다. A first level, item 1 B first level, item 2 i second level, item 1 ii second level, item 2 C first level, item 3 \begin{enumerate} \renewcommand{\labelenumi} {\Alph{enumi}} \renewcommand{\labelenumii} {\roman{enumii}} \item first level, item 1 \item first level, item 2 \begin{enumerate} \item second level, item 1 \item second level, item 2 \end{enumerate} \item first level, item 3 \end{enumerate} 또다른방법으로 enumerate 패키지를사용할수있다. 이패키지는 enumerate 환경을재 정의하여옵션인자로주어진형식을쓰게한다. A a I i 1 가운데한글자가오면그것을 각각 \labelitemi, \labelitemii, \labelitemiii, \labelitemiv 라는매크로이름을갖는다.

Insert 메뉴 11 카운터값에각각 \Alph, \alph, \Roman, \roman, \arabic 이주어진것으로대치한다. 그밖의글자로이루어진텍스트를글머리에쓰려면중괄호로해당텍스트를묶어주면 된다. example I. First example. example II. Second example. example III. Last example. Go to Item I. \begin{enumerate}[{example} I.] \item First example.\label{item:first} \item Second example. \item Last example. Go to Item~\ref{item:first}. \end{enumerate} 문단속에포함된리스트를쓰려면 paralist 패키지를이용한다. inparaenum 환경을쓸수 있다. I ll throw in a list of items: 1. apples, 2. pears, and 3. oranges. The same list can be labelled with letters: a) apples, b) pears, and c) oranges. The first item is a. ko.tex 에는 enumerate에해당하는 dhucs-enumerate, paralist에 I'll throw in a list of 해당하는 dhucs-paralist 패키지 items: 를제공하고있으며이패키지들은한글식의문단머리를지정할 \begin{inparaenum} 수있게하고있다. 또한 oblivoir \item apples, 를위해서 xob-paralist가별도로있고 dhucs-enumerate는 oblivoir \item pears, and 에기본적으로포함되어있다. \item oranges. memoir가 enumerate 패키지를 \end{inparaenum} 이미포함하고있는것과같다. 여기에추가된글머리표지는가, The same list can be 1, ⑴,, a, ⅰ, Ⅰ, ㄱ, ᄀ, 가, labelled with letters:, 의열두개이다. \begin{inparaenum} [\itshape a) \upshape] \item apples, \label{first} \item pears, and \item oranges. The first item is \ref{first}. \end{inparaenum} 이상에서본대로, A a I i 1 문자는카운터를수식하기위해사용된다. paralist 는더 많은일을할수있다. 해당패키지문서를읽어볼것을권장한다. 한글식 paralist 가어떻게구현되는지를여기서잠깐보고가기로하자. 이것은 xobparalist 패키지로한것이다. 문단안에서항목을나열하고자한다. ㄱ ) 사과, ㄴ ) 배, 그리고ㄷ ) 복숭아. 다른방식의라벨을달아본다. 1 사과, 2 배, 그리고 3 복숭아. 첫번째아이템을참조하면, ㄱ. 문단안에서항목을나열하고자한다. \begin{inparaenum}[ ㄱ )] \item 사과, \label{firstk} \item 배, 그리고 \item 복숭아. \end{inparaenum} 다른방식의라벨을달아본다. \begin{inparaenum}[1] \item 사과, \item 배, 그리고 \item 복숭아. 첫번째아이템을참조하면, \ref{firstk}. \end{inparaenum} 4.3 Insert/Special Character 삽입 / 특수문자 무엇보다도, 몇가지문자들은 L A TEX 에서특별한의미를갖는다는것을기억하자. 이 글자들을문장에나오게하려면 \ 를앞에붙이거나수학모드에서쓰거나하는등특별한

12 그림차례 Character L A TEX Sequence $ \$ or \textdollar & \& % \% _ \_ or \textunderscore { \{ or \textbraceleft } \} or \textbraceright < $<$ or \textless > $>$ or \textgreater \ \textbackslash \textbar \textbullet \textdaggerdbl \textdagger \textparagraph \textsection \textcopyright ^ \textasciicircum ~ \textasciitilde or \~{} $\sim$ \textregistered \texttrademark ª \textordfeminine º \textordmasculine 표 2: 몇가지특수문자를입력하는방법 방법으로입력하여야한다. 표 2 를보라. ASCII 코드가아니라유니코드를사용하는 XƎTEX 과같은엔진에서는이방법이뜻대로되지않을수있다. 대체로위험하므로이런방법은되도록쓰지않는것이좋다. one two three 특수문자를입력하는또다른방법은해당 ASCII 코드를 \char 명령으로주는것이다. 예를들면 $ & ^ ~ 을얻으려면 \char36 \char38 \char94 \126 이라고입력한다. 특별한글자와심볼을많이제공하는패키지가있다. 예를들면 pifont 는 \ding, \dingfill, \dingline, \dinglist 와같은명령을제공한다. 첫번째의 \ding 명령은특정코드에해 당하는딩뱃문자를찍어준다. 다른명령들은각각 \fill, \line, \list 명령과환경에 해당하는것으로특정딩뱃코드를인자로주도록되어있다. \begin{dinglist}{43} \item one \item two \item three \end{dinglist} 다음보기는좀더그럴싸하다. 1 one 2 two 3 three \begin{dingautolist}{172} \item one \item two \item three \end{dingautolist} 심볼문자는여기서언급하기에너무그수가많아서차라리 The Comprehensive L A TEX Symbol List 라는문서를읽어보는편이낫다. CTAN://info/symbols/comprehensive

Insert 메뉴 13 에서찾을수있다. 유로화기호 (AC) 대부분의 TEX 배포판에서 texdoc 을이용하여 texdoc symbols 라고명령행에서치면바로읽을수있다. 공식유로화기호는 eurosym 패키지가제공한다. 이것은다음두가지방법으로사용가 능하다. \usepackage[gen]{eurosym} \usepackage[official]{eurosym} 둘다 \euro 명령을제공하며결과는 AC 로나타난다. 이기호가실제찍히는모양은 [gen] 옵션을주느냐 [official] 옵션을주느냐에달려있는데, [gen] 의경우는 AC 로찍히고 [official] 의경우는 e로찍힌다. 차이점을눈여겨보라. 두번째것은 \officialeuro 명령으로도얻을수있다. marvosym 패키지도유로기호를제공한다. 이패키지는이외에도꽤많은멋진기호문자를포함하고있다. 이패키지를쓸때유로화기호는 \EUR 명령으로 AC 과같은결과를얻는다. 4.4 Insert/Formula 삽입 / 수식 L A TEX 은특히수식조판에강하다. 수학기호를텍스트속에넣으려면그것을 $ 로감싸주 어야한다. I like math: x n + y n z n my favourite theorem. n 2 is I like math: $x^n + y^n \neq z^n\quad \forall n \neq 2$ is my favourite theorem. $ 는시작기호와끝기호가같아서흔히실수하게하는원인이된다. 이를피하고싶으면문장중수식을 \( 와 \) 로감싸주는편이낫다. displaymath 와 equation 은별행수식을식자한다. 뒤의것은나중에참조할수있도록 수식번호를붙여준다. Fermat s Last Theorem is defined as: x n + y n z n n 2 (1) Can you prove Eq. 1? 4.5 Insert/Footnote 삽입 / 각주 Fermat's Last Theorem is defined as: \begin{equation} x^n + y^n \neq z^n\quad \forall n \neq 2 \label{eq:fermat} \end{equation} Can you prove Eq.~\ref{eq:fermat}? \footnote[n]{footnotetext} 명령으로충분하다. 선택적인자인 [n] 은각주번호를 수정한다. \footnote 명령은단어뒤에이어붙는반점, 온점, 그밖의문장부호뒤에위치 해야한다. 숫자대신기호문자나임의의텍스트를각주표지로쓰고싶다면 \footnote 명령에관련 된카운터를재정의한다. displaymath 는 \[ 와 \] 로줄여쓸수있다. displaymath 나 equation 은그안에서줄나누기가안되는데이것은 AMS-math 를이용하여손쉽게구현할수있다. 수식입력에관한사항은별도의참고문헌을보아야한다. 특히 mathmode 라는문서가유명하다. 수학기호중에 이있다. 이것은 \sim 으로얻는데그모양이우리글의문장부호인 ( 물결표 ) 와비슷하게생겨서흔히대용하는경우가많으나, 엄연히다른부호이므로넘나들어써서는안된다.

14 그림차례 \renewcommand{\thefootnote}{read me!} This footnote\footnote {I mean this one.} says it all. This footnote read me! says it all. read me! I mean this one. 이런방식으로각주번호를로마숫자나멋진기호문자로바꿀수있다. \renewcommand{\thefootnote} {\Roman{footnote}} This\footnote{The first.} is the first footnote, and this\footnote{the second.} is the second. \renewcommand{\thefootnote} {\fnsymbol{footnote}} The end.\footnote[8]{at last!} This II is the first footnote, and this II is the second. The end. II The first. II The second. At last! \fnsymbol{footnote} 에주목하자. 이것은아홉개의기호문자를 1에서 9까지의각주번호카운터에할당한다. * ** 동일한각주에대해서여러번참조하려면각주숫자를하나하나써넣지말고다음과같이하라. This\footnote{the first.} \newcounter{\myfootnote} \setcounter{\myfootnote} {\value{footnote}} and that\footnote{the second.} are footnotes: please read note \footnotemark [\value{\myfootnote}] again. This 1 and this 2 are footnotes: please read note * again. 1 the first. 2 the second. 주의 : minipage 는그자체의각주번호카운터를별도로가진다. 각각 mpfootnote 와 각주에관한문제는제법복잡해서, 복잡한각주, 둘이상의번호체계를갖는복합각주, 각주안의 verbatim, 각주안의수식, parbox 안의각주, 페이지별각주번호등의문제를해결하는패키지들이많이있다. 이럴경우예를들면 footnote 나, footmisc 등의사용설명서를참고해야한다. 그러나 LATEX 에서각주문제는거의대부분이해결되어있으므로문제는어떤패키지를참고해야하느냐일뿐이다. 가장좋은방법은질문하는것이다. thempfootnote이다. 문서끝의각주 ( 미주 ) endnotes 패키지는모든각주를문서끝으로몰아준다. preamble에다음한줄을추가해야한다. \let\footnote=\endnote 그리고다음몇줄을문서의마지막에둔다. \newpage \begingroup \parindent 0pt \parskip 2ex \def\enotesize{\normalsize} \theendnotes \endgroup 이이외의다른명령도있다. endnotes.sty 소스파일을읽어보라.

Insert 메뉴 15 4.6 Insert/Indices 삽입 / 목차 차례, 표차례, 그림차례를생성하고넣는것은 L A TEX 에서아주간단한일이다. 다음몇 줄을첫번째 \section 이나 \chapter 보다이전에써주기만하면된다. \tableofcontents \listoffigures \listoftables 4.7 Insert/Vertical and Horizontal Space 삽입 / 수직수평간격이항목이존재하는워드프로세서는내가아는한없다. L A TEX 은이일을아주우아한방식으로처리한다. 그러나워드프로세서는여기에대응하는기능이없다. 공백채우기는텍스트를수직으로수평으로가운데두기위해사용한다. 워드프로세서에서는이것이매우어려운일이다. 여러번시행착오를거쳐야만겨우비슷하게된다. \null이나 ~ 를고정점으로사용하고그뒤에이어 \vfill이나 \hfill을다음보기와같이써보라. one four three two five one \hfill two\\ \vfill ~ \hfill three \hfill ~\\ \vfill four \hfill five \null 보통 L A TEX 은사용자가마음대로빈공간을넣는것을허락하지않는다. 소스에서스페이스를두번친다고해서출력물에서두칸의스페이스가나타나는것은아니다. 그러나문서가엉망이되어도상관없다면잘라지지않는공백기호 ~(tilde) 를두번써보라. 실제로출력에도두개의공백이찍힐것이다. 또, \hspace를다음과같이사용할수있다. This is a 2-cm-wide hole. This is a \hspace{2cm} 2-cm-wide hole. 4.8 Insert/Tabs 삽입 / 탭 tabbing 환경은 키의동작과거의비슷한기능을제공한다. 다음보기를보라. Zero One Two Three Zero One Three Zero Two Three Zero One Two new tab 1 new tab 2 new tab Zero One Two Three \begin{tabbing} % let's set the tab positions ~ \hspace{1cm} \= ~ \hspace{1.5cm} \= ~ \hspace{2.5cm} \= \kill % discard text Zero \> One \> Two \> Three \\ Zero \> One \> \> Three \+ \\ % go right Zero \> Two \> Three \- \\ % go left Zero \> One \> Two \\ \pushtabs % save tab positions new tab 1{\ldots} \= new tab 2 \\ new \> tab \\ \poptabs % restore tab positions Zero \> One \> Two \> Three \end{tabbing}

16 그림차례 tabbing 환경이일부불편한점이있는데비해최근 tabto 패키지는더편리하게 tab 을이용한정렬을할수있게해준다. 특히특별히특정환경으로둘러싸지않아도 tab 을쓸수있다는것이장점이다. 해당패키지의문서를참고하라. AMS-math 는수식번호를괄호로감싸주는 \eqref 라는명령을별도로제공한다. 또 tabular 와 table 환경을참고하라. 4.9 Insert/Cross Reference 삽입 / 교차참조 \label, \ref, \pageref 명령만있으면텍스트에레이블을달고그것에대해교차참조 할수있다. 레이블의표준포맷은 prefix:suffix 꼴인데, prefix 는 cha( 장 ), eq( 수식 ), fig( 그림 ), sec( 절 ), tab( 표 ) 와같은것이될수있다. 이와같이 prefix 를붙이는것은 소스를좀더알아보기쉽게만들려는것으로꼭이런형식이어야만하는것은아니다. 절번호, 표번호, 그림번호, 페이지번호등을참조하려면 \label 과 \ref 명령을다음 보기와같이사용한다. Example. This paragraph appears in Section 4.9 on page 16. \paragraph{example.} \label{par:example} This paragraph appears in Section~\ref{par:example} on page \pageref{par:example}. 물론사용자가 prefix 를마음대로정할수도있다. 다음과같은 enumerate 리스트를생 각해보자. 1. first step: skip to 3 2. another step (unreferenced) 3. end: go back to 1 \begin{enumerate} \item{first step: skip to \ref{item:end} \label{item:start}} \item{another step (unreferenced)} \item{end: go back to \ref{item:start} \label{item:end}} \end{enumerate} 4.10 Insert/Margin Notes 삽입 / 방주 정말쉽다. \marginpar{text}. 4.11 Insert/Frame 삽입 / 프레임 유명한레이아웃프로세서에서프레임이란페이지상에놓이는특정의구역을말한다. 이것은워드프로세서에는없는개념이다. LATEX 으로이와같은레이아웃프로세서의프레임을구현한예로는 flowfram 패키지가있다. 이것은이미텍스트의흐름을조판하는것이아니므로대부분의문서에서는볼수없는것이다. 한편, 프레임을단순히박스쳐진텍스트로부르는경우도있는데이것은 framed 나 boxedminipage, 또는 boites 패키지에의하여구현이가능하다. 특히 framed, boites 는페이지사이가나누어지는프레임쳐진문단을식자할수있게해주기도한다. 이에대해서는 5.4 절을참조. 포스터나광고판을조판한다고생각해보자. 특정텍스트나그림을페이지상의고정된 위치에갖다두어야할때가있다. 이럴경우 textpos 패키지를이용한다. 샘플이그림 A.5 에있다. ( 부록 A 를보라.) 더쉬운접근은 minipage 를사용하는것이다. miniature page 라는뜻이다. minipage 환경안에 는텍스트, 그림, 어떤것이라도올수있다. 나아가 boxedminipage 패키지가제공하는 boxedminipage 환경도있다. 이름그대로 minipage 에박스테두리 를그려준다. 이문단은다음과같이선언된것이다. \begin{boxedminipage}[c]{0.6\linewidth}... text... \end{boxedminipage}

Insert 메뉴 17 4.12 Insert/Figure 삽입 / 그림 (L A TEX 에서그림을포함하는문제에대한안내서로 Using Imported Graphics in L A TEX 2ε, a.k.a. epslatex.ps 가있다.) figure 라함은비단그림파일만을의미하는것이아니라텍스트, 표등 figure 환경안에 놓을수있는것은뭐든지상관없다. 다음보기를보자. 좀오래된안내서이고요즘사정과달리 eps 그림에대해집중적으로설명하고있지만훌륭한문서. \begin{figure}[htbp] % [htbp] specifies the % preferred placement: here, top, % bottom, or separate page. \begin{center} \texttt{=8-)} \end{center} \caption{a smiley representing the author of this guide.} \label{fig:mysmiley} \end{figure} =8-) 그림 1: A smiley representing the author of this guide. 그림들이 figure 관련코드를작성한바로그위치에정확하게나타난다는보장이없음에주의하자. 사실워드프로세서와 L A TEX 의가장중요한차이중하나가그림들이 b 고정된위치를갖지않는다는점이다. 그림은 L A TEX 이스스로결정하는최적의위치로 떠다닌다. 그러므로문장을쓸때는 아래그림 이나 위의그림 과같이써서는안되고 그림 ~\ref{fig:label} 과같이작성해야한다. 그림이어느위치에올지모르기때문 이다. 이런속성때문에그림이나표를떠다니는개체라고부른다. 특정의표나그림이정확하게 어떤위치에있어야할이유가꼭있다면, here 패키지를사용하라. 이패키지는위지지정 인자로 H 를제공한다. Encapsulated POSTSCRIPT (.eps) 포맷의그림이하나있다고하자. 이그림을 L A TEX 소스파일에삽입하려면 graphicx 패키지와그림 2 에보인것과같은명령을이용한다. \begin{figure} \begin{center} \fbox{\includegraphics [width=0.5\textwidth, angle=-90] {gnuplot}} \caption{a Gnuplot graph.} \label{fig:gnuplot} \end{center} \end{figure} 1 0.8 0.6 0.4 0.2 0-0.2-0.4-4 Z -3-2 -1 X 0 1 Gnuplot 3D graph 2 3 4-4 -3-2 sin(x*x + y*y)/(x*x + y*y) -1 0 1 그림 2: A Gnuplot graph. 2 3 Y 4 사실 LATEX 처음사용자가가장짜증스러워하는것이표나그림이 제위치 에오지않는다는것이다. 그러나다시생각해보면, 과연사용자가원하는그위치가반드시최적의위치일까? 그림이다음페이지로넘어가고앞페이지의아래쪽이휑하게비는것이꼭좋은위치인것일까? 이것은짜증을부릴일이아니라왜 LATEX 이표나그림을그런식으로처리하는지이해하는것이더낫지않을까싶다. 만약그래도표 / 그림의위치를 LATEX 에게맡기기싫다면, 그냥 float 환경안에넣지않으면된다. latex 과 dvips 로문서를조판할때는 EPS 파일만이동작한다. 반면 pdflatex 은 JPG, PNG, ( 당연히 ) PDF 파일을받아들인다. 일반그래픽포맷 (.jpg,.gif,.png 등 ) 을.eps 로변환하는패키지들이몇가지있다. 예 를들면 ImageMagick (http://www.imagemagick.org), GIMP (http://www.gimp. org) 등. 그러나이런응용프로그램들은엄청난크기의 POSTSCRIPT 파일을만들어낸다. TeX Live 2010 을기준으로 pdflatex 도 EPS 파일을손쉽게처리한다. 따라서 pdflatex 에서.eps 파일을다룰때의주의사항은이제해결된문제가되었다. 이것은 XƎTEX 도마찬가지다.

18 그림차례 현재, 그림포맷과관련해서는다음과같이알아두면된다. latex-dvips 를쓰는경우에만오직.eps 그림이필요하다. 그외의경우, PDFLATEX, XƎLATEX, latex-dvipdfmx 등,.png,.jpg,.pdf,.eps 어떤포맷이라도상관없다. 다만경우에따라 \usepackage{epstopdf} 를지정해주어야하는때는있다 (PDFLATEX). 제일좋은것은비트맵을내장하여컴팩트한 POSTSCRIPT 파일을만들어내는응용프로 그램을이용하는것이다. jpeg2ps (http://www.pdflib.com/jpeg2ps/index.html), bmeps (CTAN://support/bmeps) 와같은유틸리티가좋다. 앞의것은.jpg 파일을내장 하는데제일낫다고하고, 뒤의것은다양한그래픽포맷을지원한다. Z PDFLA TEX 을사용할때는그림을.pdf 로변환해야한다. 이를위해 epstopdf 프로그램을명령행에서쓰면되고이에맞추어소스를수정해야한다! 같은소스에서.pdf 와.ps 를모두만들려한다면다음과같은코드를포함하는방법이 있다. XƎTEX 과같은엔진을사용할때는소스가좀달라져야한다. 이샘플은 pdflatex 과 latex-dvips 두가지경우만을상정하고있다. \usepackage{ifpdf}... % include the right options \ifpdf \usepackage[pdftex]{graphicx} \pdfcompresslevel=9 \else \usepackage{graphicx} \fi... % include the right graphic file \ifpdf \includegraphics{file.pdf} \else \includegraphics{file.eps} \fi 한글문서를 XƎTEX 용으로작성하는경우의예를들어보자. \usepackage{iftex} \ifxetex \usepackage{graphicx} \else\ifpdftex \usepackage{graphicx} \usepackage{epstopdf} \else \usepackage[dvips]{graphicx} \fi\fi... \ifxetex \includegraphics{file} \else\ifpdftex \includegraphics{file} \else \includegraphics{file.eps} \fi\fi Z 18 개이상의플로트가처리되지않은상태로대기중이면 Too many unprocessed floats 라는에러를만나게된다. 이문제를해결하는가장빠른방법은 \clearpage 를서너개의그림사이에넣어주는것이다. 또는 morefloats 패키지를이용할수도있다.

Insert 메뉴 19 문단을파고드는그림잡지등의레이아웃에서볼수있는그림이텍스트문단을파고들어가는것은 wrapfig 패키지를이용한다. If you meet this guy, give him some money. If you meet this guy, give him some money. The reason may not be apparent to you, but I can assure that your money will end up in good hands. I say again, if you meet this guy, give him some money: he knows how to use it properly. OK? =8-) \begin{wrapfigure}[4]{l}[5pt]{2cm} {\Huge \texttt{=8-)} } \end{wrapfigure} The reason may not be apparent to you, but I can assure that your money will end up in good hands. I say again, if you meet this guy, give him some money: he knows how to use it properly. OK? 인자는좁아지는문단의행수, 그림의위치, 그림걸이길이 (overhang), 그림의폭 (width) 이다. 4.13 Insert/Shapes 삽입 / 그림마당 L A TEX 자체가 picture 환경을제공하고있다. \circle, \oval 등의명령을이용해서그림을그릴수있다. 내생각에그림그리기환경없이뭔가를그린다는것은너무어렵고 picture 환경은자체의한계를몇가지가지고있기도하다. 차라리 Xfig (http: //www.xfig.org) 와같은드로잉프로그램을이용하는것이훨씬낫다. 이프로그램은 UNIX에서만사용할수있고몇가지지적할만한훌륭한기능을가지고있다. 그림 3: Xfig 로만든드로잉

20 그림차례 Xfig는겉모양이별로다. 그러나매우강력하다. 멋진장점중의하나는여러포맷으로드로잉을내보내기할수있다는점이고그가운데는 L A TEX 이이해하는포맷이포함된다. 또다른장점으로 special flag 필드가세트되면텍스트오브젝트가 L A TEX 으로렌더링된다는것이다. 이것은드로잉안에일반적인 TEX 수식을넣을수있다는뜻이된다. 따라서, small.jpg라는드로잉 ( 그림 3) 을만들었다고해보자. pdflatex을사용할것이라면 File/Export 를열어서 Combined PDF/LaTeX (both parts) 항목을선택하자. 그러면 Xfig는두개의파일을만들어주는데, 하나는 small.pdf이고다른하나는 small.pdf_t이다. 문서에이드로잉을포함하려면다음과같이한다. \usepackage[pdftex]{graphicx}... Here's an Xfig drawing: \input{small.pdf_t} Here s an Xfig drawing: L A TEX e iπ = 1 플레인 latex 을사용할것이라면 File/Export 를열어서 Language 메뉴에서 LaTeX picture + eepic macros 를선택한다. 그러면 small.eepic 라는파일을얻을수있다. 문서에그림을포함하려할때 epic 과 eepic 패키지를사용해야한다. \usepackage{epic} \usepackage{eepic}... This is a picture drawn with Xfig:\\ \input{small.eepic} pgf 와 pgf 의인터페이스명령집합인 tikz 는 beamer 의기본드로잉도구이다. 또한 tikz 를이용한여러유틸리티들이개발되어있다. pstricks 는매우강력하지만현재그능력을충분히발휘하려면 latex-dvips 루트를거치지않으면안된다는점이한계로작용하고있다. 문서를풍부하게할드로잉도구가필요하다면먼저 pgf/tikz 를검토해보는것을추천한다. 주의할점이있다. epic와 eepic는 hyperref과충돌이있는것같다. hyperref이 \path 명령을재정의하기때문이다. pdflatex을써야할또하나의이유이다. 진짜멋진그림을그리고싶다면 pgf http://sourceforge.net/projects/pgf/ 패키지나 pstricks http://tug.org/pstricks/main.cgi를고려해보라. 이패키지들은 L A TEX 으로멋진 POSTSCRIPT 드로잉을그릴수있게해준다. 또다른괜찮은프로그램으로 epix http://mathcs.holycross.edu/~ahwang/current/epix.html라는것도있는데이것은 L A TEX 문서안에포함할학문적인플로트나그림을생성해주는데특화하고있다. 이밖에도많은도구가있다. 웹을 LaTeX vector graphics 로검색해보라. 4.14 Insert/Line 삽입 / 선 임의의길이와굵기로된선분을그리는명령은 \rule 이다. This is a page-wide rule: but this one is shorter and thicker: This is a page-wide rule:\\ \rule{\linewidth}{1pt} but this one is shorter and thicker:\\ \rule{2cm}{2mm}

Insert 메뉴 21 \dotfill 은점으로만들어진재미있는 선 을그어준다. 이것은서로연관된것들을이어 주는데가끔쓰인다. Total price...................... AC 10 Total price \dotfill \euro~10 4.15 Insert/Hyperlink 삽입 / 하이퍼링크 url 패키지는 URL 주소를쓰고하이프네이션을적용해준다. hyperref 패키지와함께사 용하면 dvipdf, pdflatex 을통해서하이퍼링크가동작하는.pdf 문서를만들수있다. 예를들면이문서는다음과같이선언하여만들어진것이다. \usepackage[colorlinks,urlcolor=blue,filecolor=magenta]{hyperref} %\usepackage{url} hyperref 패키지와 url 을별도로로드할필요는없다. hyperref 패키지가 url 의역할을모두한다. 예를하나들어보자. The CTAN main site is http://www. ctan.org, a.k.a CTAN://. Listen to this MIDI file. Click here to go back to the top. The \hypertarget{ctan}{ctan} main site is \url{http://www.ctan.org}, a.k.a \href{http://www.ctan.org}{ctan://}. Listen to \href{run:midifile.mid} {this MIDI file}. Click \hyperlink{ctan}{here} to go back to the top. \hypertarget 과 \hyperlink 명령은 HTML 에서와같은내부링크를만들어준다. \href 는 URL 이나외부파일에대한링크를만든다. run: 파라미터에주의하라. 이것은멀티 미디어플레이어, 오피스프로그램등과같은외부프로그램을실행시켜준다. 내가아는 한이기능은오직 Adobe Reader, Okular, Evince 에서만동작한다. Linux 나다른 UNIX 계열운영체제에서는외부파일이참조되었을때어떤 PDF 리더를 실행해야할지를지정해주어야한다. 자신의.mailcap 이나 /etc/mailcap 에다음내용을 써넣으면된다. audio/midi;/usr/bin/timidity %s audio/*; xmms %s video/*; xine -pfhq %s hyperref 의패키지문서를읽어보면더많은예와기능을알수있다. 4.16 Insert/Comment 삽입 / 주석문각행앞에 % 기호를붙이면그행은주석문이되어문서의출력에반영되지않는다. 여기에출력물에는보이지않는저자자신의메모나노트를기록할수있다. 또는 comment 패키지를통하여 comment 환경을쓰면문서의일부를무시하게만들수있다.

22 그림차례 5 Format 메뉴 일반적으로문서의주요포맷설정은 \documentclass의파라미터로지정한다. 기본글꼴크기 (10, 11, 12pt), 용지 (a4paper, a5paper, b5paper, letterpaper, legalpaper, executivepaper), 방향 (portrait, landscape) 등. \documentclass[a5paper,landscape,12pt]{article} 위의세가지이외의폰트크기를지정하는것도가능한데이에대해서는 5.2 절에서설명 한다. memoir 에는 setspace 의기능이그대로들어있으나명령과환경의첫글자가대문자로시작하는것이다르다. 예를들면 \Spacing. These two lines are crazily spaced! Much better, these lines have a pretty space. 5.1 Format/Line Spacing 모양 / 줄간격 setspace 패키지는 singlespace, onehalfspace, doublespace 환경을제공한다. 그리고 \spacing{amount} 명령 ( 환경 ) 은주어진크기만큼행간격을설정해준다. \begin{spacing}{2.5} These two lines \\ are crazily spaced! \end{spacing} \begin{spacing}{1} Much better, these lines\\ have a pretty space. \end{spacing} 한글문서는기본값이 1.333 전체문서의행간격을적용하려면 \linespread{factor} 명령을 preamble 에서사용한 다. 기본값은 factor = 1 로되어있다. 이값이커지면행간격도커진다. 1.6 이면대략 double line spacing 에해당한다. 5.2 Format/Character 모양 / 글자표준적인글자속성은표 3에열거하였다. 글자크기는표 4를보라. 이탤릭체와강조체사이의차이에주의하라. \emph 명령은이탤릭체안에서는 upright 체로변한다. For example, this portion of text is typeset in italics, and these words are emphasised in upright. \emph 명령은타이포그래피지정명령이아니라 강조 를의미하는논리적인명령임을알수있다. 또한아래첨자는수학모드안에서만동작한다는것도알아두자. 노멀텍스트에서첨자를사용하는트릭은다음과같다. this is subscript \textsuperscript 명령을통해서윗첨자는텍스트모드에서도쉽게식자할수있다. 다만 \textsubscript 명령은별도로정의된패키지가사용되어야하는데, memoir 클래스에는이명령이미리정의되어있다. 밑줄긋기 this is $_{\mbox{\footnotesize{subscript}}}$ 일반적으로밑줄긋기는사용하지않는다. 이것은옛날텔레타이프시대의유물로서보기 에좋지도않다. 정말로밑줄을긋지않으면안되는경우, 보통은 \underline 명령으로 처리할수있지만밑줄그어진단어단위가행자름이되지않는불편이있다. 이런문제를

Format 메뉴 23 Text attribute Environment form WBoth \textnormal textnormal main document font \textrm rmfamily roman \textit itshape italics \emph n/a emphasis \textmd mdseries medium weight (default) \textbf bfseries boldface \textup upshape upright (default) \textsl slshape slanted \textsf sffamily sans serif \textsc scshape SMALL CAPS \texttt ttfamily typewriter \underline underline underline \textsuperscript n/a this is superscript \mathrm n/a x n + y n z n n 2 \mathbf n/a x n + y n z n n 2 \mathsf n/a x n + y n z n n 2 \mathtt n/a x n + y n z n n 2 \mathit n/a x n + y n z n n 2 \mathnormal n/a x n + y n z n n 2 \mathcal n/a \ + \ \ \ 표 3: 글꼴속성 Font size WBoth tiny sample text scriptsize sample text footnotesize sample text small sample text normalsize sample text large sample text Large sample text LARGE huge Huge sample text sample text sample text 표 4: 폰트사이즈 해결하고몇가지더재미있는밑줄스타일을제공하는 ulem 패키지를사용할수있다. 이문서를 HLATEX 으로처음번역할때이 ulem 명령관련된부분다음보기를보자. 이잘되지않아서애를먹었다. 그래서 hulem을별도로만들어야했었다. 지금은너무나잘되기때문에격세지감을느끼지않을수없다. important urgent boat wrong /////////// removed \uline{important} \uuline{urgent} \uwave{boat} \sout{wrong} \xout{removed} 주의 : ulem 은 \emph 명령을재정의하여밑줄긋기로바꾼다. 이것을피하려면패키지를 다음과같이불러야한다. \usepackage[normalem]{ulem}

24 그림차례 Format/Character Size 모양 / 글자크기표준폰트사이즈로충분치않다면 extsizes가도움이된다. 표준문서클래스의글자크기옵션을 확장 하여 8 12, 14, 17, 20pt 옵션을추가해준다. 예를들어어떤글을본문 17포인트로조판하기를원한다고하자. preamble에다음과같이쓰면된다. \documentclass[17pt]{extarticle} 큰글자를얻는또다른방법은 type1cm 패키지를이용하는것이다. 다음과같은명령이 가능하다. \fontsize{72pt}{72pt}\selectfont No Smoking 1-cm tall ( 이샘플은너무커서이페이지에맞추기가어렵기때문에결과를보이지못한다.) 인자두개는각각폰트의사이즈와베이스라인스킵의크기이다. 또다른방법은다음과같은것이다. \resizebox{!}{1cm}{1-cm tall} 이부분은 XƎTEX 이등장하기전 legacy TEX 의폰트와 LATEX 2ε 의 NFSS 에대해서기술하고있다. XƎTEX 의등장으로사정이무척많이달라졌다. 이에대해서역자가말미에짧은한문단을추가한다. Format/Character Font 모양 / 폰트 L A TEX 은자체폰트를사용하는데필요하면자동으로 METAFONT 시스템에의하여생성한다. 이렇게하면이식성이보장되며매우좋은출력품질을얻을수있다. 그러나우리는 Times, Helvetica, Sans Serif 와같은다른폰트에익숙하다. 다행히 L A TEX 은 POSTSCRIPT 폰트를사용할수있다. 다음패키지들은익숙한 POSTSCRIPT 폰트를사용할수있게하는것들이다. avant, avangar, bookman, chancery, charter, courier, helvet, helvetic, ncntrsbk, newcent, palatcm, palatino, pifont, times, utopia, zapfchan. 문서에 \usepackage{times} 라고써넣고결과를살펴보라. 유일한주의사항은 L A TEX 이수식을다룰때 Computer Modern보다나은폰트가없다는점이다. POSTSCRIPT 폰트를수식에썼을때는품질이좀떨어지는것으로보일수도있다. 위에열거한패키지들은문서전체의폰트를설정한다. POSTSCRIPT 폰트를텍스트영역에만적용하고자한다면폰트패밀리를아래예와같이지정해주도록하라. 일반적인폰트패밀리를표 5에열거하였다. Z 주의. 몇몇폰트는시스템에따라이용불가능할수있다. This is Computer Modern Roman, this is Helvetica! This is Computer Modern Roman, {\fontfamily{phv}\selectfont this is Helvetica!} 다른가능성은표준 L A TEX 폰트를 POSTSCRIPT 폰트로교체하는것이다. 예를들면 Computer Modern Sans Serif 가나타날위치의폰트를전부 Avantgarde 로바꾸는것이다. 재정의가능한명령은다음과같고,

Format 메뉴 25 Family cmr cmss cmtt pag pbk phv pnc ppl ptm pcr Name Computer Modern Roman Computer Modern Sans Serif Computer Modern Typewriter Avantgarde Bookman Helvetica New Century Schoolbook Palatino Times Courier 표 5: 일반적인폰트패밀리 \rmdefault (roman) \sfdefault (sans serif) \ttdefault (typewriter) \bfdefault (boldface) \mddefault (medium) \itdefault (italics) \sldefault (slanted) \scdefault (small caps) \updefault (upright) sffamily 기본글꼴을 Computer Modern Sans Serif로부터 Avantgarde로바꾸는것은다음과같이한다. % Avantgarde replaces sans serif \renewcommand{\sfdefault}{pag} [ 역자 ] 위의예를 XƎTEX 에적용한것. 폰트의모양이제대로나오는예이다. 이문서는 XƎTEX 으로만들고있으므로위의예에서는폰트의모양이실제모양으로나오지않았다. XƎTEX 에서는 \fontfamily 와같은명령대신 \fontspec 을쓴다. 여기서는 Computer Modern Roman 의글자모양을보이기위해서 lmroman 을썼는데 lmroman 이 cmr 를 바탕으로만들어진폰트이므로글자모양을확인하는데는지장이없을것이다. This is Computer Modern Roman, This is Helvetica! \fontspec[externallocation]{lmroman10-regular} This is Computer Modern Roman, \fontspec{helvetica} This is Helvetica! XƎTEX 은 legacy TEX 의폰트사용방법에일대혁신을가져왔다. Jonathan Kew 가제 작한 XƎTEX 은기존의 TEX 시스템에서폰트를처리하는부분을유니코드폰트사용방 식으로교체한것이다. 그결과운영체제에설치된오픈타입, 트루타입폰트를 TEX 에서 즉시사용할수있게되었다.

26 그림차례 xcolor 를이용하면훨씬많은 이름으로정의된색상 을사용할수있다. Format/Character Colour 모양 / 글자색 color 패키지를이용하면색상이름과적절한명령을사용할수있다. 미리정의된색상은 black, white, red, green, blue, cyan, magenta, yellow이다. 자신의색상을정의하는것도가능하다. This is red. This text is blue! So is this. Let s change. This is my shade of green! A cyan box A green box in a blue frame \textcolor{red}{this is red.}\\ \color{blue} This text is blue!\\ So is this. Let's change.\\ \definecolor{mygreen} {rgb}{0.1,1,0.1} \color{mygreen} This is my shade of green!\\ \color{black} \colorbox{cyan}{a cyan box}\\ \fcolorbox{blue}{green} {A green box in a blue frame} \pagecolor 라는명령도있다. 이명령을쓰면어떤일이일어날까? 자꾸지적하는것이지만, \\ 는문단끝을나타내는기호가아니다. 저자는문단에대해서오해를하고있는것같은데, \\ 는행의줄바꿈을강제하는것일뿐이고문단을끝내고새문단을시작하는것이아닌것이다. 문단끝은빈줄또는 \par 가오면끝난다. 당연히 \\ 다음에오는빈줄은문단첫줄이가지는특성 ( 들여쓰기등 ) 을가지지않는다. 5.3 Format/Paragraph 모양 / 문단 L A TEX 에있어서문단이란무엇을의미하는것인지상기하자. 문단이란 \\ 나빈줄로끝나 는텍스트의일부이다. 환경 (environments) 이라하는것은텍스트의일부분에대해정렬 (alignment) 이나글꼴 선택과같은특정속성을부여하는 L A TEX 의방식이다. 이것은마우스로텍스트를선택한 다음에원하는속성을메뉴나버튼클릭으로부여하는것과비슷하다. 중괄호로텍스트 일부를둘러싸는것도영역선택과비슷한효과를갖는다. 환경의일반적형태는다음과같다. \begin{environment}...text goes here... \end{environment} 예를들어어떤문단을가운데정렬하고싶으면 center 환경을사용한다. this text is centered \begin{center} this text is centered \end{center} 표준적인환경들을표 6 에열거하였다. 다음절에서언제어떤환경을사용하는지예를 들어보겠다. 정렬방식의더정밀한조절이필요하거나 ( 이따금그러하듯이 ) \justifying 이필요하다면 ragged2e 패키지를사용한다. Format/Paragraph Horizontal Alignment 모양 / 문단정렬텍스트는좌우정렬되는것이기본이다. 왼쪽정렬, 오른쪽정렬, 가운데정렬하기를원할때는 flushleft, flushright, center 환경을쓴다. \raggedright, \raggedleft, \centering은순서대로각각의환경에대응하는명령들이다. 그러나이명령은새문단을시작하지않는다.

Format 메뉴 27 Environment array center description enumerate eqnarray equation figure flushleft flushright itemize letter list minipage picture quotation quote tabbing table tabular thebibliography theorem titlepage verbatim verse Purpose Math arrays Centered lines Labelled lists Numbered lists Sequence of aligned equations Displayed equation Floating figures Flushed left lines Flushed right lines Bulleted lists Letters Generic list environment Miniature page Picture with text, arrows, lines and circles Indented environment with paragraph indentation Indented environment with no paragraph indentation Align text arbitrarily Floating tables Align text in columns Bibliography or reference list Theorems, lemmas, etc For hand crafted title pages Simulating typed input For poetry and other things 표 6: 표준적인 L A TEX 환경 Format/Paragraph Vertical Alignment 모양 / 문단사이띄우기 문단사이가벌어지는방식은워드프로세서사용자를종종당황하게만든다. 여러개의 빈줄과여러개의스페이스는한개의빈줄이나한개의공백과똑같이취급된다. 따라서 소스에서여러개의빈줄을넣는다고해서그만큼문단사이에간격이늘어나는것이 아니다. 문단사이간격을강제로벌리려면 \smallskip, \medskip, \bigskip 명령을 사용해야한다. 더넓은간격이필요하다면 \vskip 명령을다음보기와같이사용한다. These paragraphs will be separated by 1.3 cm: there is a 1.3 cm gap above me. These paragraphs will be separated by 1.3 cm:\\ \vskip 1.3cm there is a 1.3 cm gap above me. \vskip 명령은문단사이에서만동작한다는것을알아두자. 따라서이전문단이없는 페이지의제일윗쪽에이명령이오더라도아무런의미가없다. 새페이지를시작하고 추가로, 예컨대 1.5cm 를남기고싶을때는어떻게할것인가? 이럴때는 \null 명령을 이용해서텍스트에 표지 를설정한다. 이글에서는 \vspace 명령에대해서기술하고있지않다. \vspace 는간격을중괄호로둘러싸서인자로지시하지만 \vskip 은중괄호없이그냥길이를지정한다. 그리고 \vspace 에는별표붙인명령 \vspace* 가있어서페이지가바뀌더라도수직간격명령이동작하게할수있다. 즉 \null 트릭을쓰지않아도된다.

28 그림차례 This text comes after 1.3 cm... \null \vskip 1.3 cm This text comes after 1.3 cm... LATEX 에서 \vfil 은 \vfill 의반 (1/2) 이다. 마지막으로 \vfill 명령은두문단사이에가변적인빈공간을넣어서두번째문단이 페이지의하단에맞추어지도록한다. 예를들면, This appears at the top of the page{\ldots} \vfill {\ldots}and this at the bottom. This appears at the top of the page and this at the bottom. Format/Paragraph Margins 모양 / 문단여백 memoir 와 changepage 패키지에는문단폭변경을위한 adjustwidth 라는환경이있다. 흐르는텍스트에는대체로잘적용되지만다른리스트환경과함께쓰면원치않는동작을하기도한다. 일반적으로여백은 2.5 절에서본바와같이문서전체에대해설정되는것이다. 일부텍 스트의여백폭을바꾸기위해서문서중간에이파라미터값을바꾼다고해도동작하지 않는다. 문단여백을바꾸고싶다면다음보기와같이새로운환경을만들어야한다. \newenvironment{margins}[2] { \begin{list}{} { \setlength{\leftmargin}{#1} \setlength{\rightmargin}{#2} } \item } {\end{list}} 그런다음에이새로운환경을사용한다. As you can see, this paragraph has normal margins. But please note that this paragraph has custom margins. As you can see, this paragraph has normal margins. \begin{margins}{0.5cm}{1cm} But please note that this paragraph has custom margins. \end{margins} Format/Paragraph Indentation 모양 / 첫줄들여쓰기 LATEX 의기본값은 1.5em 정도를들여쓰는것이다. 우리글문서에서는그냥 1em( 한글자폭 ) 을선호하는경우도많다. 문단첫줄의들여쓰기크기를설정하려면 \parindent 명령에적당한값을준다. 다음 예에서첫줄들여쓰기값을 1cm 로설정하였다. \setlength{\parindent}{1cm} \indent 명령과 \noindent 명령은해당문단의첫줄을들여쓰기하게 / 못하게강제한다. 문단첫줄을들여쓰기하지않고문단사이에추가적인간격을주어서구분하는경우도있다. 이런식으로하려면문단사이의추가간격길이인 \parskip 값을정해주어야한다. \setlength{\parskip}{3pt}

Format 메뉴 29 5.4 Format/Paragraph Border and Shade 모양 / 문단테두리와음영테두리쳐진문단이나단어를얻으려면 \parbox 명령이나 framed 패키지를써서할수있다. \parbox를쓸때는 calc 패키지가필요하다. 가장쉬운방법으로 framed를쓰는것은다음과같다. this is a framed paragraph! this is a shaded paragraph, do you like it? \setlength{\framerule}{2pt} \setlength{\framesep}{5pt} \begin{framed} this is a framed paragraph! \end{framed} \definecolor{shadecolor}{rgb} {0.9,0.8,1} \begin{shaded} this is a shaded paragraph, do you like it? \end{shaded} 마찬가지로 boxedminipage 패키지의같은이름의환경을쓴다. 더자세히알고싶은분을 위해설명하자면다음명령 \framebox{ \begin{minipage}[c]{\linewidth} text to be framed \end{minipage} } framed 는 memoir 에이미들어있다. 별도로 \usepackage 할필요없다. 페이지가넘어가는 framed paragraph 에는 boites 패키지도고려해볼만하다. 은 boxedminipage 환경과동일하다. 다음보기는 \parbox 를쓴것이다. again, a framed paragraph! \noindent \fbox{ \parbox{.9\linewidth -2 \fboxsep -2 \fboxrule} {again, a framed paragraph!} } \linewidth 는 minipage 의폭 (width) 를글줄길이와같게한다. 이길이는원하는대로 지정해도된다. 끝으로텍스트폭을알아내어서자동으로테두리치도록해보자. this is a framed word this is a \framebox[\width]{framed} word 파라미터를조작하여프레임의폭을조절할수있다. this is another framed word this is another \framebox[2\width][r]{framed} word 이예에서두번째선택인자는정렬 ( 여기서는 right) 방식을지정하는것이다.

30 그림차례 소위 형광펜효과 로 soul 패키지의 \hl 이있다. 이것은영문자의경우잘동작한다. 한글에대해서이비슷한트릭을만들어본것예가있다. I am a minipage, my colour is yellow! 5.5 Format/Colour 모양 / 색상 문단에테두리를치고여기에색을입히려면다음과같이한다. 칼러에대해서 5.2 절을참조. \colorbox{yellow}{ \begin{minipage} {0.8\linewidth} I am a minipage, my colour is yellow! \end{minipage} } multicols 에대해서는저자의착각인듯. 패키지이름은 multicol 이고환경의이름이 multicols 이다. 5.6 Format/Columns 모양 / 다단 \twocolumn 과 \onecolumn 은새페이지 를시작하면서정해진다단을설정한다. \documentclass 명령의옵션으로지정할 수있다. 이것만으로충분치않다면 multicols 패키지가같은이름의환경을제공한 다. 이소절은다음과같은명령으로이단 편집하였다. \columnseprule=1pt \begin{multicols}{2}% [\subsection{\entry{format}{columns}}] The commands \cmd{twocolumn}... \end{multicols} 단사이의간격은 \columnsep 파라미터로 제어가능하고 \columnseprule 길이는단 사이에주어진두께의선을그려준다. \onecolumn 이나 \twocolumn 의브래킷 으로둘러싼선택인자로주어지는텍스 트는해당환경에서제외된다. 예를들어 \twocolumn 에일부텍스트를선택인자로 주면해당부분을 1 단으로조판한후에 2 단 을시작한다. 6 Table 메뉴 꽤복잡한주제 이다. table 은 (4.12 절에서설명한 ) 떠다니는개체로서한페이지안 에서만존재한다. 즉다음페이지로페이지가나누어지지않는것이원칙이다. 이속에 들어가는것은대부분 tabular 환경인데물론다른것도얼마든지올수있다. table 의 폭은그내용물길이에따라스스로조절되는것이기본이다. 다음에보인것은일반적인테이블의형식이다. \begin{table}[htbp] % placement: here, top, bottom, separate page % \begin{small} % sets the table font \begin{center} % optional % 4-column table; alignment is left, centered, right, fixed width \begin{tabular}{ l c rp{4cm} } \hline % horizontal line \textbf{left} & \textbf{centre} & \textbf{right} & \textbf{4 cm} \\ \hline row 1, col 1 & row 1, col 2 & row 1, col 3 & row 1, col 4 \\ \cline{1-2} % horizontal line spanning columns 1-2 row 2, col 1 & row 2, col 2 & row 2, col 3 & row 2, col 4 \\ \cline{1-2} \multicolumn{2}{ c }{spanning two columns} & row 3, col 3 & row 3, col 4 \\ \cline{1-3}

Table 메뉴 31 row 4, col 1 & row 4, col 2 & row 4, col 3 & ~ \hfill right \\ % force a space with "\ " row 5, col 1 & row 5, col 2 & row 5, col 3 & left \hfill ~ \\ row 5, col 1 & row 5, col 2 & row 5, col 3 & ~ \hfill centre \hfill ~ \\ \hline \end{tabular} \caption{a sample table.} % labels are used for cross references; % for example, "see Table~\ref{tab:sampletab}" \label{tab:sampletab} \end{center} % \end{small} \end{table} 표 7 은그결과를보여주고있다. Left Centre Right 4 cm row 1, col 1 row 1, col 2 row 1, col 3 row 1, col 4 row 2, col 1 row 2, col 2 row 2, col 3 row 2, col 4 spanning two columns row 3, col 3 row 3, col 4 row 4, col 1 row 4, col 2 row 4, col 3 right row 5, col 1 row 5, col 2 row 5, col 3 left row 5, col 1 row 5, col 2 row 5, col 3 centre 표 7: A sample table. 이따금 table의폭이너무넓어서페이지에맞지않을때가있다. 이럴경우 rotating 패키지가 sidewaystable이라는새로운환경을제공해준다. rotating은이밖에도하나의셀내용을주어진각도만큼회전시키는것도가능하다. 끝으로 tabularx 패키지는전체테이블이일정한폭을갖도록지정할수있다. X 컬럼지시자는필요한만큼컬럼의길이를계산해서늘려주도록하는데사용된다. 예를하나들어본다. \begin{sidewaystable} \begin{tabularx}{7.5cm}{ l X X } \hline \textbf{normal} & \textbf{tilted} & \textbf{wider} \\ \hline normal & \rotatebox{30}{i'm tilted!} & I'm wider \\ \hline \end{tabularx} \end{sidewaystable} normal tilted wider I m tilted! 표준 tabular 환경은페이지를넘길수없다. 이제한을극복하기위한패키지들이몇개 longtable과 tabularx를합친 ltablex 패키지도포함시켜야있어서여러페이지에걸치는표를그릴수있도록해준다. longtable, supertabular, xtab 겠다. 이패키지가제공하는등이그러하다. tabularx 환경은여러페이지에걸친 tabularx를만들어준다. wider normal b

32 그림차례 table 안에서색상을쓰려면 colortbl 패키지가필요하다. Colour by row: one two three one two three one two three Colour by row:\\\vskip 2mm \begin{tabular}{ l c r } \hline \rowcolor{cyan} one & two & three\\ \rowcolor{green} one & two & three\\ \rowcolor{yellow} one & two & three\\ \hline \end{tabular} 깔끔한트릭하나. L A TEX 으로표를그리는것이너무복잡하다고생각된다면 OpenOffice Calc와 Calc2LaTeX을사용해보라. OpenOffice는자유스프레드시트프로그램이고 Calc2LaTeX은확장모듈인데일정한셀범위를 L A TEX 테이블로변환해준다. http:// www.openoffice.org/, http://calc2latex.sourceforge.net/. 6.1 표의행간격행의높이는그안에오는텍스트의높이에따라스스로조절한다. 행시작이전에간격을추가하려면특정높이 (height) 와 0 길이를가진 \rule로시작하는트릭을쓸수있다. 행다음에간격을추가하려면 \\ 에추가간격값을선택인자로지정한다. one two three 0.3 centimeters after this line one two three one two three 1.2 centimeters before this line \begin{tabular}{lll} one & two & three\\ 0.3 centimeters & \textbf{after} & this line\\[0.3cm] one & two & three\\ one & two & three\\ \rule{0pt}{1.2cm}1.2 centimeters & \textbf{before} & this line\\ \end{tabular} [ 역자추가 ] 표전체의행간격을일괄해서바꾸려할때는 \arraystretch 값 ( 기본값은 1) 을변경 (\renewcommand) 시켜준다. 단이값을전역적으로바꾸면 tabular 만이아니라 수식의 array 도영향을받는다. 6.2 괘선두께 one two three four five six \begin{tabular}{ lll } \hline %\setlength{\arrayrulewidth}{5pt} one & two & three\\ \hline four & five & six\\ %\setlength{\arrayrulewidth}{1pt} \hline \end{tabular}

Table 메뉴 33 [ 역자추가 ] makecell 을이용하여괘선굵기를바꾸어보는예이다. makecell 패키지가필 요하다. First Multicolumn head Second Third multlined column head column head Cell text A 28 31...... some text and more \renewcommand\theadset{\def\arraystretch{.85}}% \renewcommand\theadgape{} {\begin{tabular}{!{\vrule width1.2pt}c!{\vrule width1.2pt}c c!{\vrule width1.2pt}} \Xhline{1.2pt} \multirowthead{4}{first}& \multicolumn{2}{c!{\vrule width1.2pt}}% {\thead{multicolumn head}}\\ \Xcline{2-3}{.8pt} & \thead{second \\multlined \\ column head} & \thead{third \\ column head}\\ \Xhline{1.2pt} Cell text & A &\multirowcell{4}{28--31}\\... &... & \\ some & text & \\ and & more & \\ \Xhline{1.2pt} \end{tabular}} 6.3 숫자정렬테이블안의숫자들을소수점기준으로정렬해야하는경우가있다. 가장간단한방법은 @ 컬럼지시자를이용하는것인데셀안에숫자만있을때는쓸만하다. 컬럼분리자 & 가소수점으로대치되게하는트릭이다. 3.14159 1.61803 1.41421 100.00000 \begin{tabular}{r@{.}l} 3&14159\\ 1&61803\\ 1&41421\\ 100&00000 \end{tabular} 다른방법으로 dcolumn 패키지를사용한다. 이패키지는 D 컬럼지시자를추가해주는데세개의인자를갖는다. L A TEX 소스와출력에서사용할분리자 ( 보통둘다동일하게. 를쓴다 ), 세번째것은소수점아래표시할자릿수. 세번째인자는 4.3과같이점기준왼쪽과오른쪽자릿수를지정할수도있다. 이값이 1 이면컬럼내용은분리자를기준으로가운데정렬된다. 이컬럼의모든내용은숫자라고간주되어수학모드로조판된다. 따라서첫행에헤딩을넣고자한다면 \mbox 안에텍스트를두어야한다.