The Not So Short
Introduction to L
A
T
E
X 2
ε
L
A
T
E
X 2
ε
입문
143
동안 익히는
L
A
T
E
X 2
ε
by Tobias Oetiker
Hubert Partl, Irene Hyna and Elisabeth Schlegl
Version 6.4, March 09, 2021
김강수, 조인성 옮김
한국어판 2021, 3 16
ii
Copyright ©1995-2021 Tobias Oetiker and Contributors. All rights reserved.
This document is free; you can redistribute it and/or modify it under the terms of the
GNU General Public License as published by the Free Software Foundation; either version
2 of the License, or (at your option) any later version.
This document is distributed in the hope that it will be useful, but without any warranty;
without even the implied warranty of merchantability or tness for a particular purpose. See
the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this
document; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
Floor, Boston, MA 02110-1301, USA.
문서는 프리(free)입니다. 자유 소프트웨어 재단(FSF) 의해 제출 GNU GPL(일반 공개
라이선스) 2 또는 이후 버전이 정하는 바에 따라 자유롭게 재배포하고 수정할 있습니다.
문서는 유용하게 쓰이기를 바라는 마음으로 배포합니다. 그러나 아무런 보증도 하지 않습니다.
심지 상업 특정 적에 적합다는 증도 않습니다. 자세 사항 GNU GPL
참조하십시오.
문서와 GNU GPL 본을 받으셨을 것입니다. 그렇 않다면 Free Software Foun-
dation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA 연락하십시오.
한국어판 저작권
책자의 한국어판 저작권은 GNU 자유 문서 라이선스(FDL) 따릅니다. http://www.gnu.
org/copyleft/fdl.html
감사의
소책자 많은 부분을 독일어로 쓰여진 오스트리아 L
A
T
E
X 2.09 소개서에 취하였다.
저자는 다음과 같다.
Hubert Partl <partl@mail.boku.ac.at>
Zentraler Informatikdienst der Universität für Bodenkultur Wien
Irene Hyna <Irene.Hyna@bmwf.ac.at>
Bundesministerium für Wissenschaft und Forschung Wien
Elisabeth Schlegl <noemail>
in Graz
독일 서에 있다 Jörg Knappen L
A
T
E
X 2
ε
위하 데이
버전을 다음 위치에서 찾아볼 있다. CTAN://info/lshort/german
iii
iv 감사의
아래 거한 들은 정, 용의 안, 개선항의 책자
기여하였다. 책자가 현재의 모습을 갖추는 이들이 엄청난 도움을 주었다. 진심으로
감사를 표한다. 당연히 책에 있는 모든 오류는 나의 것이다. 제대 곳이 군데라도
있다면 그것은 분들이 나에게 보내준 내용 중에 들어 있었을 것이 틀림없다.
소책자에 기여하고자 한다면 소스코드를 https://github.com/oetiker/lshort
에서 구할 있다. 리퀘스트를 환영한다.
Eric Abrahamsen, Lenimar Nunes de Andrade, Eilinger August, Rosemary Bailey,
Barbara Beeton, Marc Bevand, Connor Blakey, Salvatore Bonaccorso, Pietro Braione,
Friedemann Brauer, Markus Brühwiler, Jan Busa, David Carlisle, Neil Carter,
Carl Cerecke, Mike Chapman, Pierre Chardaire, Xingyou Chen, Christopher Chin,
Diego Clavadetscher, Wim van Dam, Benjamin Deschwanden Jan Dittberner,
Michael John Downes, Matthias Dreier, David Dureisseix, Hans Ehrbar, Elliot,
Rockrush Engch, William Faulk, Robin Fairbairns, Johan Falk, Jörg Fischer, Frank Fischli,
Daniel Flipo, Frank, Mic Milic Frederickx, David Frey, Erik Frisk, Hans Fugal,
Robert Funnell, Greg Gamble, Andy Goth, Cyril Goutte, Kasper B. Graversen,
Arlo Griths, Alexandre Guimond, Neil Hammond, Christoph Hamburger,
Rasmus Borup Hansen, Joseph Hilferty, Daniel Hirsbrunner, Martien Hulsen, Björn
Hvittfeldt, Morten Høgholm, Werner Icking, Eric Jacoboni, Jakob, Alan Jerey,
Martin Jenkins, Byron Jones, David Jones, Johannes-Maria Kaltenbach, Nils Kanning,
Andrzej Kawalec, Christian Kern, Alain Kessi, Axel Kielhorn, Sander de Kievit,
Kjetil Kjernsmo, Tobias Klauser, Jörg Knappen, Michael Koundouros, Matt Kraai,
Tobias Krewer, Flori Lambrechts, Mike Lee, Maik Lehradt, Rémi Letot, Axel Liljencrantz,
Jasper Loy, Johan Lundberg, Martin Maechler, Alexander Mai, Claus Malten,
Kevin Van Maren, Pablo Markin, I. J. Vera Marún, Hendrik Maryns, Chris McCormack,
Aleksandar S. Milosevic, Henrik Mitsch, Stefan M. Moser, Armin Müller, Philipp Nagele,
Richard Nagy, Manuel Oetiker, Urs Oswald, Hubert Partl, Marcelo Pasin, Martin Pster,
Lan Thuy Pham, Breno Pietracci, Demerson Andre Polli, Maksym Polyakov,
Nikos Pothitos, John Reing, Mike Ressler, Brian Ripley, Kurt Rosenfeld,
Bernd Rosenlecher, Chris Rowley, Young U. Ryu, Risto Saarelma, András Salamon,
José Carlos Santos, Christopher Sawtell, Gilles Schintgen, Craig Schlenter,
Hanspeter Schmid, Baron Schwartz, John Scott, Jordi Serra i Solanich, Miles Spielberg,
Susan Stewart, Matthieu Stigler, Georey Swindale, Laszlo Szathmary, Boris Tobotras,
Josef Tkadlec, Scott Veirs, Didier Verna, Carl-Gustav Werner, Fabian Wernli,
Matthew Widmann, David Woodhouse, Chris York, Rick Zaccone, Fritz Zaucker, and
Mikhail Zotov.
L
A
T
E
X [1] 수학 문서를 성하는 적합한 조판 시스템으로서 대단히 뛰어난
타이포그래피 품질을 얻을 있게 한다. 단순한 편지에서 완전한 단행본 르기까지
다양한 종류 문서를 만드는 데도 적합하다. L
A
T
E
X T
E
X [2] 조판 엔진으 사용한다.
길지 서는 L
A
T
E
X 2
ε
대해 명한다. 일반적 L
A
T
E
X 용에 분할
정도로 설명할 것이다. L
A
T
E
X시스템에 대한 완전한 설명을 보려면 [1, 3] 참조하라.
안내서는 여섯 (chapter)으로 이루어져 있다.
1 L
A
T
E
X 2
ε
기본 구조를 설명한다. L
A
T
E
X 역사에 대해서도 조금 알게 것이
다. 장을 읽고 나면 L
A
T
E
X 어떻게 동작하는지에 대해 어렴풋이 이해할 있을
것이다.
2 문서 판의 세부사항 다룬다. 수적 L
A
T
E
X 명령 환경 부분
설명한다. 장을 읽고 나면 리스트 문단, 표, 그림, 떠다니는 개체 등을 포함하는
문서를 처음으로 작성할 있게 것이다.
3 L
A
T
E
X으로 수학식을 식자하는 방법을 설명한다. L
A
T
E
X 력한 기능
수식 조판에 대해 다양한 예제를 통해 알려준다. 장의 끝에는 L
A
T
E
X으로 표현할
있는 수학 기호 거의 전부를 표로 정리해 두었다.
4 색인과 문헌 만들기, 그리 PDF 생성 위한 미세설정에 대해서 약간
다룬다.
5 L
A
T
E
X에서 그림 그리는 법을 보여준다. 프로그램으로 림을 그리고
그것을 파일로 저장하여 문서에 불러들이 것이 아니라 L
A
T
E
X 언어로 그림을 표현
하는 방법을 설명한다.
6 표준 문서 레이아웃을 변경하는, 약간 위험할 수도 있는 내용을 다룬다. L
A
T
E
X
아름다운 출력물을 어떻게 하면 엉망으로 만들거나 (능력에 따라) 근사하게 바꿀
있는지를 알려준다.
장을 순서대로 읽는 것이 중요하다. 소책자는 분량이 얼마 되지 않는다. 특히 예제를
주의깊게 보아야 하는데 책자 전체에 걸쳐 나타나는 예제에 많은 중요한 정보가 담겨 있기
때문이다.
v
vi
L
A
T
E
X PC, 맥, 대형 유닉스와 VMS 시스템에 이르기까지 거의 모든 컴퓨터에 이용가
능하다. 대학 컴퓨터실에는 이미 L
A
T
E
X 설치되어 있어서 즉시 사용할 있을 것이다.
현재 자신이 이용하는 시스템에 L
A
T
E
X 치되어 는지 어떻 사용하면 되는 알고
싶으면 Local Guide [5] 보라. 되지 않으면 책자 읽으라고 권한 사람에게 문의
하라. 책이 다루는 범위는 L
A
T
E
X 통하여 문서를 작성하는 방법에 대해 알려주려는
것이지 L
A
T
E
X 시스템을 설치하고 설정하는 문제를 설명하지 않는다.
L
A
T
E
X 관련 자료가 필요하다면 Comprehensive T
E
X Archive Network (CTAN) 사이트를
방문해보라. 홈페이지는 http://www.ctan.org이다.
책자 전반에 걸쳐 CTAN 대한 언급이 나온다. 특히 프트웨어나 안내문서를
다운로드하도록 지시할 그렇다. 완전한 URL 적는 대신 단지 CTAN:이라 표시하고
CTAN 트리상의 위치를 표시하였다.
L
A
T
E
X CTAN://
systems에서 찾아볼 있다. 책자의 부록 A 참고하라.
서에 가하거나 삭제 또는 변경해야 부분에 의견 있으 저자에 알려
주기 란다. 특히 안내서의 용이 이해하기 운지 설명 법은 을지에
대하여 L
A
T
E
X 초보자로부터의 제안을 환영한다.
Tobias Oetiker <tobi@oetiker.ch>
OETIKER+PARTNER AG
Aarweg 15
4600 Olten
Switzerland
자의 최신 버전 CTAN://info/lshort에서 받아볼 있다. 하위 폴더 CTAN:
//info/lshort/korean에서 한국어판을 발견할 있을 것이다.
목차
감사의 iii
v
목차 xi
그림 목차 xii
1 알아두어야 기본 사항 1
1.1 간략한 역사 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1 T
E
X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.2 L
A
T
E
X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 기초 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.1 저자, 디자이너, 타입세터 . . . . . . . . . . . . . . . . . . . . 2
1.2.2 레이아웃 디자인 . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2.3 장점과 단점 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 L
A
T
E
X 입력 파일 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3.1 공백 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3.2 특별한 문자 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3.3 L
A
T
E
X 명령 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3.4 주석(Comments) . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.4 입력 파일의 구조 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.5 명령행 작업 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.6 문서 레이아웃 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.6.1 문서 클래스 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.6.2 패키지 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.6.3 페이지 스타일 . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.7 파일과 확장명 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.8 규모의 글쓰기 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2 텍스트의 조판 14
2.1 텍스트와 언어의 구조 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2 줄나눔과 페이지나눔 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
vii
viii 목차
2.2.1 문단 정렬 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.2.2 분철 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.3 미리 정의된 문자열 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4 특수문자와 기호 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4.1 따옴표 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4.2 대시와 하이픈 . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4.3 틸데 () . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.4.4 슬래시 (/) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.4.5 기호 () . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.4.6 유로 통화 기호(€) . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.4.7 줄임표 (. . . ) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.4.8 합자 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.4.9 액센트와 특수 문자 . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.5 다국어 지원 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.5.1 Polyglossia 사용법 . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.5.2 한글과 한국어 문서 . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.6 단어 사이의 공백 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.7 표제와 장절 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.8 교차참조 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.9 조사의 선택 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.10 각주 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.11 단어의 강조 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.12 환경 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.12.1 리스트 문단(Itemize, Enumerate, Description) . . . . . . . . . 31
2.12.2 문단의 정렬(Flushleft, Flushright, Center) . . . . . . . . . . . 31
2.12.3 인용문과 운문(Quote, Quotation, Verse) . . . . . . . . . . . . . 32
2.12.4 요약문(Abstract) . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.12.5 그대로 보이기(Verbatim) . . . . . . . . . . . . . . . . . . . . . 33
2.12.6 (Tabular) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.13 그림 포함하기 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.14 떠다니는 개체 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3 수학식 조판 40
3.1 A
M
S-L
A
T
E
X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.2 수식 기초 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.2.1 수식 모드 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.3 수식 구성하기 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.4 수식: multline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.5 여러 수식 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.5.1 전통적 방법의 문제점 . . . . . . . . . . . . . . . . . . . . . . . 48
3.5.2 IEEEeqnarray 환경 . . . . . . . . . . . . . . . . . . . . . . . . 49
ix
3.5.3 일반적 사용법 . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.6 배열과 행렬 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.7 수식 모드에서의 간격 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.7.1 허깨비 글자 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
3.8 수학 폰트에 대하여 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.8.1 굵은 부호 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
3.9 수학적 문단(정리, 보조정리 ) . . . . . . . . . . . . . . . . . . . . . . 56
3.9.1 증명, QED 부호 . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.10 수학 기호 목록 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
4 특별한 기능 67
4.1
문헌 목록
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.2 색인 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.3 면주 장식 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4.4 Verbatim 패키지 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.5 패키지의 추가 설치 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.6 L
A
T
E
X PDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.6.1 하이퍼텍스트 링크 . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.6.2 링크 관련 문제 . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.6.3 북마크 관련 문제 . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.7 X
Ǝ
L
A
T
E
X PDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
4.7.1 폰트 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.7.2 한국어 폰트 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.7.3 X
Ǝ
L
A
T
E
X pdfL
A
T
E
X 호환성 . . . . . . . . . . . . . . . . . . 78
4.8 발표자료 만들기 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
5 수학적 그래프 그리기 81
5.1 개요 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
5.2 picture 환경 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
5.2.1 기초 명령들 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
5.2.2 선분 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
5.2.3
화살표
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
5.2.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
5.2.5 텍스트와 수식 . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
5.2.6 \multiput \linethickness . . . . . . . . . . . . . . . . . . 86
5.2.7 타원형 곡선 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
5.2.8 그림 박스의 지정과 반복 사용 . . . . . . . . . . . . . . . . . . . 88
5.2.9 이차 베지어 곡선 . . . . . . . . . . . . . . . . . . . . . . . . . . 89
5.2.10 현수선 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
5.2.11 특수상대성이론의 속도 . . . . . . . . . . . . . . . . . . . . . . . 91
5.3 PGF TikZ 그래픽 패키지 . . . . . . . . . . . . . . . . . . . . . . . . 91
x 목차
6 마음대로 바꾸기 95
6.1 명령, 환경, 패키지를 새로 정의하기 . . . . . . . . . . . . . . . . . . . . 95
6.1.1 새로운 명령 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
6.1.2 새로운 환경 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
6.1.3 불필요한 스페이스 없애기 . . . . . . . . . . . . . . . . . . . . . 97
6.1.4 명령행 L
A
T
E
X . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
6.1.5 나만의 패키지 . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
6.2 폰트와 크기 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.2.1 폰트 바꾸기 명령 . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.2.2 폰트 명령 사용에 대한 중요한 경고 . . . . . . . . . . . . . . . . 101
6.2.3 조언 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
6.3 간격 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
6.3.1 간격 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
6.3.2 문단 모양 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
6.3.3 수평 간격 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
6.3.4 수직 간격 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
6.4 페이지 레이아웃 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
6.5 길이 관련 재미있는 응용 . . . . . . . . . . . . . . . . . . . . . . . . . . 107
6.6 박스(Box) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
6.7 괘선(Rule) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
부록 A L
A
T
E
X 설치하기 111
A.1 설치해야 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
A.2 크로스 플랫폼 에디터 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
A.3 OS T
E
X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
A.3.1 T
E
X 배포판 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
A.3.2 OS T
E
X 에디터 . . . . . . . . . . . . . . . . . . . . . . . . . 112
A.3.3 PDFView 사용해보자 . . . . . . . . . . . . . . . . . . . . . . 112
A.4 윈도우즈의 T
E
X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
A.4.1 T
E
X 얻기 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
A.4.2 L
A
T
E
X 에디터 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
A.4.3 문서 보기 프로그램 . . . . . . . . . . . . . . . . . . . . . . . . . 113
A.4.4 그림 관련 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
A.5 리눅스의 T
E
X . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
문헌 목록 114
색인 116
목차
1.1 문서 클래스 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2 문서 클래스 옵션 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3 L
A
T
E
X 기본 배포 패키지 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4 L
A
T
E
X 페이지 스타일 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1 액센트와 특수 문자 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2 graphicx 패키지의 key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
2.3 떠다니는 개체의 허용 위치 . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.1 수식모드의 액센트 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.2 그리스 문자 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
3.3 이항 관계 연산자 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.4 이항 연산자 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.5 연산자 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
3.6 화살표 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.7 문자의 위아래로 오는 화살표 . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.8 여닫는 부호 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.9 여닫는 부호 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.10 기타 부호 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.11
수학 기호가 아닌
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.12 A
M
S: 여닫는 부호 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.13 A
M
S: 그리스와 히브리 문자 . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.14 수학 알파벳 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
3.15 A
M
S: 이항 관계 연산자 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.16 A
M
S: 이항 연산자 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
3.17 A
M
S: 화살표 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.18 A
M
S: 이항 연산자와 화살표의 부정 . . . . . . . . . . . . . . . . . . . . . . 65
3.19 A
M
S: 기타 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.1 index 명령의 사용법 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
6.1 폰트 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
6.2 폰트 크기 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
xi
6.3 표준 클래스의 폰트 크기 포인트 . . . . . . . . . . . . . . . . . . . . . . . . 100
6.4 수학 폰트 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
6.5 T
E
X 단위 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
그림 목차
1.1 L
A
T
E
X 파일의 최소 작성례 . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.2 실제 저널 논문의 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3 한글 문서의 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.1 전처리부의 설정 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.2 test.png 문서에 삽입하는 예시 코드 . . . . . . . . . . . . . . . . . . . . 36
4.1
fancyhdr
설정 예제 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
4.2 beamer 클래스 샘플 코드 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
6.1 패키지 예제 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.2 책자의 레이아웃 파라미터 . . . . . . . . . . . . . . . . . . . . . . . . . . 106
xii
1
알아두어야 기본 사항
장의 분에서 L
A
T
E
X 2
ε
철학과 역사에 하여 간단히
관한다. 다음 부분은 L
A
T
E
X 문서의 기본 구조에 초점을 맞추었
다. 읽고 L
A
T
E
X 동작하는 방식에 대하 렴풋이
이해하게 것이며 책의 나머지 부분 읽고 이해하고자 하는
필요성을 느끼게 것이다.
1.1 간략한 역사
1.1.1 T
E
X
T
E
X Donald E. Knuth 만든 컴퓨 프로그램으로 스트 학식 조판하는
것이 목적이다[2]. Knuth 1977년부터 T
E
X 조판 엔진을 작성하였는데, 무렵 출판
산업 며들 시작하던 디지 장비의 재적 가능성을 진해보려는 도와,
특히 자신 책과 논문에서 그가 도하고 타이포그래피적 질의 저하 향을
반전시키고자 하는 망을 가지고 시작한 일이었다. 현재 우리 용하는 T
E
X 1982
되었 1989 8 간의 다.
T
E
X 고도로 안정적인 프로그램으로서 여러 종류 퓨터에서 실행되며 거의 버그가
없는 것으로 유명하다. T
E
X 버전 번호는 π 수렴하는데 현재는 3.141592653이다.
1
T
E
X 테흐(tech)”라고 발음한다.
2
여기 “ch” 독일어 “Ach”
3
또는 스코틀랜드어
1
[역주] T
E
X 프로그램의 버전은 T
E
X Live 2021부터 3.141592653이다. 책의 영문판에는 3.141592653
이라고 하였다 나중 3.14159265 고쳤는 결과적으로 고치기 전의 것이 옳은 상황이 것은 2021년이다.
2
[역주] 우리나라나 영미권에서는 또는 테크[tek] 발음하는 경우가 많다.
3
독일어에 가지 “ch” 음이 있다. “Pech” 러운 “ch” 리가 적절 으냐
생각하는 람도 있다. Knuth에게 이것에 대해 문하였는 독일 위키백과 다음과 같이 썼다.
사람들이 T
E
X 제각기 좋을 대로 발음한다 해도 나지 않는다 . . . X 모음 e 다음에 오기 문에 독일 사람들 a
다음에 이어지는 거친 ch 소리가 아니라 부드러운 ch 소리내는 사람이 많은데, 러시아에서 ‘tex’ 익숙한 단어이고
‘tyekh’ 발음한다. 그러나 가장 적절한 발음은 그리스어에 있다고 생각하며 거기서는 ach Loch 거친 ch 소리를
들을 있다.
1
2 알아두어야 기본 사항
“Loch”에서 나는 소리와 같다. “ch” 그리스어의 “chi”(‘카이 또는 ’)라고 하는 글자
χ에서 것이다. T
E
X 기술(technique) 뜻하는 그리스 단어의 음절에서 따온
것이다. 아스키로 써야할 적에 T
E
X TeX으로 적는다.
1.1.2 L
A
T
E
X
L
A
T
E
X 정의된 전문가 수준의 레이아웃을 사용하여 쓰는 람이 자신 노작을
최고의 이포그래피 질로 조판하고 인쇄할 있도록 도와준다. L
A
T
E
X 원래 Leslie
Lamport 만든 이었다[1]. L
A
T
E
X T
E
X 조판 엔진으 사용한다. 현재 L
A
T
E
X
L
A
T
E
X 프로젝트 팀이 유지하고 있다.
L
A
T
E
X 레이텍 또는 라텍으로 발음한다. 아스키로 써야할 적에 LaTeX으로 적는
다. L
A
T
E
X 2
ε
레이텍 라고 읽으며 LaTeX2e 적는다.
1.2 기초
1.2.1 저자, 디자이너, 타입세터
어떤 것을 출판하기 위해서 저자는 출판사에 타자 원고를 넘겨준다. 그러면 디자이
너가 책의 레이아웃 (문단 폭, 폰트, 표제부 전후 ) 결정한다. 디자이너는
자신 시사 원고 어넣 타입(typesetter) 긴다. 타입터는
이러한 지시사항에 따라 책을 조판한다.
디자이너는 람인지라 저자가 고를 생각으 것인지 악할
있다. 자신의 전문적 지식과 원고의 내용에 기초하여 어떤 것이 장의 표제이 인용이거나
예문인지 혹은 수식인지 등을 판단한다.
L
A
T
E
X으로 작업하는 환경에서 L
A
T
E
X 디자이너의 역할을 맡고 T
E
X 타입세터가
된다. 러나 L
A
T
E
X 로그 다. 므로 쳐줘 다.
저자가 자신의 저작의 논리적 구조를 기술하는 추가적인 정보를 제공하여야 한다. 이러한
정보를 “L
A
T
E
X 명령어라는 형태로 본문 속에 써넣는다.
이것 MS Word LibreOce 요즘 부분 워드 프로세서 취하 WYSI-
WYG
4
과는 완전 접근방법이다. 워드 프로세서에 자는 컴퓨터에 텍스트를
써넣으면서 동시에 문서 외양(레이아웃) 눈으로 보면서 조절한다. 인쇄하였을 결과
물의 모양을 화면으로 보고 있는 것이다.
L
A
T
E
X으로 작업한다 내용을 적어넣 작업 화면이 최종 출력물의 모양으 보이지
않는다. 그러 L
A
T
E
X으로 일을 리한 화면으 최종 출력물 모양 미리보
기할 있다. 문서를 프린터로 송하여 실제 출력하기 미리보기를 통해 확인하고
수정하는 것이 가능하다.
1.2.2 레이아웃 디자인
타이포그래피 디자인은 전문분야이다. 비전문가 저자들 디자인이라는 것을 예쁘게만
만들 —“예술적으 문서 자인 ”—라고 각하 문에
4
What you see is what you get.
기초 3
심각 오류 지르 있다. 그러 이란 혀질 것이 랑에 걸려
있을 것이 아니므로 가독성과 이해가능성은 아름다운 외관보다 훨씬 중요하다. 예를 들면
장절 표제의 글자 기와 호매김은 독자들이 장절 편제를 통하여 문서의 조를
명확히 파악할 있도록 선택되어야 한다.
글줄 길이 눈에 부담 정도 지만 름답
보이게 정도로 적당히 길어야 한다.
WYSIWYG 시스템은 저자 하여 쁘지 구조 관성 거의 없는 서를
생성하게 하는 경향이 있다. L
A
T
E
X 저자가 자신의 문서의 논리적 구조를 선언하게 만듦
으로써 그런 서식 오류가 발생하지 않게 한다. 가장 적절한 레이아웃을 L
A
T
E
X 선택한다.
1.2.3 장점과 단점
WYSIWYG 람들 L
A
T
E
X 나면 로세
L
A
T
E
X 이나 일어 한다. 이런
엉뚱한 데로 흐르기 일쑤라 최선의 방책은 가만히 있는 것이지만 때로 피할 없는 때도
있는 법⋯⋯.
그래서 여기 실탄 발을 마련해두려 한다. 워드 프로세서에 비하여 L
A
T
E
X 가진
장점은 다음과 같다.
전문가 수준의 레이아웃으로 문서가 마치 실제 출판물처럼 보이게 한다.
수학식의 조판과 편리한 입력이 가능하다.
사용자는 기억하기 쉬운 문서의 논리 구조를 지시하는 명령 가지를 익히면 된다.
이것으로 문서 레이아웃을 이리저리 끼워맞추는 일을 하지 않을 있다.
각주, 교차참조, 목차, 문헌목록과 같은 복잡한 구조도 쉽게 생성할 있다.
기본 L
A
T
E
X만으로 수행하기 어려운 타이포그래피적 요구를 충족하 추가 패키지가
존재하고 자유로이 이용할 있다. 예를 들면 PostScript 그래픽을 포함하거나
정확한 출판 표준 맞는 문헌목록을 조판하도록 하는 패키지가 다. The L
A
T
E
X
Companion [3]에서 많은 추가 패키지에 대해 설명한다.
• L
A
T
E
X 저자로 하여금 구조화 스트를 쓰도록 유도한다. 조를 명시하는
것, 그것이야말로 L
A
T
E
X 작업의 기본이다.
• L
A
T
E
X 2
ε
조판 엔진인 T
E
X 이식성이 뛰어나며 자유 소프트웨어이다. 거의 모든
하드웨어 플랫폼에서도 실행된다.
L
A
T
E
X 점도 다. 로서 득할 만한 지만 수백 말하 람도
틀림없이 있다. ;-)
• L
A
T
E
X 생각할 머리가 품절인 사람과 맞지 않는다든가⋯⋯.
미리 정의된 문서 식의 파라미터를 수정하는 것이 가능하기는 한데 새로운
레이아웃을 디자인하는 것은 너무 어렵고 시간이 많이 걸린다.
5
5
소문에 의하면 점이 앞으로 나올 L
A
T
E
X3 시스템의 주요 요소가 것이라 한다.
4 알아두어야 기본 사항
구조적
·
조직적이지 않은 즉흥적 문서를 작성하기가 매우 어렵다.
처음에 약간 되는 듯해 보여도 결국 논리적 마크 개념을 완전히 이해하는 것이
햄스터에게는 무리다.
1.3 L
A
T
E
X 입력 파일
L
A
T
E
X 플레 스트 일로 력한다. 유닉스나 눅스 시스템에 텍스 파일
보편적이다. 윈도우즈에서 Notepad(메모장) 응용 프로그램으로 만들고 편집할 있다.
입력 파일은 텍스트와 텍스트를 조판할 방식을 L
A
T
E
X에게 알려주는 령으로 루어
진다. L
A
T
E
X IDE(합작업환경) 입력 파일 텍스트 맷으로 작성하는 프로그램을
포함한다.
1.3.1 공백
L
A
T
E
X 칸이나 문자 화이트스페이스 문자들을 스페이스 문자와 완전히
동일하게 다룬다. 여러 개의 이어지는 화이트스페이스 문자 개의 스페이스 취급한다.
입력 행의 앞부분에 있는 화이트스페이스는 보통 무시된다. 그리 줄나눔 문자
개도 화이트스페이스 본다.
사이에 줄을 두는 문단의 끝임 의미한다. 여러 두어도
일하 취급한다. 다음 예제 보라. 왼쪽 입력 파일에 입력한 텍스트
보이고 오른쪽에 출력 결과를 나타내었다.
It does not matter whether you
enter one or several spaces
after a word.
An empty line starts a new
paragraph.
It does not matter whether you enter one or
several spaces after a word.
An empty line starts a new paragraph.
1.3.2 특별한 문자
다음 기호들은 예약 문자라 부르 L
A
T
E
X에서 특별 의미로 쓰이거나 폰트로 찍을 없는
것이다. 입력 텍스트에 직접 적어넣는다면 대개 인쇄되어 나오지 않을 것이며 L
A
T
E
X에게
의도하지 않은 일을 시키는 것이 것이다.
# $ % ^ & _ { } ~ \
위에 나온 처럼 자를 문서 인쇄되게 하려 백슬래시를 여서
입력해야 한다.
\# \$ \% \^{} \& \_ \{ \} \~{}
\textbackslash
# $ % ^ & _ { } ~ \
수학식이나 센트 붙은 문자 특별 명령으 입력해야 쇄되는 호가 많다. 다른
것과 달리 백슬래시 문자 \ 앞에 백슬래시를 하나 붙여서(\\) 입력하면 된다.
백슬래시 개는 강제 줄나눔을 나타내는 명령으로 쓰이기 때문이다. \textbackslash
라는 명령을 써야 한다.
L
A
T
E
X 입력 파일 5
1.3.3 L
A
T
E
X 명령
L
A
T
E
X 명령은 대소문자를 구별한다. 그리고 다음 가지 형식 하나를 취한다.
백슬래시 \ 시작하여 글자(letter)로만 이루어진 이름을 형태. 명령 이름은
스페이스나 숫자 또는 글자 아닌 오면 끝난다.
6
백슬래시 다음에 개의 글자 아닌 것으로 이루어진 형태.
명령 이름에 별표를 추가하여 별표 붙은 명령 형태가 되는 것이 많다.
L
A
T
E
X 명령 뒤의 화이트스페이스 무시한다. 명령 뒤에 스페이스를 두어야 때는
인자 {} 붙이거나 별한 페이 명령 사용해야 다. 인자 {} L
A
T
E
X
명령 이름 직후의 스페이스를 잡아먹지 못하도록 만든다.
New \TeX users may miss whitespaces
after a command. % renders wrong
Experienced \TeX{} users are
\TeX perts, and know how to use
whitespaces. % renders correct
New T
E
Xusers may miss whitespaces after
a command. Experienced T
E
X users are
T
E
Xperts, and know how to use whitespaces.
인자(parameters) 다. 자는 뒤에 { }
묶어서 전달한다. 옵션 인자(optional parameters) 취하는 경우도 있는데 것은 명령
이름 뒤에 대괄호
[ ]
묶어서 전달한다. 인자는 보통 명령 자체 요구하는 것이므
생략할 없지만 옵션 인자(선택적 인자) 생략가능하다.
\command[optional parameter]{parameter}
L
A
T
E
X 명령의 용례를 다음 보기에서 였다. 지금 무슨 령인지 르겠다 걱정
필요 없다. 나중에 설명한다.
You can \textsl{lean} on me!
You can lean on me!
Please, start a new line
right here!\newline
Thank you!
Please, start a new line right here!
Thank you!
1.3.4 주석(Comments)
L
A
T
E
X 입력 파일을 처리하던 중에 % 문자를 만나면 줄의 나머지 부분과 줄나눔 문자
그리고 다음 시작 부분의 화이트스페이스를 무시한다.
이를 용하여 입력 파일에 주석이나 모를 적어두 사용할 있다. 부분은
출력되지 않는다.
6
[역주] 여기서 말하는 글자 글자 아닌 대하여 부언한다. T
E
X 입력되는 문자(토큰) 개의
범주 (category) 구분하여 처리한다. 가운 “letter”라고 부르는 주가 있다. T
E
X 매크 명령의
이름은 “letter” 범주에 속하는 문자로만 이루어진다는 의미이다. “letter” 범주에 속하는 문자의 위는 T
E
X
엔진에 따라 라지는데 통적
·
표준적으 오직 영문자 파벳(스키 문자) 속한다고 각하면 된다.
숫자나 기호문자는 글자 범주에 들지 는다. 번역본에서 라는 말이 T
E
X category 의미할
적에는 글자(letter) 같이 표시했다.
6 알아두어야 기본 사항
문장을 여러 줄로 나누어 입력할 나누어지는 위치에 있는 개행 문자나 화이트스
페이스를 무시하도록 하는 % 문자를 이용할 수도 있다.
This is an % stupid
% Better: instructive <----
example: Supercal%
ifragilist%
icexpialidocious
This is an example: Supercalifragilisticexpiali-
docious
verbatim 패키지가 제공하는 comment 환경 이용하 주석문을 작성 수도
있다. \usepackage{verbatim}이라는 문장을 문서의 전처리부에 적고 다음 예제와 같이
명령을 사용한다.
This is another
\begin{comment}
rather stupid,
but helpful
\end{comment}
example for embedding
comments in your document.
This is another example for embedding com-
ments in your document.
이것은 예컨대 수학식같은 좀더 복잡한 환경 안에서는 동작하지 않을 있음을
두자.
1.4 입력 파일의 구조
L
A
T
E
X 2
ε
입력 일을 제대 처리하 위해 것이 일정 구조를 추고 것을
요구한다. 그래서 입력 파일의 처음에 다음 문장이 있어야 한다.
\documentclass{...}
문장은 작성하는 문서가 어떤 종류의 것인지를 지정하는 것이다. 다음에 전체 문서의
형식에 영향을 주는 명령이 L
A
T
E
X 새로운 기능을 추가하는 패키지를 로드하 문장이
온다. 패키지를 로드하려면
\usepackage{...}
라고 쓴다.
설정 작업이 되면
7
이제 문서의 본문을 시작한다는 뜻으로 다음 명령을 준다.
\begin{document}
다음에 문서의 내용을 텍스트와 적당한 L
A
T
E
X 명령을 함께 섞어서 작성한다. 문서의
끝에는
\end{document}
라는 명령을 두어야 하는데 이것은 L
A
T
E
X에게 작업의 끝임을 알려주 할을 한다.
명령 이후에 오는 내용은 어떤 것이든 무시된다.
그림 1.1 가장 단한 L
A
T
E
X 2
ε
입력 보여주고 있다. 1.2
복잡한 보기이다.
명령행 작업 7
한국어 독자를 위하여 한국어-한글 문서의 최소 작성례를 그림 1.3 보인다.
1.5 명령행 작업
8이지 간단 L
A
T
E
X 입력 리하 법이 다.
방법 아보자. L
A
T
E
X 자체 있는 튼을 갖춘 GUI 프로그램이
아니다. 입력 일을 처리하는 말고 보여주는 것이 다. 일부 L
A
T
E
X 업환경을
제공하는 프론트엔드 프로그램에 컴파일 버튼이 GUI 제공되기도 하지만 명령
인터페이스만을 갖춘 시스템도 있다. 여기서는 텍스트 기반 스템에서 L
A
T
E
X 불러서
입력 파일 리하 하는 방법 해서 살펴겠다. 다만, L
A
T
E
X
컴퓨터에 이미 설치되어서 작동하고 있는 경우를 가정한다.
8
1. L
A
T
E
X 입력 파일을 만들고 편집한다. 반드시 플레인 텍스트 파일이어야 한다. 유닉
시스템의 모든 편집기가 플레인 텍스트 파일을 만든다. 윈도우즈에서는 플레인
텍스트 식으로 저장하도록 해야 한다. 파일 름을 선택하고 확장명으로 .tex
부여한다.
9
2. 또는 cmd 창을 다. cd 령으로 저장된 파일이 있는 렉터리(폴더) 찾아
들어가서 파일에 대하여 L
A
T
E
X 명령을 실행한다. 실행하여야 하는 L
A
T
E
X 명령은
xelatex이나 lualatex 또는 pdflatex이다.
10
성공적으로 행이 이루어지면
일이름이 같은 .pdf 파일을 얻을 있다. 목차나 차참조 처리하 위해
L
A
T
E
X 이상 실행해야 수도 있다. 만약 입력 파일에 오류가 있으면 L
A
T
E
X
로그 리를 단할 이다. 이럴 ctrl-D
명령행으로 돌아간다.
11
xelatex foo.tex
7
\documentclass \begin{document} 사이의 영역을 전처리부(preamble)라고 한다. 문서 전체에 대한
설정 작업이 이루어지는 곳이 전처리부이다.
8
관리되고 있는 유닉스 스템에서라면 당연히 그러 것이다. 그리고 참된 인간이라면 모름지기 유닉
스를 사용하는 법⋯⋯ ;-)
9
[역주] 국어 용자 위한 언. 국어 도우 사용자는 일이 UTF-8 코딩으로 저장되도
주의를 기울여야 한다. Notepad 앱을 사용한다 저장시에 이를 선택할 있다. 레이텍 전용 편집기는 UTF-8
저장되는 것이 본이지만 편집기의 정에 UTF-8 장이 성화되 있는지를 확인하는 다.
“ANSI 인코딩으로 저장하면 된다. 리눅스나 유닉스는 시스템의 기본 언어가 UTF-8이라면 크게 신경쓰지
않아도 된다. 그리고 파일 이름은 영문 아스키 문자만으로 짓는 것이 좋다. 한글 이름은 피하도록 하라.
10
[역주] 2019 현재 한국어 문서 작성을 위하여 권장되는 것은 xelatex이다.
11
[역주] 오류 이를 수정하여 다시 시도하여 한다. 많은 오류 사소한 오타에서 비롯되므로 이를 찾아
수정하면 된다. 오류의 종류와 해결 방법에 대해서는 책을 끝까지 읽으면 많이 있게 된다.
8 알아두어야 기본 사항
\documentclass{article}
\begin{document}
Small is beautiful.
\end{document}
그림 1.1: L
A
T
E
X 파일의 최소 작성례
\documentclass[a4paper,11pt]{article}
% define the title
\author{H.~Partl}
\title{Minimalism}
\begin{document}
% generates the title
\maketitle
% insert the table of contents
\tableofcontents
\section{Some Interesting Words}
Well, and here begins my lovely article.
\section{Good Bye World}
\ldots{} and here it ends.
\end{document}
그림 1.2: 실제 저널 논문의 예. 예제에 나온 명령은 책의 나중에 모두 설명한다.
\documentclass[a4paper]{article}
\usepackage{kotex}
\author{저자명}
\title{최소 작성례}
\begin{document}
\maketitle
\tableofcontents
\section{서론}
우리는 라텍을 배우기 시작했다. 이제 문서를
작성한다.
\section{결론}
일찌감치 끝낸다.
\end{document}
그림 1.3: 한글 문서의 최소 작성례. UTF-8 유니코드 인코딩으로 저장하여야 한다.
문서 레이아웃 9
1.6 문서 레이아웃
1.6.1 문서 클래스
L
A
T
E
X 요구하 번째 정보는 성자가 만들려고 하는 문서 유형에 대한 이다.
\documentclass 명령으로 이를 지정하여 준다.
\documentclass[options]{class}
여기서 class라는 것은 만들어질 문서의 종류를 나타내는 것이다. 1.1 기본적인 문서
클래 거하다. L
A
T
E
X 포판에는 밖에 letter slide 래스
있으며 다른 목적의 문서 래스도 많다. option 파라미터는 문서 래스의 방식을
사용자 지정하는 값들이다. 옵션은 쉼표로 분리하 열거해야 한다. 표준 문서 클래스에
적용할 있는 흔히 쓰이는 옵션을 1.2 보였다.
지금까지 설명을 바탕으로 예를 들어 보자.
\documentclass[11pt,twoside,a4paper]{article}
명령 지시하 바는 article 래스 문서 작성하되, 폰트 기는 “11
포인트 하고 펼침면(양면) 조판 형식으로 “A4 용지 맞추라는 것이다.
1.6.2 패키지
문서를 작성하다보면 기본 L
A
T
E
X만으로는 해결하기 어려운 문제를 만날 있다. 예컨대
그래픽을 포함해야 한다든가 색깔있는 텍스트를 쓴다든 소스 코드를 파일로부 읽어서
문서에 넣는다든 하는 경우에 기본 L
A
T
E
X 기능을 확장해야 필요가 생긴다. 이러한
기능 확장은 패키지를 통하여 이루어진다.
\usepackage[options]{package}
패키지를 활성화하는 명령은 이와 같다. 여기서 package 패키지의 이름이고 options
1.1: 문서 클래스
article 과학 학술 논문, 표자료, 보고서, 프로그램 서, 초대 등을
클래스
proc article 클래스에 기반한 프로시딩용 클래스
minimal 가장 기본적인 클래스. 페이지 크기와 기본 폰트만을 정한다. 오류추적 등을
위해 주로 사용한다.
report (chapter) 포함하는 클래스. 보고서, 소책자, 박사논문 등에 있다.
book 단행본 제작을 위한 클래스
slides 슬라이드용 클래스. 산세프체 글씨 꼴로 다. 실제 슬라이드
제작에는 이것보다 beamer 클래스를 많이 쓴다.
10 알아두어야 기본 사항
패키지 특정 기능과 동작을 제어하기 위한 키워드의 목록이다. \usepackage 명령은
전처리부에서만 있다. 1.4절을 참고하라.
L
A
T
E
X 2
ε
판에 지가 다. ( 1.3
라.) 별도 공되 많다. 패키 자신 스템 치되 는지
Local Guide [5] 고할 있다.
12
L
A
T
E
X 키지 관한 주요 정보 The L
A
T
E
X
Companion [3]에서 얻을 있는데 수백 가지 패키지 그것이 하는 일에 대하여 설명하고
있다.
요즘 T
E
X 배포판은 청난 수의 키지 한꺼번에 치해준다. 키지 문서를
참조하려면 texdoc 명령을 사용한다.
1.2: 문서 클래스 옵션
10pt, 11pt, 12pt 문서 본문 폰트 크기를 설정한다. 옵션을 따로 주지 않으면 10pt.
a4paper, letterpaper, . . . 용지 크기를 설정한다. 기본값은 letterpaper이다.
밖에 a5paper, b5paper, executivepaper, legalpaper 있다.
fleqn 별행 수식을 왼쪽 정렬로 식자한다. 옵션을 주지 않으면 가운데 정렬한다.
leqno 수식 붙는 번호를 왼쪽 붙인다. 옵션을 주지 않으면 오른쪽에 수식 번호가
인쇄된다.
titlepage, notitlepage 문서 표지를 별도의 페이지로 만들고 내용을 페이지로
시작할 것인지 그러지 않을 것인지를 지정한다. article 클래스는 표지면을 별도로
만들지 않는 것이 기본값이며 report book 별도 페이지로 하는 것이 기본이다.
onecolumn, twocolumn 1단이나 2 조판을 선택한다.
twoside, oneside 서인 (double sided) 다.
article 래스 report 본이 book 판이 기본다.
션이 의미하는 바는 문서 모양을 떻게 만들 것이냐에 관한 것일 뿐이
프린터에게 양면인쇄를 하라는 명령을 보내는 것은 아니라는 점을 알아두자.
landscape 가로가 페이지 레이아웃(landscape) 선택한다.
openright, openany (chapter) 오른쪽 페이지(홀수면)에서 시작하 것인지
홀짝수면의 구분 시작 있게 것인지 선택한다. openright 택하
이전 장의 지막이 수면일 음에 짝수 하나를 내용없이 채우
chapter 다음 홀수면에서 시작하게 된다. 이것 article에서는 작하지 않는
옵션이다. report 다음 페이지에서 바로 새로운 장을 시작하는 것이 기본값이고
book 항상 오른쪽 페이지에서 시작하는 것이 기본값이다.
12
[역주] 일괄 설치 배포 T
E
X Live 어떤 패키지가 있는 아보려면 https://ctan.org/pkg에서
검색해볼 있다.
문서 레이아웃 11
1.3: L
A
T
E
X 기본 배포 패키지
doc L
A
T
E
X 로그 서화 하게 키지다. doc.dtx
a
The L
A
T
E
X
Companion [3] 상세 설명이 있다.
exscale 수학 기본 폰트의 스케일 버전을 제공한다. ltexscale.dtx 설명이 있다.
fontenc 폰트 인코딩을 지정한다. ltoutenc.dtx 문서에 설명이 있다.
ifthen ‘if. . . then . . . otherwise . . . 형식의 명령을 지원한다. ifthen.dtx The L
A
T
E
X
Companion [3] 보라.
latexsym L
A
T
E
X 기호 폰트를 사용가능하게 한다. latexsym.dtx The L
A
T
E
X Compan-
ion [3] 보라.
makeidx 색인 작성을 위한 패키지이다. 책자의 4.2절과 The L
A
T
E
X Companion [3]
설명되어 있다.
syntonly L
A
T
E
X 문법 검사만 하고 실제 출력물을 생성하지 않게 한다.
inputenc 입력 인코딩을 설정하게 한다.
b
inputenc.dtx 설명이 있다.
a
일은 스템에 당연히 설치되어 있으며 latex doc.dtx 실행하면 쓰기 권한 폴더 어디서
dvi 파일을 얻을 있다. 다른 패키지에 대해서도 마찬가지이다.
b
[역주] 앞서 역자주에서 언급한 대로 오늘 라텍 시스템은 UTF-8 읽고 있기 때문에 입력 인코딩
중요한 제가 아니 되었다. 러나 여전 레거시 활용 도가 높은 황에서 패키지 중요한
역할을 한다.
1.6.3 페이지 스타일
L
A
T
E
X 종류 다. 타일이
부른다.
\pagestyle{style}
여기 style 위치에 인자 plain, headings, empty 운데 하나이다. 1.4
미리 정의된 페이지 스타일을 열거하였다.
1.4: L
A
T
E
X 페이지 스타일
plain 페이지 하단부 중앙에 페이지 번호를 인쇄한다. 기본 페이지 스타일이다.
headings 페이 상단 이지 호와 표제 쇄하 하단부는 비운다. (
책자에서 사용하고 있는 스타일과 비슷하다.)
empty 페이지의 상단과 하단을 모두 비우고 면주에 아무 것도 없게 한다.
12 알아두어야 기본 사항
현재 페이지의 페이지 스타일을 바꾸려면
\thispagestyle{style}
이라 령한다. 스스 이지 하단 주를 설계하여 새로 만들 는데
방법을 The L
A
T
E
X Companion [3] 책자 69페이지 4.3절에서 찾을 있다.
1.7 파일과 확장명
L
A
T
E
X 작업을 하다보면 마주치게 되는 문제로 여러 가지 확장명을 가진 파일들이 생겨나
는데 그게 무엇이고 만들어졌는지 없다는 점이 있다. 다음에 보이는 목록은 T
E
X
작업 중에 있는 파일 종류를 설명한다. 목록에 있는 것이 모든 확장명 파일을
설명하고 있지는 않다. 중요한 확장명 파일에 대한 설명이 빠져 있다고 생각하면 저자에게
알려주기 바란다.
.tex L
A
T
E
X 또는 T
E
X 입력 소스 파일. T
E
X 문서의 기본 확장명이다.
.sty L
A
T
E
X 매크로 패키지. 파일은 \usepackage 명령으로 문서 중에 로드할 있다.
.dtx T
E
X 문서 파일. L
A
T
E
X 스타 파일을 배포할 때에 형식으로 하는 경우가 많다.
문서와 코드를 동시에 포함하고 있는 파일로서 이를 컴파일하여 스타일 파일과 관련
문서를 얻을 있다.
.ins .dtx 일에 포함되어 있는 파일 내기 필요 적은 인스
보조 파일. 온라인으로부터 L
A
T
E
X 패키지를 내려받았을 .dtx .ins 이루어져
있다면 .ins L
A
T
E
X 적용하여 .dtx로부터 필요한 파일을 풀어낸다.
.cls 클래스 파일. \documentclass 명령으로 지정할 있다.
.fd 폰트 기술(description) 파일.
다음은 L
A
T
E
X 실행할 작업 폴더에 생성되는 파일들이다.
.dvi
장치 독립
(Device Independent)’
에서 장명으로 통적
L
A
T
E
X 컴파
결과 성되는 출력 파일이다. DVI 프리뷰어 로그램으로 화면상으로 과를
거나 dvips 같은 유틸리티 프로그램을 이용하여 프린터로 보내거나 한다. 그러나
pdfL
A
T
E
X이나 최근의 새로운 엔진을 적용한 L
A
T
E
X 주로 쓰는 요즘은 파일을
보기가 힘들어졌다.
.log 컴파일 과정에서 일어난 상세한 기록을 담은 로그 파일.
.toc 장절 표제를 저장하는 파일. 다음 컴파일 때에 목차 생성하기 위해 파일을
읽는다.
.lof .toc 같은 종류의 것이며 그림의 목록을 담고 있다.
.lot 마찬가지로 표의 목록을 담고 있다.
규모의 글쓰기 13
.aux 컴파일할 컴파일 하여 전달해야 보를 적어두는 파일. 특히
교차참조에 필요한 정보를 저장하고 있다.
.idx 색인을 만들고 다면 L
A
T
E
X 모든 인용 단어들 파일에 저장한다.
일을 makeindex 프로그램으로 처리하여 색인을 만든다. 만들기와 련해서
68페이지의 4.2절을 참고하라.
.ind .idx 파일 하여 문서 들어 색인 있는 일. 다음 파일
포함된다.
.ilg makeindex 실행한 로그 파일.
1.8 규모의 글쓰기
문서를 작업할 때에 부분으로 파일을 누어놓는 것이 좋다. L
A
T
E
X 이런
작업에 필요한 가지 명령을 제공한다.
\include{lename}
령을 본문에 쓰면 lename.tex 라는 이름의 외부 파일 용을 위치
한다. lename.tex 리하 직전 지가 누어다는 실을
기억하라.
다음 명령 전처리부에 있다. 명령으로 지정 파일에 \include
명령이 본문에 나올 경우에 그것만을 포함하라는 의미이다.
\includeonly{lename,lename,. . . }
전처리부에 명령이 놓여 있으면 여기에 열거 파일에 대한 \include 명령만이 실행
된다. 다른 파일을 불러들이는 \include 명령이 있다고 하더라도 무시된다.
\include 명령은 외부 파일을 새로 이지를 열어서 포함시킨다. \includeonly
쓰는 경우에, 해당 파일이 존재하지 않는 경우라 하더라도 페이지가 나누어지는 위치가
변하지 때문에 유용하다. 그러나 가끔 페이지나눔 없이 파일을 포함하여야 때가
있다. 이럴 때는 다음 명령을 사용한다.
\input{lename}
명령이 주어진 위치에 다른 조치 없이 해당 파일을 바로 포함한다.
syntonly 패키지를 이용하여 문서를 빠르게 검토할 있다. 문서에서 명령의 사용법이
올바른 구문 류는 없는 체크하기만 하고 출력물 (pdf) 파일을 들지 는다.
검토는 매우 빠르게 이루어지므로 귀중한 시간을 절약할 있게 해주는데 특히 터미널로
문서를 작성하는 경우에 유용하다.
\usepackage{syntonly}
\syntaxonly
출력물을 얻으려면 번째 줄을 주석처리( 앞에 퍼센트 기호 % 추가)하면 된다.
2
텍스트의 조판
장을 읽고서 L
A
T
E
X 문서 기초 사항을 알게 되었다. 장에서
실제 제대로 문서를 작성하기 알아두어야 구조
대하여 다룬다.
2.1 텍스트와 언어의 구조
글쓴이: Hapspeter Schmid <hanspi@schmid-werren.ch>
글쓰기 주목적은 자의 상, 보, 식을 달하는 것이다. 내용 구조화되
을수 이해 다. 또한 그래 리적
구조를 반영하고 있을수록 구조를 바로 파악하기 쉬워진다.
L
A
T
E
X 텍스트의 논리적 의미론적 구조만을 지시한다는 점에서 다른 조판 시스템과
다르다. L
A
T
E
X 래스 일과 스타 일에 어지 규칙
텍스트의 조판 형태를 만들어낸다.
L
A
T
E
X에서(일반적으로 타이포그래피에서) 가장 중요한 텍스트 위는 문단이다.
것을 텍스트 단위 하는데 이유는 문단이 가지 일관된 생각이나 개념을 반영하는
타이포그래피상의 형태이기 문이다. 어지 소절에서 예컨 \\ 이용하여 줄을
바꾸거나 또는 줄을 두어 문단을 구분하는 방법을 배우게 것이다. 그러므로 새로운
문단 작되 것은 새로 각이 시작되었 때여 다. 그런 것이 아니 문단
구분 니라 줄나눔만을 써야 한다.
1
문단 분하여야 할지 어떨지 모르겠다면
텍스트가 개념이나 사고의 흐름을 전달하는 매개체라는 관점에서 살펴보라. 문단이 나누
어졌는데 전의 생각이 이어지 다면 문단나눔을 제거해야 한다. 완전히 새로운
사유를 전개하는데 문단이 나누어지지 않았다면 거기서 문단을 나누어야 한다.
많은 사람들 문단나눔 적절히 하는 것이 얼마나 요한지를 모르 있다.
단나눔의 미조 알지 못하 람도 L
A
T
E
X 사용 그것 단나눔
1
[역주] ‘line breaking’ 역어로서 번역본에서 줄나 행나 용하였다. ()’
이라 하기도 한다.
14
텍스트와 언어의 구조 15
인지조 알지 못하고 단을 누는 사람 있다. 스트 수식이 사용될 특히
이런 수를 저지른다. 다음 예를 수식 전후하여 (단나)
들어가고 어떨 들어가지 않았는지 이해하자. (여기 사용된 명령 중에 모르는 것이
있다면 장과 다음 장을 읽은 후에 되돌아와서 다시 읽어보기 바란다.)
% Example 1
\ldots when Einstein introduced his formula
\begin{equation}
e = m \cdot c^2 \; ,
\end{equation}
which is at the same time the most widely known
and the least well understood physical formula.
% Example 2
\ldots from which follows Kirchhoff's current law:
\begin{equation}
\sum_{k=1}^{n} I_k = 0 \; .
\end{equation}
Kirchhoff's voltage law can be derived \ldots
% Example 3
\ldots which has several advantages.
\begin{equation}
I_D = I_F - I_R
\end{equation}
is the core of a very different transistor model. \ldots
문단보 작은 텍스트 단위는 문장이다. 영문에 약어 뒤의 마침표보 문장의 종지를
의미하는 마침표에 공백을 둔다. L
A
T
E
X 입력된 마침표가 어떤 경우에 해당하는지
결정하려 하는데 L
A
T
E
X 선택이 적절하 않으면 글쓴이가 원하는 바를 지시해주어야
한다. 장의 뒷부분에서 설명한다.
문장은 작은 요소들로 구분된다. 대부분의 어에서 문장부 사용법은 매우 복잡
하다. 그렇지만 영어나 독일어 같은 많은 언어에 쉼표 사용법은 그것이 언어의 름상
구분점을 의미한다는 것을 기억하 거의 실수없이 적용할 있다. 쉼표를 어디에 찍어야
할지 모르겠다면 문장을 소리 읽으면서 표가 위치에서 숨을 쉬어보자.
숨쉬기 어색하게 느껴진다면 그곳의 쉼표는 지운다. 만약 어딘가 숨을 쉬거나 잠시
휴지(休止) 두어야겠다고 느낀다면 거기에 쉼표를 삽입한다.
마지막으로 문단은 상위 수준인 (chapter), (section), 소절(subsection) 등을
구성하도록 논리적 구조에 나열되어야 한다. 들어 \section{The Structure
of Text and Language}라고 적어 넣는 것이 무엇을 의미하는지 그리고 어구가 어떻
배치될지 명령 자체가 이미 설명하고 있다.
16 텍스트의 조판
2.2 줄나눔과 페이지나눔
2.2.1 문단 정렬
길이가 같도록 양끝맞춤(justied)으로 정렬하는 것이 보통 문서의 조판 관행이
다. 이를 위하여 L
A
T
E
X 전체 문단의 내용을 최적화하여 단어 사이 나눔과 공백을
삽입한다. 필요하다 줄에 들어맞지 않는 단어를 하이픈처리한다. 문단을 조판하는
모양 클래스를 따른다. 문단의 줄을 여쓰기하고 단과 문단 사이 추가
간격을 두지 않는 것이 일반적이다. 103페이지의 6.3.2절에서 자세히 다룬다.
특별한 경우에 L
A
T
E
X에게 강제로 행을 나누도록 해야 때가 있다.
\\ 또는 \newline
명령은 새로운 문단을 시작하지 않은 상태에서 줄나눔을 행한다.
2
다음 명령은 강제로 줄나눔을 행하되 페이지나눔은 일어나지 않도록 하는 것이다.
\\*
페이지를 시작하려면 다음 명령을 쓴다.
\newpage
줄나눔과 페이지나눔에 관련된 명령 가지가 있다.
\linebreak[n], \nolinebreak[n], \pagebreak[n], \nopagebreak[n]
선택인자 n 0에서 4까지 는데 값을 이용하여 명령 향을
치는 강도를 조절 다. n 4 미만으로 설정하는 것은 L
A
T
E
X 조판 결과가 좋지
않으면 명령을 무시해도 좋다는 의미이다. “break” “new” 명령을 혼동하면 안된다.
“break” 명령이 입력되었을 L
A
T
E
X 전히 른쪽 페이지의 래쪽
가지런하게 렬하려 시도하기 때문 좋지 조판 과를 있다. 이에
대해 다음 절에서 설명한다. 정말로 새로운 이나 새로운 페이지 시작하려 한다면
“new” 명령을 써야한다. 이름이 그렇게 붙여진 이유가 있는 것이다.
L
A
T
E
X 가능한 최선의 나눔을 하려고 한다. L
A
T
E
X 설정한 높은 기준을
충족하는 줄나눔이 패하면 단에 줄이 오른쪽으 튀어나가도 조판한다.
그러면서 “overfull hbox”라는 메시지를 파일 정에 여준다. L
A
T
E
X 어의
적절한 분철(hyphenate) 위치를 찾지 못했을 자주 일어난다.
3
L
A
T
E
X에게 기준을
낮추라고 하려면 \sloppy 명령을 준다. 이렇게 하면 튀어나가는 줄은 사라지지만 결과가
적절하 않더라도 단어 이의 간격을 늘려 조판하면 “underfull hbox” 경고를
2
[역주] 안내서 많은 제에 \\ 의하여 개행하는 예를 보이 있다. 그러 그것 좁은
example 공간에서 부득이하게 그리 것이다. 문단 나누기를 위해서는 줄을 두어야 한다. 강제 개행을 문단
나누기 대신 써서는 된다.
3
L
A
T
E
X Overfull \hbox 발생한 번호와 고메시지를 보여주기는 하지만 해당 위치를 찾는 것이
항상 쉬운 것은 아니다. \documentclass 명령의 옵션으로 draft 지정하면 이런 일이 발생 른쪽
여백에 두꺼운 검은 선을 그려서 표시해준다.
줄나눔과 페이지나눔 17
여주므로 대부분의 경우에 출력되는 결과는 그다지 좋지 않다. L
A
T
E
X 원래의 기준으로
조판을 행하도록 되돌리려면 \fussy 명령을 준다.
2.2.2 분철
L
A
T
E
X 필요할 단어를 분철(hyphenate)한다.
4
분철 알고리즘이 적절한 분철 위치를
찾지 못하면 예외 처리를 T
E
X에게 지시하는 다음 명령을 써서 문제를 해결한다.
\hyphenation{word list}
명령 인자 열거되는 어들은 - 표시 위치에서 분철 이루어진다.
자로 L
A
T
E
X (letter) 하는 자와 호를 함해 다.
분철 치는 hyphenation 령이 주어 위치에서 성화된 용으 저장된다.
hyphenation 명령을 문서의 전처리부에 었다면 언어 전체의 철에 영향 미친
다. 령을 \begin{document} 이후 polyglossia 다국 패키지를
활용한다면 polyglossia 의하여 활성화된 언어에서만 동작하게 있다.
다음 예는 “hyphenation” “Hyphenation” 동일한 분철 규칙을 적용하고 “FOR-
TRAN”, “Fortran”, “fortran” 대해서 분철을 허용하지 않게 한다. 특수문자나 기호는
허용되지 않는다.
5
\hyphenation{FORTRAN Hy-phen-a-tion}
\- 령은 어에 임의 규칙 입한다. 리고 치가 어에
유일하게 분철 가능한 위치가 된다. 령은 특수문(: 강세표시 문자) 포함하고
특히 수문 함하 대하 L
A
T
E
X 동으
분철하지 않기 때문이다.
6
I think this word is: su\-per\-cal\-%
i\-frag\-i\-lis\-tic\-ex\-pi\-%
al\-i\-do\-cious
I think this word is: supercalifragilisticexpiali-
docious
단어를 묶어서 줄나눔이 일어나지 않도록 하려면 다음과 같이 한다.
\mbox{text}
인자로 주어진 단어들은 항상 묶인 상태가 된다.
My phone number will change soon.
It will be \mbox{0116 291 2319}.
The parameter
\mbox{\emph{filename}} should
contain the name of the file.
My phone number will change soon. It will be
0116 291 2319.
The parameter lename should contain the
name of the le.
\fbox \mbox 비슷한데 인자로 주어진 단어에 테두리를 그려준다.
4
[역주] 국어 표기법에서 분철부호 않으 모든 음절문 사이에서 (일부 외를 외하)
줄나눔을 있다.
5
[역주] 단어 사이에 , 등의 구분 기호가 없음에 주의
6
[역주] 세표시 문자 포함된 어를 분철하 못한다는 것은 OT1 코딩의 폰트 사용하는 경우에
해당한다. 현대의 유니코드 텍엔진으로는 이런 문자가 포함된 단어에 대해서도 분철이 가능하다.
18 텍스트의 조판
2.3 미리 정의된 문자열
앞서 몇몇 제에서 특정 문자열을 식자하는 L
A
T
E
X 명령을 이미 보였다. T
E
X, L
A
T
E
X
로고를 식자하는 명령이 포함되어 있다.
명령어 출력 설명
\today March 17, 2021 시스템의 오늘 날짜
7
\TeX T
E
X 최고의 조판 시스템
\LaTeX L
A
T
E
X 지금 배우고 있는 것의 이름
\LaTeXe L
A
T
E
X 2
ε
L
A
T
E
X 현재 버전
2.4 특수문자와 기호
2.4.1 따옴표
따옴표를 입력하기 위해 타자기에서처럼 " 사용해서는 된다. 판물에서 사용하는
여는 옴표와 닫는 옴표는 양이 르다. L
A
T
E
X `(grave accent) 여는
따옴표를, 개의 '(vertical quote) 닫는 따옴표를 표시한다. 작은따옴표는 이것을
번씩 사용한다.
``Please press the `x' key.''
“Please press the ‘x’ key.
편집 상에서 (폰트 따라 다르겠지만) 여는 따옴표가 back-tick이나 grave accent(`)
이고 닫는 따옴표가 quote(') 것이 마음에 들지 않을 수도 있지만 그렇게 입력해야 하는
것으로 기억하자.
8
2.4.2 대시와 하이픈
L
A
T
E
X 가지 대시가 있다. 가지는 잇대어 입력하는 대시의 개수에 따라 달라진다.
번째 것은 사실 대시가 아니라 수학 부호이다.
daughter-in-law, X-rated\\
pages 13--67\\
yes---or no? \\
$0$, $1$ and $-1$
daughter-in-law, X-rated
pages 13–67
yes—or no?
0, 1 and 1
각각 ‘-’ 하이픈, ‘–’ 엔대시, ‘—’ 엠대시, 뺄셈 부호라고 부른다.
9
7
[역주] 한국어 T
E
X에서 \today 명령이 만들어내는 문자열은 “2019 5 6 모양일 있다.
날짜 문자열은 polyglossia 패키지가 해당 언어에 따라 생성할 수도 있다.
8
[역주] T
E
XShop이나 T
E
Xworks 같은 L
A
T
E
X 전용 편집기는 사용자의 따옴표 입력 편의를 위해 키보드
" 연달 입력해 지능적으 `` '' 꾸어주는 능이 있다. X
Ǝ
L
A
T
E
X 위해 니코드 따옴 ”로
바꾸어주기도 한다. 그러나 소스에 키보드 따옴표 문자 " 그대로 입력되어서는 된다는 것은 유효하다.
9
[역주] 한글 맞춤법에 부호와 유사한 모양의 줄표 붙임표 있다. 길이에 따른 대시의 종류 구분은
없으 사용법에도 차이 다. 예를 영어 문장에서 범위 타내기 위하 대시를 쓰지
맞춤법에서는 자리에 물결()’ 도록 규정하고 있다. 붙임표는 (하이프네이션) 아무 관련
없고 이어지 내용 묶어 열거할 사용하는 것이다. 엠대시 우리 글의 줄표(어구를 나누거나 강조 생략하기
위해 쓰는 부호) 자리에 있다.
특수문자와 기호 19
2.4.3 틸데 ()
주소에서 흔히 보이는 문자 ~ 틸데이다. L
A
T
E
X에서 \~{} 입력하면 ~ 출력해주
지만 원하던 것이 아닐 있다. 다음 예를 보라.
10
http://www.rich.edu/\~{}bush \\
http://www.clever.edu/$\sim$demo
http://www.rich.edu/~bush
http://www.clever.edu/demo
2.4.4 슬래시 (/)
래시 려면 단히 read/write 력할 다.
지만 체를 식하 다. 내부
나지 때문 ‘overfull’ 다. \slash 령을 하여
read\slash write 같이 입력하면 분철이 허용되게 된다. 그러나 분수나 단위를 나타
때는 / 문자를 그대로 사용해야 한다. 5 MB/s.
2.4.5 기호 ()
기호를 입력하는 방법을 다음 예에서 있다.
It's $-30\,^{\circ}\mathrm{C}$.
I will soon start to
super-conduct.
It’s 30
C. I will soon start to super-conduct.
또는, \textdegree 령으 력하 것도 하다. \textcelsius
기호 뒤에 C 붙여준다.
30 \textcelsius{} is
86 \textdegree{}F.
30 is 86 °F.
경우에, 만약 X
Ǝ
L
A
T
E
X이나 LuaL
A
T
E
X 아닌 레거(legacy) T
E
X (pdfL
A
T
E
X)으로
컴파일하고 다면 textcomp 키지를 \usepackage{textcomp} 령으로 로드하여야
한다.
2.4.6 유로 통화 기호(€)
이제 금융 관련한 글을 쓰려면 유로화 기호가 필요한 시대가 되었다. 오늘날 많은 폰트들이
기호를 이미 포함하고 있으므로 다음과 같이 하는 것으로 충분하다.
\texteuro
레거시 엔진(pdfL
A
T
E
X) 쓰고 있다면 textcomp 패키지가 필요하다.
번역본의 대본이 영문판 lshort에는 유로화 기호에 대한 다양한 표현 방법을 소개
하고 있으나 일부는 X
Ǝ
L
A
T
E
X 같은 현대적 T
E
X 엔진에서 불필요하거나 호환되지 않는
것이고 우리 실정에 들어맞는다고 없어서 번역본에서는 해당 부분을 제외하였다.
10
[역주] 주소를 문서 적어넣을 적에 틸데 문자를 그대로 사용할 있게 하는 url 또는 hyperref 패키지의
\url 명령을 쓰는 것이 좋다.
20 텍스트의 조판
참고로, 원화 기호와 엔화 기호는 다음과 같이 표현할 있다. (마찬가지로 textcomp
패키지를 요구할 있다.)
\textwon, \textyen
₩, ¥
2.4.7 줄임표 (. . . )
타자기에서는 쉼표나 마침표가 다른 글자와 같은 폭을 차지하지만 인쇄된 서적에서는
글자들이 글자에 아주 가깝게 붙는다. 그러므로 줄임표 나타내기 위하
개로 표현하면 제대로 표현되지 않는다. 이를 위한 별도의 명령이 있다.
11
\ldots (low dots)
Not like this ... but like this:\\
New York, Tokyo, Budapest\ldots
Not like this ... but like this:
New York, Tokyo, Budapest. . .
2.4.8 합자
라틴문자의 인쇄 있어 낱글자를 각각 자하지 않고 글자를 묶어 하나의 자로
식자하는 우가 있다. 이것 합자(ligature)라고 한다. 제로는 특수기호 사용하여
식자하는 것이다.
. . . instead of ff fi fl ffi . . .
합자로 식자하 않고 글자 낱낱이 찍게 려면 \mbox{} 쳐지는 글자 이에
넣는 방법이 있다. 단어가 합쳐져 이루어진 단어의 경계 위치에서 필요할 있다.
\Large Not shelfful\\
but shelf\mbox{}ful
Not shelul
but shelfful
2.4.9 액센트와 특수 문자
L
A
T
E
X 여러 언어의 액센트와 특수 문자를 지원한다. 2.1 o 문자에 다양한 액센트를
붙인 예를 보여준다. 다른 글자에도 마찬가지로 적용 가능하다.
12
i j 위에 액센트 두려 점을 제거해야 필요가 있다. \i, \j 같이 입력하면
된다.
H\^otel, na\"\i ve, \'el\`eve,\\
sm\o rrebr\o d, !`Se\~norita!,\\
Sch\"onbrunner Schlo\ss{}
Stra\ss e
Hôtel, naïve, élève,
smørrebrød, !‘Señorita!,
Schönbrunner Schloß Straße
11
[역주] 한글 춤법에서 규정하고 줄임표 여섯 개의 가운뎃점으로 표현한다. 이를 위해서 kotex
패키지가 재정의한 \ldots 써야 한다⋯⋯.
12
[역주] X
Ǝ
T
E
X이나 LuaT
E
X 같은 유니코드 엔진을 사용할 적에 액센트 붙은 문자는 유니코드 문자를
그대로 입력해도 처리한다: ò ó ô õ ö ø.
다국어 지원 21
2.5 다국어 지원
글쓴이: Axel Kielhorn <A.Kielhorn@web.de>
L
A
T
E
X으로 영어 아닌 다른 언어로 서를 작성하 있어 다음 가지가 마련되어
있어야 한다.
1. 자동 생성되는 문자열
13
해당 언어에 알맞게 적용되어야 한다.
2. 해당 언어의 분철 규칙을 L
A
T
E
X 있도록 해야 한다.
3. 언어와 문자마다 나름의 타이포그래피 규칙이 있다. 예컨대 프랑스어에서는 콜론
(:) 앞에 공백을 두는 것이 관행이다.
또한 신의 언어 텍스트를 입력함에 있어 2.1에서 명령들 일일이
타이핑하 것은 귀찮은 일이다. 이런 문제를 극복하기 위해서 최근까지 입력 인코딩이
폰트 인코딩이라는 골치아픈 영역을 알아야 했다. 그러나 오늘날 현대적 T
E
X 엔진은
자연스럽게 UTF-8 읽고 있게 되었으며 문제점들은 상당한 정도로 완화되었다.
polyglossia[18] babel 패키지를 대체하는 패키지로서 언어 턴과 자동
생성 문자열을 처리해준다.
fontspec[20] X
Ǝ
L
A
T
E
X LuaT
E
X 폰트 사용 제어한다. 폰트 Latin
Modern Roman이다.
2.5.1 Polyglossia 사용법
다중언어를 적절 처리하게 하기 위해 문서 전처리부 적어야 하는 명령이 T
E
X 엔진에
따라 조금씩 다르다. 22페이지의 그림 2.1 전처리부에서의 언어 설정에 관한 예시이다.
동안 유니코드 T
E
X 엔진을 사용해서 얻을 이득이 별로 없었다. 상황은 라틴
문자를 벗어나서 그리스어나 러시아어와 같은 흥미로운 언어를 만나면서 바뀌게 되었다.
유니코드에 기반을 시스템을 사용하면 에디터에 고유 문자를 손쉽게(얼마나 쉬운가는
생각하기 나름이지만) 입력해넣을 있다. 그리고 T
E
X 그것을 이해한다.
2.1: 액센트와 특수 문자
ò \`o ó \'o ô \^o õ \~o
ō \=o \.o ö \"o ç \c c
ŏ \u o ǒ \v o ő \H o o� \c o
\d o \b o
oo \t oo
œ \oe Œ \OE æ \ae Æ \AE
å \aa Å \AA
ø \o Ø \O ł \l Ł \L
ı \i ȷ \j !‘ !` ?‘ ?`
13
목차(Table of Contents), 그림 목차(List of Figures), . . . .
22 텍스트의 조판
\usepackage{iftex}
\ifXeTeX
\usepackage{fontspec}
\else
\usepackage{luatextra}
\fi
\defaultfontfeatures{Ligatures=TeX}
\usepackage{polyglossia}
그림 2.1: LuaL
A
T
E
X X
Ǝ
L
A
T
E
X 위한 전처리부 다국어 처리 일괄 설정
다국어로 글쓰는 것은 간단하다. 전처리부에 해당 언어를 특정하기만 하면 된다. 다음
예에서 csquotes 패키지를 사용한 것을 있는데 사용 중인 언어에 따라 적절한 유형의
인용부호를 생성해준다. 패키지를 언어 설정보다 앞에 두어야 한다는 점을 기억하자.
\usepackage[autostyle=true]{csquotes}
\setdefaultlanguage{english}
\setotherlanguage{german}
이제 독일어 문단은 german 환경으로 있다.
English text.
\begin{german}
Deutscher \enquote{Text}.
\end{german}
More English \enquote{text}.
English text. Deutscher „Text. More English
text.
다른 언어로 단어 정도를 적으려면 \textlanguage 명령을 있다.
Did you know that
\textgerman{Gesundheit} is
actually a German word.
Did you know that Gesundheit is actually a
German word.
우는 요없 얻는
장점 가지 다. 러나 2 어가 약간 이한 것이라면 노력 필요가
없지 않을 것이다.
문서에서 사용된 폰트에 2 언어에서 요구하는 글리프가 빠져 있을 수가 있다. Latin
Modern 폰트를 예로 들자면 키릴 문자를 포함하고 있지 않다. 해결책은 해당 언어에 적합
폰트를 하나 정의하는 일이다. polyglossia 패키지는 새로운 언어가 활성화되 먼저
언어 용으로 정의된 폰트가 있는지를 체크한다. computer modern 폰트가 마음에 든다면
다음 내용을 문서 전처리부에 두어서 Computer Modern Unicode 폰트를 사용하게
있다.
LuaL
A
T
E
X 간단하다.
\setmainfont{CMU Serif}
\setsansfont{CMU Sans Serif}
\setmonofont{CMU Typewriter Text}
다국어 지원 23
X
Ǝ
L
A
T
E
X 위해서는 조금 구체적으로 설정한다.
\setmainfont{cmun}[
Extension=.otf,UprightFont=*rm,ItalicFont=*ti,
BoldFont=*bx,BoldItalicFont=*bi,
]
\setsansfont{cmun}[
Extension=.otf,UprightFont=*ss,ItalicFont=*si,
BoldFont=*sx,BoldItalicFont=*so,
]
\setmonofont{cmun}[
Extension=.otf,UprightFont=*btl,ItalicFont=*bto,
BoldFont=*tb,BoldItalicFont=*tx,
]
폰트 설정이 적절하게 이루어지면 다음과 같이 있다.
\textrussian{Правда} is
a russian newspaper.
\textgreek{ἀλήθεια} is truth
or disclosure in philosophy
Правда is a russian newspaper. ἀλήθεια is truth
or disclosure in philosophy
xgreek 패키지[21] 리스어와 현대 그리스어(monotonic 또는 polytonic)
리를 지원한다.
오른쪽에서 왼쪽으로 쓰는(RTL) 언어
왼쪽에서 오른쪽으 쓰는 것이 보통이지 오른쪽에서 왼쪽으로 쓰는(RTL) 언어 있다.
RTL 언어를 식자하기 위하여 polyglossia 패키지는 bidi 패키지를 요구한다. bidi 패키지는
보통 지막 드하 hyperref보다 뒤, 마지막에 치하여야 다. (polyglossia
bidi 로드하기 때문에 polyglossia 마지막으로 로드하는 패키지가 되어야 한다.)
xepersian[23] 키지는 르시아어를 지원한다. \section 같은 L
A
T
E
X 명령을
르시어로 입력 때문 용자 력적이다. 지는
X
Ǝ
L
A
T
E
X 하여 카시
14
자할 일한 패키지이다. 비슷 고리즘을
사용하는 시리아어 패키지가 개발 중에 있다.
SCICT
15
공하 IranNastaliq 트는 웹사이 http://www.scict.ir/Postal/
Home/Default.aspx에서 내려받을 있다.
arabxetex[19] 패키지는 아랍 문자를 사용하는 여러 언어를 지원한다.
• arab (Arabic)
• persian
• urdu
• sindhi
• pashto
14
[역주] 아랍어 알파벳의 문자 사이 연결부를 길게 늘려 식자하는 모양을 말한다.
15
Supreme Council of Information and Communication Technology
24 텍스트의 조판
• ottoman (turk)
• kurdish
• kashmiri
• malay (jawi)
• uighur
패키지는 ArabT
E
X 아스키 전사법으로 입력한 소스를 X
Ǝ
L
A
T
E
X으로 처리하게 하는
폰트 매핑을 제공한다.
여러 종류 아랍어를 지원하 폰트를 IRMUG
16
제공한다. http://wiki.irmug.
org/index.php/X_Series_2.
히브리어를 위한 패키지는 없다. polyglossia 히브리어 지원이 충분해서 불필요하기
때문이다. 그러나 유니코 히브리 폰트 필요하다. SBL Hebrew 비상업적
능한 자유폰트이며 http://www.sbl-site.org/educational/biblicalfonts.
aspx 다. Open Font 이선 용가 Ezra SIL 폰트 다.
http://www.sil.org/computing/catalog/show_software.asp?id=76에서 얻을
있다.
script 지정해야 한다는 점을 기억하자.
\newfontfamily\hebrewfont[Script=Hebrew]{SBL Hebrew}
\newfontfamily\hebrewfont[Script=Hebrew]{Ezra SIL}
한국어, 중국어, 일본어 (CJK)
xeCJK[24] 패키지가 언어들에 대한 폰트 선택과 문장부호 등을 다룬다.
2.5.2 한글과 한국어 문서
글쓴이: 역자가 한국어판을 위해 추가
현대적 엔진인 X
Ǝ
T
E
X LuaT
E
X에서 한글을 식자하려면 fontspec 패키지와 한글
리프를 가진 글꼴만 있으면 능하다. T
E
X Live 포함된 한글 트루타입 폰트 글꼴
있으므로
{\fontspec{UnBatang.ttf}한글 漢字}
같이 식자할 있다. 한자에 대해서도 마찬가지이다.
polyglossia 패키지는 korean 언어 모듈을 가지고 있어서 한글을 지원한다. 글꼴을
설정해주는 것에 주의하면 된다.
\usepackage{polyglossia}
\setotherlanguage{korean}
\newfontfamily\hangulfont{UnBatang.ttf}
16
Iranian Mac User Group
다국어 지원 25
이제 korean 환경이나 \textkorean 령을 사용할 다. 원한다면 main language
korean으로 설정하고 수도 있으 우에 자동 생성 자열, 간격, 일부
문장부호 등을 한글 문서에 알맞도록 설정해준다.
앞선 에서 개하 xeCJK 지로 글을 자하 것도 렵지 다.
주의할 것은 중국어나 일본어에는 띄어쓰기가 없는 반해 우리 글은 띄어쓰기를 한다는
점이다. 그러므로 폰트 설정 시에 사실을 명시해야 것이다.
\usepackage{xeCJK}
\xeCJKsetup{%
CJKspace=true,%
CJKecglue={}%
}
\setCJKmainfont{UnBatang}%
[Ligatures=TeX,BoldFont={*-Bold},AutoFakeSlant]
이상의 방법들은 한국어를 주요 어로 하는 서보다는 보조 언어로서 한글 표기가
필요할 경우에 있다.
ko
.
T
E
X
한국어를 주요 언어 사용하 한글 서를 작성한다 kotex 키지군을 이용하는
것이 가장 바람직하다. 패키지군의 장점을 열거하면 다음과 같다.
1. T
E
X Live 포함되어 있어 별도의 설치가 필요없다.
2. 다양한 엔진에 대응한다. (pdfL
A
T
E
X, X
Ǝ
L
A
T
E
X, LuaL
A
T
E
X, plain T
E
X )
3. 자동조사(29페이지 보라) 비롯하여 한국어를 올바로 자하기 위한 기능들을
갖추고 있다.
4. KTS(한국텍학회) 공식적으 지원하는 패키지로서 KTUG(http://www.ktug.
org) 통하여 사용상의 도움을 얻을 있다.
5. 단순한 문서에서 복잡한 문서나 단행본까지 kotex으로 작성된 많은 예들이 있다.
6. 확장 기능(옛한글, CJK 언어지원, index 생성 유틸리티 ) 클래스 제공한다.
\usepackage{kotex}
kotex 패키지는 현재 엔진에 따라 동작이 조금씩 달라진다. 여기서는 X
Ǝ
L
A
T
E
X 엔진을
심으 한다. X
Ǝ
L
A
T
E
X 른바
설치된 트루타입과 오픈타입 폰트를 L
A
T
E
X 문서에서 사용할 있다는 점이다. ko
.
T
E
X
한글 트를 자유롭게 용할 있다. X
Ǝ
L
A
T
E
X에서 서의 제에 하여
26 텍스트의 조판
77페이지의 4.7.2절에 약간의 정보를 추가해두었다. 별다른 설정이 없으면 한글 본문글꼴
바탕 사용된다.
\usepackage[hangul]{kotex}
kotex [hangul] 옵션을 부여하면 단순히 한글을 식자하는 것을 넘어서 한글 문서에
요한 요소들을 좀더 풍부하 갖추어준다. 예를 들면 간격이 보기 좋을 정도로 늘어나
목차의 제목이 “Contents” 니라 차례 바뀌며 book이나 report \chapter
1 같은 형식으로 식자된다.
\documentclass{oblivoir}
kotex 패키지군 중에 한글 문서를 위한 클래스가 제공된다. oblivoir 클래스를 사용하면
\usepackage{kotex} 없이 바로 한글 문서를 작성할 있고 한글 문서에 적합한 설정을
기본적으로 갖추어준다. 패키지는 memoir 바탕으로 작성되었으므로 memoir 다양
기능을 문서에서 사용할 있다.
레거시 텍의 한글 패키지
유니코드 엔진이 보편화되기 전에 한글을 표현하는 것이 쉽지 않은 일이었다. 현재
레거시 텍을 위한 한글 패키지 가운데 중요한 것은 다음 가지이다.
cjk-ko kotex 패키지군의 부이지만 CJK 키지를 활용하도록 되어 있는 단한
지이다.
kotex-utf kotex 패키지군의 일부로서 이전 HL
A
T
E
X 계승하고 있는 것이다.
CJK 중국어, 일본어, 한국어 외에도 가지 아시아 언어를 표현할 있는 패키지이
다.
한글을 식자하는 폰트는 cjk-ko kotex-utf nanumtype1 또는 unfonts-type1 활용하
CJK uhc 폰트를 쓴다. 이외에 있는 폰트는 거의 없다.
현재도 pdfL
A
T
E
X 용해야 경우가 적지 않다. 그럴 적에 키지들을 활용할
있다. 만약 \usepackage{kotex} 문장 다면 적으 kotex-utf 실행
되어 있다. 레거시 텍의 kotex 적에는 inputenc 함께 쓰지 않도록 주의하라.
2.6 단어 사이의 공백
조판 결과 양끝맞춤이 제대 도록 하려고 L
A
T
E
X 이에 가변적 백을
는다. 문장 에는 트의 성을 추가다.
L
A
T
E
X 침표, 물음표, 느낌표가 오면 장이 끝난 것으 간주한다. 대문 음에
오는 마침표는 보통 약어를 나타내기 위한 것으로 문장의 종지로 취급하지 않는다.
정에 외가 들은 서작성자가 실을 려주어 다. 페이
앞에 백슬래시 백의 폭을 하지 않게 하는 것이다. 틸데 문자 ~ 폭을
표제와 장절 27
고정시키면서 줄나눔도 일어나지 않도 하는 공백을 만든다. 마침표 앞의 \@ 명령은
마침표가 대문자 뒤에 나온 경우라도 문장의 끝임을 표시한다.
Mr.~Smith was happy to see her\\
cf.~Fig.~5\\
I like BASIC\@. What about you?
Mr. Smith was happy to see her
cf. Fig. 5
I like BASIC. What about you?
문장의 종지 뒤에 추가 공백이 붙지 않도록 하려면
\frenchspacing
이라고 선언한다. L
A
T
E
X으로 하여금 마침표 뒤에 추가 공백을 삽입하지 말고 일반 문자
처럼 취급하라 시하 이다. 비영어권 언어에서 (문헌목록 ) 반적이다.
\frenchspacing 사용한다면 \@ 명령은 불필요하다.
2.7 표제와 장절
독자 서를 이하 문서 장, 절, 절로 분한다. L
A
T
E
X에서
표제를 인자로 취하는 특별한 명령으로 이를 표현한다. 올바르게 사용하는 것은 전적으로
문서작성자의 몫이다.
다음 장절 명령은 article 클래스에서 사용할 있다.
\section{...}
\subsection{...}
\subsubsection{...}
\paragraph{...}
\subparagraph{...}
장과 호매김을 꾸지 않으면서 서를 1부, 2 등으 구분하려 \part
명령을 쓴다.
\part{...}
report book 클래스로 작업하고 있다면 추가적인 상위 장절명령이 하나 있다.
\chapter{...}
article 래스 chapter 문에 article 아서 chapter 묶어 책으
만들기 쉽다. 장절 표제의 간격, 번호매김, 폰트 크기 등은 클래스의 정의에 따라 L
A
T
E
X
자동으로 설정한다.
조금 특별한 장절명령이 가지 있다.
\part 명령은 번호에 영향을 주지 않는다.
\appendix 명령은 인자 없이 쓰인다. 번호 모양을 숫자가 아닌 문자 바꾼다.
17
17
article 스타일에서는 번호가 아니라 번호가 바뀐다.
28 텍스트의 조판
L
A
T
E
X 파일 에서 기억 페이 아서
목차를 만든다.
\tableofcontents
명령이 어진 위치에 목차를 는다. 문서라면 컴파일(“L
A
T
E
X 실행”)해야
올바른 차를 생성한다. 컴파일해야 하는 경우도 있는 추가 컴파일이 필요한지
여부를 L
A
T
E
X 알려준다.
위에 열거 령에 명령 다. 별표 붙은 이란 명령
이름 * 여서 지시하는 말한다. 경우에는 제목 차에 타나
않으며 번호 붙지 는다. 들면 \section{Help} 대신 \section*{Help}
하는 것이다.
대개 장절의 제는 입력된 그대로 차에 나타난다. 런데 표제가 너무 길어
목차에 넣기에는 적절치 않을 때가 있다. 목차에 넣을 () 표제를 별도로 지정하려면
실제 표제 앞에 옵션 인자로 주면 된다.
\chapter[Title for the table of contents]{A long
and especially boring title, shown in the text}
문서 전체의 타이틀을 만드는 명령은 다음과 같다.
\maketitle
타이틀을 만들기 위해 필요한 내용을 다음 명령으로 정의한다.
\title{...}, \author{...}, \date{...} (생략가능)
\maketitle 르기 명령 실행되어 있어 다. \author 령으
사람을 열거하려 때는 \and 명령으로 각각을 구분한다.
8페이지의 그림 1.2 위에 언급한 명령이 사용된 사례를 있다.
위에 설명한 장절 명령과는 별도로 L
A
T
E
X 2
ε
에서 book 클래스에서 쓰는 가지 명령이
추가되었다. 출판물 획하는 용한 령들이다. 출판 행본에서
있는 것처럼 장의 표제나 페이지 번호 등을 변경한다.
\frontmatter 명령은 문서 본문의 시작(\begin{document}) 직후에 제일 먼저 와야
한다. 페이지 번호 모양 로마 숫자로 바꾸고 장절 표제에는 별표 붙은 명령을
것처럼 번호가 붙지 않는다. 그러나 목차에는 표제가 나타날 것이다.
\mainmatter 전에 온다. 양이 아라
숫자로 매겨지고 페이지 번호를 1부터 새로 시작한다.
\appendix 책의 시한다. chapter
알파벳 문자로 붙는다.
\backmatter 마지막 부분 바로 앞에 두는 명령이다. 뒤로는 참고문헌 목록, 색인
등이 온다. 표준 클래스에서 특별한 모양의 변화는 없다.
교차참조 29
2.8 교차참조
단행본, 보고서, 논문 등에는 그림, 표, 텍스트의 특정 부분에 대하여 교차참조하는 경우가
많다. L
A
T
E
X 교차참조를 위하여 다음과 같은 명령을 마련하고 있다.
\label{marker}, \ref{marker}, \pageref{marker}
여기서 marker 문서작성자가 시하는 식별자이다. \ref 명령을 나면 L
A
T
E
X
응하는 \label 명령이 위치한 곳에 있는 절, 소절, 그림, 표, 정리(theorem) 들의 번호를
취하여 자리에 식자한다. \pageref \label 있는 페이지의 번호를 인쇄한다.
18
표제 텍스트와 페이지 번호 목차를 만들 때와 마찬가지 숫자(번호)들은 직전 컴파일
때에 저장해둔 것을 용하므 교차참조 숫자가 나타나려면 상의 컴파일이
필요하다.
19
A reference to this subsection
\label{sec:this} looks like:
``see section~\ref{sec:this} on
page~\pageref{sec:this}.''
A reference to this subsection looks like: “see
section 2.8 on page 29.
2.9 조사의 선택
글쓴이: 한국어판을 위하여 역자가 추가
한국어의 조사 중에는 앞말의 끝소리 따라 형태가 교체되는 것이 있다. 한국어 문서를
작성할 교차참조 기능을 사용하 되면 문서작성자가 \ref{<label>}을’’이라 적는
시점에 \ref 들어내 숫자가 얼마일 다. 러므로 뒤에 조사
어진 다.
없애고 조사의 형태 L
A
T
E
X 직접 선택할 해주는 기능이 ko
.
T
E
X 있다. 만약
ko
.
T
E
X 사용하고 있다면 위의 사례는 다음과 같이 백슬래시를 붙여서 입력한다.
\ref{autojosa}\ 보아라
2.9 보아라
이를 자동조사라고 부른다. 자동조사 명령은 다음과 같다.
\ \ \ \ \ \ \ \ \ \으로 \ \이라
짝을 이루는 조사 명령은 어떤 것을 써도 결과가 같다.
자동사는 교차조의 경우 숫자 식의 인용 (\cite) 해서 믿
만하게 동작한다.
18
명령이 가리키는 바가 무엇인지를 명령 자체가 알고 있는 것이 아니라 점을 기억하자. \label 단지
마지막에 얻은 번호를 저장할 뿐이다.
19
[역주] 방정 (1)” 같은 모양 드는 특별한 참조 명령 \eqref 있다. 이것 학식의 번호
참조하는데 amsmath 패키지에서 제공하는 것이다. 다음 장의 수학식 조판에서 사용하고 있다.
30 텍스트의 조판
2.10 각주
각주를 달려면 다음 명령을 쓴다.
\footnote{footnote text}
그러 페이지의 하단부에 각주 쇄된다. 각주 전체나 일부 대해
붙는
20
것이므로 쉼표나 마침표 뒤에 붙어야 한다.
21,23
Footnotes\footnote{This is
a footnote.} are often used
by people using \LaTeX.
Footnotes
a
are often used by people using
L
A
T
E
X.
a
This is a footnote.
2.11 단어의 강조
타자기를 쓰던 시절에는 중요한 단어에 밑줄을 그어서 강조했다.
\underline{text}
출판물에서는 타자친 원고의 밑줄이 그어진 부분 italic으로 식자하여 강조임을
시했다. 문서작성자는 밑줄이든 이탤릭이든 신경쓸 필요가 없다. 중요한 점은 L
A
T
E
X에게
부분이 특히 중요하여 강조로 표현되어야 한다는 것을 알려주는 것이다.
\emph{text}
명령으 강조 어구임을 표시할 있다. 실제로 인자가 어떻게 인쇄되는가는 맥락에
따라 달라진다. 다음 보기를 보라.
24
\emph{If you use
emphasizing inside a piece
of emphasized text, then
\LaTeX{} uses the
\emph{normal} font for
emphasizing.}
If you use emphasizing inside a piece of empha-
sized text, then L
A
T
E
X uses the normal font for
emphasizing.
폰트의 종류나 크기를 바꾸고 싶다면 99페이지의 6.2절이 약간 도움이 것이다.
20
각주를 붙인
21
각주는 서의 본문 읽는 독자 주의를 다른 곳으 돌리게 한다는 기억하라. 무튼 각주까
모두 읽는 우리 같은 사람은 별난 축에 든다. 그러니 말하고 있으 본문 함시키는 것이
좋지 않을까?
22
22
각주에 다시 각주를 붙여본 예. \footnote 각주 내에 다시 없기 때문에 여기서는 \footnotemark
\footnotetext 따로 이용하였다.
23
[역주] 미주 하여 페이 바닥 주를 달지 않고 이나 마지막에 아두는 방법 있다. 이를
구현하려면 endnotes 또는 enotez 패키지를 이용할 있다.
24
[역주] 한글 폰트의 폰트가족에는 이탤릭체 다. 따라서 강조 탤릭을 쓰지 않는다. 종래 우사체
(右斜體)” 또는 기울임이라는 것으로 강제로 오른쪽으 기울어지 변형(fake-slanted) 글자를 이탤릭
대용으로 쓰던 행이 없지는 않지만 오늘날 적절한 법으로서 천하기는 렵다. 한글로 문장에서 일부
단어를 강조하기 위해서
˙
˙
˙
˙
˙
˙
˙
찍거나 서체를 바꾸는 방법이 바람직하다.
환경 31
2.12 환경
\begin{environment} text \end{environment}
예제에서 environment 환경의 이름이다. 나의 다시 환경이 수도
있다. 다만 열고 닫는 순서를 지켜야 한다.
\begin{aaa}...\begin{bbb}...\end{bbb}...\end{aaa}
이하 소절에서 중요한 환경을 설명하겠다.
2.12.1 리스트 문단(Itemize, Enumerate, Description)
itemize 리스트, enumerate 번호붙은 스트, description 명형
트를 위한 환경이다. 항목 \item으로 지시해야 하나 이상의 \item 반드
있어야 한다.
\flushleft
\begin{enumerate}
\item You can nest the list
environments to your taste:
\begin{itemize}
\item But it might start to
look silly.
\item[-] With a dash.
\end{itemize}
\item Therefore remember:
\begin{description}
\item[Stupid] things will not
become smart because they are
in a list.
\item[Smart] things, though,
can be presented beautifully
in a list.
\end{description}
\end{enumerate}
1. You can nest the list environments to
your taste:
• But it might start to look silly.
- With a dash.
2. Therefore remember:
Stupid things will not become smart
because they are in a list.
Smart things, though, can be presented
beautifully in a list.
2.12.2 문단의 정렬(Flushleft, Flushright, Center)
flushleft flushright 다.
center 환경은 텍스트를 가운데정렬한다. \\ 줄나눔을 강제하지 않으면 L
A
T
E
X 자동
으로 줄을 나눈다.
\begin{flushleft}
This text is\\ left-aligned.
\LaTeX{} is not trying to make
each line the same length.
\end{flushleft}
This text is
left-aligned. L
A
T
E
X is not trying to make each
line the same length.
32 텍스트의 조판
\begin{flushright}
This text is right-\\aligned.
\LaTeX{} is not trying to make
each line the same length.
\end{flushright}
This text is right-
aligned. L
A
T
E
X is not trying to make each line
the same length.
\begin{center}
At the centre\\of the earth
\end{center}
At the centre
of the earth
2.12.3 인용문과 운문(Quote, Quotation, Verse)
quote 인용문, 중요 구절, 예시 문장을 위해 사용할 있는 환경이다.
A typographical rule of thumb
for the line length is:
\begin{quote}
On average, no line should
be longer than 66 characters.
\end{quote}
This is why \LaTeX{} pages have
such large borders by default
and also why multicolumn print
is used in newspapers.
A typographical rule of thumb for the line
length is:
On average, no line should be longer
than 66 characters.
This is why L
A
T
E
X pages have such large borders
by default and also why multicolumn print is
used in newspapers.
가지 다. quotation 하나 verse
이다. quotation 경은 인용문이 단락 이상 포함할 도로 사용할 있다.
인용문의 단락은 들여쓰기를 한다.
verse 환경 같이 줄나눔이 요한 운문 조판하는 유용하다. ()
끝은 \\ 표시하며, () 사이에 줄을 둔다.
I know only one English poem by
heart. It is about Humpty Dumpty.
\begin{flushleft}
\begin{verse}
Humpty Dumpty sat on a wall:\\
Humpty Dumpty had a great fall.\\
All the King's horses and all
the King's men\\
Couldn't put Humpty together
again.
\end{verse}
\end{flushleft}
I know only one English poem by heart. It is
about Humpty Dumpty.
Humpty Dumpty sat on a wall:
Humpty Dumpty had a great fall.
All the King’s horses and all the
King’s men
Couldn’t put Humpty together
again.
2.12.4 요약문(Abstract)
과학문헌은 독자에게 내용 대한 관을 제공하는 요약문을 앞에 것이 관례이다.
L
A
T
E
X에서는 abstract 환경을 사용하여 요약문 만들 있다. 반적으로 abstract
article 클래스를 사용하는 문서에서 쓰인다.
\begin{abstract}
The abstract abstract.
\end{abstract}
Abstract
The abstract abstract.
환경 33
2.12.5 그대로 보이기(Verbatim)
\begin{verbatim} \end{verbatim}으로 둘러싸인 부분은 마치 타자기로 것과
줄나눔, 공백 등이 입력된 그대로 나타나며 안에 있는 L
A
T
E
X 명령이 전혀 실행되지
않는다.
문단 안에서 다음과 같이 하면 비슷한 결과를 얻을 있다.
\verb+text+
+ 시작과 끝을 나타내는 경계문자의 예시이다. 글자(letter), *, 공백(space) 제외
다른 문자를 사용할 있다. 문서의 많은 L
A
T
E
X 코딩의 예들이 명령을 이용해서
작성되었다.
The \verb|\ldots| command \ldots
\begin{verbatim}
10 PRINT "HELLO WORLD ";
20 GOTO 10
\end{verbatim}
The \ldots command . . .
10 PRINT "HELLO WORLD ";
20 GOTO 10
\begin{verbatim*}
the starred version of
the verbatim
environment emphasizes
the spaces in the text
\end{verbatim*}
the␣starred␣version␣of
the␣␣␣␣␣␣verbatim
environment␣emphasizes
the␣spaces␣␣␣in␣the␣text
\verb 명령은 별표 붙은 명령의 형태로 사용할 있다. 어떤 점이 다른지는 다음 예를
보라.
\verb*|like this :-) |
like␣␣␣this:-)
verbatim 환경과 \verb 명령은 다른 명령의 인자 안에서는 없다.
2.12.6 (Tabular)
tabular 환경은 표를 아름답게 조판하는 사용한다. 표에 가로선이나 세로선을 그을
수도 있다. 컬럼의 폭은 자동으로 결정된다.
\begin{tabular}[pos]{table spec}
여기서 table spec 인자는 표의 형태를 결정하 명령이다. l 해당 (column)
텍스트가 왼쪽정렬 되도록 하라는 것이고 r 오른쪽정렬 하라는 것이다. 가운데정렬은
c
지시한다.
p{
width
}
컬럼의 내용을
width
맞추어 줄나눔하 양끝정렬하라는
것을 의미한다. | 세로줄이다.
컬럼에 놓인 텍스트가 너무 길어서 페이지 폭에 넘치는 경우라 L
A
T
E
X 그것을 자동
으로 자르지 는다. p{width} 정하여 해당 컬럼 오는 텍스트를 일반 문단처럼
정렬되도록 있다.
34 텍스트의 조판
pos 인자는 인접 텍스트의 베이스라인에 대하여 표가 놓일 수직 위치를 지정한다. t ,
b , c 가운데 하나를 있는데 각각 top, bottom, center 의미한다.
tabular 환경 안에서 & 다음 컬럼으 이동을 표시한다. \\ 줄을 나누라는 뜻이며
\hline 로선 하는 것이다. 일부 럼에 걸치 가로선을 그으려면
\cline{i-j} 같이 하는데 i j 부분 가로선이 그어질 범위에 해당하 컬럼의
번호이다.
\begin{tabular}{|r|l|}
\hline
7C0 & hexadecimal \\
3700 & octal \\ \cline{2-2}
11111000000 & binary \\
\hline \hline
1984 & decimal \\
\hline
\end{tabular}
7C0 hexadecimal
3700 octal
11111000000 binary
1984 decimal
\begin{tabular}{|p{4.7cm}|}
\hline
Welcome to Boxy's paragraph.
We sincerely hope you'll
all enjoy the show.\\
\hline
\end{tabular}
Welcome to Boxy’s paragraph.
We sincerely hope you’ll all en-
joy the show.
컬럼구분자 @{...} 형식으로 지시할 수도 다. 령은 컬럼 이의 백을
없애고 부분 중괄호 사이에 것으로 체한다. 명령 사용례가 아래 소수점
정렬 문제 설명하는 데서 사용되고 다. 리고 백을 거하 하여
@{} 사용하는 방식으로 응용가능하다.
\begin{tabular}{@{} l @{}}
\hline
no leading space\\
\hline
\end{tabular}
no leading space
\begin{tabular}{l}
\hline
leading space left and right\\
\hline
\end{tabular}
leading space left and right
아무 키지 쓰지 않은 L
A
T
E
X 체만으로 수점 준으 럼의 자를
정렬 법이 없다.
25
변칙적인 법을 생각해보자. 개의 컬럼 용하되 왼쪽
컬럼에는 정수부분을, 오른쪽 컬럼에는 소수부분을 넣어두는 것이다. 그런 @{.}
이용하 컬럼 사이의 스페이스를 (“.”) 대체하도록 \begin{tabular} 인자
지정하 마치 컬럼이 소수점으로 정렬 하나 컬럼처 보이 다.
25
tools 패키지묶음에 포함되어 있는 dcolumn 패키지가 이런 일을 해준다.
환경 35
부분 컬럼과 소수 이에 (&) 있어야 한다는 점을 명심하자.
컬럼의 제목줄은 \multicolumn 명령을 이용하여 표시한다.
\begin{tabular}{c r @{.} l}
Pi expression &
\multicolumn{2}{c}{Value} \\
\hline
$\pi$ & 3&1416 \\
$\pi^{\pi}$ & 36&46 \\
$(\pi^{\pi})^{\pi}$ & 80662&7 \\
\end{tabular}
Pi expression Value
π 3.1416
π
π
36.46
(π
π
)
π
80662.7
\begin{tabular}{|c|c|}
\hline
\multicolumn{2}{|c|}{Ene} \\
\hline
Mene & Muh! \\
\hline
\end{tabular}
Ene
Mene Muh!
tabular 경으로 식자되는 표는 항상 페이지 놓인다. 표가 길어서 페이
지에 걸쳐 나누어져야 한다면 longtable 패키지의 같은 이름의 환경을 사용할 있다.
가끔 L
A
T
E
X 그린 표가 너무 협소하 느껴진다면 \arraystretch \tabcolsep
값을 조정하여 넉넉하게 만들 있다.
\begin{tabular}{|l|}
\hline
These lines\\\hline
are tight\\\hline
\end{tabular}
{\renewcommand{\arraystretch}{1.5}
\renewcommand{\tabcolsep}{0.2cm}
\begin{tabular}{|l|}
\hline
less cramped\\\hline
table layout\\\hline
\end{tabular}}
These lines
are tight
less cramped
table layout
표의 특정 (row) 높이를 임의로 증가시키 싶다 보이지 않는 세로선
26
넣으면
된다. 폭이 0 \rule 그려서 이것을 구현해보자.
\begin{tabular}{|c|}
\hline
\rule{1pt}{4ex}Pitprop \ldots\\
\hline
\rule{0pt}{4ex}Strut\\
\hline
\end{tabular}
Pitprop . . .
Strut
26
전문 조판에서 이것을 strut라고 한다.
36 텍스트의 조판
여기에 쓰인 pt ex T
E
X 길이 단위이다. 105페이지의 6.5 보라.
tabular 환경을 확장하 많은 추가적인 명령 booktabs 패키지에 의되어 있다.
적절한 간격을 갖춘 전문적인 품위의 표를 상당히 쉽게 그리게 해준다.
27
2.13 그림 포함하기
떠다니는 개체에 그림을 넣는 명령은 D. P. Carlisle 작성한 graphicx 패키지에 의해
마련되어 있다. 패키지 “graphics” 패키지 묶음 부이다.
28
떠다니는 개체
대해서는 2.14절에서 설명할 것이다.
다음 과정을 차례대로 따라해보기 바란다.
1. 그래픽 프로그램에서 그림을 EPS, PDF, PNG, JPEG 하나의 포맷으로 내보내
(export)한다.
2. 그림 EPS 벡터 그래픽으로 저장하였다면 미리 PDF 포맷으 변환해둔다. 명령행
프로그 epstopdf 이용하여 변환할 있다. 물론 PDF 내보내기하여 좋다.
다만 EPS 저장한 후에 변환하는 것이 나을 때가 있는데 소프트웨어가 PDF
저장할 있지만 PDF 페이지 전체 크기로 작성되어서 문서에 들여오면 실제
그림이 아주 작아져버리는 경우가 가끔 있기 때문이다. 이럴 때는 바운딩박스를
갖추고 있는 EPS 내보낸 변환하는 것이 실제 기의 그림을 얻을 있는
방법이 된다.
3. graphicx 패키지를 전처리부에 로드하도록 지시한다.
\usepackage{graphicx}
4. 문서의 본문에서 그림을 삽입할 위치에 다음 명령을 쓴다.
\includegraphics[key=value, . . . ]{le-name}
선택 인자는 key 이에 연결된 value 리스트를 쉼표로 구분하여 받아들인다. key
width, height, rotation 다. 입할 그림 비, 이,
회전을 나타낸다. 2.2 중요한
key
요약해놓았다.
그림 2.2 코드 보면 해가 쉬울 이다. 드는 test.png 이름
\includegraphics[angle=90,width=.5\textwidth]{test.png}
그림 2.2: test.png 문서에 삽입하는 예시 코드
그림을 포함하는 것이다. 그림을 먼저 90 회전시키고 다음에 표준 문단 폭의 0.5배를
최종적 너비로 설정하여 그림을 축소(확대)한다. 가로세로비는 1.0이다. 왜냐하 높이
27
[역주] booktabs 패키지는 세로선이 없고 상하 가로선에 다른 두께를 주는 표를 그리는 유용하다. 이런
유형의 표가 한글 문헌에서는 많지 않은 편이다.
28
CTAN://pkg/graphics
떠다니는 개체 37
2.2: graphicx 패키지의 key
width 그림의 너비를 주어지는 값으로 맞춘다.
height 그림의 높이를 주어지는 값으로 맞춘다.
angle 그림을 반시계방향으로 주어진 각도만큼 회전시킨다.
scale 그림을 비례적으로 늘리거나 줄인다.
(height) 값이 별도로 주어지지 않았기 문이다. width height 자의 값으로는 절대
길이를 지정할 수도 있다. 길이에 대한 자세한 사항은 105페이지의 6.5 보라. 그림
삽입에 관하여 알고 싶으면 [9] 읽어보자.
2.14 떠다니는 개체
오늘날 대부분의 출판물에 그림과 표가 포함되어 다. 이러 요소들은 특별한
취급이 필요한 이유 이들 잘라서 다른 페이지에 치할 때문이다.
가지 방법은 림이나 표가 현재 페이지의 남은 공간에 들어가지 않을 때마다 로운
페이지를 시작하는 것인데 이렇게 하면 페이지에 공간이 생기게 되고 결과적으로 보기
좋지 않다.
대한 책은 분에 이나
떠다니게 하고 페이지의 남은 부분에 텍스트가 연속되어 흐르게 하는 것이다. L
A
T
E
X
이러한 떠다니 개체를 환경을 마련하 있다. 나는 위한 이고
다른 하나 림을 위한 것이다. 가지 환경 활용하려 L
A
T
E
X 다니
체를 으로 는가 해하 요하다.
떠다 개체 골칫리가 아서 L
A
T
E
X 하는 치에 그림 오지
않는다고 불평하게 하는 원인이 된다.
먼저 떠다니는 개체를 위한 L
A
T
E
X 명령을 살펴보자.
figure table 환경으로 둘러싸인 부분은 떠다니는 개체로 간주된다.
\begin{figure}[placement specier] 또는 \begin{table}[. . . ]
환경에 선택 인자를 있다. 이것을
위치지정자
(
place specier
)
라고 한다. 인자들
개체를 이동시켜 놓을 위치를 L
A
T
E
X에게 알려주 역할을 한다. 위치지정자 허용위치
나타내는 문자열로 이루어진다. 2.3 보라.
29
예를 들면 다음 줄로 table 시작된다.
\begin{table}[!hbp]
29
[역주] table tabular 리말 생기 해가 있다. tabular 행과
열에 맞추어 소를 배열하고 필요하다면 가로선 로선을 그은 식자 형태 리키는 것인 반면, table
그렇 들어 tabular 둘러싸서 떠다니게 드는 경을 가리킨다. 실제 table 안에
내용물은 반드시 표가 아니라도 상관없고 심지어 그림이 와도 된다. 그러나 \caption 붙이면 명칭이 1:”
또는 “Table 1:” 같이 나타난다. figure 대해서도 같다.
38 텍스트의 조판
위치지정자 !hbp 표가 바로 이곳(h)이나 페이지 바닥(b) 아니면 별도 페이지(p)
위치할 있도 하면서 위치잡기가 다지 만족스럽지 못한 경우라도 (!) 이행하
라는 의미를 가지고 있다. 위치지정자가 주어지지 않았을 표준 클래스에서는 [tbp]
쓰도록 정해져 있다.
L
A
T
E
X 떠다니는 개체를 만날 때마다 문서작성자 시한 위치지정자에 맞추어
위치를 한다. 개체가 현재 이지에서 리를 잡지 못하면 것을 gures tables
대기열에 넣어두고 처리를 미룬다.
30
L
A
T
E
X 대기열에 있는 개체들로 특별한 플로트가
놓이는 페이지 만들기에 충분한지를 검사한다. 것이 만약 불가능하면 대기열의
번째 체가 지금 치에서 것처럼 취급한다. L
A
T
E
X 개체 주어져
있는 위치정자 따라 다시 치를 하려 한다. ( h 정자 이상
무의미하다.) 스트에서 떠다니 개체가 새로 발생할 때마 기열 속에
어간다. L
A
T
E
X 개체 유형별로 출현 서를 격히 지한다. 그러 보면 서의
끝까지 더이상 그림의 자리를 잡지 못하고 미루어지는 경우가 생기는 것이다. 그러므로,
만약 L
A
T
E
X 이나 하는 해주 다면
대기열 가운데 하나에서 어떤 개체가 처리되지 않은 채로 정체되어 있기 때문
이다.
L
A
T
E
X에게 위치지정자를 하나만 전달하는 것도 가능하지만 이렇게 하면 문제가 생긴
다. 만약 플로트 지정 치에 놓이는 실패하면 바로 정체되어 이후에 오는
플로트들이 처리되지 못하게 만든다. 특히, [h] 옵션 하나만 지정되어 있다면 아주 곤란
하기 때문에 요즘 L
A
T
E
X 문서작성자가 [h]라고만 하더라도 자동으로 [ht] 바꾸어서
처리한다.
어려운 부분을 설명하였고, table figure 환경에 대해 언급할 것이 가지 있다.
\caption{caption text}
명령 떠다니 개체에 캡션을 달아준다. “Figure” 또는 “Table”이라 문자열
31
붙은 그림번호 또는 표번호가 L
A
T
E
X 의해 부여된다.
2.3: 떠다니는 개체의 허용 위치
지정자 개체가 놓이도록 허용되는 위치 . . .
h here. 텍스트상의 현재 위치. 크지 않은 떠다니는 개체
유용하다.
t top. 페이지의 상단
b bottom. 페이지의 하단
p page. 그림과 표만으로 이루어지는 별도 페이지
! 내부 파라미터 값에 따르면 현재의 개체를 놓을 없을
내부 파라미터
a
무시하도록
a
예를 들면 페이지에 허용되는 떠다니는 개체의 상한값
30
FIFO, 먼저 들어온 것이 먼저 나가는 (queue)이다.
31
[역주] 한국어 텍에서는 각각 그림 식자된다.
떠다니는 개체 39
다음 명령은 그림 목차와 목차를 생성한다.
\listoffigures \listoftables
명령은 \tableofcontents 명령과 같은 방식으로 작하여 각각 그림과 목차를
인쇄한다. 차에는 캡션이 식자되는데 만약 캡션이 길어서 문제가 되면 목차 나타
짧은 션을 지정해두어야 한다. \caption 령의 대괄 선택 인자 짧은 션을
적어두는 방식으로 하면 된다.
\caption[Short]{LLLLLoooooonnnnnggggg}
\label \ref 문서 안에서 특정 플로트에 대하여 참조할 있게 해준다. \label
명령은 반드시 \caption 명령 이후에 써야 한다는 것을 기억하라. 왜냐하면 참조할 숫자
(번호) 캡션이 생성될 만들어지기 때문이다.
다음 보기는 각형을 그려서 문서 삽입하고 있다. 서에 그림 넣을 공간을
다음에 최종적으로 출력하여 그림을 풀로 붙여넣을 생각이라면 코드를 이용할 있다.
Figure~\ref{white} is an example of Pop-Art.
\begin{figure}[!hbtp]
\includegraphics[angle=90,width=\textwidth]{white-box.pdf}
\caption{White Box by Peter Markus Paulian.\label{white}}
\end{figure}
에서 L
A
T
E
X 이곳 (h) 림을 으려 있는 (!) 시도 다.
32
(b) 다. 현재 에서
그것이 불가능하면 ( 기열에 혹시 표가 있다면 그것과 함께) 림을 놓을 별도의
플로 이지 만들 을지 결정한다. 개체들이 페이지를 있을 도가
되지 않는다면 L
A
T
E
X 페이지를 작하여 위치에서 그림이 주어 것처럼
처리 과정을 시도한다.
어떤 경우에는 다음 명령을 써야할 때가 있다.
\clearpage 또는 \cleardoublepage
L
A
T
E
X에게 즉시 열에 모든 떠다니는 개체 자하 기열 비우
새로 이지 것이다. \cleardoublepage 새로 열리 지가
이지 (오른 ) 되도 필요하다면 수면을 가하여 로운 이지로 동하라
의미이다.
33
32
대기열에 다른 그림이 없다고 가정
33
[역주] \newpage 떠다니는 개체를 즉시 청산(ush) 하도록 요구하지 않는다.
3
수학식 조판
이제 준비가 됐다! 장에서는 T
E
X 가장 중요한 장점에 해당하
수학식 조판을 공략해볼 것이다. 그렇지만 여기 다루는 것은
수박겉핥기에 불과하다. 여기 설명하는 내용이 대부분 충분하다고
보지만 혹시 원하는 수학식 조판의 해법을 발견하지 못했다고 해서
실망 필요 다. A
M
S-L
A
T
E
X에서 문제 대한 결책
제공하고 있을 가능성이 높다.
3.1 A
M
S-L
A
T
E
X
(고급) 수학식을 조판하려 A
M
S-L
A
T
E
X 이용해 한다. A
M
S-L
A
T
E
X 수학식 조판을
위한 클래스 패키지의 모음이다. 가운데서도 amsmath 패키지를 주로 검토할 것이다.
A
M
S-L
A
T
E
X 미국수학회가 만든 것으로 수학식 조판에 널리 쓰이고 있다. L
A
T
E
X 자체가
어느 정도 수학식 조판 기능과 환경을 제공하고 있기는 하지 한계가 있고(달리 말하자면
A
M
S-L
A
T
E
X에는 한계가 없다는 말이다) 일관성이 결여된 경우도 있다.
A
M
S-L
A
T
E
X 포판 일부 L
A
T
E
X 판에 되어 다.
1
장에서 논의하는 사항은 전처리부에 amsmath 당연히 \usepackage{amsmath} 같이
로드되어 있다는 것을 전제로 한다.
3.2 수식 기초
수식은 가운데 문장의 부로 식자되거나(text style) 별도의 문단으로 구분되
자되거나(display style) 한다. 앞의 것을 행중수식(in-line), 뒤의 것을 별행수식(display)
이라 한다. 행중수식은 $ $ 사이에 입력한다.
1
자신의 시스템에 이게 설치되어 있지 않다면 CTAN://pkg/amslatex으로 가보라.
40
수식 기초 41
Add $a$ squared and $b$ squared
to get $c$ squared. Or, using
a more mathematical approach:
$a^2 + b^2 = c^2$
Add a squared and b squared to get c squared.
Or, using a more mathematical approach: a
2
+
b
2
= c
2
\TeX{} is pronounced as
$\tau\epsilon\chi$\\[5pt]
100~m$^{3}$ of water\\[5pt]
This comes from my $\heartsuit$
T
E
X is pronounced as τχ
100 m
3
of water
This comes from my
수식 단과 구분하여 별행으로 식자하고자 한다면 텍스트 문단을 나누어서
입력 아니 행수식으 좋다. 식을 별행으로 자하려면
\begin{equation} \end{equation}으로 러싼다.
2
\label 붙여서 수식의 번호
표시하고 다른 곳에서 수식번호 \eqref 명령으로 참조할 다. 수식 이름을
별도로 특정하려 한다면 \tag 명령을 쓴다.
Add $a$ squared and $b$ squared
to get $c$ squared. Or, using
a more mathematical approach
\begin{equation}
a^2 + b^2 = c^2
\end{equation}
Einstein says
\begin{equation}
E = mc^2 \label{clever}
\end{equation}
He didn't say
\begin{equation}
1 + 1 = 3 \tag{dumb}
\end{equation}
This is a reference to
\eqref{clever}.
Add a squared and b squared to get c squared.
Or, using a more mathematical approach
a
2
+ b
2
= c
2
(3.1)
Einstein says
E = mc
2
(3.2)
He didn’t say
1 + 1 = 3 (dumb)
This is a reference to (3.2).
수식 번호 붙지 않게 하려 별표붙은 equation* 경을 쓰거나 간단한 \[,
\] 둘러싸거나 한다.
3
Add $a$ squared and $b$ squared
to get $c$ squared. Or, using
a more mathematical approach
\begin{equation*}
a^2 + b^2 = c^2
\end{equation*}
or you can type less for the
same effect:
\[ a^2 + b^2 = c^2 \]
Add a squared and b squared to get c squared.
Or, using a more mathematical approach
a
2
+ b
2
= c
2
or you can type less for the same eect:
a
2
+ b
2
= c
2
\[ 짧고 좋기는 해도 equation equation*처럼 간단 번호를 붙이거나 붙이지
않거나 하는 것은 없다.
2
amsmath 명령이므 이유에선 패키지를 로드 했다 L
A
T
E
X 수식
환경인 displaymath 있다.
3
이것 역시 amsmath 방식이다. 표준 L
A
T
E
X에는 별표붙은 equation 환경이 없다.
42 수학식 조판
행중식의 text style 별행식의 display style 조판 스타 이가 무엇인지
확인하자.
This is text style:
$\lim_{n \to \infty}
\sum_{k=1}^n \frac{1}{k^2}
= \frac{\pi^2}{6}$.
And this is display style:
\begin{equation}
\lim_{n \to \infty}
\sum_{k=1}^n \frac{1}{k^2}
= \frac{\pi^2}{6}
\end{equation}
This is text style: lim
n→∞
P
n
k=1
1
k
2
=
π
2
6
. And
this is display style:
lim
n→∞
n
X
k=1
1
k
2
=
π
2
6
(3.3)
텍스트 스타일에서 아래 튀어나오는 수식 분을 으로 어놓거 첨자
\smash하거나 식기호를 조금 작은 것으로 사용하여 수식 표현의 이를 높이에
맞춤으로써 사이의 간격을 가지런하게 유지하려 한다.
4
A $d_{e_{e_p}}$ mathematical
expression followed by a
$h^{i^{g^h}}$ expression. As
opposed to a smashed
\smash{$d_{e_{e_p}}$} expression
followed by a
\smash{$h^{i^{g^h}}$} expression.
A d
e
e
p
mathematical expression followed by a
h
i
g
h
expression. As opposed to a smashed d
e
e
p
expression followed by a h
i
g
h
expression.
3.2.1 수식 모드
수식 모드는 텍스트 모드와 차이가 있다. 예를 들면 수식 모드에서는
1. (스페) 꿈을 력해 아무 의미 없다. 에서 격은
수학식 표현의 논리상 자동적으로 설정되는 것이 아니면 \,, \quad, \qquad
특별한 간격 명령으로 지정해야 한다.
2. 줄은 허용하지 않는다. 모든 수학식은 수식 하나가 단락이다.
3. 입력 글자 변수 이름으 간주되어 변수로 조판 것이다. 안에 일반
텍스트를 (곧게 폰트로 띄어쓰기를 하여서) 식자하려면 \text{...} 명령
용하여 입력하여야 한다. (99페이지의 6.2절도 참고하라.)
$\forall x \in \mathbf{R}:
\qquad x^{2} \geq 0$
x R : x
2
0
$x^{2} \geq 0\qquad
\text{for all }x\in\mathbf{R}$
x
2
0 for all x R
4
[역주] L
A
T
E
X 처음사용자 부딪치는 문제 가운데 하나로 텍스트 스타일로 문단 중에 놓인 수식이 어색
해보인 있다. 학교과서와 같이 조판상의 규칙 지키 것보다 수식 체를 명료하게 달하는
것이 중요한 책이 눈에 익어 있기 때문에 느끼는 것일 있다. 원한다면 행중에서도 displaystyle 수식을
쓰도록 있으나 선택은 전적으로 디자이너의 전문적 식견에 맡겨야 하는 일일 것이다.
수식 구성하기 43
수학자들은 기호 사용에 대해 매우 까다롭다. 위의 예에서 R 이라고 것을 블랙보드
볼드체로 쓰는 것을 좋아할 수도 있는데 기호는 amssymb 패키지의 \mathbb 명령으
식자할 있다. 그러면 위의 예제는 다음과 같이 된다.
$x^{2} \geq 0\qquad
\text{for all } x
\in \mathbb{R}$
x
2
0 for all x R
많은 수학 글꼴에 대해서 63페이지의 3.14 참고하라.
3.3 수식 구성하기
절에서 수식 조판 명령 가장 요긴한 것을 서술한다. 여기서 언급하는 명령은 대부분
amsmath 다. ( 다면 적으 겠다.) 그렇
로드해두는 것이 좋다.
\alpha, \beta, \gamma, . . . 이, \Gamma,
\Delta, . . . 등과 같이 입력한다.
5
그리스 알파벳 목록은 60페이지의 3.2 보라.
$\lambda,\xi,\pi,\theta,
\mu,\Phi,\Omega,\Delta$
λ, ξ, π, θ, µ, Φ, ,
지수, 위첨자, 아래첨자 ^ _ 부호로 표시한다. 수식 명령은 대부분 직후 문자에
효력을 가진다. 그러므로 어떤 명령이 여러 문자에 영향을 주도록 하려면 중괄호 {...}
이용하여 그룹으로 묶어주어야 한다.
$p^3_{ij} \qquad
m_\text{Knuth}\qquad
\sum_{k=1}^3 k \\[5pt]
a^x+y \neq a^{x+y}\qquad
e^{x^2} \neq {e^x}^2$
p
3
ij
m
Knuth
P
3
k=1
k
a
x
+ y 6= a
x+y
e
x
2
6= e
x
2
예제에 나오는 6= 같은 이항관계연산부호 명령을 61페이 3.3에서 , 포함하
여러 가지 있다.
제곱 \sqrt 입력다. n 제곱근을 표시려면 \sqrt[n]으로 쓴다. 곱근
부호의 크기는 자동으로 결정된다. 근호의 앞머리만 필요하다면 \surd 명령이 있다.
예제에 나오는 화살표 종류로서 , 같은 것을 62페이지의 3.6에서 있다.
$\sqrt{x} \Leftrightarrow x^{1/2}
\quad \sqrt[3]{2}
\quad \sqrt{x^{2} + \sqrt{y}}
\quad \surd[x^2 + y^2]$
x x
1/2
3
2
p
x
2
+
y
[x
2
+ y
2
]
곱셈을 나타내는 점은 보통 표시하지 않는 편이 식을 한눈에 알아보기 쉬울 때가 있다.
가운 으려 \cdot 다. \cdots 운데 치에
\ldots 베이스라인에 찍는다. 그밖에 \vdots 세로로, \ddots 대각선 방향으로
개를 놓는다. 3.6절에 많은 예제가 있다.
5
대문자 알파, 대문자 베타 등에 해당하는 명령은 따로 없다. 글자들은 로마자 A, B 같은 모양이어서
별도의 명령을 만들지 않았다.
44 수학식 조판
$\Psi = v_1 \cdot v_2
\cdot \ldots \qquad
n! = 1 \cdot 2
\cdots (n-1) \cdot n$
Ψ = v
1
· v
2
· . . . n! = 1 · 2 ···(n 1) · n
\overline \underline 식의 위나 아래에 가로선 긋는다.
$0.\overline{3} =
\underline{\underline{1/3}}$
0.3 = 1/3
\overbrace \underbrace 식의 위나 아래에 길게 누운 괄호 그린다.
$\underbrace{\overbrace{a+b+c}^6
\cdot \overbrace{d+e+f}^7}
_\text{meaning of life} = 42$
6
z }| {
a + b + c ·
7
z }| {
d + e + f
| {z }
meaning of life
= 42
변수에 작은 화살표 틸데 같은 수학 액센트 부호를 붙이려면 60페이지의 3.1
도움이 것이다. 여러 글자에 걸치는 hat 틸데는 \widetilde, \widehat
으로 만들 있다. 다음 보기에 \hat \widehat 차이점 그리고 아래첨자
변수에서 \bar 위치에 주의하라. 프라임 표시하려면 아포스트로피 ' 붙인다.
$f(x) = x^2 \qquad f'(x)
= 2x \qquad f''(x) = 2\\[5pt]
\hat{XY} \quad \widehat{XY}
\quad \bar{x_0} \quad \bar{x}_0$
f(x) = x
2
f
(x) = 2x f
′′
(x) = 2
ˆ
XY
d
XY ¯x
0
¯x
0
벡터 표현하 위해 변수 위에 작은 화살표 기호를 붙이는 경우가 있다. \vec 명령을
쓴다. \overrightarrow \overleftarrow 명령은 A에서 B 가는 벡터를 표시할
사용할 있다.
$\vec{a} \qquad
\vec{AB} \qquad
\overrightarrow{AB}$
a
AB
AB
이탤릭으로 식자하는 변수 름과 달리 함수 이름은 바로 (upright) 글자체로 식자
한다. L
A
T
E
X 대부분의 함수 이름을 식자할 있도록 다음과 같은 명령을 제공한다.
\arccos \cos \csc \exp \ker \limsup
\arcsin \cosh \deg \gcd \lg \ln
\arctan \cot \det \hom \lim \log
\arg \coth \dim \inf \liminf \max
\sinh \sup \tan \tanh \min \Pr
\sec \sin
\begin{equation*}
\lim_{x \rightarrow 0}
\frac{\sin x}{x}=1
\end{equation*}
lim
x
0
sin x
x
= 1
수식 구성하기 45
위의 목록에 나오지 않는 함수 이름을 쓰려면 \DeclareMathOperator 명령을 정의할
있다. 별표 붙은 명령으로 limit 함수
6
이름을 정의한다. 명령은 전처리부에만
있기 때문에 다음 예에서는 주석문으로 처리했는데 줄이 전처리부에 들어 있어야
한다.
%\DeclareMathOperator{\argh}{argh}
%\DeclareMathOperator*{\nut}{Nut}
\begin{equation*}
3\argh = 2\nut_{x=1}
\end{equation*}
3 argh = 2 Nut
x=1
잉여연산(모듈로) 가지 명령이 있다. \bmod a mod b처럼 쓰는 이항연산자
이고 \pmod x a (mod b) 같이 표현할 때에 쓰는 것이다.
$a\bmod b \\
x\equiv a \pmod{b}$
a mod b
x a (mod b)
분수 \frac{...}{...} 명령으로 표시한다. 행중수식에 분수는 높이 맞추어
크기가 줄어둔다. 디스플레이 스타일에서도 모양 유지되게 하려면 \tfrac
쓴다. 반대로 텍스트 스타일에서 디스플레이 스타일로 식자되게 하려면 \dfrac 명령을
사용한다.
7
1/2처럼 빗금으로 분수를 표시할 수도 있는데 소량의 분할분 나타내는 작은
분수라면 이것이 나을 때도 있다.
In display style:
\begin{equation*}
3/8 \qquad \frac{3}{8}
\qquad \tfrac{3}{8}
\end{equation*}
In display style:
3/8
3
8
3
8
In text style:
$1\frac{1}{2}$~hours \qquad
$1\dfrac{1}{2}$~hours
In text style: 1
1
2
hours 1
1
2
hours
편미분을 나타내기 위한 \partial 명령이 있다.
\begin{equation*}
\sqrt{\frac{x^2}{k+1}}\qquad
x^\frac{2}{k+1}\qquad
\frac{\partial^2f}
{\partial x^2}
\end{equation*}
r
x
2
k + 1
x
2
k+1
2
f
x
2
이항 계수(조합) 그리고 유사한 구조를 자하려면 amsmath \binom 명령
사용한다.
6
[역주] lim
x0
같이 디스플레이 스타일에서 첨자가 아래 위로 붙는 함수
7
[역주] 앞서 행중수식 별행수식 대하여 언급하였다. 행중수식을 조판하는 스타일을 텍스트 스타
(text style)”이라 하고 별행수식을 조판하는 스타일을 디스플레 스타일(display style)”이라고 한다.
용어는 수식모드에 적용되는 것으로 텍스트 스타일이라고 것은 수식의 텍스트 스타일이라는 의미이다.
46 수학식 조판
Pascal's rule is
\begin{equation*}
\binom{n}{k} =\binom{n-1}{k}
+ \binom{n-1}{k-1}
\end{equation*}
Pascal’s rule is
n
k
=
n 1
k
+
n 1
k 1
이항 계연산자는 서로 표현해 때가 있다. \stackrel{#1}{#2} #2
정상적인 위치에 놓고 위에 위첨자 크기로 #1 얹은 기호를 만들어준다.
\begin{equation*}
f_n(x) \stackrel{*}{\approx} 1
\end{equation*}
f
n
(x)
1
적분기호 \int 명령으로 만든다. 합기호 \sum, 곱기호 \prod이다. 아래 위의
리미트는 첨자의 경우와 마찬가지로 ^ _ 지시한다.
\begin{equation*}
\sum_{i=1}^n \qquad
\int_0^{\frac{\pi}{2}} \qquad
\prod_\epsilon
\end{equation*}
n
X
i=1
Z
π
2
0
Y
ϵ
복잡한 표현식에서 인덱스의 위치를 위치짓기 위해 amsmath 패키지의 \substack
명령을 있다.
\begin{equation*}
\sum^n_{\substack{0<i<n \\
j\subseteq i}}
P(i,j) = Q(i,j)
\end{equation*}
n
X
0<i<n
ji
P (i, j) = Q(i, j)
괄호 그밖 유형 여닫 부호(delimiters) ( : [ h k l) L
A
T
E
X
공한다. 둥근 호와 각진 괄호는 보드의 해당 입력할 있다. 호는 \{
입력한다. 그밖 여닫 호는 령으 (: \updownarrow) 입력한다.
보기는 {...} 입력과 \{...\} 차이를 보여준다.
\begin{equation*}
{a,b,c} \neq \{a,b,c\}
\end{equation*}
a, b, c 6= {a, b, c}
여닫는 부호의 여는 부호 앞에 \left 붙이고 닫는 부호에 \right 붙이면 L
A
T
E
X
크기를 자동으로 조절한다. \left 썼으면 반드시 그에 대응하는 \right 있어야 한다
사실에 유의하라. 여는 부호만 두고 닫는 부호를 쓰지 않을 적에라도 \right.
짝을 맞추어주어 한다. 닫는 부호만 있다면 \left. 먼저 적고 \right 닫는 부호를
입력한다.
\begin{equation*}
1 + \left(\frac{1}{1-x^{2}}
\right)^3 \qquad
\left. \ddagger \frac{~}{~}\right)
\end{equation*}
1 +
1
1 x
2
3
수식: multline 47
여닫 기를 으로 조절도록 하지 않고 직접 기를 지정하는
필요 다. \big, \Big, \bigg, \Bigg 명령 여닫 호의
붙이면 된다.
$\Big((x+1)(x-1)\Big)^{2}$\\
$\big( \Big( \bigg( \Bigg( \quad
\big\} \Big\} \bigg\} \Bigg\} \quad
\big\| \Big\| \bigg\| \Bigg\| \quad
\big\Downarrow \Big\Downarrow
\bigg\Downarrow \Bigg\Downarrow$
(x + 1)(x 1)
2
o
)
w
w
w
w
w
w
w
w
w
w
사용가능한 여닫는 부호의 목록을 62페이지의 3.8에서 있다.
3.4 수식: multline
어떤 길어 행을 누어 해야 있다. 러나 수식
그렇 읽고 하기 렵다. 성을 상하 위해
적용하는 규칙이 있다.
1. 일반적으로 수식은 등호나 연산자 부호 앞에서 행을 나눈다.
2. 다른 부호보다 등호 앞에서 나누는 것이 좋다.
3. 곱셉 부호보다는 덧셈이나 뺄셈 부호 앞에서 행을 나누는 것이 좋다.
4. 이외의 곳에서는 가능하면 행을 나누지 않는다.
multline 환경을 이용하는 것이 가장 쉬운 방법이다.
8
\begin{multline}
a + b + c + d + e + f
+ g + h + i
\\
= j + k + l + m + n
\end{multline}
a
+
b
+
c
+
d
+
e
+
f
+
g
+
h
+
i
= j + k + l + m + n (3.4)
equation 여러 나누 표현 있다 것이다.
\\ 나누어질 위치 어넣는다. equation 별표 equation* 듯이
multline*
환경이 있어서 수식 번호를 붙이지 않게 한다.
IEEEeqnarray (3.5 참조) 결과 여줄 있다. 음과 같은
경우를 생각해보자.
\begin{equation}
a = b + c + d + e + f
+ g + h + i + j
+ k + l + m + n + o + p
\label{eq:equation_too_long}
\end{equation}
a = b+c+d+e+f +g+h+i+j+k+l+m+n+o+p
(3.5)
8
multline 환경은 amsmath 정의된 것이다.
48 수학식 조판
식의 우변은 너무 길고 줄에 들어가지 않는다. multline 환경으로는 다음과 같은
결과를 얻는다.
\begin{multline}
a = b + c + d + e + f
+ g + h + i + j \\
+ k + l + m + n + o + p
\end{multline}
a = b + c + d + e + f + g + h + i + j
+ k + l + m + n + o + p (3.6)
이것이 (3.5)보다 낫다. 러나 k 앞의 기호가 두드러지게 그보다 훨씬
등호 요성 져버다. IEEEeqnarray 나은 과를 공한다.
문제에 대한 자세한 토론은 이어지는 3.5절에서 하기로 한다.
3.5 여러 수식
일련의 등식이 이어질 줄에 들어맞지 않는 상황을 자주 접한다. 절에서 여러
개의 식을 읽기 쉽고 아름답게 수직으로 정렬하는 방법에 대해서 알아보겠다.
방법을 알아보기 전에 먼저 일반적 방법의 결점을 보여주는 좋지 않은 예들을 살펴
보려 한다.
3.5.1 전통적 방법의 문제점
여러 수식을 식자하는 amsmath 표준 환경은 align이다.
9,10
\begin{align}
a & = b + c \\
& = d + e
\end{align}
a = b + c (3.7)
= d + e (3.8)
그런데 줄이 유달리 길다면 좋은 결과를 얻기 힘들다.
\begin{align}
a & = b + c \\
& = d + e + f + g + h + i
+ j + k + l \nonumber \\
& + m + n + o \\
& = p + q + r + s
\end{align}
a = b + c (3.9)
= d + e + f + g + h + i + j + k + l
+ m + n + o (3.10)
= p + q + r + s (3.11)
+ m d 다. T
E
X (T
E
Xpert)
\mathrel{\phantom{=}} \negmedspace {} 명령을 +m+n+o 앞에 두면 필요 공간을
확보 있지 않느 할지 르겠지만 대부 용자들은 그렇까지 상상
미치지 않는다. 간단한 해결방법이 있다면 좋을 것이다.
eqnarray 환경은 어떨지 시도해본다.
9
[역주] align 파생 환경(aligned, alignat, xalignat)으로 여러 수식 대부분 훌륭하 조판할
있다. 환경의 사용법을 보려면 texdoc amsldoc 명령을 실행하라.
10
align 환경은 여러 수식군을 서로 나란히 놓는 데도 사용할 있다. IEEEeqnarray 경에서 {rCl+rCl}
인자를 주어서 이것을 멋지게 처리할 있다.
여러 수식 49
\begin{eqnarray}
a & = & b + c \\
& = & d + e + f + g + h + i
+ j + k + l \nonumber \\
&& +\: m + n + o \\
& = & p + q + r + s
\end{eqnarray}
a = b + c (3.12)
= d + e + f + g + h + i + j + k + l
+ m + n + o (3.13)
= p + q + r + s (3.14)
앞서 말한 문제는 나아졌지만 여전히 문제가 있다. 등호 좌우의 공백이 너무 크다.
multline equation 환경에서는 그렇지 않았던 문제이다.
\begin{eqnarray}
a & = & a = a
\end{eqnarray}
a = a = a (3.15)
⋯⋯ 그리고 방법은 이따금 여유 공간이 없을 수식 번호가 겹쳐나타나기도 한다.
\begin{eqnarray}
a & = & b + c
\\
& = & d + e + f + g + h^2
+ i^2 + j + k
\label{eq:faultyeqnarray}
\end{eqnarray}
a = b + c (3.16)
= d + e + f + g + h
2
+ i
2
+ j + k(3.17)
좌변이 너무 \lefteqn 명령을 있다.
\begin{eqnarray}
\lefteqn{a + b + c + d
+ e + f + g + h}\nonumber\\
& = & i + j + k + l + m
\\
& = & n + o + p + q + r + s
\end{eqnarray}
a + b + c + d + e + f + g + h
= i + j + k + l + m (3.18)
= n + o + p + q + r + s (3.19)
그런데 우변이 너무 짧으면 문제가 생겨서 수식의 가운데 정렬이 실패한다.
\begin{eqnarray}
\lefteqn{a + b + c + d
+ e + f + g + h}
\nonumber \\
& = & i + j
\end{eqnarray}
a + b + c + d + e + f + g + h
= i + j (3.20)
뭐가 문제인지 설명하는 것은 이쯤하고 이제 본격적으로 제대로 해결책을 모색해보자.
3.5.2 IEEEeqnarray 환경
IEEEeqnarray 환경은 여러 옵션을 갖춘 매우 강력한 명령이다. 여기서는 기본적 기능만
소개할 것이다. 자세한 사항은 사용설명서를 참고하라.
11
IEEEeqnarray 환경을 사용하려면 IEEEtrantools 패키지를 로드하여야 한다. 문서의
전처리부에 다음과 같이 써넣는다.
11
공식 사용설명서 CTAN://macros/latex/contrib/IEEEtran/IEEEtran_HOWTO.pdf이다. 부록 F
IEEEeqnarray 대한 부분이 있다.
50 수학식 조판
\usepackage{IEEEtrantools}
IEEEeqnarray 장점은 식의 여러 컬럼에 대하여 각각 정렬 방식을 지정할 있다는
것이다. 보통 적용하는 정렬은 {rCl}이다. 컬럼에 대하여 컬럼 오른쪽정렬,
번째는 가운데정렬하면서 좌우에 조금 여백을 주고(그래서 소문자 c 아니라 대문자
C 것이다), 번째 컬럼은 왼쪽정렬하라는 뜻이다.
\begin{IEEEeqnarray}{rCl}
a & = & b + c
\\
& = & d + e + f + g + h
+ i + j + k \nonumber\\
&& \negmedspace {} + l + m + n + o
\\
& = & p + q + r + s
\end{IEEEeqnarray}
a = b + c (3.21)
= d + e + f + g + h + i + j + k
+ l + m + n + o (3.22)
= p + q + r + s (3.23)
컬럼 수의 제한은 없다. {c} 하나만을 쓴다면 모든 수식을 가운데정렬한다. {rCll}
라고 하면 왼쪽 정렬되는 번째 컬럼을 추가하는 것으로서 주석이나 설명을 위하여
있다. 수식 모드로 식자되는 l, c, r, L, C, R 이외에 s, t, u 있어 각각 왼쪽, 가운데,
오른쪽 오는 텍스트 모드로 지정할 있다. 여백 크기순으로 ., /, ? 부호
나타낸다.
12
eqnarray 썼을 때와 비교하 등호 주변의 공백 크기가 어떻게 달라졌는지 주의깊게
보라.
3.5.3 일반적 사용법
흔하게 만나는 문제를 해결하기 위해 IEEEeqnarray 사용하는 방법에 대해 알아보자.
수식 번호가 겹쳐나타나는 (3.17) 수식 번호 겹침 문제는
\IEEEeqnarraynumspace
명령으로 해결할 있다. 수식 번호 있는 행에 추가하면 수식 번호가 식자되는 크기를
계산하여 필요한 만큼 전체 수식을 왼쪽으 옮긴다. 옮겨지 크기는 수식 번호의 크기에
따라 결정된다. 다음과 같은 좋지 않은 결과를
\begin{IEEEeqnarray}{rCl}
a & = & b + c \\
& = & d + e + f + g + h
+ i + j + k + l\\
& = & l + m + n
\end{IEEEeqnarray}
a = b + c (3.24)
= d + e + f + g + h + i + j + k + l(3.25)
= l + m + n (3.26)
다음과 같이 수정할 있다.
12
3.9.1절에 공백 유형에 대한 언급이 있다.
여러 수식 51
\begin{IEEEeqnarray}{rCl}
a & = & b + c \\
& = & d + e + f + g + h
+ i + j + k + l
\IEEEeqnarraynumspace\\
& = & l + m + n.
\end{IEEEeqnarray}
a = b + c (3.27)
= d + e + f + g + h + i + j + k + l (3.28)
= l + m + n. (3.29)
\lefteqn IEEEeqnarray
\IEEEeqnarraymulticol 명령을 쓰는 것이 좋다. 모든 상황에서 작동한다.
\begin{IEEEeqnarray}{rCl}
\IEEEeqnarraymulticol{3}{l}{
a + b + c + d + e + f
+ g + h
}\nonumber\\ \quad
& = & i + j
\\
& = & k + l + m
\end{IEEEeqnarray}
a + b + c + d + e + f + g + h
= i + j (3.30)
= k + l + m (3.31)
명령은 tubular 환경의 \multicolumns 명령과 완전히 같다. 번째 인자 3
개의 컬럼을 합칠 것이라는 의미이고 l 합쳐진 컬럼을 왼쪽 정렬한다는 뜻이다.
등호의 위치를 맞추려면 \quad 명령을 넣어서 쉽게 있다.
13
예를 들어본다.
\begin{IEEEeqnarray}{rCl}
\IEEEeqnarraymulticol{3}{l}{
a + b + c + d + e + f
+ g + h
}\nonumber\\ \qquad\qquad
& = & i + j
\\
& = & k + l + m
\end{IEEEeqnarray}
a + b + c + d + e + f + g + h
= i + j (3.32)
= k + l + m (3.33)
식이 이상 줄로 나누어지 L
A
T
E
X 음에 오는 + 이항연산
부호 보지 양수 호처 취급한다. 라서 연산부호 {}
넣어야 한다. 다음은 잘못된 예이다.
\begin{IEEEeqnarray}{rCl}
a & = & b + c
\\
& = & d + e + f + g + h
+ i + j + k \nonumber\\
&& + l + m + n + o
\\
& = & p + q + r + s
\end{IEEEeqnarray}
a = b + c (3.34)
= d + e + f + g + h + i + j + k
+l + m + n + o (3.35)
= p + q + r + s (3.36)
다음과 같이 해야 올바르다.
13
quad 개가 대부분의 경우에 적절할 거라고 생각한다.
52 수학식 조판
\begin{IEEEeqnarray}{rCl}
a & = & b + c
\\
& = & d + e + f + g + h
+ i + j + k \nonumber\\
&& \negmedspace {} + l + m + n + o
\\
& = & p + q + r + s
\end{IEEEeqnarray}
a = b + c (3.37)
= d + e + f + g + h + i + j + k
+ l + m + n + o (3.38)
= p + q + r + s (3.39)
+ l 사이의 간격이 달라졌음이 보이는가. 항을 넣어서 {} + l 하는 것은 +
양수 부호가 아니라 사이의 덧셈을 나타내는 부호임 강제하는 방법이다. 또한 {}
+ 이에 생겨 미세 \negmidspace (negative medium space) 령으
없앴다.
수식 번호를 붙이 않을 행에 \nonumber 적어주면 호가 붙지 는다.
행에 \label{eq:...} 정의되어 있다면 label 다음 수식 호를 가리키
된다. 레이블은 나눔 명령 \\ 직전에 두거나 레이블을 수식 뒤에 붙이도록 하라.
소스 코드를 읽기 쉬워지는 것과 더불어 \IEEEmulticol 명령이 라벨 달아
나올 발생할 있는 컴파일 오류를 방지한다.
별표 경을 하면 수식 번호 는다. 우에 수식
번호를 나타내어야 필요가 있으면 \IEEEyesnumber 명령을 이용한다.
\begin{IEEEeqnarray*}{rCl}
a & = & b + c \\
& = & d + e \IEEEyesnumber\\
& = & f + g
\end{IEEEeqnarray*}
a = b + c
= d + e (3.40)
= f + g
\IEEEyessubnumber 통해 하위 번호도 손쉽게 붙일 있다.
\begin{IEEEeqnarray}{rCl}
a & = & b + c
\IEEEyessubnumber\\
& = & d + e
\nonumber\\
& = & f + g
\IEEEyessubnumber
\end{IEEEeqnarray}
a = b + c (3.40a)
= d + e
= f + g (3.40b)
3.6 배열과 행렬
배열 식자하려면 array 환경을 쓴다. tabular 환경과 비슷하다. 분리에 & 분리에
\\ 명령을 사용한다.
배열과 행렬 53
\begin{equation*}
\mathbf{X} = \left(
\begin{array}{ccc}
x_1 & x_2 & \ldots \\
x_3 & x_4 & \ldots \\
\vdots & \vdots & \ddots
\end{array} \right)
\end{equation*}
X
=
x
1
x
2
. . .
x
3
x
4
. . .
.
.
.
.
.
.
.
.
.
array 환경 각적 정의 수를 표현 데도 다.
오른쪽 닫는 괄호 위치에 \right. 표시해야 한다.
\begin{equation*}
|x| = \left\{
\begin{array}{rl}
-x & \text{if } x < 0,\\
0 & \text{if } x = 0,\\
x & \text{if } x > 0.
\end{array} \right.
\end{equation*}
|x| =
x if x < 0,
0 if x = 0,
x if x > 0.
amsmath cases 환경은 이것을 좀더 간편하게 있게 한다. 다음과 같다.
\begin{equation*}
|x| =
\begin{cases}
-x & \text{if } x < 0,\\
0 & \text{if } x = 0,\\
x & \text{if } x > 0.
\end{cases}
\end{equation*}
|x| =
x if x < 0,
0 if x = 0,
x if x > 0.
행렬 array 조판할 있다. 그러나 amsmath 패키지 다양한 matrix 환경을
공하므로 이를 이용하는 것이 좋다. 여닫는 부호에 따라 여섯 가지가 있다. matrix(
닫는 부호 없음), pmatrix(둥근 ()), bmatrix( 괄호 []), Bmatrix( 괄호 {}),
vmatrix(세로선 |), Vmatrix(겹세로 k). 환경에서 array에서처 열의 수를 미리
지정하지 아도 된다. 최대 10개까지인데 조절할 다. (그런 열이 10개나
행렬을 표기할 일이 흔할까?)
\begin{equation*}
\begin{matrix}
1 & 2 \\
3 & 4
\end{matrix} \qquad
\begin{bmatrix}
p_{11} & p_{12} & \ldots
& p_{1n} \\
p_{21} & p_{22} & \ldots
& p_{2n} \\
\vdots & \vdots & \ddots
& \vdots \\
p_{m1} & p_{m2} & \ldots
& p_{mn}
\end{bmatrix}
\end{equation*}
1 2
3 4
p
11
p
12
. . . p
1n
p
21
p
22
. . . p
2n
.
.
.
.
.
.
.
.
.
.
.
.
p
m1
p
m2
. . . p
mn
54 수학식 조판
3.7 수식 모드에서의 간격
L
A
T
E
X 판한 간격 족스럽지 못하다면 특별 명령 그것
조절할 있다. 간격 조절 명령으로는 \, 명령은
3
18
quad ( ), \:
4
18
quad ( ), 그리고
\;
5
18
quad ( ) 해당하는 간격을 넣는다. 백슬래시를 붙인 스페이스 \ 반적인
단어 사이 어쓰기 간격에 해당하 중간 크기의 간격을, \quad ( ) \qquad ( )
간격을 넣는다. \quad 크기는 사용중인 폰트의 M (1em) 해당한다. \!
반대 방향으로
3
18
quad 만큼 ( ) 이동한다.
\begin{equation*}
\int_1^2 \ln x \mathrm{d}x
\qquad
\int_1^2 \ln x \,\mathrm{d}x
\end{equation*}
Z
2
1
ln xdx
Z
2
1
ln x dx
미분 기호의 ‘d’ 그대로 이탤릭으로 표현하기도 하지만 로만 정자로 인쇄하는 관행도
있다. 그럴 때에는 \ud 명령(upright d) $\,\mathrm{d}$ 정의해두고 있다.
(d 큼의 격을 하여 라. 아도
되었다.) 명령을 정의하는 \newcommand 전처리부에 넣어둔다.
\newcommand{\ud}{\,\mathrm{d}}
\begin{equation*}
\int_a^b f(x)\ud x
\end{equation*}
Z
b
a
f(x) dx
중적 분기호 이어 조판해야 적분기호 사이 어지
있다. \! 간격을 줄일 있지 amsmath 쉬운 방법 제공한다. \iint,
\iiint, \iiiint, \idotsint 명령이 그것이다.
\newcommand{\ud}{\,\mathrm{d}}
\begin{IEEEeqnarray*}{c}
\int\int f(x)g(y)
\ud x \ud y \\
\int\!\!\!\int
f(x)g(y) \ud x \ud y \\
\iint f(x)g(y) \ud x \ud y
\end{IEEEeqnarray*}
Z Z
f(x)g(y) dx dy
ZZ
f(x)g(y) dx dy
ZZ
f(x)g(y) dx dy
상세한 내용을 보려면 A
M
S-L
A
T
E
X 함께 배포되는 전자문서 testmath.tex이나
The L
A
T
E
X Companion [3] 8장을 참고하라.
3.7.1 허깨비 글자
\phantom 명령을 쓰면 자리는 차지하면 출력물에는 나오지 않도록 글자 만큼의 간격을
얻을 있다. ^ _ 수직 위치 정렬을 L
A
T
E
X 심하게 해주기 때문 원하지
않는 결과를 보일 이를 이용하여 수정할 있다. 실례를 보는 것이 제일 좋을 것이다.
수학 폰트에 대하여 55
\begin{equation*}
{}^{14}_{6}\text{C}
\qquad \text{versus} \qquad
{}^{14}_{\phantom{1}6}\text{C}
\end{equation*}
14
6
C versus
14
6
C
화학의 반응식과 동위원소를 대거 조판해야 한다면 mhchem 패키지가 도움이 된다.
3.8 수학 폰트에 대하여
여러 가지 수학 폰트들이 63페이지의 3.14 정리되어 있다.
$\Re \qquad
\mathcal{R} \qquad
\mathfrak{R} \qquad
\mathbb{R} \qquad $
< R R R
뒤의 가지는 amssymb amsfonts 패키지가 필요하다.
가끔 적당한 폰트 크기를 설정해야 때가 있다. 다음과 같은 가지 명령으로 크기를
조절한다.
\displaystyle (123), \textstyle (123), \scriptstyle (123),
\scriptscriptstyle (123).
분수의 분모나 분자 위치에
P
오면 별다른 지정이 없는 텍스트 스타일로 식자된
다. 이것을 디스플레이 스타일로 하라고 알려주려면 다음과 같이 한다.
\begin{equation*}
P = \frac{\displaystyle{
\sum_{i=1}^n (x_i- x)
(y_i- y)}}
{\displaystyle{\left[
\sum_{i=1}^n(x_i-x)^2
\sum_{i=1}^n(y_i- y)^2
\right]^{1/2}}}
\end{equation*}
P =
n
X
i=1
(x
i
x)(y
i
y)
"
n
X
i=1
(x
i
x)
2
n
X
i=1
(y
i
y)
2
#
1/2
위의 예와 같이 수식의 스타일을 바꾸거나 강제하면 연산자 부호와 리미트가 표시되는
방식이 달라진다.
3.8.1 굵은 부호
L
A
T
E
X 호를 상당 다. 닌가
많은 비전문가들이 것을 남용하 경향이 있기 문일 것이다. \mathbf 주면 글자
(letter) 대해서 볼드체 얻을 있지만 글자가 로만체(곧게 서체) 되어버린다.
수학에 이는 글자들은 이탤릭이기 때문에 생각과 다르게 나오 것일 있다. 다가
그리스어 소문자는 아예 굵은 글자 자체가 나오지 않는다. \boldmath라는 명령이 있어서
기호문자에 대해서도 동작하기는 하지만 수식 모드를 빠져나가야지만 있다.
56 수학식 조판
$\mu, M \qquad
\mathbf{\mu}, \mathbf{M}$
\qquad \boldmath{$\mu, M$}
µ, M µ, M µ, M
amsbsy 키지(amsmath 일부) tools 음의 bm 패키지에 있는 \boldsymbol
명령은 이것을 훨씬 쉽게 있게 해준다.
$\mu, M \qquad
\boldsymbol{\mu}, \boldsymbol{M}$
µ, M µ, M
3.9 수학적 문단(정리, 보조정리 )
수학적인 글쓰기에 있어서 보조정리(Lemma)”, 정의(Denition)”, 공리(Axiom)”
같은 문단을 식자해야 때가 있다.
\newtheorem{name}[counter]{text}[section]
name 자는 정리 유하게 부여한 짧은 워드이다. text 자에는 실제
인쇄될 정리 이름을 써준다.
대괄호 안에 어주는 선택 자는 략가능하다. 지가 정리 번호에
사용될 것을 가리킨다. counter 인자는 미리 선언한 어떤 “theorem” name 지정한다.
그러면 새로운 “theorem” 여기 적힌 이름을 가진 theorem 동일한 번호 순차를 공유할
것이다. section 인자는 “theorem” 번호가 section 단위에 연계되도록 설정하는 것이다.
\newtheorem 서의 전처리부에 행한 본문에서 다음 같은 명령 사용할
있다.
\begin{name}[text]
This is my interesting theorem
\end{name}
amsthm 키지는 음과 명령을 사용할 있게 한다. \theoremstyle{style}
명령으로 모든 theorem 사전에 정의된 가지 양식 가운데 하나를 선택하여 정의하도
되어 있다. definition (두꺼운 제목, 로만 본문), plain (두꺼운 제목, 이탤릭체
본문), remark (이탤릭체 제목, 로만체 본문).
이것이면 분하다. 예제 모든 명확해질 이며 \newtheorem
뭔가 이해하기 어려운 점을 분명하게 알게 것이다.
우선 theorem 정의한다.
\theoremstyle{definition} \newtheorem{law}{Law}
\theoremstyle{plain} \newtheorem{jury}[law]{Jury}
\theoremstyle{remark} \newtheorem*{margt}{Margaret}
수학적 문단(정리, 보조정리 ) 57
\begin{law} \label{law:box}
Don't hide in the witness box
\end{law}
\begin{jury}[The Twelve]
It could be you! So beware and
see law~\ref{law:box}.\end{jury}
\begin{jury}
You will disregard the last
statement.\end{jury}
\begin{margt}No, No, No\end{margt}
\begin{margt}Denis!\end{margt}
Law 1. Don’t hide in the witness box
Jury 2 (The Twelve). It could be you! So be-
ware and see law 1.
Jury 3. You will disregard the last statement.
Margaret. No, No, No
Margaret. Denis!
“Jury” 정리는 “Law” 정리와 동일한 카운터를 이용하도록 되어 있다. 그래서 이전의
“Laws” 리에 어서 붙었다. 괄호 놓인 정리 또는
표제를 설정한다.
\newtheorem{mur}{Murphy}[section]
\begin{mur} If there are two or
more ways to do something, and
one of those ways can result in
a catastrophe, then someone
will do it.\end{mur}
Murphy 3.9.1. If there are two or more ways to
do something, and one of those ways can result
in a catastrophe, then someone will do it.
“Murphy” 정리는 현재 section 번호에 연계되어 있다. chapter subsection 같은
다른 단위를 지정하는 것도 가능하다.
만약 정리 문단의 모양 글꼴 배치 등을 아주 세밀하게 조절하고 싶다면 ntheorem 패키
지가 지나치게 많은 옵션을 제공하고 있다.
3.9.1 증명, QED 부호
amsthm 패키지는 proof 환경을 제공한다.
\begin{proof}
Trivial, use
\begin{equation*}
E=mc^2.
\end{equation*}
\end{proof}
Proof. Trivial, use
E = mc
2
.
증명종료 호가 외따 줄을 차지하는 상황 하도 \qedhere
명령을 있다.
\begin{proof}
Trivial, use
\begin{equation*}
E=mc^2. \qedhere
\end{equation*}
\end{proof}
Proof. Trivial, use
E = mc
2
.
안타깝게도 이러한 수정이 IEEEeqnarray에서는 제대로 동작하지 않는다.
58 수학식 조판
\begin{proof}
This is a proof that ends
with an equation array:
\begin{IEEEeqnarray*}{rCl}
a & = & b + c \\
& = & d + e. \qedhere
\end{IEEEeqnarray*}
\end{proof}
Proof. This is a proof that ends with an equa-
tion array:
a = b + c
= d + e.
이유는 IEEEeqnarray 항상 array 양측에 신축가능한 공간만을 가지 눈에 보이지
않는 컬럼 두기 때문이다. 그래서 IEEEeqnarray서는 컬럼 안의 식이 수평으 가운데
오도록 작동한다. \qedhere 명령은 사실 눈에 보이지 않는 공간을 벗어나서 놓여야만
한다. 그러나 공간이 사용자 눈에 보이지 않기 때문에 이와 같은 일이 일어나게 된다.
문제를 수정하기 위해 신축 공백을 명시적으로 정의하는 간단한 방법이 있다.
\begin{proof}
This is a proof that ends
with an equation array:
\begin{IEEEeqnarray*}{+rCl+x*}
a & = & b + c \\
& = & d + e. & \qedhere
\end{IEEEeqnarray*}
\end{proof}
Proof. This is a proof that ends with an equa-
tion array:
a = b + c
= d + e.
{+rCl+x*}에서 + 신축 공백을 의미한다. 하나는 식의 왼쪽에(이것은 별도로 정의하지
않으면 IEEEeqnarray 자동으로 설정한다) 그리고 다른 하나는 오른쪽에 온다. 그러나
이제 오른쪽에는 신축 공백 칼럼 뒤에 x라는 컬럼을 추가하고 있다. 럼은 마지막
줄의 \qedhere 명령이 놓일 자리를 마련하기 위한 목적으로만 쓰이 것이다. 마지막의
* IEEEeqnarray에게 원치 않는 + 공간을 추가하지 말라고 알려주는 것이다.
수식 번호의 경우에도 비슷한 문제가 발생한다. 다음 가지 사례를 비교해보라.
\begin{proof}
This is a proof that ends
with a numbered equation:
\begin{equation}
a = b + c.
\end{equation}
\end{proof}
Proof. This is a proof that ends with a num-
bered equation:
a = b + c. (3.41)
\begin{proof}
This is a proof that ends
with a numbered equation:
\begin{equation}
a = b + c. \qedhere
\end{equation}
\end{proof}
Proof. This is a proof that ends with a num-
bered equation:
a = b + c. (3.42)
번째 예제에서 2 번째 것보다 수식에 훨씬 가깝게 놓였다는 것을 있다.
이와 유사하게
IEEEeqnarray
끝에
QED
부호를 두는 올바른 방법은 다음과 같다.
수학적 문단(정리, 보조정리 ) 59
\begin{proof}
This is a proof that ends
with an equation array:
\begin{IEEEeqnarray}{+rCl+x*}
a & = & b + c \\
& = & d + e. \\
&&& \qedhere\nonumber
\end{IEEEeqnarray}
\end{proof}
Proof. This is a proof that ends with an equa-
tion array:
a = b + c (3.43)
= d + e. (3.44)
이것을 아래와 비교해보라.
\begin{proof}
This is a proof that ends
with an equation array:
\begin{IEEEeqnarray}{rCl}
a & = & b + c \\
& = & d + e.
\end{IEEEeqnarray}
\end{proof}
Proof. This is a proof that ends with an equa-
tion array:
a = b + c (3.45)
= d + e. (3.46)
60 수학식 조판
3.10 수학 기호 목록
다음 수학기호 목록은 수식모드(math mode)에서 사용가능한 기호문자를 열거한 것이다.
아래 일부 amssymb 키지 드하여야 용할 있다.
14
A
M
S
키지와 폰트에 해서는 CTAN://pkg/amslatex 라. 전한 기호문자 일람표
보려면 CTAN://info/symbols/comprehensive 참조하라.
3.1: 수식모드의 액센트
ˆa \hat{a} ˇa \check{a} ˜a \tilde{a}
`a \grave{a} ˙a \dot{a} ¨a \ddot{a}
¯a \bar{a} a \vec{a}
AAA \widehat{AAA}
´a \acute{a} ˘a \breve{a}
AAA \widetilde{AAA}
˚a \mathring{a}
3.2: 그리스 문자
대문자 Alpha 위한 \Alpha \Beta라는 명령 다. 왜냐하면 글자들은 로마자
공통이고 A, B 같이 입력하여 A, B 얻을 있기 때문이다.
α \alpha θ \theta o o υ \upsilon
β \beta ϑ \vartheta π \pi φ \phi
γ \gamma ι \iota \varpi ϕ \varphi
δ \delta κ \kappa ρ \rho χ \chi
\epsilon λ \lambda \varrho ψ \psi
ε \varepsilon µ \mu σ \sigma ω \omega
ζ \zeta ν \nu ς \varsigma
η \eta ξ \xi τ \tau
Γ \Gamma Λ \Lambda Σ \Sigma Ψ \Psi
\Delta Ξ \Xi Υ \Upsilon \Omega
Θ \Theta Π \Pi Φ \Phi
14
David Carlisle 처음 작성하고 Josef Ikadlec 확장하여 수정 symbols.tex
가져온 것이다.
수학 기호 목록 61
3.3: 이항 관계 연산자
다음 연산자 부호 앞에 \not 붙이면 부정 기호를 얻을 있다.
< < > > = =
\leq or \le \geq or \ge \equiv
\ll \gg
.
= \doteq
\prec \succ \sim
\preceq \succeq ' \simeq
\subset \supset \approx
\subseteq \supseteq
=
\cong
< \sqsubset
a
= \sqsupset
a
1 \Join
a
v \sqsubseteq w \sqsupseteq \bowtie
\in 3 \ni , \owns \propto
` \vdash a \dashv |= \models
| \mid k \parallel \perp
\smile \frown \asymp
: : / \notin 6= \neq or \ne
a
기호는 latexsym 패키지를 요구한다.
3.4: 이항 연산자
+ + -
± \pm \mp \triangleleft
· \cdot ÷ \div \triangleright
× \times \ \setminus \star
\cup \cap \ast
t \sqcup u \sqcap \circ
\vee , \lor \wedge , \land \bullet
\oplus \ominus \diamond
\odot \oslash ] \uplus
\otimes \bigcirc q \amalg
4 \bigtriangleup 5 \bigtriangledown \dagger
\lhd
a
\rhd
a
\ddagger
\unlhd
a
\unrhd
a
o \wr
3.5:
˙
연산자
P
\sum
S
\bigcup
W
\bigvee
Q
\prod
T
\bigcap
V
\bigwedge
`
\coprod
F
\bigsqcup
U
\biguplus
R
\int
H
\oint
J
\bigodot
L
\bigoplus
N
\bigotimes
62 수학식 조판
3.6: 화살표
\leftarrow or \gets \longleftarrow
\rightarrow or \to \longrightarrow
\leftrightarrow \longleftrightarrow
\Leftarrow = \Longleftarrow
\Rightarrow = \Longrightarrow
\Leftrightarrow \Longleftrightarrow
7→ \mapsto 7− \longmapsto
\hookleftarrow \hookrightarrow
\leftharpoonup \rightharpoonup
\leftharpoondown \rightharpoondown
\rightleftharpoons \iff (bigger spaces)
\uparrow \downarrow
l \updownarrow \Uparrow
\Downarrow m \Updownarrow
% \nearrow & \searrow
. \swarrow - \nwarrow
; \leadsto
a
a
해당 기호는 latexsym 패키지가 필요함
3.7: 문자의 위아래로 오는 화살표
AB \overrightarrow{AB} AB
\underrightarrow{AB}
AB \overleftarrow{AB} AB
\underleftarrow{AB}
AB \overleftrightarrow{AB} AB
\underleftrightarrow{AB}
3.8: 여닫는 부호
( ( ) ) \uparrow
[ [ or \lbrack ] ] or \rbrack \downarrow
{ \{ or \lbrace } \} or \rbrace l \updownarrow
h \langle i \rangle \Uparrow
| | or \vert k \| or \Vert \Downarrow
/ / \ \backslash m \Updownarrow
b \lfloor c \rfloor
e \rceil d \lceil
3.9: 여닫는 부호
\lgroup
\rgroup
\lmoustache
\arrowvert
w
w
\Arrowvert
\bracevert
\rmoustache
수학 기호 목록 63
3.10: 기타 부호
. . . \dots ··· \cdots
.
.
. \vdots
.
.
.
\ddots
¯h \hbar ı \imath \jmath \ell
< \Re = \Im \aleph \wp
\forall \exists 0 \mho
a
\partial
' 0 \prime \emptyset \infty
\nabla 4 \triangle 2 \Box
a
3 \Diamond
a
\bot > \top \angle
\surd
\diamondsuit \heartsuit \clubsuit \spadesuit
¬ \neg or \lnot \flat \natural \sharp
a
해당 기호는 latexsym 패키지가 필요함
3.11: 수학 기호가 아닌
다음 기호들은 텍스트 모드에서도 사용할 있다.
\dag § \S © \copyright ® \textregistered
\ddag \P £ \pounds % \%
3.12: A
M
S: 여닫는 부호
p \ulcorner q \urcorner x \llcorner y \lrcorner
| \lvert | \rvert k \lVert k \rVert
3.13: A
M
S: 그리스와 히브리 문자
\digamma κ \varkappa \beth ג \gimel \daleth
3.14:
수학 알파벳
그밖의 수학 폰트에 관해서는 100페이지의 6.4 보라.
예문 명령 필요패키지
ABCDEabcde1234 \mathrm{ABCDE abcde 1234}
ABCDEabcde1234 \mathit{ABCDE abcde 1234}
ABCDEabcde \mathnormal{ABCDE abcde 1234}
ABCDE \mathcal{ABCDE abcde 1234}
A BC D E \mathscr{ABCDE abcde 1234} mathrsfs
ABCDEabcde1234 \mathfrak{ABCDE abcde 1234} amsfonts or amssymb
ABCDE \mathbb{ABCDE abcde 1234} amsfonts or amssymb
64 수학식 조판
3.15: A
M
S: 이항 관계 연산자
u \dotplus \centerdot
\ltimes \rtimes \divideontimes
d \doublecup e \doublecap \smallsetminus
Y \veebar Z \barwedge [ \doublebarwedge
\boxplus \boxminus \circleddash
\boxtimes \boxdot } \circledcirc
| \intercal ~ \circledast i \rightthreetimes
g \curlyvee f \curlywedge h \leftthreetimes
3.16: A
M
S: 이항 연산자
\lessdot \gtrdot + \doteqdot
6
\leqslant
>
\geqslant
:
\risingdotseq
0 \eqslantless 1 \eqslantgtr ; \fallingdotseq
5 \leqq = \geqq P \eqcirc
\lll or \llless \ggg $ \circeq
. \lesssim & \gtrsim , \triangleq
/ \lessapprox ' \gtrapprox l \bumpeq
\lessgtr \gtrless m \Bumpeq
Q \lesseqgtr R \gtreqless \thicksim
S \lesseqqgtr T \gtreqqless \thickapprox
4 \preccurlyeq < \succcurlyeq \approxeq
2 \curlyeqprec 3 \curlyeqsucc v \backsim
- \precsim % \succsim w \backsimeq
\precapprox \succapprox \vDash
j \subseteqq k \supseteqq \Vdash
\shortparallel c \Supset \Vvdash
J \blacktriangleleft = \sqsupset \backepsilon
B \vartriangleright \because \varpropto
I \blacktriangleright b \Subset G \between
D \trianglerighteq a \smallfrown t \pitchfork
C \vartriangleleft \shortmid ` \smallsmile
E \trianglelefteq \therefore < \sqsubset
수학 기호 목록 65
3.17: A
M
S: 화살표
L99 \dashleftarrow 99K \dashrightarrow
\leftleftarrows \rightrightarrows
\leftrightarrows \rightleftarrows
W \Lleftarrow V \Rrightarrow
\twoheadleftarrow \twoheadrightarrow
\leftarrowtail \rightarrowtail
\leftrightharpoons \rightleftharpoons
\Lsh \Rsh
" \looparrowleft # \looparrowright
\curvearrowleft \curvearrowright
\circlearrowleft \circlearrowright
( \multimap \upuparrows
\downdownarrows \upharpoonleft
\upharpoonright \downharpoonright
\rightsquigarrow ! \leftrightsquigarrow
3.18: A
M
S: 이항 연산자와 화살표의 부정
\nless \ngtr \varsubsetneqq
\lneq \gneq \varsupsetneqq
\nleq \ngeq \nsubseteqq
\nleqslant \ngeqslant \nsupseteqq
\lneqq \gneqq \nmid
\lvertneqq \gvertneqq \nparallel
\nleqq \ngeqq \nshortmid
\lnsim \gnsim \nshortparallel
\lnapprox \gnapprox \nsim
\nprec \nsucc \ncong
\npreceq \nsucceq \nvdash
\precneqq \succneqq \nvDash
\precnsim \succnsim \nVdash
\precnapprox \succnapprox \nVDash
\subsetneq \supsetneq \ntriangleleft
\varsubsetneq \varsupsetneq \ntriangleright
\nsubseteq \nsupseteq \ntrianglelefteq
\subsetneqq \supsetneqq \ntrianglerighteq
\nleftarrow \nrightarrow \nleftrightarrow
\nLeftarrow \nRightarrow \nLeftrightarrow
66 수학식 조판
3.19: A
M
S: 기타
¯h \hbar \hslash k \Bbbk
\square \blacksquare s \circledS
M \vartriangle N \blacktriangle { \complement
O \triangledown H \blacktriangledown \Game
\lozenge \blacklozenge F \bigstar
\angle ] \measuredangle
\diagup \diagdown 8 \backprime
\nexists \Finv \varnothing
ð \eth ^ \sphericalangle 0 \mho
4
특별한 기능
규모의 문서를 작성할 색인 생성, 문헌 목록 관리와 같은 특별
기능이 필요하다. L
A
T
E
X 이런 일을 있도록 해준다. 훨씬
많은 특별한 능과 확장된 기능이 으며 L
A
T
E
X Manual [1]
The L
A
T
E
X Companion [3] 상세히 설명되어 있다.
4.1 문헌 목록
문헌 목록은 thebibliography 환경으로 만든다. 문헌항목을
\bibitem[label]{marker}
명령으로 시작하여 입력한다. marker 문서 내에서 도서나 논문 등의 문헌을 인용하
다음과 같이 사용한다.
\cite{marker}
선택 인자 label 입력하지 않으면 항목은 일련번호가 자동으로 붙게 된다.
숫자 레이블에 얼마 만큼의 공간이 필요한지를 \begin{thebibliography} 명령 뒤에
적어넣는데 다음 페이지의 예제에서 99라고 했으므로 항목 수가 99 넘지 않을 것이라고
예상할 있다.
문서 작업을 하고 있다면 BibT
E
X 프로그램의 사용을 고려해볼 있다. BibT
E
X
대부분의
T
E
X 배포판에 포함되어 있다. 프로그램이 하는 일은 문헌 목록 데이터베이스
유지하면서 현재 쓰고 있는 문서에서 인용된 것만을 추려내어 참고문헌 목록으로 만들
어준다. BibT
E
X 의하 생성되 참고문 목록은 자신이 만들고자 문헌목록과
인용방식에 의한 스타일시트에 입각하여 모양이 갖추어진다. 여러 학술지 단행본에
채택하고 있는 문헌목록과 인용방식의 스타일이 제공된다.
67
68 특별한 기능
Partl~\cite{pa} has
proposed that \ldots
\begin{thebibliography}{99}
\bibitem{pa} H.~Partl:
\emph{German \TeX},
TUGboat Volume~9, Issue~1 (1988)
\end{thebibliography}
Partl [1] has proposed that . . .
Bibliography
[1] H. Partl: German T
E
X, TUGboat Vol-
ume 9, Issue 1 (1988)
4.2
색인
책에 있는 색인(찾아보기) 매우 유용하다. L
A
T
E
X에서는 makeindex 프로그램의 도움을
받아 상당히 손쉽게 색인을 만들 있다. 기본적인 색인 생성 명령에 대해서만 소개하겠
다. 깊은 내용을 알고 싶다면 The L
A
T
E
X Companion [3] 참고하라.
색인 생성을 가능하게 하려면 makeidx 패키지를 전처리부에 선언하여야 한다.
\usepackage{makeidx}
그리고 색인 생성을 시작하라는 의미의 특별한 색인 명령을 준다.
\makeindex
명령은 전처리부에 놓인다.
색인으로 들어갈 내용은 다음과 같이 지정한다.
\index{key@formatted_entry}
formatted_entry 실제 색인에 인쇄되어 나타날 표제어의 모양이고 key 렬을 위해
사용 자열이다. formatted_entry 생략 있으 때는 key 사용다.
색인 록에서 가리 텍스트상 위치에 index 명령을 어넣는다. 4.1 명령의
사용법을 보여주고 있다.
입력 파일을 L
A
T
E
X 처리하는 과정에서 \index 명령을 만나면 색인에 들어갈 항목표
제와 현재 페이지 번호를 특별한 파일에 기록해둔다. 입력 파일과 이름이 같고 확장자
.idx 파일이 생성된다. makeindex 프로그램을 .idx 파일에 대하여 실행할 있다.
makeindex lename
makeindex 프로그램은 색인을 정렬하여 같은 이름에 확장자가 .ind 파일을 만든다.
L
A
T
E
X 다시 파일 리할 인쇄 령을 나면 정렬 색인 문서
면주 장식 69
4.1: \index 명령의 사용법
Example Index Entry Comment
\index{hello} hello, 1 일반표제항목
\index{hello!Peter} Peter, 3 ‘hello’ 아래 하위항목
\index{Sam@\textsl{Sam}} Sam, 2 항목 출력형식 장식
\index{Lin@\textbf{Lin}} Lin, 7 항목 출력형식 장식
\index{Kaese@\textbf{K\"ase}} Käse, 33 항목 출력형식 장식
\index{ecole@\'ecole} école, 4 항목 출력형식 장식
\index{Jenny|textbf} Jenny, 3 페이지번호 출력형식 장식
\index{Joe|textit} Joe, 5 페이지번호 출력형식 장식
안으로 불러들인다. 색인 인쇄 명령은 다음과 같다.
\printindex
showidx 패키지는 모든 색인 항목을 문서의 왼쪽 여백에 표시해준다. 서를 교열할
색인 점검에 유용하다.
\index 명령은 주의깊 사용하지 않으면 서의 레이아웃에 영향을 미칠 있다는
사실을 알아두자. \index 명령 주변에 의도하지 않은 공백이 들어가지 않도록 하는 것이
중요하다.
My Word \index{Word}. As opposed
to Word\index{Word}. Note the
position of the full stop.
My Word . As opposed to Word. Note the
position of the full stop.
makeindex 어서 자를 하지 다. 므로
제대로 되게 하려면 앞서 보인 예에서 Käse école 처리할 때처럼 @ 정렬 위치를
알려주는 것이 필요하다.
[역자의 보충] 한국 문서의 색인 작성을 위해서 makeindex 그대로 쓰면 만족스러
과를 얻기 어렵다. ko
.
T
E
X 이를 위하여 komkindex라는 프로그램 제공한다. ko
.
T
E
X
함께 배포되므로 이미 설치되어 있을 것이다. 프로그램은 가지 유용한 옵션을 가지
있는데, 라틴 문자보 한글이 색인에서 먼저 나타나게 하고 싶으면 -k 옵션을
있다는 이다. 이밖에 최근 유니코드 문자를 리할 있는 색인 유틸리티가 발전하는
중이다. xindy, xindex 등이 예이다.
4.3 면주 장식
문서의 면주
1
사용자가 만들 있도록 하는 명령을 제공하는 패키지가 있다. Piet van
Oostrum 작성한 fancyhdr이다.
2
영문판 lshort 문서의 페이지 스타일 패키지를
1
[역주] 면주 (面柱)” 외곽 장절 표제 등을 어넣 리키 조판 용어이다.
header footer 이용하여 만드 page style 리키는 의미로 용하였다. 편의상 header 단면주,
footer 하단면주라고 하였다.
2
CTAN://macros/latex/contrib/supported/fancyhdr
70 특별한 기능
이용하여 만들어진 것이다.
3
\documentclass{book}
\usepackage{fancyhdr}
\pagestyle{fancy}
% with this we ensure that the chapter and section
% headings are in lowercase.
\renewcommand{\chaptermark}[1]{%
\markboth{#1}{}}
\renewcommand{\sectionmark}[1]{%
\markright{\thesection\ #1}}
\fancyhf{} % delete current header and footer
\fancyhead[LE,RO]{\bfseries\thepage}
\fancyhead[LO]{\bfseries\rightmark}
\fancyhead[RE]{\bfseries\leftmark}
\renewcommand{\headrulewidth}{0.5pt}
\renewcommand{\footrulewidth}{0pt}
\addtolength{\headheight}{0.5pt} % space for the rule
\fancypagestyle{plain}{%
\fancyhead{} % get rid of headers on plain pages
\renewcommand{\headrulewidth}{0pt} % and the line
}
그림 4.1: fancyhdr 설정 예제
상하단 주를 입맛대 고치려 까다로 점은 현재 장표제 절표제를
4
거기
것이다. L
A
T
E
X에서 작업 계로 루어진다. 상하단의 정의에는
\rightmark \leftmark 명령을 이용하여 현재의 절표제와 장표제를 각각 가리키게
둔다. 그리 장이 바뀌거 새로운 절이 시작될 때마다( \chapter 명령이 \section
명령이 불릴 때마다) 명령에 할당된 값을 새로운 것으로 대체하게 하는 것이다.
유연성을 확보하고 충돌 방지하기 해서 \chapter \section 령이 \rightmark
\leftmark 명령을 직접 수정하지는 않는다. 대신 \chaptermark, \sectionmark,
\subsectionmark 같은 다른 명령을 호출하는데 명령들이 \rightmark \leftmark
정의하는 역할을 맡고 있다.
면주의 장표제 모양을 바꾸고 싶으면 \chaptermark 재정의(renewcommand)하면
된다.
5
그림 4.1 영문판 lshort 면주 모양과 똑같이 페이지 스타일을 정의한 예를 보였다.
아무튼 패키지의 사용설명서를 읽어보기를 권한다.
3
[역주] 한국어판은 영문판 페이지 스타일을 비슷하게 흉내내었지만 조금 다른 방법으로 만들었다.
4
[역주] “running heading(s)”이라고 한다.
5
[] 예시 \markboth \markright 다. \rightmark
\markright 하기 \rightmark 헤딩 가지 문자 매크이고 \markright
() 헤딩 여하 명령이라 하면 된다. 책자 왼쪽 상단 면주에는 장의
제목이, 오른쪽 상단 면주에는 절의 제목이 들어가 있다.
Verbatim 패키지 71
4.4 Verbatim 패키지
verbatim 환경 대해서 앞부분에 이미 보았다. 여기서는 verbatim 패키
대해 배워보려 다. verbatim 패키지는 기본적으 원래의 verbatim 환경이 가지고
있는 한계를 보충하기 위해서 verbatim 환경을 재구현한 것이다. 자체로 엄청난 것은
아니지만 새로운 기능을 가한 것이 있고 때문에 여기서 패키지를 다루 것이다.
verbatim 패키지는 다음과 같은 명령을 제공한다.
\verbatiminput{lename}
명령은 외부 텍스트 파일의 내용을 verbatim 환경 안에 넣으면서 불러들이도록 한다.
패키지에 대해 알고 싶으면 사용설명서 [10] 읽어보라.
4.5 패키지의 추가 설치
대부분 L
A
T
E
X 설치배포판은 엄청나게 많은 스타일 패키지 미리 설치해준다. 그렇지만
인터넷에서 구할 있는 패키지도 많다. 스타일 패키지에 대하 우선 방문해보아야
곳은 CTAN (http://www.ctan.org)이다.
geometry, hyphenat 많은 패키지들은 개의 파일로 배포된다. 하나는 .ins 파일
아고 다른 하나는 .dtx 파일이다. readme.txt 있어서 패키지에 대해 간략히 설명하고
있을 있다. 당연히 파일을 제일 먼저 읽어야 한다.
어떤 경우든 키지 파일을 내려받았다면 이것 다음과 같이 처리하여야 한다. (a)
자신의 T
E
X 시스템에게 스타일 파일에 대해 알려주는 것. (b) 패키지 문서를 얻는 것.
먼저 (a) 해당하는 작업을 해보자.
1. L
A
T
E
X .ins 파일에 대하여 실행한다. 그렇게 하면 .sty 파일이 풀려나온다.
2. .sty 파일을 T
E
X 시스템의 적절한 위치로 옮긴다. 일반적으로
.../localtexmf/tex/latex이라는 폴더 아래에 설치한다.
3. T
E
X 스템의 파일네임 데이터베이스를 갱신한다. 배포판 따라서 이것 하는
명령이 조금씩 다르다. T
E
X Live texhash 또는 mktexlsr, web2c mktexlsr,
MiKT
E
X initexmf --update-fndb 등이며 편리하게 쓰는 GUI 이용할 수도
있다.
다음으로 문서를 얻는 방법을 알아본다.
1. X
Ǝ
L
A
T
E
X .dtx 파일에 대하여 실행한다. 그러 .pdf 파일이 들어진다. 교차
참조가 바르게 나타나게 하려면 X
Ǝ
L
A
T
E
X 실행해야 것이다.
2. X
Ǝ
L
A
T
E
X 정에 .idx 일이 생성되었는 확인한다. 만약 일이
생겨나지 않았으면 설명 문서에 색인이 없는 것이므로 5단계로 진행한다.
3. 색인을 생성해야 한다면 다음 명령을 실행한다.
makeindex -s gind.ist name
(여기서 name 파일 이름을 확장자 없이 써넣는다는 뜻이다.)
72 특별한 기능
4. X
Ǝ
L
A
T
E
X .dtx 대해 실행한다.
5. 마지막으로 만들어진 .pdf 문서를 즐겁게 읽어보면 된다.
가끔 .glo (glossary) 일이 겨나 있을 때가 다. 것은 어집을 만들기
파일인데 다음 명령을 4 5단계 사이에 실행하여야 한다.
makeindex -s gglo.ist -o name.gls name.glo
5단계로 넘어가기 전에 X
Ǝ
L
A
T
E
X 마지막에 실행해야 한다는 것을 기억하자.
4.6 L
A
T
E
X PDF
글쓴이: Daniel Flipo <Daniel.Flipo@univ- lille1.fr>
PDF (Portable Document Format) 하게 있는 강력 하이퍼텍스트 문서
식이다. 하이퍼텍스트란 웹페이지에서 있는 바와 같이 특정 어구에 하이퍼링크를
달아서 동일 문서 또는 다른 문서로 클릭하 이동하거나 참조할 있게 하는 장치이다.
L
A
T
E
X으로 말하자 \ref \pageref, \cite 모두 하이퍼링크 루어지
있으며 목차나 색인 등도 하이퍼링크를 갖춘 구조로서 조판되게 있다.
늘날 HTML (Hypertext Markup Language) 된다.
형식은 과학 문헌을 작성하는 경우에 중요한 결점 가지가 있다.
1. HTML 자체만으로는 수학식 함하기 렵다. 이를 위한 표준이 있기는 하지만
지원하는 브라우저가 많지 않거나 필요한 폰트가 없을 때가 많다.
6
2. HTML 문서를 인쇄할 있기는 하나 결과는 플랫폼과 라우저에 따라 천차만별
이다. 결과물 L
A
T
E
X으로 문서 비교 품질 에서 무나 격한
차이가 있다.
L
A
T
E
X HTML으로 변환하는 다양한 시도가 었다. 가운데 일부는 표준 L
A
T
E
X
입력 파일로부터 읽을 만한 페이지를 만들어낼 있다는 의미에서 그럭저럭 성공적인
것도 있다. 그러나 이렇게 하기 위해서는 너무나 많은 것을 희생해야 한다. 다양한 패키지
활용 복잡한 L
A
T
E
X 문서가 되면 당장 제대로 되지 않는 들이 나타나 시작한다.
신이 성한 그래 지하 하여 판하
한다면 PDF 려해보는 것이 좋다. 포맷은 문서의 이아웃을 그대로 유지하면서
하이퍼텍스트를 포함하기 때문이다. 현대의 브라우저들은 PDF 문서를 브라우저 내에서
바로 보여주는 부가기능을 대부분 가지고 있다.
현재 모든 T
E
X 엔진 PDF 즉시 생성 다. 입문서 따라왔다면
PDF 만들기도 이미 익숙해진 방법으로 있다.
4.6.1 하이퍼텍스트 링크
hyperref 패키지는 L
A
T
E
X PDF 파일에 멋진 기능을 추가해준다.
6
[역주] 여기서 아마 MathML 칭하는 듯하다. 한편 웹상에 수학식을
현하는 방법이 발되어 이전 어려움 대부분 극복한 것은 실이다. 특히 MathJax 유명하다. https:
//www.mathjax.org/. MathJax L
A
T
E
X 형식으로 입력되는 수식을 표현한다.
L
A
T
E
X PDF 73
1. 용지 크기는 문서 클래스에 선언한 것에 맞추어진다.
2. 문서상의 모든 참조는 하이퍼링크로 만들어진다.
\usepackage{hyperref} 문장을 전처리부에 마지막 문장으로 적어넣는다.
hyperref 패키지의 동작을 지정하기 위해 여러 가지 옵션을 사용할 있다.
\usepackage[
options
]{hyperref}
같이 옵션을 쉼표로 분리하여 나열하거나
\hypersetup{options}라는 별도의 명령으로 옵션을 설정할 있다.
사용가능한 옵션을 가지 보이겠다. 로만 폰트로 적힌 것이 기본값(default)이다.
bookmarks (=true, false) 문서의 pdf 책갈피(bookmarks) 보이거나 보이지 않게
한다.
unicode (=false,true) Acrobat 책갈피에 비라틴문자 허용할 것인지 여부이다.
pdftoolbar (=true,false) Acrobat 툴바를 보이거나 보이지 않게 한다.
pdfmenubar (=true,false) Acrobat 메뉴를 보이거나 숨긴다.
pdffitwindow (=false,true) PDF 열었을 추어 확대할 것인지
부이다.
pdftitle (={text}) Acrobat 문서 정보에 표시될 문서 제목을 정한다.
pdfauthor (={text}) 문서 정보에 나타날 저자명을 정한다.
pdfnewwindow (=false,true) 문서의 크를 러서 다른 서로 동할
것인가의 여부.
colorlinks (=false,true) 하이퍼링크 걸린 텍스트 색상 프레임으로 둘러쌀
인지 (false) 니면 입힐 인지 (true) 나타다. 종류 따라
색상이 다르게 나타나는데 해당 옵션은 다음과 같다(표시된 색상은 기본값이다).
linkcolor (=red) 내부 링크 (section, 페이지 )
citecolor (=green) 인용 링크 (참고문헌)
filecolor (=magenta) 파일로의 링크
urlcolor (=cyan) URL 링크 (메일, )
기본값으로 충분하다면
\usepackage{hyperref}
책갈피를 열고 링크를 색상 텍스트로 나타내려면 (=true 생략가능)
\usepackage[bookmarks,colorlinks]{hyperref}
위와 같이 설정한다.
74 특별한 기능
PDF 쇄용으 만드는 경우 색상 링크 좋은 방법이 니다. 흑백 린터로
인쇄하면 색으로 나오기 때문 읽기 어려워진다. 반면 프레임 면으로 보이
인쇄되지 않는다.
\usepackage{hyperref}
\hypersetup{colorlinks=false}
또는 링크 색상을 모두 black으로 하려면
\usepackage{hyperref}
\hypersetup{colorlinks,%
citecolor=black,%
filecolor=black,%
linkcolor=black,%
urlcolor=black,%
pdftex}
PDF 파일의 문서 정보에 들어갈 내용을 다음과 같이 설정한다.
\usepackage[pdfauthor={Pierre Desproges},%
pdftitle={Des femmes qui tombent},%
pdftex]{hyperref}
자동 하이퍼링크 말고, 특정의 링크를 임의로 주기 위해서는 다음 명령을 쓴다.
\href{url}{text}
아래와 같이 하면
\href{http://www.ctan.org}{CTAN} 웹사이트.
코드는 CTAN이라는 크를 만들어낸다. CTAN 부분 누르면 CTAN 웹사이
트로 이동할 것이다.
링크 리키 적지 URL 니라 일인 경우 \href 령에 http://
부분을 제외하고 쓴다.
전체 문서는 \href{manual.pdf}{여기} 보시오.
이렇게 하면 전체 문서는 여기 보시오라는 텍스트가 생성된다. 여기라고 되어 있는
부분을 클릭하면 (manual.pdf라는 파일이 읽고 있는 문서와 같은 폴더에 있을 ) 파일이
열릴 것이다.
전자우편 주소에 하이퍼링크를 걸어두면 문서를 읽던 독자가 즉시 이메일을 보낼
있다.
\author{Mary Oetiker $<$\href{mailto:mary@oetiker.ch}%
{mary@oetiker.ch}$>$
위의 예에 저자의 름에 이메 주소 하이퍼링크를 않고 이메 주소를 면서
거기에 다시 링크를 걸었는데 이렇게 이유는 저자 이름에만 이메일 주소 링크를
. \href{mailto:mary@oetiker.ch}{Mary Oetiker}
이런 식으로 걸어둔 경우에 PDF 화면으로 읽고 있다면 문제없이 동작하지만 인쇄했을
이메일 주소가 사라져서 보이지 않게 되기 때문이다.
X
Ǝ
L
A
T
E
X PDF 75
4.6.2 링크 관련 문제
pdfT
E
X 경고 메시지로 이런 것이 있다.
! pdfTeX warning (ext4): destination with the same
identifier (name{page.1}) has been already used,
duplicate ignored
이것 카운 정되 나타다. book 래스 \mainmatter
명령 주면 이지 운터를 1 재설정하여 1장의 이지 번호가 1 되는데
서문 페이지 번호도 인쇄시에는 i 나타나 있어서 구별되지만 내부적으로는 똑같이
1이기 때문 “1페이지 리키는 크는 이상 데를 가리키지 아서 혼선
빚게 된다. 그래서 경고 메시지에서 duplicate ignore되었다고 하는 것이다.
plainpages=false 션을 운터 재설 결되 제는
오직 페이지 카운터에만 해당한다는 점이다. 극단적으로 hypertexnames=false 해버
리는 방법이 있지만 이렇게 하면 색인에서 페이지 링크가 더이상 먹지 않는다.
4.6.3 북마크 관련 문제
pdf 마크 리한 치지 거기에 타나 모양 예상대로 것이 아니다.
왜냐하면 북마크는 단순히 텍스트 뿐이라서 보통 L
A
T
E
X으로 표현되는 텍스트 가운데
사용 없는 자가 다. hyperref 이런 제를 나면 무시하면 경고
보여준다.
Package hyperref Warning:
Token not allowed in a PDFDocEncoded string:
문제를 피해가려면 북마크용 텍스트를 별도로 제공해주면 된다.
\texorpdfstring{T
E
X text}{Bookmark Text}
수학식이 북마크에 들어가는 경우에 흔히 발생하는 일이다.
\section{\texorpdfstring{$E=mc^2$}%
{E = mc ** 2}}
E = mc
2
절표 용하 마크 “E = mc ** 2”
것이다.
유니코드 문서를 작성하고 있다면 hyperref 패키지에 unicode 옵션을 부여하면 북마
크에 니코 문자 용할 다. \texorpdfstring하는 경우 허용 있는
문자 범위가 넓어진다.
4.7 X
Ǝ
L
A
T
E
X PDF
글쓴이: Axel Kielhorn <A.Kielhorn@web.de>
절에서 논의한 내용 대부분이 X
Ǝ
L
A
T
E
X에도 적용된다.
X
Ǝ
T
E
X X
Ǝ
L
A
T
E
X 관련 정보 http://wiki.xelatex.org/docu.php
이트에 있다.
76 특별한 기능
4.7.1 폰트
전통(레거시) 엔진의 tfm 기반 폰트 이외에, X
Ǝ
L
A
T
E
X 운영체제에 등록된 어떤 폰트
라도 사용할 있다. Linux Libertine 폰트가 설치되어 있다면 간단히
\usepackage{fontspec}
\setmainfont[Ligatures=TeX]{Linux Libertine}
이와 같이 전처리부에 선언하는 것으로 문서에 폰트를 사용할 있다. 같은 글꼴
족에 해당하는 이탤릭 글꼴과 볼드 글꼴을 대개 찾아내기 때문에 \textit이나 \textbf
명령 작동한다. 예전 가상 폰트 도의 폰트 해서 하던 폰트 변형, 장,
대체 기능이 오늘날은 오픈타입(OpenType) 기술에 의한 font feature 구현되어 있는데
이를 활성화할 수도 있다. 문자 집합이 확장되어서 하나의 폰트가 라틴 문자, 그리스 문자,
키릴 문자와 대응 합자(ligature)들을 모두 갖추고 있게 되었다.
최소 종류의 숫자 양을 갖춘 폰트가 많다. old style 숫자라 불리는 것과 라이닝
숫자라 불리는 인데, old style 자는 베이스라인 래로 려가는 양으로
다. 그리고 가변폭(proportional) 숫자(“1” “0” 서로 다른 너비를 가진다) 고정폭
(monospaced) 숫자를 가지고 있을 수도 있는데 고정폭은 작성에 알맞다.
\newfontfamily\LLln[Numbers=Lining]{(font)}
\newfontfamily\LLos[Numbers=OldStyle]{(font)}
\newfontfamily\LLlnm[Numbers=Lining,Numbers=Monospaced]{(font)}
\newfontfamily\LLosm[Numbers=OldStyle,Numbers=Monospaced]{(font)}
대부분의 픈타입 폰트에 표준 ( ) 있는 st, ct, tz 같은 희귀한
합자 역사 자를 것도 다. 것을 학적 서에 지만
등이라면 괜찮을 것이다. 합자 사용을 지정하는 방법을 다음 예제에서 나타내었다.
\setmainfont[Ligatures=Rare]{(font)}
\setmainfont[Ligatures=Historic]{(font)}
\setmainfont[Ligatures=Historic,Ligatures=Rare]{(font)}
모든 폰트가 합자들을 갖추고 있는 것은 아니므로 폰트 견본을 보거나 직접 시험해
보라. 어떤 합자는 언어의존적이다. 예컨대 폴란드어의 (fk) 합자는 영어에서는 사용되지
않는 것이다. 폴란드어 특유의 합자를 활성화하려면 다음과 같이 한다.
\setmainfont[Language=Polish]{(font)}
( 상업 트인 Adobe Garamond Premier Pro) 포함
글리프를 T
E
X Live 2010 이후 전에 X
Ǝ
L
A
T
E
X 기본적으 성화다.
7
결과
특유의 “Q” 문자 꼬리가 다음에 오는 “u” 아래까지 닿는 모양으로 인쇄된다. 기능을
억제하려면
\setmainfont[Contextuals=NoAlternate]{(font)}
이와 같이 지정한다.
X
Ǝ
L
A
T
E
X 폰트 사용법에 대해 자세한 사항은 fontspec 패키지 설명서를 읽어보면
된다.
7
이전 버전에서는 되지 않았으나 버전 이후 변경된 사항이다.
X
Ǝ
L
A
T
E
X PDF 77
오픈타입 폰트를 얻을 있는
T
E
X Live 설치하여 사용하고 있다면 .../texmf-dist/fonts/opentype 폴더를 열어
보면 상당 픈타입 폰트 음을 있다. L
A
T
E
X 작업 해서 대로
사용가능하며 시스템 전체적으로 활용하고 싶다면 운영체제에 설치하여 써도 된다.
폰트는 설치한다. 그렇지 않으면 이상한 결과를 얻을 있다.
자신의 컴퓨터에는 있는 폰트라도 다른 사람은 폰트를 가지고 있지 않을 있다는
사실을 억하자. Zapno 폰트 fontspec 명서에도 있는 것인데 Mac OS X
포함되어 있지만 윈도우즈 컴퓨터에는 없을 있다.
8
유니코드 입력
폰트에 포함되는 글자들은 많아졌는데 키보드의 숫자는 늘어나지 않았다. 아스키 문자
이외의 글자들을 어떻게 입력할까?
특정 외국어의 입력 분량이 상당하다면 언어에 맞는 키보드를 설치하여 배열을
인쇄해 보면서 입력할 있겠다. (대부분의 운영체제에는 가상 키보드 기능이 있으므로
그것을 활용해보라.)
입력할 문자가 되는 경우라면 문자표에서 선택하여 붙여넣는 방법이 있다.
X 윈도우 시스템처럼 비아스키 문자 입력에 여러 방법을 제공하는 환경도 있으며 vim
이나 Emacs 같이 방법 제공 터도 다. 용할 있는
도구의 설명서를 읽어보도록 하자.
4.7.2 한국어 폰트
글쓴이: 한국어판을 위하여 추가
한국어 문서를 작성하기 위해서는 적어도 종류의 폰트가 필요하다. 하나는 라틴 문자를
위한 것이고 하나 한글 폰트이 마지막으로 한자를 자할 트가 어야 다.
한글 한자 폰트 자할 다면 ( 트에 한글 한자 갖추어져
있다면) 라틴 문자용 폰트와 한글/한자 폰트 종류가 있으면 된다. 조금 복잡한 상태인
까닭은 근본적으로 한글 한자 문서 작성에 필요한 모든 자면(글리프) 갖춘
신뢰할 만한 폰트가 존재하지 않기 때문이다.
X
Ǝ
L
A
T
E
X ko
.
T
E
X 트에 하여 다른 정이 없으 문자 서는
Latin Modern 폰트를, 한글과 한자에 대해서는 글꼴을 기본 폰트로 적용한다.
ko
.
T
E
X X
Ǝ
L
A
T
E
X 패키지는 fontspec 기본적으로 로드하여 활성화하기 때문
에, 라틴 문자 영역에 대한 것은 앞선 절에서 소개한 내용을 그대로 적용할 있다.
한글 폰트는 main/sans/mono 폰트(각각 rm, sf, tt 해당) 다음과 같은 명령으로
설정한다. 명령은 전처리부의 \usepackage{kotex} 이후에 두면 된다.
\setmainhangulfont{fontname}[options]
fontname 해당 폰트의 이름이다.
options 활용하는 예시는 다음과 같다.
8
Zapno Extra라는 상업용 폰트가 있다.
78 특별한 기능
\setmainhangulfont{UnBatang}[BoldFont=UnBatang-Bold,AutoFakeSlant]
여기서 BoldFont \bfseries 식자할 폰트 이름을 적어주는 것이고
9
AutoFakeSlant
이탤릭체를 써야 상황에 기울어진 글꼴 사용하라는 의미이다. 우사(fakeslant)
사용은 권장하지 않는 바이지만 구태여 하려 한다면 이렇게 있다는 것이다.
폰트 설정 방법과 옵션에 관하여서는 xetexko 매뉴얼[25] 참조해 보아야 한다.
타입 루타 트는 X
Ǝ
L
A
T
E
X 가능다.
사용할 있는 한글 폰트는 글꼴, 나눔글꼴, 함초롬 LVT 폰트, Noto CJK Fonts 등이
있다. 글꼴 루타 T
E
X Live 배포되므 도로 치할 없지 다른
글꼴은 스스로 운영체제에 설치해야 사용가능하다.
한글 폰트 름을 알아내기 위해서는 otfinfo라는 프로그램 (T
E
X Live 포함
) 다.
C:\Windows\Fonts\NanumMyeongjo.ttf
대하여 명령을
otfinfo -i "C:\Windows\Fonts\NanumMyeongjo.ttf"
적용하면 “Full Name” 알려준다. 되도록 여기에 표시되는 이름을 사용하여야 한다.
필요하다면 라틴 문자와 문장부호에 대해 한글 폰트를 함께 적용하는 방법도 있다.
가장 쉬운 방법은 라틴 문자를 설정하는 \setmainfont 명령에 한글 폰트 이름을 똑같이
지정하는 것이다.
4.7.3 X
Ǝ
L
A
T
E
X pdfL
A
T
E
X 호환성
X
Ǝ
L
A
T
E
X pdfL
A
T
E
X 사이에 가지 차이점이 있다.
• X
Ǝ
L
A
T
E
X 문서는 유니코드 (UTF-8) 입력한다. pdfL
A
T
E
X 입력 인코딩이
다양해서 주의를 기울여야 한다.
10
microtype 패키지가 X
Ǝ
L
A
T
E
X에는 적용되지 는다. 렇지만 pdfT
E
X
세타그래 여백 (character protrusion) 지원
개발이 시작되었다.
폰트에 련된 기능 완전히 로워졌다. (Latin Modern 트로 만족한다면
차이를 느끼지 못하겠지만.)
4.8 발표자료 만들기
글쓴이: Daniel Flipo <Daniel.Flipo@univ- lille1.fr>
자신 과학적 연구성과를 발표 때, 칠판을 이용하거 투명 필름 슬라이드를 이용하거나
아니면 노트북 컴퓨터에서 프레젠테이션 소프트웨어를 사용하여 직접 시현하거나 한다.
9
[] UnBatang 경우 BoldFont 정하 아도 것이 폰트
BoldFont 명시해야 때가 있다.
10
[역주] pdfL
A
T
E
X utf-8 입력을 (어떻게든) 처리할 수는 있다. 그러나 pdfL
A
T
E
X 엔진 자체가 유니코
드를 해하고 리한다고 말할 없다는 차이점 있다. ko
.
T
E
X pdfL
A
T
E
X 버전은 utf-8 입력
기본으로 하고 있었다.
발표자료 만들기 79
beamer 클래스 이용하면 한때 쓰던 PowerPoint LibreOce 만든 같은
멋진 표자료를 PDF 만들 있다. PDF 더만 있으면 어떤 컴퓨터에서나
있으므로 편리성이 훨씬 높다.
beamer 클래스는 graphicx, color, hyperref 패키지의 옵션을 활용하여 화면 프레젠테
이션에 적합한 결과를 만들어낸다.
\documentclass[10pt]{beamer}
\mode<beamer>{%
\usetheme[hideothersubsections,
right,width=22mm]{Goettingen}
}
\title{Simple Presentation}
\author[D. Flipo]{Daniel Flipo}
\institute{U.S.T.L. \& GUTenberg}
\titlegraphic{\includegraphics[width=20mm]{USTL}}
\date{2005}
\begin{document}
\begin{frame}<handout:0>
\titlepage
\end{frame}
\section{An Example}
\begin{frame}
\frametitle{Things to do on a Sunday Afternoon}
\begin{block}{One could \ldots}
\begin{itemize}
\item walk the dog\dots \pause
\item read a book\pause
\item confuse a cat\pause
\end{itemize}
\end{block}
and many other things
\end{frame}
\end{document}
그림 4.2: beamer 클래스 샘플 코드
그림 4.2 있는 코드를 pdfL
A
T
E
X이나 X
Ǝ
L
A
T
E
X으로 컴파일하면 PDF 파일을 얻는다.
페이지는 표제면이고 번째 페이지는 항목들이 발표를 진행함에 따라 단계별로 표시
되는 것을 보여준다.
beamer 클래스의 장점 하나는 다른 조작 없이 PDF 바로 얻을 있다는 것이다.
prosper PostScript 단계를 거쳐야 했고 ppower4 추가적인 후처리가 필요했다.
beamer 클래스를 쓰면 동일한 입력 파일에서 서로 다른 버전의 (‘모드(mode)’ 따라
80 특별한 기능
달라지는) 결과물을 얻어낼 있다. 모드에 특정한 지시사항은 홑화살괄호(<>) 안에
넣어서 전달한다. 다음과 같은 모드가 있다.
beamer 화면용 발표자료. 앞서 언급한 것이다.
trans 투명 필름 작성용.
handout 인쇄용 문서.
기본 모드는 beamer이다. 전역 옵션으로 다른 모드를 지정한다.
\documentclass[10pt,handout]{beamer}라고 하는 것은 핸드아웃용으로 조판하라는
것이다.
발표료는 테마 모양 라진다. beamer 래스 공하
성할 다. 설명
beameruserguide.pdf 보라.
그림 4.2 보인 코드를 자세히 살펴보자.
화면용 레젠테이션에 당하는 사항으로 \mode<beamer>에서 Goettingen 테마를
선택하였다. 테마 목차로부터 만들어진 내비게이션 패널을 보여준다. 지시된 옵션
사항 비게 널의 ( 22mm), (본문 ) 정한다.
hideothersubsections라는 옵션 chapter 현재 소절 (subsection) 이틀만을 표시
하게 하는 것이다. \mode<trans> \mode<handout> 대해서 특별한 설정이 주어지지
않았기 때문에 모드에는 표준 레이아웃이 적용된다.
\title{}, \author{}, \institute{}, \titlegraphic{} 명령은 표제지의 내용을
설정하 것이다.
\title[]{}
\author[]{}
선택 인자는
Goettingen
테마의 패널에
표시될 제목과 저자명을 지정해준다.
패널에 나타나 표제 부속표제는 일반적 \section{} \subsection{}
으로 만든다. 명령은 frame 환경의 바깥에 둔다.
화면 바닥에 있는 작은 내비게이션 아이콘으로 문서를 이동할 있다. 이것은 테마와
무관하다.
슬라이드 화면은 frame 환경 안에 입력한다. 홑화살괄호로 주는 옵션 인자는
발표자료의 버전에 따라 특정 프레임을 생략하려 있다. 예제에
지가 핸드아웃에 나타나지 않도록 <handout:0> 설정했다.
발표 자료 전체 제목 무관하게 슬라이 제목을 다는 것이 요하다. \frametitle{}
명령 일을 한다. 부제목 요하다면 예제 block 명령 용한다.
\section \subsection같은 장절명령은 슬라이드 제목으로 나타나지 않는다.
\pause 명령을 쓰면 항목들이 하나씩 차례 나타나 있다. \only, \uncover,
\alt, \temporal 같은 명령을 활용하여 프레젠테이션에 효과를 있으므로 사용법을
확인해보라. 프레젠테이션에 원하는 효과 주기 위해서 홑화살괄호를 용하는 경우
많다.
beamer 엇을 있는 알기 위해 사용설명서를 드시 읽어보도록 하라.
패키지는 활발하게 개발이 진행 중이므로 최신 정보를 얻기 위해 웹사이트를 방문하는
것도 좋다. (http://latex-beamer.sourceforge.net/)
5
수학적 그래프 그리기
L
A
T
E
X 다.
한편, 구조 중심적 방법으로 저작하 것은 상당 편리하기에
L
A
T
E
X
은, 다소 제한적이기는 하나, 텍스트로부터 시각적인 결과물
그래프를 그릴 있는 가지 수단을 제공한다. 나아가 이런
제약들을 해결하기 상당수 L
A
T
E
X 확장판들이 들어졌다.
장에서는 일부를 배우기로 한다.
5.1 개요
L
A
T
E
X 이용하여 시각적 결과물을 만들어내는 일은 오래된 전통이다. 우선은 캔버스
지정 요소들을 교묘 짜넣 것으 그래프 그려 있는 picture 환경으로
시작했다. L
A
T
E
X Manual [1]에서 대한 종합적인 설명을 찾아볼 있다. L
A
T
E
X 2
ε
picture 환경에 \qbezier 명령을 있는데, q “quadratic” 미한다.
수학적인 소양을 어느 정도 요구할 있지만 원, 타원, 혹은 현수선 자주 쓰이는 곡선
들의 경우 이차 베지어 곡선을 통해 만족스러운 근사치를 얻을 있다. 이에 더하여 만약
프로그래밍 언어를 이용해 L
A
T
E
X 입력 일에 \qbezier 록들을 그려낼 다면
picture 환경은 강력한 도구가 있다.
L
A
T
E
X에서 직접 그림들을 프로그래밍하 것은 상당히 제한적이고 피곤한 작업이지만,
여전 인은 있다. 으로 성된 문서 량의 측면에서 대적으로
작으며, 별도의 그림 파일을 질질 끌고 다닐 필요가 없다는 이점이 있다.
그림 그리기에서 L
A
T
E
X 한적인 기능만을 제공했던 이러한 상황은
beamer 명성이 자자했던 Till Tantau Portable Graphics Format pgf 함께 TikZ
(tikz) 패키지를 세상에 내놓으며 완전히 달라졌다. 시스템은 완전 pdf 지원 포함
하여 사용자가 현존하는 모든 T
E
X 스템에 고품질 벡터 그래프들을 리는 것을
가능하게 했다.
81
82 수학적 그래프 그리기
이것을 기반으로 하여 각기 특정한 목적 가진 수많은 패키지들이 탄생했다. The L
A
T
E
X
Graphics Companion [4]에는 이런 류의 다양한 패키지들이 상세하게 기술되어 있다.
L
A
T
E
X 관련 그래픽 중에 가장 앞서가 것은 아마도 METAPOST 것이다.
것은 Donald E. Knuth METAFONT 기반을 두고 있는 독립적인 응용프로그램이다.
METAPOST METAFONT 강력하면서도 수학적으로 섬세한 프로그래밍 언어를 사용
하지만 METAFONT와는 다르게 캡슐화된(encapsulated) PostScript 파일을 생성해내
코드 L
A
T
E
X, 지어 pdfL
A
T
E
X 문서 포함 있다. 소개 A
User’s Manual for METAPOST [14]혹은 [16] 튜토리얼에서 있다.
L
A
T
E
X T
E
X에서의 그래프(그리고 폰트) 대해 사용자가 사용할 있는 전략들을
심도 있게 다루는 토론은 T
E
X Unbound [15]에서 찾아 있다.
5.2 picture 환경
글쓴이: Urs Oswald <osurs@bluewin.ch>
앞서 언급했 picture 환경은 표준 L
A
T
E
X 일부이며 간단한 작업을 때나 사용자
요소 페이지의 정한 위치 정밀하게 치하고 싶을 유용하게 사용될
있다. 하지만 이상의 심도 있는 그래프 작업을 위해서는 91페이지의 5.3절에 소개되는
TikZ 찾아보는 편이 좋다.
1
5.2.1 기초 명령들
picture 환경
2
아래의 하나의 방법으로 사용한다.
\begin{picture}(x, y). . . \end{picture}
또는
\begin{picture}(x, y)(x
0
, y
0
). . . \end{picture}
숫자 x, y, x
0
, y
0
\unitlength 참조한다. 이는 아래의 명령과 같은 방법으로 언제든
재지정이 가능하지만 picture 환경 내부에서는 조정이 불가능하다.
\setlength{\unitlength}{1.2cm}
\unitlength 본값 1pt다. 쌍인 (x, y) 림이 어갈
사각형의 공간 정한다. 두번째 (x
0
, y
0
) 옵션으로, 정한 공간 단에
임의의 좌표를 배정한다.
1
[역주] 이는 권장이라기보다 필수 사항이라고 보는 것이 옳다. L
A
T
E
X 전통적인 picture 환경은 너무나
제약이 많고 결과물도 아름답지 않기 때문에 좋은 대안이 나와 있는 현재에는 사용할 필요가 없다. 따라서
절은 전통을 살펴보는 정도에 미를 두고, 실제로 그림을 그린다면 본문의 제안대로 TikZ 또는 다른 그림
그리기 패키지를 배울 필요가 있다.
2
믿거나 말거나, picture 환경은, 표준 L
A
T
E
X 2
ε
에서 다른 패키지를 불러들일 필요없이 바로 작동한다.
picture 환경 83
대부분의 드로잉 명령어는 다음 하나의 형태를 띤다.
\put(x, y){object}
또는
\multiput(x, y)(x, y){n}{object}
베지어 곡선은 예외이다. 베지어 곡선은 다음의 명령어로 그린다.
\qbezier(x
1
, y
1
)(x
2
, y
2
)(x
3
, y
3
)
5.2.2 선분
\setlength{\unitlength}{5cm}
\begin{picture}(1,1)
\put(0,0){\line(0,1){1}}
\put(0,0){\line(1,0){1}}
\put(0,0){\line(1,1){1}}
\put(0,0){\line(1,2){.5}}
\put(0,0){\line(1,3){.3333}}
\put(0,0){\line(1,4){.25}}
\put(0,0){\line(1,5){.2}}
\put(0,0){\line(1,6){.1667}}
\put(0,0){\line(2,1){1}}
\put(0,0){\line(2,3){.6667}}
\put(0,0){\line(2,5){.4}}
\put(0,0){\line(3,1){1}}
\put(0,0){\line(3,2){1}}
\put(0,0){\line(3,4){.75}}
\put(0,0){\line(3,5){.6}}
\put(0,0){\line(4,1){1}}
\put(0,0){\line(4,3){1}}
\put(0,0){\line(4,5){.8}}
\put(0,0){\line(5,1){1}}
\put(0,0){\line(5,2){1}}
\put(0,0){\line(5,3){1}}
\put(0,0){\line(5,4){1}}
\put(0,0){\line(5,6){.8333}}
\put(0,0){\line(6,1){1}}
\put(0,0){\line(6,5){1}}
\end{picture}
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
"
"
"
"
"
"
"
"
"
"
"
"
"
"
"
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
(
(
(
(
(
(
(
(
(
(
(
(
(
(
(
,
,
,
,
,
,
,
,
,
,
,
,
,
,
,
선분은 다음의 명령을 사용하여 그린다.
\put(x, y){\line(x
1
, y
1
){length}}
명령 \line 인자를 가진다:
1. 방향 벡터(direction vector),
2. 길이(length).
84 수학적 그래프 그리기
방향 벡터의 성분은 다음 정수로만 제한된다.
6, 5, . . . , 5, 6,
리고 로소 (1 외의 없는 ) 이어 다. 시된
1 사분 25 값을 다.
3
(length)
\unitlength 비례다. 직선 에는 표, 나머 에는
좌표를 의미한다.
5.2.3 화살표
\setlength{\unitlength}{0.75mm}
\begin{picture}(60,40)
\put(30,20){\vector(1,0){30}}
\put(30,20){\vector(4,1){20}}
\put(30,20){\vector(3,1){25}}
\put(30,20){\vector(2,1){30}}
\put(30,20){\vector(1,2){10}}
\thicklines
\put(30,20){\vector(-4,1){30}}
\put(30,20){\vector(-1,4){5}}
\thinlines
\put(30,20){\vector(-1,-1){5}}
\put(30,20){\vector(-1,-4){5}}
\end{picture}
-
:
1
*
X
X
X
X
X
X
Xy
C
C
C
C
CO
화살표는 다음 명령을 사용하여 그린다.
\put(x, y){\vector(x
1
, y
1
){length}}
화살표의 경우, 방향 벡터의 성분이 선분 경우에 비해 더욱 제한되 다음 정수만
사용할 있다.
4, 3, . . . , 3, 4.
성분들 또한 서로(1 이외 공약수가 없는 수들)어야 한다. 좌상향으로 뻗은
화살표에서 \thicklines 명령의 효과를 있다.
5.2.4
다음 명령은 중심이 (x, y)이며 (반지름이 아니라) 지름이 diameter 원을 그린다.
\put(x, y){\circle{diameter}}
picture 환경은 지름이 14 mm 정도까지만 허용하며, 이하라 수치
허용하지도 않는다. \circle* 명령은 disk(내부가 차있는 ) 만든다.
3
[역주] 앞선 역자주에서 picture 환경을 그저 살펴보는 용도로만 사용하라고 권고하였지만 선분의 기울기
제약은 일찍부터 문제가 되었던 터라 이를 해결한 pict2e 패키지가 있음을 지적해둔다. 패키지를 이용하면
선분의 기울기 문제를 비롯한 많은 제약을 해결할 있다.
picture 환경 85
\setlength{\unitlength}{1mm}
\begin{picture}(60, 40)
\put(20,30){\circle{1}}
\put(20,30){\circle{2}}
\put(20,30){\circle{4}}
\put(20,30){\circle{8}}
\put(20,30){\circle{16}}
\put(20,30){\circle{32}}
\put(40,30){\circle{1}}
\put(40,30){\circle{2}}
\put(40,30){\circle{3}}
\put(40,30){\circle{4}}
\put(40,30){\circle{5}}
\put(40,30){\circle{6}}
\put(40,30){\circle{7}}
\put(40,30){\circle{8}}
\put(40,30){\circle{9}}
\put(40,30){\circle{10}}
\put(40,30){\circle{11}}
\put(40,30){\circle{12}}
\put(40,30){\circle{13}}
\put(40,30){\circle{14}}
\put(15,10){\circle*{1}}
\put(20,10){\circle*{2}}
\put(25,10){\circle*{3}}
\put(30,10){\circle*{4}}
\put(35,10){\circle*{5}}
\end{picture}
bej


&%
'$
&%
'$
behjm












"!
#
"!
#
&%
'$
r u x z}
분의 마찬 용자 eepic이나 pstricks 키지 려야
다. 키지 The L
A
T
E
X Graphics
Companion [4] 보라.
picture 환경내에서 자체적으 해결하는 방법도 있다. 사용자가 필요 계산(이를
프로그램에 맡길 수도 있지만) 하는 불편함이 없다면 베지어 곡선을 패치하 임의의
원과 원을 려내 가능하다. Graphics in L
A
T
E
X 2
ε
[16] 예제 Java
파일들이 있다.
86 수학적 그래프 그리기
5.2.5 텍스트와 수식
\setlength{\unitlength}{0.8cm}
\begin{picture}(6,5)
\thicklines
\put(1,0.5){\line(2,1){3}}
\put(4,2){\line(-2,1){2}}
\put(2,3){\line(-2,-5){1}}
\put(0.7,0.3){$A$}
\put(4.05,1.9){$B$}
\put(1.7,2.95){$C$}
\put(3.1,2.5){$a$}
\put(1.3,1.7){$b$}
\put(2.5,1.05){$c$}
\put(0.3,4){$F=
\sqrt{s(s-a)(s-b)(s-c)}$}
\put(3.5,0.4){$\displaystyle
s:=\frac{a+b+c}{2}$}
\end{picture}
H
H
H
H
H
A
B
C
a
b
c
F =
p
s(s a)(s b)(s c)
s :=
a + b + c
2
예가 보여주듯 텍스트와 수식은 범하게 \put 명령을 사용하여 picture 환경에
써넣을 있다.
5.2.6 \multiput \linethickness
\setlength{\unitlength}{2mm}
\begin{picture}(30,20)
\linethickness{0.075mm}
\multiput(0,0)(1,0){26}%
{\line(0,1){20}}
\multiput(0,0)(0,1){21}%
{\line(1,0){25}}
\linethickness{0.15mm}
\multiput(0,0)(5,0){6}%
{\line(0,1){20}}
\multiput(0,0)(0,5){5}%
{\line(1,0){25}}
\linethickness{0.3mm}
\multiput(5,0)(10,0){2}%
{\line(0,1){20}}
\multiput(0,5)(0,10){2}%
{\line(1,0){25}}
\end{picture}
\mulitput 명령은 네개의 인자를 갖는다.
\multiput(x, y)(x, y){n}{object}
인자는 시작점, 그래픽 객체가 다음 위치로 가는 이동 벡터(translation vector), 객체의
수, 그리고자 하는 객체(object)이다. \linethickness 명령은 직선이나 수평선
용되지 경사 선분과 원에는 적용되지 않는다. 그런 한편 이차 베지어 곡선에는 적용된다!
picture 환경 87
5.2.7 타원형 곡선
\setlength{\unitlength}{0.75cm}
\begin{picture}(6,4)
\linethickness{0.075mm}
\multiput(0,0)(1,0){7}%
{\line(0,1){4}}
\multiput(0,0)(0,1){5}%
{\line(1,0){6}}
\thicklines
\put(2,3){\oval(3,1.8)}
\thinlines
\put(3,2){\oval(3,1.8)}
\thicklines
\put(2,1){\oval(3,1.8)[tl]}
\put(4,1){\oval(3,1.8)[b]}
\put(4,3){\oval(3,1.8)[r]}
\put(3,1.5){\oval(1.8,0.4)}
\end{picture}
#
"
!
#
"
!
#
" !
!
다음 명령 하나로 중심 (x, y), w, h 지는 원형 (oval)
그린다.
\put(x, y){\oval(w, h)}
또는
\put(x, y){\oval(w, h)[position]}
위치를 나타내는 옵션 인자 t, b, l, r 각각 “top”, “bottom”, “left”, “right” 나타내
며, 예에서 보는 바와 같이 조합하여 수도 있다.
선의 두께는 종류의 명령으로 조정할 있다:
\linethickness{length} 사용하는 것이 하나이며 다른 방법으로는 \thinlines
\thicklines 사용한다. \linethickness{length} 수직선 평선, 리고 이차
베지어 곡선에만 적용되는 한편, \thinlines \thicklines 경사 선분, 원과 타원에
적용된다.
88 수학적 그래프 그리기
5.2.8 그림 박스의 지정과 반복 사용
\setlength{\unitlength}{0.5mm}
\begin{picture}(120,168)
\newsavebox{\foldera}
\savebox{\foldera}
(40,32)[bl]{% definition
\multiput(0,0)(0,28){2}
{\line(1,0){40}}
\multiput(0,0)(40,0){2}
{\line(0,1){28}}
\put(1,28){\oval(2,2)[tl]}
\put(1,29){\line(1,0){5}}
\put(9,29){\oval(6,6)[tl]}
\put(9,32){\line(1,0){8}}
\put(17,29){\oval(6,6)[tr]}
\put(20,29){\line(1,0){19}}
\put(39,28){\oval(2,2)[tr]}
}
\newsavebox{\folderb}
\savebox{\folderb}
(40,32)[l]{% definition
\put(0,14){\line(1,0){8}}
\put(8,0){\usebox{\foldera}}
}
\put(34,26){\line(0,1){102}}
\put(14,128){\usebox{\foldera}}
\multiput(34,86)(0,-37){3}
{\usebox{\folderb}}
\end{picture}
그림 박스(picture box) 다음 명령으로 선언(declare) 하며
\newsavebox{name}
다음 명령으로 정의(dene)하고
\savebox{name}(width,height)[position]{content}
마지막으로 다음의 명령으로 임의의 위치에 그리는 것이 흔히 쓰는 방법이다.
\put(x, y){\usebox{name}}
옵션 파라미터 position 저장된 박스가 위치할 고정점(anchor point)’ 정의한다.
위의 예에서는 bl 설정되었고 이는 박스의 왼쪽 하단을 의미한다. 다른 위치 지정자로
top right 있다.
인자 name L
A
T
E
X 저장(storage bin) 조하 따라 이는 령어로서
성질을 가진다( 때문에 예에서와 같이 백슬래(\) 필요하다). 박스 내부 그림
안에 박스의 림을 (nested) 있다: 예에서 \folderb
내부에 \foldera 사용되었다.
\line 명령은 선분의 길이가 대략 3 mm 이하면 작동하지 않기에 \oval 명령을 사용
했다.
picture 환경 89
5.2.9 이차 베지어 곡선
\setlength{\unitlength}{0.8cm}
\begin{picture}(6,4)
\linethickness{0.075mm}
\multiput(0,0)(1,0){7}
{\line(0,1){4}}
\multiput(0,0)(0,1){5}
{\line(1,0){6}}
\thicklines
\put(0.5,0.5){\line(1,5){0.5}}
\put(1,3){\line(4,1){2}}
\qbezier(0.5,0.5)(1,3)(3,3.5)
\thinlines
\put(2.5,2){\line(2,-1){3}}
\put(5.5,0.5){\line(-1,5){0.5}}
\linethickness{1mm}
\qbezier(2.5,2)(5.5,0.5)(5,3)
\thinlines
\qbezier(4,2)(4,3)(3,3)
\qbezier(3,3)(2,3)(2,2)
\qbezier(2,2)(2,1)(3,1)
\qbezier(3,1)(4,1)(4,2)
\end{picture}
H
H
H
H
H
H
H
D
D
D
D
D
D
위의 예에서 있듯 하나 베지 (quadratic Bézier
curve) 분할하는 것은 만족스럽지 않다. 어도 여덟 요하다. 림은
\linethickness 수직선 수평선에 주는 효과와 \thinlines \thicklines 경사
선분에 주는 효과를 보여주기도 한다. 또한 위의 그림은 가지의 명령 모두 이차 베지어
곡선에 영향을 준다는 것을 보이는데, 나중에 적용된 명령이 이전의 명령을 덮어쓴다.
지어 선에서 P
1
= (x
1
, y
1
), P
2
= (x
2
, y
2
) 점을, m
1
, m
2
각의
기울기를 나타낸다고 하자. 중간조정(intermediate control point) S = (x, y) 다음의
식에 의해 주어진다.
x =
m
2
x
2
m
1
x
1
(y
2
y
1
)
m
2
m
1
,
y = y
i
+ m
i
(x x
i
) (i = 1, 2).
(5.1)
Graphics in L
A
T
E
X 2
ε
[16]에서 필요한 \qbezier 명령문을 도출하는 Java 프로그램을
있다.
90 수학적 그래프 그리기
5.2.10 현수선
\setlength{\unitlength}{1cm}
\begin{picture}(4.3,3.6)(-2.5,-0.25)
\put(-2,0){\vector(1,0){4.4}}
\put(2.45,-.05){$x$}
\put(0,0){\vector(0,1){3.2}}
\put(0,3.35){\makebox(0,0){$y$}}
\qbezier(0.0,0.0)(1.2384,0.0)
(2.0,2.7622)
\qbezier(0.0,0.0)(-1.2384,0.0)
(-2.0,2.7622)
\linethickness{.075mm}
\multiput(-2,0)(1,0){5}
{\line(0,1){3}}
\multiput(-2,0)(0,1){4}
{\line(1,0){4}}
\linethickness{.2mm}
\put( .3,.12763){\line(1,0){.4}}
\put(.5,-.07237){\line(0,1){.4}}
\put(-.7,.12763){\line(1,0){.4}}
\put(-.5,-.07237){\line(0,1){.4}}
\put(.8,.54308){\line(1,0){.4}}
\put(1,.34308){\line(0,1){.4}}
\put(-1.2,.54308){\line(1,0){.4}}
\put(-1,.34308){\line(0,1){.4}}
\put(1.3,1.35241){\line(1,0){.4}}
\put(1.5,1.15241){\line(0,1){.4}}
\put(-1.7,1.35241){\line(1,0){.4}}
\put(-1.5,1.15241){\line(0,1){.4}}
\put(-2.5,-0.25){\circle*{0.2}}
\end{picture}
-
x
6
y
u
위의 예에서 현수선 y = cosh x 1 대칭적 쪽을 이차 베지어 곡선으로
근사시켰다. 른쪽 (2, 2.7622)에서 끝나고 기울기는 m = 3.6269이다. (5.1)
다시 이용하면 중간조정점을 계산해낼 있다. 이는 (1.2384, 0) (1.2384, 0)이다.
십자 표시는 실제 현수선 점들 타낸다. 차는 1센트보다 거의 알아채기
힘들 정도이다.
예는 \begin{picture} 옵션 인자가 사용되는 방식을 보여준다.
그림(picture) 편리한 수학적 좌표로 정의되는데, 다음과 같이 표현하면
\begin{picture}(4.3,3.6)(-2.5,-0.25)
그림의 왼쪽 아래에 (2.5, 0.25) 좌표를 지정한다는 것을 의미한다(이는 그림에서
검은 원으로 표시되어 나타나 있다).
PGF TikZ 그래픽 패키지 91
5.2.11 특수상대성이론의 속도
\setlength{\unitlength}{0.8cm}
\begin{picture}(6,4)(-3,-2)
\put(-2.5,0){\vector(1,0){5}}
\put(2.7,-0.1){$\chi$}
\put(0,-1.5){\vector(0,1){3}}
\multiput(-2.5,1)(0.4,0){13}
{\line(1,0){0.2}}
\multiput(-2.5,-1)(0.4,0){13}
{\line(1,0){0.2}}
\put(0.2,1.4)
{$\beta=v/c=\tanh\chi$}
\qbezier(0,0)(0.8853,0.8853)
(2,0.9640)
\qbezier(0,0)(-0.8853,-0.8853)
(-2,-0.9640)
\put(-3,-2){\circle*{0.2}}
\end{picture}
-
χ
6
β = v/c = tanh χ
t
(5.1) 사용하여 베지어 곡선의 조정점들을 계산했다. 양의 방향 가지(positive
branch) P
1
= (0 , 0), m
1
= 1 그리고 P
2
= (2 , tanh 2), m
2
= 1/ cosh
2
2 의해 결정
된다. 그림은 학적으 리한 좌표 정의되었는데, 좌표 (3, 2)
아래의 끝점(검은 ) 배정되었다.
5.3 PGF TikZ 그래픽 패키지
오늘날 모든 L
A
T
E
X 결과물 생성 시스템은 좋은 벡터 그래픽을 그려낼 있으며, 다만
인터페이스들이 다양할 뿐이다. pgf 패키지는 인터페이스 위에 추상적인 레이어를
제공한다. pgf 패키지는 자체적으로 방대한 매뉴얼 튜토리얼 담고 있다. 라서
작디 작은 절에서 우리는 패키지가 있는 일의 일부만을 있을 뿐이다.
pgf 패키지는 tikz 키지를 통해 하이 레벨 랭기지를 함께 제공한다. pgf 도형
그리는 엔진이고 TikZ 엔진에 대한 사용자 인터페이스를 제공하는 고수준 언어라고
생각할 있다. TikZ 사용자의 문서 내부에서 바로 그래프 그려낼 있는 매우
율적인 명령들을 제공한다. 사용자는 TikZ 명령들을 tikzpicture 환경 내에서 사용하
된다.
위에서 언급했듯 pgf 친구들 다루기 위한 훌륭한 매뉴얼이 존재한다. 따라서
이들의 리를 직접 설명하기보다는, 사용자에게 인상 심어주 위해 이들 어떤
결과물을 내놓는지를 가지 살펴보기로 한다.
우선 간단한 nonsense diagram부터 보자.
92 수학적 그래프 그리기
\begin{tikzpicture}[scale=3]
\clip (-0.1,-0.2)
rectangle (1.8,1.2);
\draw[step=.25cm,gray,very thin]
(-1.4,-1.4) grid (3.4,3.4);
\draw (-1.5,0) -- (2.5,0);
\draw (0,-1.5) -- (0,1.5);
\draw (0,0) circle (1cm);
\filldraw[fill=green!20!white,
draw=green!50!black]
(0,0) -- (3mm,0mm)
arc (0:30:3mm) -- cycle;
\end{tikzpicture}
세미콜론(;) 주목하라. 이것이 개별 명령들을 구분짓는다.
다음은 간단한 다이어그램을 그리는 예이다.
\begin{tikzpicture}
\node[circle,draw,
minimum size=3cm,
label=120:{economics}]
at (0,0) {};
\node[circle,draw,
minimum size=3cm,
label=60:{psychology}]
at (1,0) {};
\node (i) at (0.5,-1) {};
\node at (0.6,-2.5)
{behavioral economics}
edge[->,thick,
out=60,in=-60] (i);
\end{tikzpicture}
economics
psychology
behavioral economics
다음 예에서는 foreach 반복문을 주목하라.
\begin{tikzpicture}[scale=0.8]
\tikzstyle{v}=[circle,
minimum size=2mm,inner sep=0pt,draw]
\foreach \i in {1,...,8}
\foreach \j in {1,...,3}
\node[v](G-\i-\j) at (\i,\j) {};
\foreach \i in {1,...,8}
\foreach \j/\o in {1/2,2/3}
\draw[->]
(G-\i-\j) -- (G-\i-\o);
\foreach \i/\n in
{1/2,2/3,3/4,4/5,5/6,6/7,7/8}
\foreach \j/\o in {1/2,2/3} {
\draw[->] (G-\i-\j) -- (G-\n-\o);
\draw[->] (G-\n-\j) -- (G-\i-\o);
}
\end{tikzpicture}
문서의 전처리부 (preamble)에서 \usetikzlibrary 새로운 기능을 제공하는 라이
브러리(library) 불러오면, 다음의 살짝 박스와 같은 특별한 도형들을 그릴 필요한
다양한 기능을 추가할 있다.
PGF TikZ 그래픽 패키지 93
\usetikzlibrary{%
decorations.pathmorphing}
\begin{tikzpicture}[
decoration={bent,aspect=.3}]
\draw [decorate,fill=lightgray]
(0,0) rectangle (5.5,4);
\node[circle,draw]
(A) at (.5,.5) {A};
\node[circle,draw]
(B) at (5,3.5) {B};
\draw[->,decorate] (A) -- (B);
\draw[->,decorate] (B) -- (A);
\end{tikzpicture}
A
B
\usetikzlibrary{positioning}
\begin{tikzpicture}[xscale=6,
yscale=8,>=stealth]
\tikzstyle{v}=[circle,
minimum size=1mm,draw,thick]
\node[v] (a) {$1$};
\node[v] (b) [right=of a] {$2$};
\node[v] (c) [below=of a] {$2$};
\node[v] (d) [below=of b] {$1$};
\draw[thick,->]
(a) to node {} (c);
\draw[thick,->]
(a) to node {} (d);
\draw[thick,->]
(b) to node {} (d);
\end{tikzpicture}
1 2
2 1
사용자 파스 프로그래밍 책에 바로 쳐나온 같은 syntax 이어그램조차
그릴 있다. 다만 코딩이 위의 예시에 비해 다소 무시무시하기 때문에 결과물만을
보기 하자. pgf 문서 찾아보면 이것과 동일 다이어그램을 그리는 과정에 대한 세세한
설명을 찾을 있다.
+
unsigned integer
.
digit
E
unsigned integer
-
이게 끝이 아니다. 만약 사용자가 데이터 플롯하거나 함수의 그래프 그려야 한다면
pgfplot 키지를 파고들어보 좋다. 패키지 플롯을 위해 필요한 모든 것을 제공하고
있으며, 나아가 외부 명령 gnuplot 사용하 함수 직접 사용해 그래프를 그릴 수도
있다.
사실 pgfplot 패키지를 로드하지 아도, 웬만한 함수를 플롯할 다. 예를
들자면 다음과 같다.
4
4
[역주] 문단은 역자의 보충이다.
94 수학적 그래프 그리기
\begin{tikzpicture}
\draw plot [domain=0:6.28,samples=500]
(\x,{sin(\x r)});
\end{tikzpicture}
많은 영감을 얻고자 한다면 Kjell Magne Fauske http://www.texample.net/
tikz/ 문해보기를 권한다. 사이트는 수많은 아름다운 그래프와 다른 L
A
T
E
X
드들 담고 창고 같으 순간에도 지고 다. T
E
Xample.net list of
tools to work with PGF/TikZ에서 PGF/TikZ 도구들이
수록되어 있기 때문에 모든 것을 직접 만들어내지 않아도 사용할 있다.
6
마음대로 바꾸기
지금까 령을 용하면 누구라 득할 서를
성할 있다. 그다지 눈에 띄는 것은 아닐지 라도 좋은 조판
규칙 하고 있어 읽기 에도 좋은 서가
것이다.
그러나 L
A
T
E
X 제공하는 명령과 환경만으로는 만족하지 못하
거나 필요한 일을 하는 이미 있는 명령만으로는 충분치 않은
상황이 있게 마련이다.
장에서 L
A
T
E
X에게 새로 일을 시키거나 기본적으
어지는 것과 다른 양의 결과를 만들어내도록 하는 법에 대해
약간의 힌트를 제공하려 한다.
6.1 명령, 환경, 패키지를 새로 정의하기
자에 명령 개할 령어에 박스 인에 나타나 놓았다.
일을 하기 위해 L
A
T
E
X 명령을 일일이 써넣지 않고 대신 목적에 맞는 명령과 환경을
정의했다. 그리고 이것을 모아 패키지를 만들었다. 이로 간단히 다음과 같이 있다.
\begin{lscommand}
\ci{dum}
\end{lscommand}
\dum
예제에 lscommand라는 새로운 환경과 \ci라는 새로운 명령을 쓰였다. lscommand
명령어 주변에 박스를 그리 일을 하며 \ci라는 명령은 명령 이름을 식자하고 그것
색인에 넣는 일을 한다. 책의 뒤에 있는 색인에서 \dum 명령이 나타나 있는지 찾아보라.
\dum 항목이 나타나 있고 \dum 대해 언급한 모든 페이지의 번호가 나와 있을 것이다.
만약에 명령어 이름에 박스를 치는 것이 싫증났다고 하자. 그러면 간단히 lscommand
정의를 고치면 원하는 새로운 모양으로 바뀐다. 문서 음부터 뒤지면서 L
A
T
E
X
95
96 마음대로 바꾸기
령어를 소개하려고 명령어 이름에 박스를 치고 있는 부분을 모두 찾아 하나하나 수정하는
것에 비하면 너무 쉽다.
6.1.1 새로운 명령
나만의 새로운 명령을 만들어보자.
\newcommand{name}[num]{denition}
기본적으로 명령은 인자를 구한다. 들려고 명령의 이름 name
정의부(denition)이다. 대괄호 안의 num 인자는 명령이 취할 (최대 9까지) 인자의
개수를 지정하는 것인데 선택 인자이므로 생략될 있다. 선택 인자를 주지 않으면 기본
값인 0 쓰인다. 아무런 인자도 받아들이지 않는 명령이 된다.
다음 예제를 보면 이해하기 쉬울 것이다. 번째 예제에서 명령의 이름이 \tnss
라고 주어졌다. 책의 제목(The Not So Short Introduction to L
A
T
E
X 2
ε
) 약자인데
실제로 제목을 여러 반복해서 써야 일이 있으면 이렇게 정의한 명령이 쓸모있을
것이다.
\newcommand{\tnss}{The not
so Short Introduction to
\LaTeXe}
This is ``\tnss'' \ldots{}
``\tnss''
This is “The not so Short Introduction to
L
A
T
E
X 2
ε
. . . “The not so Short Introduction
to L
A
T
E
X 2
ε
다음 예제는 개의 인자를 받아들이는 새로운 명령을 정의하는 방법을 보여주
있다. #1 표시한 것은 번째 인자로, #2 번째 인자로 치환된다.
\newcommand{\txsit}[2]
{This is the \emph{#1}
#2 Introduction to \LaTeXe}
% in the document body:
\begin{itemize}
\item \txsit{not so}{short}
\item \txsit{very}{long}
\end{itemize}
• This is the not so short Introduction to
L
A
T
E
X 2
ε
• This is the very long Introduction to
L
A
T
E
X 2
ε
이미 명령 \newcommand 드는 허용되지 는다. 있는 령을
수정하는 경우에 써야 하는 명령이 따로 있다. \renewcommand 그것이다. 명령의 사용
법은 \newcommand 같다.
\providecommand라는 명령 있다. 것은 \newcommand 비슷하지 만약 같은
이름의 명령이 이미 정의되어 있다면 새로 정의하는 것을 무시한다. 이미 정의된 같은
명령이 없다면 \newcommand하라는 의미이다.
L
A
T
E
X 명령에 뒤따르는 공백에 관해서 주의를 기울여야 하는 부분이 있다. 5페이지를
보라. 여기서 명령어 직후의 스페이스가 사라진다는 것을 배웠다. 인자를 주기 위한 중괄
호가 있으면 뒤의 스페이스는 사라지지 않으므로 필요하다면 인자{} 스페이스를
살리는 방법에 대해서도 이미 배운 있다.
명령, 환경, 패키지를 새로 정의하기 97
6.1.2 새로운 환경
새로운 명령 만드는 \newcommand 명령이 듯이 새로운 환경 만드는 명령 있다.
\newenvironment 그것이다. 사용법은 다음과 같다.
\newenvironment{name}[num]{before}{after}
\newenvironment 명령 인자들을 갖는다. before 인자 전달되는 것은 환경 안의
텍스보다 먼저 실행다. after 오는 \end{name}
내용이다.
\newenvironment{king}
{\rule{1ex}{1ex}%
\hspace{\stretch{1}}}
{\hspace{\stretch{1}}%
\rule{1ex}{1ex}}
\begin{king}
My humble subjects \ldots
\end{king}
My humble subjects . . .
num 선택인자는 \newcommand 때와 같은 방법으로 사용한다.
L
A
T
E
X 이미 존재하는 환경과 같은 이름을 가진 환경을 새롭게 정의하지 못하게 하고
있다. 굳이 같은 이름의 환경을 만들어서 덮어써야 한다면 \renewenvironment 명령을
사용한다. \newenvironment 문법은 동일하다.
예제에서 사용한 가지 령은 나중에 설명된다. \rule 명령에 대해
서는 109이지에 다룬다. \stretch 해서는 104페이지에서, 리고 \hspace
대해서는 104페이지에서 자세한 설명을 있다.
6.1.3 불필요한 스페이스 없애기
새로운 환경을 정의하다보면 여분의 스페이스가 끼어들어서 고생하는 경우가 많다. 이런
것이 심각한 결과 초래하기 하는 것이다. 예를 들어보자. 다음 같은 환경을 만들려
한다. 의도는 현재 문단의 들여쓰기를 없애고 환경이 끝난 다음 문단의 들여쓰기도
없애고 싶다는 것이겠다.
\newenvironment{simple}%
{\noindent}%
{\par\noindent}
\begin{simple}
See the space\\to the left.
\end{simple}
Same\\here.
See the space
to the left.
Same
here.
무엇이 잘못되었는지 알겠는가? \begin 블록을 실행하는 과정에서 스페이스가 끼어들었
\end 블록에서도 마찬가지인 것으로 보인다. \ignorespaces라는 명령을 두면 begin
블록을 행하면서 끼어드는 스페이스 무시하게 있다. 환경이 끝난 뒤의 스페이
스를 무시하게 하는 것은 이것으로 바로 되지 않는다. 왜냐하 L
A
T
E
X 환경이 종료되
98 마음대로 바꾸기
특별한 과정이 실행되기 이전까지의 스페이스만을 무시할 것이기 때문이다. 그래서 약간
트릭을 써야 다. \ignorespacesafterend 명령은 특별한 경의 끝내기 과정을
종료한 뒤에 \ignorespaces 실행하라는 의미이다.
\newenvironment{correct}%
{\noindent\ignorespaces}%
{\par\noindent%
\ignorespacesafterend}
\begin{correct}
No space\\to the left.
\end{correct}
Same\\here.
No space
to the left.
Same
here.
6.1.4 명령행 L
A
T
E
X
유닉스류의 운영체제를 사용중이라 L
A
T
E
X 문서 작업을 위해 Makele 만들어서 쓰고
있을 것이다. 그런 조건에서라면 L
A
T
E
X 명령행 파라미터를 주어서 같은 소스에서 다른
결과물을 얻어내게 있다.
1
\usepackage{ifthen}
\ifthenelse{\equal{\blackandwhite}{true}}{
% "black and white" mode; do something..
}{
% "color" mode; do something different..
}
L
A
T
E
X 다음과 같이 실행한다.
latex '\newcommand{\blackandwhite}{true}\input{test.tex}'
제일 먼저 \blackandwhite 정의하고 다음에 입력 파일을 불러들였다. 들어
지는 결과물은 색상을 넣지 않은 흑백 버전이 것이다.
6.1.5 나만의 패키지
상당량의 새로운 명령과 환경을 의하였다면 문서의 전처리부가 아주 길어졌을 것이다.
그렇다면 모든 새로 정의한 명령과 환경 L
A
T
E
X 패키지 만들면 좋지 않겠 생각하
된다. \usepackage 명령을 써서 패키지를 문서에 들여올 있다.
패키지 작성하는 기본적으로 문서 처리부 내용 별도 파일 옮기
것이다. 패키지 파일의 확장자는 .sty 한다. 특별한 명령이 하나 있는데
\ProvidesPackage{package name}
패키지 시작 부분 맨처음에 써주는 것으로 패키지의 이름을 L
A
T
E
X에게 등록시키는 역할을
한다. 같은 패키지를 이상 포함하려 적에 이미 등록되었는 부를 L
A
T
E
X
1
[역주] Makele과는 상관없이 윈도우즈 시스템에서도 cmd 명령행을 열고 아래 설명과 같은 일을 똑같이
있다.
폰트와 크기 99
% Demo Package by Tobias Oetiker
\ProvidesPackage{demopack}
\newcommand{\tnss}{The not so Short Introduction
to \LaTeXe}
\newcommand{\txsit}[1]{The \emph{#1} Short
Introduction to \LaTeXe}
\newenvironment{king}{\begin{quote}}{\end{quote}}
그림 6.1: 패키지 예제
체크 함으 령이 의되 하는 피하
해준다. 그림 6.1 위에서 만들어 명령과 환경으로 작성한 간단한 패키지의 예제이다.
6.2
폰트와 크기
6.2.1 폰트 바꾸기 명령
L
A
T
E
X 문서 논리적 구조(장절 표제, 각주 ) 따라 적절한 폰트와 크기를
한다. 그런데 폰트와 크기를 직접 바꾸고 싶은 경우가 있을 것이다. 6.1 6.2 열거된
명령을 사용할 있다. 폰트의 실제 크기는 디자인 문제로서 사용한 클래스와 옵션에
따라 달라진다. 6.3 표준 클래스에 구현되 명령의 절대 크기를 포인트로
표시하였다.
{\small The small and
\textbf{bold} Romans ruled}
{\Large all of great big
\textit{Italy}.}
The small and bold Romans ruled all of great
big Italy.
가지 중요한 사실을 지적하자 L
A
T
E
X에서 폰트 속성은 서로 독립적이라는 것이다.
크기나 폰트 종류를 변경하는 명령을 내리더라도 bold slant라는 속성은 여전히 유지된
다.
2
math mode 내에서 폰트를 바꾸려면 일시적으로 math mode 빠져나가서 일반 텍스
트로 입력해야 한다. 수식에 적용되는 폰트를 바꾸 것은 다른 문제이며 별도의 명령을
사용한다. 6.4 보라.
폰트 크기 명령 관련해서 중괄호(curly braces) 아주 중요한 역할을 한다. 중괄호는
범위(group) 설정하는 쓰인다. 대부분의 L
A
T
E
X 명령은 범위 내부에 효력이 미친다.
3
He likes {\LARGE large and
{\small small} letters}.
He likes large and small letters.
2
[역주] 조금 기술적으로 말하면 폰트의 속성에는 family, series, shape, size 있다. rm, sf, tt family
이고 bf series이며 it, sl shape이다. 이들이 서로 독립적이라는 의미이다. family 바꾸어도 series
shape 바뀌지 않는다.
3
[역주] 따라서 글꼴 크기 명령이 놓인 위치가 어떤 범위의 내부라면 범위가 종료될 때까지 계속해서
향을 미친다. 이와 같이 놓인 위치로부터 범위가 종료될 때까지 계속 영향을 미치는 명령을 선언이라 부르기도
한다.
100 마음대로 바꾸기
6.1: 폰트
\textrm{...}
roman
\textsf{...}
sans serif
\texttt{...} typewriter
\textmd{...} medium \textbf{...} bold face
\textup{...} upright \textit{...} italic
\textsl{...} slanted \textsc{...} Small Caps
\emph{...} emphasized \textnormal{...} document font
6.2: 폰트 크기
\tiny tiny font
\scriptsize very small font
\footnotesize quite small font
\small small font
\normalsize normal font
\large large font
\Large larger font
\LARGE very large font
\huge huge
\Huge largest
6.3: 표준 클래스의 폰트 크기 포인트
size 10pt (default) 11pt option 12pt option
\tiny 5pt 6pt 6pt
\scriptsize 7pt 8pt 8pt
\footnotesize 8pt 9pt 10pt
\small 9pt 10pt 11pt
\normalsize 10pt 11pt 12pt
\large 12pt 12pt 14pt
\Large 14pt 14pt 17pt
\LARGE 17pt 17pt 20pt
\huge 20pt 20pt 25pt
\Huge 25pt 25pt 25pt
6.4: 수학 폰트
\mathrm{...} Roman Font
\mathbf{...} Boldface Font
\mathsf{...} Sans Serif Font
\mathtt{...} Typewriter Font
\mathit{...} Italic Font
\mathcal{...} CALLIGRAPHIC FONT
\mathnormal{...} N ormal F ont
폰트와 크기 101
폰트 크기 명령은 행간격도 변경한다. 그러나 명령이 영향을 미치는 유효 범위 안에서
문단 종료 때에 그러하다. 그러므로 닫는 괄호 } 너무 이면 된다.
다음 예제에서 \par 명령의 위치에 따라 행간격이 달라지는 것을 주의깊게 보라.
4
{\Large Don't read this!
It is not true.
You can believe me!\par}
Don’t read this! It is not true. You can
believe me!
{\Large This is not true either.
But remember I am a liar.}\par
This is not true either. But remember I
am a liar.
전체 문단이나 여러 단에 걸쳐 폰트 령을 적용하려 한다 형식으로
입력하는 것을 생각해볼 있다.
\begin{Large}
This is not true.
But then again, what is these
days \ldots
\end{Large}
This is not true. But then again, what
is these days . . .
여닫는 중괄호의 짝을 맞추기 위해 개수를 세는 노력을 줄일 있다.
6.2.2 폰트 명령 사용에 대한 중요한 경고
장을 시작하면서 지적한 바와 같이 이런 식의 명령을 사용하는 것은 문서를 망가뜨릴
있는 위험한 일이다. 왜냐하면 그것이 L
A
T
E
X 기본 개념에 위배되기 때문이다. L
A
T
E
X
문서의 리적 마크업 시각적 모양을 분리한다. 말하자면, 만약 특정 정보를 타내기
위하 모양 꾸어 서의 이곳저곳 나타내어야 일이 다고 하자.
때는 반드시 \newcommand 논리적 의미를 나타내는 명령 정의해서 써야지 폰트
바꾸는 명령을 직접 써서는 된다.
\newcommand{\oops}[1]{%
\textbf{#1}}
Do not \oops{enter} this room,
it's occupied by \oops{machines}
of unknown origin and purpose.
Do not enter this room, it’s occupied by ma-
chines of unknown origin and purpose.
위의 예에서 \oops 경고를 나타내기 위해 쓰였다고 하자. 만약 나중에 경고 표시를
위해 \textbf 쓰는 대신 다른 양으 현하 어졌 때, 이것 모양
령으로 표현해두었다면 문서 전체를 뒤져서 \textbf 찾은 다음에 그것이 험에 대한
경고로 쓰인 우인지 아닌지 일일이 따져서 수정해 한다. 이것은 L
A
T
E
X 방식
아니다. 간단히 전처리부의 \oops 정의를 수정하여 한꺼번에 다른 모양으로 바꾸는 것이
훨씬 쉽고 L
A
T
E
X 철학에 부합한다.
그러므로 뭔가를 강조하려 L
A
T
E
X에게 전달해주어야 것은 단어를 강조한
사실이지 단어의 폰트를 러저러하게 바꾸라 것이 아니다. \emph 명령은
문맥에 따라 사용가능하지만 폰트 변경 명령은 그렇지 않다.
4
\par 하나와 같다.
102 마음대로 바꾸기
\textit{You can also
\emph{emphasize} text if
it is set in italics,}
\textsf{in a
\emph{sans-serif} font,}
\texttt{or in
\emph{typewriter} style.}
You can also emphasize text if it is set in italics,
in a sans-serif font, or in typewriter style.
6.2.3 조언
폰트와 폰트 크기에 대해 알아보는 것을 마치기 전에 여기서 마디 조언을 남기려 한다.
5
Remember!The MO RE fonts you use in a document, the more read-
able and beautiful it becomes.
6.3 간격
6.3.1 간격
문서 전체 대하여 사이의 간격을
6
늘리고 다면 전처리부 다음과 같이 늘리고자
하는 (배수) 지정한다.
\linespread{factor}
간격 \linespread{1.3}을, 간격 \linespread{1.6}
쓰도록 하라. 간격의 기본값은 “1”이다.
7
[한국어판을 위하여 역자가 추가]
한글 문서는 문자 문서에 비해 행간 넉넉하게 잡는다. 번역본의 경우
oblivoir
클래스의 기본값을 적용하였으며 값은 1.3 정도에 해당한다. kotex 키지에 [hangul]
옵션 주면 ( 변경사항 ) 행간 늘어나서 문서 합하 설정되는
것을 있다.
\linespread 명령 효과 력해 유연성이 족하다. 의로 부분
행간격을 굳이 바꾸어야 다음 명령을 쓰는 것도 고려해볼 있다.
\setlength{\baselineskip}{1.5\baselineskip}
5
[역주] 문장은 많은 폰트를 사용할수록 문서 읽기 쉽고 아름다워진 되어 있지만 식자된
모양을 보면 역설적 표현임을 있다. 문장은 다음과 같은 의미로 이해하는 것이 옳다. 너무 많은 폰트를
이유없이 남용하면 문서는 읽기도 어려워지고 지저분해진다.
6
[역주] 행의 베이스라인과 다음 행의 베이스라인까지의 거리를 행송이라 하고 행의 아래쪽 끝단과
다음 위쪽 사이 간격을 행간이라고 한다. L
A
T
E
X line spacing 행송에 해당하는 이지만
용어를 엄격히 적용하지 아니하고 간격이라 표현하였다.
7
[역주] L
A
T
E
X에서는 간격 배수가 1 실제로는 행간이 주어진다. 때문에 행간의 배수
2 되지 않는 것이다.
간격 103
{\setlength{\baselineskip}%
{1.5\baselineskip}
This paragraph is typeset with
the baseline skip set to 1.5 of
what it was before. Note the par
command at the end of the
paragraph.\par}
This paragraph has a clear
purpose, it shows that after the
curly brace has been closed,
everything is back to normal.
This paragraph is typeset with the baseline skip
set to 1.5 of what it was before. Note the par
command at the end of the paragraph.
This paragraph has a clear purpose, it shows
that after the curly brace has been closed, ev-
erything is back to normal.
6.3.2 문단 모양
L
A
T
E
X에는 문단 레이아웃에 영향을 끼치는 가지 파라미터가 있다.
\setlength{\parindent}{0pt}
\setlength{\parskip}{1ex plus 0.5ex minus 0.2ex}
전처리부에 위의 코드를 두면 문단의 레이아웃을 변경할 있다. 위의 코드가 하는 일은
문단의 들여쓰기를 0으로 만들면서 문단 사이의 간격을 벌리는 것이다.
plus minus 부분 주어진 값의 범위 안에서 필요하다면 문단 사이 간격을 늘리거나
줄일 있음을 T
E
X에게 알려주는 역할을 한다. 문단 페이지에 적절하게 맞추기 위한
것이다.
유럽쪽 문헌에서 문단 사이 간격을 들여쓰 하지 식의 조판 흔히
다. 그런데 명령은 목차에도 영향을 준다는 것을 기억하자. 목차 이의 격이
정상보다 슨하게 식자된다. 이것 하려면 위의 명령을 처리부에 두지 말고 문서
본문의 \tableofcontents 명령 뒤에 두는 방법이 있다. 그러나 아예 이런 것을 사용하지
않는 것도 좋은데 대부분의 전문서적은 문단 사이의 별도 간격 없이 들여쓰기하는 방법으로
조판되기 때문이다.
들여쓰기되지 않은 문단을 들여쓰게 하는
\indent
명령이 있다.
8
명령은 당연히 \parindent 0으로 설정되 있지 않을 때만 효력이
있다.
특정 문단의 들여쓰기를 없애고 싶다면
\noindent
명령을 문단 첫머리에 둔다. 장절명령 없이 시작하는 문단에 적용할 편리하다.
8
장절 표제를 식자한 직후 문단은 들여쓰기되지 않는 것이 기본이다. 문단에도 들여쓰기를 적용하려면
indentrst 패키지를 로드하여야 한다.
104 마음대로 바꾸기
6.3.3 수평 간격
단어와 문장 사이의 간격은 L
A
T
E
X 자동으로 결정한다. 수평 간격을 추가하려면
\hspace{length}
줄의 끝이나 시작부분에도 간격이 유효하여야 한다면 \hspace 대신 \hspace* 사용하
라. length 길이를 나타내 숫자에 단위를 꼴이다. 길이 단위 6.5 정리해
두었다.
This\hspace{1.5cm}is a space
of 1.5 cm.
This is a space of 1.5 cm.
다음 명령은 특별한 가변폭 간격(rubber space) 만들어낸다.
\stretch{n}
이와 령하 행의 공간 때까 간격 채워는다.
안에 \hspace{\stretch{n}} 명령 간을 어진
확장배수에 비례하여 차지한다.
x\hspace{\stretch{1}}
x\hspace{\stretch{3}}x
x x x
수평간격 스트 간격 기를 기에 맞추어서 지정
있으면 좋을 것이다. 텍스 폰트의 크기를 나타내는 상대적인 단위
em
ex
사용하면 된다.
9
{\Large{}big\hspace{1em}y}\\
{\tiny{}tin\hspace{1em}y}
big y
tin y
6.3.4 수직 간격
문단 사이 격, 장절 표제 간격 등은 L
A
T
E
X 스로 결정한다. 만약 문단 이에
추가 간격을 두어야 필요가 있다면 다음 명령을 쓴다.
\vspace{length}
명령 앞뒤에 보통 줄을 두어 한다. 페이지의 지막이나 첫머리에도 간격
유지되도록 하려면 \vspace 대신 \vspace* 사용하라.
\stretch 명령을 \pagebreak 명령 함께 써서 페이지의 하단이 앙에 줄이
오게 있다.
9
[역주] em 현재 폰트 M자의 폭이라는 뜻에서, ex x자의 높이라는 뜻에서 단위이지만 실제로 em
디자인 단위로서 10pt 폰트에서 1em 10pt이다. 1ex Latin Modern Roman 폰트에서 4.3pt 정도이다.
페이지 레이아웃 105
6.5: T
E
X 단위
mm millimetre 1/25 inch
cm centimetre = 10 mm
in inch = 25.4 mm
pt point 1/72 inch
1
3
mm
em 현재 폰트의 ‘M’ (width) 비슷한 길이
ex 현재 폰트의 ‘x’ 높이(height) 비슷한 길이
Some text \ldots
\vspace{\stretch{1}}
This goes onto the last line of the page.\pagebreak
같은 문단 내에서, 또는 안에서 사이에 간격을 주려면 다음과 같이 한다.
\\[length]
\bigskip \medskip, \smallskip 으로
떨어뜨리는데 정확히 포인트일지는 신경쓸 필요 없다.
6.4 페이지 레이아웃
L
A
T
E
X에서는 용지 크기를 \documentclass 명령의 옵션으로 지정한다. 그러면 텍스트의
여백(margins) 크기를 자동으로 결정한다. 그러나 이렇게 만들어진 페이지가 마음에 들지
않을 있다. 연히 바꾸는 것이 가능하다. 6.2 바꿀 있는 파라미터 모두
보여준다. 그림은 ‘tools’ 묶음의 layout 패키지로 그렸다.
잠깐! ⋯⋯ 문서의 폭이 너무 좁으니 넓히자 생각으로 가를 하기 전에
조금만 생각해보라. 다른 것도 마찬가지지만 L
A
T
E
X 기본 페이지 레이아웃을 그렇게
설정하는 데는 이유가 있다.
확실히 (한때 쓰던) MS Word 경우 판면이 렇게 좁지 않았다. 그러나 실제
10
꺼내서 줄에 글자나 들어가 있는지 세어보라. 행마다 대략 66자를 넘지 않을
것이다. 이제 본적으 만들어지는 L
A
T
E
X 문서에 역시 글자수를 세어보면
마찬가지로 행에 66 정도가 들어간다는 것을 알게 것이다. 경험상 줄이 너무
길어 가는 수가 많으 서가 곤란진다. 에서 처음
이동하는 거리가 길어서 눈을 이동시키기 어려워지기 때문이다.
그러므로 문서 본문 너비를 키우는 독자에게 독서 부담을 가중하는 것이 된다는
점을 유념하여 한다. 그럼에 불구하 해야 한다면 어떻게 하면 되는지 알려주겠다.
파라미터를 바꾸기 위한 명령을 가지 제공한다. 대개 전처리부에 두면 된다.
10
믿을 만한 출판사에서 출간된 진짜 책을 말한다.
106 마음대로 바꾸기
Header
Body
Footer
Margin
Notes
i
8
-
i
7
?
6
i
1
-
-i
3
i
10
-
- i
9
6
?
i
11
i
2
?
6
i
4
6
?
i
5
6
?
i
6
6
?
1 one inch + \hoffset 2 one inch + \voffset
3 \oddsidemargin = 13pt 4 \topmargin = -11pt
or \evensidemargin
5 \headheight = 12pt 6 \headsep = 18pt
7 \textheight = 649pt 8 \textwidth = 369pt
9 \marginparsep = 7pt 10 \marginparwidth = 128pt
11 \footskip = 25pt \marginparpush = 5pt (not shown)
\hoffset = 0pt \voffset = 0pt
\paperwidth = 597pt \paperheight = 845pt
그림 6.2: 책의 레이아웃 파라미터. layouts 패키지를 이용하면 현재 문서의 레이아웃을
확인할 있다.
길이 관련 재미있는 응용 107
번째 명령은 파라미터에 일정한 값을 부여하는 것이다.
\setlength{parameter}{length}
번째 것은 파라미터에 일정 길이를 더하는 것이다.
\addtolength{parameter}{length}
번째 명령이 \setlength 쓰는 것보다 유용하다. 이미 있는 값을 기준으로 상대적
으로 설정할 있기 때문이다. 전체 문단 (text width) 1cm 더하려면 전처리부에
다음과 같이 선언하면 된다.
\addtolength{\hoffset}{-0.5cm}
\addtolength{\textwidth}{1cm}
이런 종류의 일을 때에 calc 패키지가 도움이 된다. \setlength 명령의 인자 안에서
산술 연산을 다. 숫자가 필요 에서도 연산식 인자로 값을 입력할
있다.
6.5 길이 관련 재미있는 응용
가능한 L
A
T
E
X 문서에서는 절대 길이를 쓰지 않는 것이 좋다. 텍스트의 비나 높이와
같은 페이 요소의 길이를 준으로 상대 길이 지정하는 것이 낫다. 예컨
페이지 전체를 그래픽으로 채우려 (width) \textwidth 설정한다.
다음 개의 령은 스트 자열 (text) (width), 높이 (height), 깊이 (depth)
계산하게 하여 변수(variable) 할당하는 것이다.
\settoheight{variable}{text}
\settodepth{variable}{text}
\settowidth{variable}{text}
다음 예제에서 명령을 응용해보았다.
\flushleft
\newenvironment{vardesc}[1]{%
\settowidth{\parindent}{#1:\ }
\makebox[0pt][r]{#1:\ }}{}
\begin{displaymath}
a^2+b^2=c^2
\end{displaymath}
\begin{vardesc}{Where}$a$,
$b$ -- are adjacent to the right
angle of a right-angled triangle.
$c$ -- is the hypotenuse of
the triangle and feels lonely.
$d$ -- finally does not show up
here at all. Isn't that puzzling?
\end{vardesc}
a
2
+ b
2
= c
2
Where: a, b are adjacent to the right angle of
a right-angled triangle.
c is the hypotenuse of the triangle
and feels lonely.
d nally does not show up here at
all. Isn’t that puzzling?
108 마음대로 바꾸기
6.6 박스(Box)
L
A
T
E
X 박스를 쌓아서 페이지를 만든다. 먼저 글자 하나하나가 작은 박스이다. 박스를
풀로 붙이듯이 이어붙여 단어를 만든다. 단어를 다시 다른 단어와 이어붙이는데
때는 길이가 거나 줄어들 있는 별한 연결요(glue) 풀처럼 사용한다. 렇게
함으로써 줄이 판면에 맞도록 조절할 있다.
물론 명이 T
E
X 일에 비하 략한 설명이라 다.
그러나 핵심은 T
E
X 박스와 글루를 가지고 작업한다는 점이다. 글자만이 박스가 아니다.
무엇이든지 박스에 들어갈 있다. 박스 안에 다른 박스가 들어갈 수도 있다. 일단 박스에
들어가고 나면 전체가 하나의 글자인 것처럼 L
A
T
E
X 취급한다.
다.
tabular \includegraphics 다.
러므로 표와 림을 나란 놓는 매우 다. 박스 이어맞 길이 본문 보다
크지 않게 하면 된다.
원한다면 하나의 문단도 박스 하나에 넣을 있다. 이를테면
\parbox[pos]{width}{text}
이와 같이 \parbox 명령을 쓰거나
\begin{minipage}[pos]{width} text \end{minipage}
이런 식으로 minipage 환경을 쓰면 된다. pos 파라미터는 c, t, b 중에서 하나 취하는데,
주변 텍스트 베이스라인을 기준으 박스의 수직 정렬 위치를 타낸다. width
스의 폭을 지시하는 길이이다. minipage \parbox 차이점은 \parbox 안에는 사용할
없는 명령이나 환경이 있다는 것이다. 반면 minipage 안에는 무엇이든 가능하다.
\parbox 줄나눔같은 수직 판요소까지 포함하여 체를 박스 담는
비해 으로 열된 들만 박스 령도 다. 이미
써본 적이 는데 \mbox 것이다. 이것은 이어지는 일련의 박스를 넣으면서 단어
사이에서 줄나눔이 일어나지 못하게 한다. 박스가 박스 안에 들어갈 있으므로 수평
박스를 유연하게 이용할 있다.
\makebox[width][pos]{text}
width 스의 나타내는데 박스 부에서 보는 이가 다.
11
파라미터에는
길이 표현이 있는 것은 당연하고 그밖에 \width, \height, \depth, \totalheight
같은 령이 수도 다. 이들 text 주어지는 것을 판하였 가지게
값을 측정하 취한 것이다. pos 인자는 c, l, r, s 운데 나를 는데 각각
center, ushleft, ushright, spread 의미이다. spread 박스를 채우도록 텍스트를
벌려 배열하라는 뜻이다.
11
말은 박스 내부에 있는 것들의 길이보다 박스 길이가 작을 수도 있다는 뜻이다. 박스의 width 0pt
정의할 수도 있는데 그렇게 하면 주변 박스의 배열에 영향을 주지 않으면서 어떤 것을 식자할 있다.
괘선(Rule) 109
\framebox라는 명령은 \makebox 완전히 똑같이 동작한다. 그러면서 박스 주변에
선을 그려준다.
다음 예제를 살펴보면 \makebox \framebox 명령을 어떻게 쓰는지 짐작할 있을
것이다.
12
\makebox[\textwidth]{%
c e n t r a l}\par
\makebox[\textwidth][s]{%
s p r e a d}\par
\framebox[1.1\width]{Guess I'm
framed now!} \par
\framebox[0.8\width][r]{Bummer,
I am too wide} \par
\framebox[1cm][l]{never
mind, so am I}
Can you read this?
c e n t r a l
s p r e a d
Guess I’m framed now!
Bummer, I am too wide
never mind, so am ICan you read this?
수평 제어에 대해 알아보았다. 다음 차례는 수직 제어에 대한 것이 당연하다.
13
어려울
것이 없다.
\raisebox{lift}[extend-above-baseline][extend-below-baseline]{text}
명령은 박스의 수직 위치 이동을 정의한다. 앞에서부터 번째까지 인자에 \width,
\height, \depth, \totalheight 있다. 이들은 text 주어진 문자열의 크기에
따라 결정되는 값이므로 박스 크기에 맞추어서 이동하게 있다.
\raisebox{0pt}[0pt][0pt]{\Large%
\textbf{Aaaa\raisebox{-0.3ex}{a}%
\raisebox{-0.7ex}{aa}%
\raisebox{-1.2ex}{r}%
\raisebox{-2.2ex}{g}%
\raisebox{-4.5ex}{h}}}
she shouted, but not even the next
one in line noticed that something
terrible had happened to her.
Aaaa
a
aa
r
g
h
she shouted, but not even the
next one in line noticed that something terrible
had happened to her.
6.7 괘선(Rule)
페이지 앞에서 적이 있는 명령이다.
\rule[lift]{width}{height}
보편적인 이용방법은 간단한 검은색 박스를 그리는 것이다. 다른 용법 중에 35페이지
에서 이미 명령으로 폭이 0 괘선 strut 이용하는 방법을 배운 적이 있다.
12
[역주] 앞서 글자 박스가 단어가 때는 이어붙였고 단어와 단어 사이는 늘어나는 길이(글루)”
연결하였다고 말을 곰곰 생각해본다면 spread 벌어질 있는 것은 단어와 단어 사이이지 글자와 글자
사이가 아님 작할 있다. 다음에 이는 예제에서 spread하기 위해서 글자 사이 스페이스를
그런 까닭이다.
13
완전 제어는 수평제어와 수직제어를 모두 달성해야 성취된다.
110 마음대로 바꾸기
\rule{3mm}{.1pt}%
\rule[-1mm]{5mm}{1cm}%
\rule{3mm}{.1pt}%
\rule[1mm]{1cm}{5mm}%
\rule{3mm}{.1pt}
수평괘선이나 수직괘선 다. 자의 표지 그려 선이 명령으로
작성되었다.
부록 A
L
A
T
E
X 설치하기
Knuth T
E
X 소스를 공개했을 때는 오픈소스나 자유 소프트웨어
아무 알지 못하던 시절이었다. T
E
X 과된 이센스
—Knuth 자신이 제공하는 일련의 테스트를 통과하지 못한다면
그것을 T
E
X이라고 부를 없다는 점을 제외하면 소스를 가지
원하는 모든 것을 있게 것이었다. 그것은 지구상의
거의 모든 플랫폼에서 T
E
X 구현되 유롭 용할 있게
되는 결과 가져왔다. 부록에서 리눅스, 오에스, 윈도
즈에서 T
E
X 설치하고 설정하는 문제 관해 다루고자 한다.
A.1 설치해야
L
A
T
E
X 운영하고자 한다면 설치해야 프로그램이 여럿 있다.
1. 소스 파일을 처리하여 PDF DVI 조판하는 T
E
X/L
A
T
E
X 프로그램
2. L
A
T
E
X 소스 파일을 편집하 위한 텍스트 에디터. 어떤 제품은 에디터 내에서 L
A
T
E
X
프로그램을 불러서 구동할 있다.
3. PDF/DVI 화면보기 프로그램. 문서를 미리보기하고 인쇄할 있게 한다.
4. 문서에 포함할 PostScript 이미지 파일을 다루는 프로그램
모든 플랫폼에 요구를 충족하는 프로그램들이 다양하게 존재한다. 여기서는 우리가
알고 좋아하면서 많이 쓰고 있는 것에 대해서만 언급하겠다.
A.2 크로스 플랫폼 에디터
T
E
X 자체는 여러 다양한 플랫폼에서 운영되고 있지만 L
A
T
E
X 에디터는 상당히 오랜 기간
플랫폼 종속적이었다.
111
112 L
A
T
E
X 설치하기
지난 저자는 Texmaker 즐겨 써왔다. 내장 pdf 프리뷰 구문 하일라이팅을
갖춘 용한 디터이기 하지 특히 도우즈, 맥, /눅스에서
행된다는 장점이 있다. 자세한 사항은 http://www.xm1math.net/texmaker
라. TeXstudio라는 Texmaker 파생 버전도 있다 (http://texstudio.sourceforge.
net/). 또한 관리되고 있으며 가지 주요 운영체제에서 모두 이용가능하다.
아래의 OS관련 절에서 플랫폼에 특정한 에디터에 대해서 언급할 것이다.
A.3 OS T
E
X
A.3.1 T
E
X 배포판
MacTeX 받으 다. L
A
T
E
X 설치 외에 구를 한다.
http://www.tug.org/mactex/에서 얻을 있다.
A.3.2 OS T
E
X 에디터
여러 플랫폼에 운영되는 Texmaker 제안하는 (부록 A.2)지만 만족하 못하겠
다면⋯⋯.
가장 유명한 맥의 오픈소스 L
A
T
E
X 에디터는 T
E
Xshop다. http://www.uoregon.
edu/~koch/texshop에서 얻을 있으며 MacTeX 배포판에도 포함되어 있다.
최근의 T
E
X Live T
E
XShop 디자인을 흉내낸 다중플랫폼 편집기 T
E
Xworks 에디터
(http://texworks.org) 함한다. T
E
Xworks Qt 킷을 용하 문에
지원하는 어떤 플랫폼( OS, 윈도우즈, 리눅스)에서도 있다.
A.3.3 PDFView 사용해보자
L
A
T
E
X 생성 PDF 일을 PDFView 해보라. L
A
T
E
X 스트 디터
긴밀하 통합된다. PDFView 오픈소 응용 프로그램으로 http://pdfview.
sourceforge.net/에서 얻을 있다. 설치 후에 환경설정으 가서 automatically reload
documents 활성화하는 것과 PDFSync 지원이 적절하게 되어 있는지 확인하는 것을
잊지 말자.
A.4 윈도우즈의 T
E
X
A.4.1 T
E
X 얻기
먼저 http://www.miktex.org에서 MiKTeX라는 훌륭한 배포판을 다운로드받는다.
여기 L
A
T
E
X 일하 요한 그램 파일 전부 다.
저자가 기에 배포판의 가장 점은 문서 컴파일하는 도중에 요한 패키지를
하여 설치 이다. T
E
X Live 윈도즈,
유닉스, OS용이 있으므로 이것을 선택해도 좋다. http://www.tug.org/texlive
방문해보라.
리눅스의 T
E
X 113
A.4.2 L
A
T
E
X 에디터
여러 플랫폼에 운영되는 Texmaker 제안하는 (부록 A.2)지만 만족하 못하겠
다면⋯⋯.
TeXnicCenter 프로그래밍의 세계에서 가져온 많은 개념을 활용하여 윈도우즈에서
최선의 율적인 L
A
T
E
X 저작 환경을 제공한다. http://www.texniccenter.org/
얻을 있다. TeXnicCenter MiKT
E
X 어울린다.
최근 T
E
X Live 포판 함되 있는 T
E
Xworks 에디터가 있다. http://texworks.
org. 유니코드를 지원하며 최소 Windows XP 요구한다.
A.4.3 문서 보기 프로그램
DVI 문서 리뷰로 MiKT
E
X 설치해주는 Yap 사용한다. PDF 뷰어로는 Suma-
traPDF http://blog.kowalczyk.info/software/sumatrapdf/ 한다.
어를 사용하면 소스 코드의 특정 치에 응하는 PDF상의 위치로 즉시 이동하는 것이
가능하다.
A.4.4 그림 관련
L
A
T
E
X에서 고품질 그래픽으로 작업하려면 Encapsulated PostScript (eps) PDF
포맷으로 해야 한다. 이런 래픽 GhostScript라는 프로그램 도움 받아야 경우
많다. 자체 프론트엔드인 GhostView 함께 http://www.cs.wisc.edu/~ghost/
얻을 있다.
사진이나 스캔 같은 비트맵 그래픽이라면 Photoshop 대안인 Gimp 고려해볼
있다. http://gimp-win.sourceforge.net/에서 다운로드 가능하다.
A.5 리눅스의 T
E
X
리눅서는 L
A
T
E
X 경이 마련 있는 가지다.
과정이 자연스럽게 이루어진다. 패키지 매니저로 설치할 있는 패키지가 다음과 같다.
• texlive T
E
X/L
A
T
E
X 설치
• emacs (AUCTeX) L
A
T
E
X 특화되어 있는 AUCTeX 패키지를 얹은 에디터
• ghostscript PostScript 프로그램
• xpdf pdf 미리보기 프로그램
• imagemagick 비트맵 그림의 변환 도구
• gimp 자유 소프트웨어로서 Photoshop 대응
• inkscape 자유 소프트웨어로서 Illustrator 또는 corel draw 대응
윈도우즈에 가까운 GUI 에디터 환경을 원한다 Texmaker 려해보라. A.2절을
것.
대부분의 리눅스 배포판은 T
E
X 환경을 여러 개의 개별 패키지로 누어서 원하
분만 설치 있게 하고 있다. 러므 빠진 것이 있으 부분
점검해보기 바란다.
문헌 목록
[1] Leslie Lamport. L
A
T
E
X: A Document Preparation System. Addison-Wesley,
Reading, Massachusetts, second edition, 1994, ISBN 0-201-52983-1.
[2] Donald E. Knuth. The T
E
Xbook, Volume A of Computers and Typesetting,
Addison-Wesley, Reading, Massachusetts, second edition, 1984, ISBN 0-201-
13448-9.
[3] Frank Mittelbach, Michel Goossens, Johannes Braams, David Carlisle, and Chris
Rowley. The L
A
T
E
X Companion, (2nd Edition). Addison-Wesley, Reading, Mas-
sachusetts, 2004, ISBN 0-201-36299-6.
[4] Michel Goossens, Sebastian Rahtz and Frank Mittelbach. The L
A
T
E
X Graphics
Companion. Addison-Wesley, Reading, Massachusetts, 1997, ISBN 0-201-85469-
4.
[5] L
A
T
E
X 설치한 시스템 관리자는 L
A
T
E
X Local Guide라는 문서를 작성하여 제공한다.
여기에는 로컬 시스템에 특정한 사항이 설명되어 있어야 한다. 파일은 local.tex
이라는 이름으로 되어 있을 것이다. 불행히 시스템 관리자가 게을러서 문서를
제공하지 않을 수도 있다. 그럴 때는 주변의 L
A
T
E
X 도사에게 물어보는 수밖에 없다.
[6] L
A
T
E
X3 Project Team. L
A
T
E
X 2
ε
for authors. L
A
T
E
X 2
ε
배포판 포함되어 음.
usrguide.tex.
[7] L
A
T
E
X3 Project Team. L
A
T
E
X 2
ε
for Class and Package writers. L
A
T
E
X 2
ε
배포판에
포함되어 있음. clsguide.tex.
[8] L
A
T
E
X3 Project Team. L
A
T
E
X 2
ε
Font selection. L
A
T
E
X 2
ε
배포판에 포함되어 있음.
fntguide.tex.
[9] D. P. Carlisle. Packages in the ‘graphics’ bundle. ‘graphics’ 묶음에 포함되 있음.
grfguide.tex.
[10] Rainer Schöpf, Bernd Raichle, and Chris Rowley. A New Implementation of
L
A
T
E
X’s verbatim Environments. ‘tools’ 묶음에 포함되어 있음. verbatim.dtx.
[11] Vladimir Volovich, Werner Lemberg, and L
A
T
E
X3 Project Team. Cyrillic lan-
guages support in L
A
T
E
X. L
A
T
E
X 2
ε
배포판에 포함되어 있음. cyrguide.tex.
[12] Graham Williams. The TeX Catalogue. T
E
X, L
A
T
E
X
상세한 목록. CTAN://help/Catalogue/catalogue.html에서 구할 있음.
[13] Kristoer H. Rose. X
Y
-pic User’s Guide. X
Y
-pic CTAN 포처에서 다운로드
능함.
[14] John D. Hobby. A User’s Manual for METAPOST. http://cm.bell-labs.com/
who/hobby/에서 다운로드 가능함.
[15] Alan Hoenig. T
E
X Unbound. Oxford University Press, 1998, ISBN 0-19-509685-1;
0-19-509686-X (pbk.)
114
115
[16] Urs Oswald. Graphics in L
A
T
E
X 2
ε
, picture 환경 타원
려주 Java 로그 스를 하고 음. METAPOST - A Tutorial.
http://www.ursoswald.ch에서 다운로드 가능.
[17] Till Tantau. TikZ & PGF Manual. CTAN://graphics/pgf/base/doc/generic/
pgf/pgfmanual.pdf에서 다운로드 가능.
[18] François Charette. Polyglossia: A Babel Replacement for X
Ǝ
L
A
T
E
X. T
E
X Live
polyglossia.pdf 포함되 배포됨. (명령행에서 texdoc polyglossia 명령을
내리면 읽을 있음.)
[19] François Charette. An ArabT
E
X-like interface for typesetting languages in Arabic
script with X
Ǝ
L
A
T
E
X. T
E
X Live arabxetex.pdf 포함되어 있음. (명령행에서
texdoc arabxetex이라고 명령하면 읽을 있음.)
[20] Will Robertson and Khaled Hosny. The fontspec package. T
E
X Live
fontspec.pdf 함되 음. (명령행에 texdoc fontspec라고 령하
읽을 있음.)
[21] Apostolos Syropoulos. The xgreek package. T
E
X Live xgreek.pdf 포함되
있음. (명령행에서 texdoc xgreek이라고 명령하면 읽을 있음.)
[22] Vafa Khalighi.
The
bidi
package
. T
E
X Live bidi.pdf 포함되어 있음. (명령
행에서 texdoc bidi라고 명령하면 읽을 있음.)
[23] Vafa Khalighi. The XePersian package. T
E
X Live xepersian.pdf 포함되어
있음. (명령행에서 texdoc xepersian이라고 명령하면 읽을 있음.)
[24] Wenchang Sun. The xeCJK package. T
E
X Live xeCJK.pdf 포함되어 있음.
(
texdoc xecjk
명령하면 읽을 있음.
)
[25] Dohyun Kim, X
Ǝ
T
E
X-ko 간단 매뉴얼』, T
E
X Live kotex 패키지와 함께 배포됨.
(명령행에서 texdoc xetexko 명령하면 읽을 있음.)
색인
각주 . .. . . . . . .. .. .. . . . . . .. .. . . . . . . . . 30
강조 . .. . . . . . .. .. .. . . . . . .. .. . . . . . . . . 30
곱기호 . . . .. .. .. . . . . . .. .. . . . . . . . .. .. 46
괄호 . .. . . . . . .. .. .. . . . . . .. .. . . . . . . . . 46
교차참조.. .. . . . . . .. .. . . . . . . . .. .. . . .29
구조 . . . . . . . . .. .. . . . . . . . .. .. . . . . . . . .. 6
길이 . . . .. .. . . . . . . . .. .. . . . . . .. .. .. . 104
길이 단위 .. . . . . . .. .. .. . . . . . .. .. . . . 104
다국어 . . . .. .. .. . . . . . .. .. . . . . . . . .. .. 21
다이어그램. . . . .. .. . . . . . . . .. .. . . . . . .93
단면문서.. .. . . . . . .. .. . . . . . . . .. .. . . .10
대괄호 . .. . . . . . . . .. .. . . . . . . . .. .. . . . . . 5
대시 . .. . . . . . .. .. .. . . . . . .. .. . . . . . . . . 18
기호 . .. .. . . . . . . . .. .. . . . . . . . .. .. . 19
들여쓰기. . . . .. .. . . . . . .. .. .. . . . . . ..103
따옴표 . . . .. .. .. . . . . . .. .. . . . . . . . .. .. 18
떠다니는 개체. . . . .. .. . . . . . . . .. .. . . . 37
리스트 문단 .. . . . . . . . .. .. . . . . . . . .. .. 31
마침표 . . . .. .. .. . . . . . .. .. . . . . . . . .. .. 20
면주 . . . . . . .. .. .. . . . . . .. .. . . . . . . 11, 69
명령 . . . . . . . . .. .. . . . . . . . .. .. . . . . . . . .. 5
명령 적용 범위 . . .. .. . . . . . .. .. .. . . . . 99
목차 . .. . . . . . .. .. .. . . . . . .. .. . . . . . . . . 28
문단 . .. . . . . . .. .. .. . . . . . .. .. . . . . . . . . 14
문서 폰트 크기 . . .. .. . . . . . .. .. .. . . . . 10
문헌 목록 . . . .. .. . . . . . . . .. .. . . . . . .. . 67
미국수학회. . . . .. .. . . . . . . . .. .. . . . . . .40
발표자료.. .. . . . . . .. .. . . . . . . . .. .. . . .78
백슬래시 . . . . . .. .. . . . . . . . .. .. . . . . . .. . 5
벡터 . .. . . . . . .. .. .. . . . . . .. .. . . . . . . . . 44
다이어그램. . . . .. .. . . . . . . . .. .. . . . 92
별행수식.. . . . . . . . .. .. . . . . . . . .. .. . . .40
분철 . .. . . . . . .. .. . . . . . . . .. .. . . . . . . . . 17
블랙보드 볼드. . . . .. .. . . . . . .. .. .. . . . 43
뺄셈 부호 . . . .. .. . . . . . .. .. .. . . . . . .. . 18
색인 . .. . . . . . .. .. . . . . . . . .. .. . . . . . . . . 68
가로선 . .. . . . . . .. .. .. . . . . . .. .. . 44
소수점 정렬 .. . . . . . . . .. .. . . . . . . . .. .. 34
수식 . .. . . . . . .. .. . . . . . . . .. .. . . . . . . . . 40
함수명 명령 . . . .. .. . . . . . . . .. .. . 44
수식 모드 . . . .. .. . . . . . .. .. .. . . . . . .. . 42
수식 모드에서의 간격. . . .. .. . . . . . . . .42
수평
간격 . . . . . . . . .. .. . . . . . . . .. .. . . 104
수학 . .. . . . . . .. .. . . . . . . . .. .. . . . . . . . . 40
수학 뺄셈 부호 .. .. .. . . . . . .. .. . . . . . . 18
쉼표 . .. . . . . . .. .. . . . . . . . .. .. . . . . . . . . 20
스페이스 . . . . . .. .. . . . . . .. .. .. . . . . . .. . 4
아래첨자.. . . . . . . . .. .. . . . . . . . .. .. . . .43
액센트 . . . .. .. . . . . . . . .. .. . . . . . . . .. .. 20
양끝맞춤.. . . . . . . . .. .. . . . . . . . .. .. . . .16
엔대시 . . . .. .. . . . . . . . .. .. . . . . . . . .. .. 18
엔화 기호 . . . .. .. . . . . . .. .. .. . . . . . .. . 20
엠대시 . . . .. .. . . . . . . . .. .. . . . . . . . .. .. 18
여닫는 부호 .. . . . . . . . .. .. . . . . . . . .. .. 46
여백 . . . .. .. . . . . . .. .. .. . . . . . .. .. .. . 105
예약 문자 . .. .. .. . . . . . .. .. . . . . . . . .. .. 4
옵션 인자 . .. .. .. . . . . . .. .. . . . . . . . .. .. 5
요약문 . . . .. .. . . . . . . . .. .. . . . . . . . .. .. 32
용지 . . . .. .. . . . . . .. .. .. . . . . . .. .. .. . 105
용지 크기 . . . .. .. . . . . . .. .. .. . . . . . .. . 10
운문 . .. . . . . . .. .. . . . . . . . .. .. . . . . . . . . 32
원화 기호 . . . .. .. . . . . . .. .. .. . . . . . .. . 20
위첨자 . . . .. .. . . . . . . . .. .. . . . . . . . .. .. 43
위치지정자. . . . .. .. . . . . . . . .. .. . . . . . .38
116
117
이항 계수 . . . .. .. . . . . . . . .. .. . . . . . .. . 45
이항 관계연산자. .. . . . . . . . .. .. . . . . . .46
인용문 . . . .. .. .. . . . . . .. .. . . . . . . . .. .. 32
인자 . .. . . . . . .. .. . . . . . . . .. .. . . . . . . . .. 5
일본어 . . . .. .. .. . . . . . .. .. . . . . . . . .. .. 24
잉여연산.. .. . . . . . .. .. . . . . . . . .. .. . . .45
자동조사.. .. . . . . . .. .. . . . . . . . .. .. . . .29
적분기호.. .. . . . . . .. .. . . . . . . . .. .. . . .46
전처리부 . . . . . .. .. . . . . . . . .. .. . . . . . .. . 7
정렬
가운데정렬 . . . . . . . .. .. . . . . . . . .. 31
오른쪽정렬 . . . . . . . .. .. . . . . . . . .. 31
왼쪽정렬 . . . . . .. .. . . . . . . . .. .. . . 31
제곱근 . . . .. .. .. . . . . . .. .. . . . . . . . .. .. 43
조각적으로 정의된 함수 . . . . . . .. .. . . 53
줄나눔 . . . .. .. . . . . . . . .. .. . . . . . . . 14, 16
줄임표 . . . .. .. .. . . . . . .. .. . . . . . . . .. .. 20
중괄호 . . . . . . . . .. .. . . . . . . . .. .. . . . 5, 99
중국어 . . . .. .. .. . . . . . .. .. . . . . . . . .. .. 24
지수 . .. . . . . . .. .. .. . . . . . .. .. . . . . . . . . 43
컬럼구분자. . . . .. .. . . . . . . . .. .. . . . . . .34
타이틀 . . . .. .. .. . . . . . .. .. . . . . . . . .. .. 28
텍스트 모드 .. . . . . . . . .. .. . . . . . . . .. .. 42
특수 문자 . . . .. .. . . . . . . . .. .. . . . . . .. . 20
패키지 . . . . . . . . .. .. . . . . . . . .. .. . . . 6, 95
페이지 스타일 . . . . .. .. . . . . . .. .. . 11, 69
편미분 . . . .. .. .. . . . . . .. .. . . . . . . . .. .. 45
펼침면 . . . .. .. .. . . . . . .. .. . . . . . . . .. .. 10
폰트 크기 .. .. . . . . . .. .. .. . . 10, 99, 101
. . . . . . . . .. .. . . . . . .. .. . . . . . . . .. .. . 33
표지 . .. . . . . . .. .. .. . . . . . .. .. . . . . . . . . 10
프레젠테이션 . . . . . .. .. . . . . . .. .. .. . . 78
하이퍼텍스트 . . . . . .. .. . . . . . .. .. .. . . 72
하이픈 . . . .. .. .. . . . . . .. .. . . . . . . . .. .. 18
한국어 . . . .. .. .. . . . . . .. .. . . . . . . . .. .. 24
한글 폰트 . . . .. .. . . . . . . . .. .. . . . . . .. . 77
합기호 . . . .. .. .. . . . . . .. .. . . . . . . . .. .. 46
간격 . .. .. .. . . . . . .. .. . . . . . . . .. .. 102
행렬 . .. . . . . . .. .. .. . . . . . .. .. . . . . . . . . 53
행중수식.. .. . . . . . .. .. . . . . . . . .. .. . . .40
확장명 . . . .. .. . . . . . . . .. .. . . . . . . . .. .. 12
환경 . .. . . . . . .. .. . . . . . . . .. .. . . . . . . . . 31
기호
\\ . .. .. . . . . . . . .. .. . . . . . . . .. .. 31, 32, 34
\, . . .. .. . . . . . .. .. .. . . . . . .. .. . . . . 42, 54
. . . .. .. .. . . . . . .. .. . . . . . . . .. .. . . . . 18
- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
\- . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
., space after . . . . . . . . . . . . . . . . . . . . . . 27
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
\: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
\; . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
\@ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
\[ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
\] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
~ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1 .. .. .. . . . . . .. .. .. . . . . . .. .. . . . . . . 10
2 .. .. .. . . . . . .. .. .. . . . . . .. .. . . . . . . 10
A
A4 paper . . . . . . . . . . . . . . . . . . . . . . . . . . 10
A5 paper . . . . . . . . . . . . . . . . . . . . . . . . . . 10
å . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
abstract. . . . . . . . . . . . . . . . . . . . . . . . . .32
accent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
acute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
\addtolength . . . . . . . . . . . . . . . . . . . . . 107
æ. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21
align . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
American Mathematical Society . . . 40
amsbsy .. . . . . . . . . . . . . . . . . . . . . . . . . . . 56
amsfonts . . . . . . . . . . . . . . . . . . . . . . . 55, 63
amsmath. . . . .29, 40, 45, 46, 53, 54, 56
amssymb . . . . . . . . . . . . . . . . . . . 43, 55, 60
amsthm . . . . . . . . . . . . . . . . . . . . . . . . 56, 57
\and. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .28
\appendix . . . . . . . . . . . . . . . . . . . . . . 27, 28
Arabic. . . . . . . . . . . . . . . . . . . . . . . . . . . . .23
arabxetex . . . . . . . . . . . . . . . . . . . . . . . . . . 23
\arccos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
\arcsin . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
\arctan . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
\arg. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44
array. . . . . . . . . . . . . . . . . . . . . . . . . .52, 53
\arraystretch . . . . . . . . . . . . . . . . . . . . . 35
article class . . . . . . . . . . . . . . . . . . . . . . . . . 9
\author . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
118 색인
B
B5 paper . . . . . . . . . . . . . . . . . . . . . . . . . . 10
babel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
\backmatter . . . . . . . . . . . . . . . . . . . . . . . 28
backslash . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
\bar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44
base font size . . . . . . . . . . . . . . . . . . . . . . 10
beamer . . . . . . . . . . . . . . . . . . . . . 78, 79, 81
\begin . . . . . . . . . . . . . . . . . . . . . . 31, 82, 90
\bibitem . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
bibliography . . . . . . . . . . . . . . . . . . . . . . . 67
bidi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
\Big. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47
\big. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47
\Bigg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
\bigg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
binary relations. . . . . . . . . . . . . . . . . . . .46
\binom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
binomial coecient . . . . . . . . . . . . . . . . 45
blackboard bold . . . . . . . . . . . . . . . . . . . 43
block . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
bm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Bmatrix . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
bmatrix . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
\bmod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
bold face . . . . . . . . . . . . . . . . . . . . . . . . . 100
bold symbols . . . . . . . . . . . . . . . . . . . . . . 55
\boldmath. . . . . . . . . . . . . . . . . . . . . . . . . .55
\boldsymbol . . . . . . . . . . . . . . . . . . . . . . . 56
book class . . . . . . . . . . . . . . . . . . . . . . . . . . 9
booktabs. . . . . . . . . . . . . . . . . . . . . . . . . . .36
brace
horizontal. . . . . . . . . . . . . . . . . . . . .44
bracking. . . . . . . . . . . . . . . . . . . . . . . . . . . 46
C
calc .. . .. .. . . . . . . . .. .. . . . . . . . .. .. . 107
\caption . . . . . .. .. . . . . . . . .. .. . . . 38, 39
cases . . . . .. .. . . . . . . . .. .. . . . . . . . .. . 53
\cdot. .. . . . . . .. .. . . . . . . . .. .. . . . . . . . .43
\cdots . .. .. . . . . . .. .. .. . . . . . .. .. . . . . 43
center . . .. .. .. . . . . . .. .. .. . . . . . .. .. 31
\chapter . . . . . . . .. .. . . . . . . . .. .. . . . . . 27
\chaptermark . . . . . . .. .. . . . . . . . .. .. . 70
Chinese . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
\ci . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
\circle . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
\circle* . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
\cite . . . . . . . . . . . . . . . . . . . . . . . . . . . 67, 72
CJK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
cjk-ko. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26
\cleardoublepage . . . . . . . . . . . . . . . . . 39
\clearpage . . . . . . . . . . . . . . . . . . . . . . . . 39
\cline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
color. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79
commands . . . . . . . . . . . . . . . . . . . . . . . . . . 5
\\ . . . . . . . . . . . . . . . . . . . . . 31, 32, 34
\,. . . . . . . . . . . . . . . . . . . . . . . . .42, 54
\- . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
\: . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
\; . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
\@ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
\[ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
\] . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
\addtolength . . . . . . . . . . . . . . . 107
\and . . . . . . . . . . . . . . . . . . . . . . . . . . 28
\appendix . . . . . . . . . . . . . . . . 27, 28
\arccos . . . . . . . . . . . . . . . . . . . . . . 44
\arcsin . . . . . . . . . . . . . . . . . . . . . . 44
\arctan . . . . . . . . . . . . . . . . . . . . . . 44
\arg . . . . . . . . . . . . . . . . . . . . . . . . . . 44
\arraystretch . . . . . . . . . . . . . . . 35
\author . . . . . . . . . . . . . . . . . . . . . . 28
\backmatter. . . . . . . . . . . . . . . . . .28
\bar . . . . . . . . . . . . . . . . . . . . . . . . . . 44
\begin . . . . . . . . . . . . . . . . 31, 82, 90
\bibitem . . . . . . . . . . . . . . . . . . . . . 67
\Big . . . . . . . . . . . . . . . . . . . . . . . . . . 47
\big . . . . . . . . . . . . . . . . . . . . . . . . . . 47
\Bigg . . . . . . . . . . . . . . . . . . . . . . . . .47
\bigg . . . . . . . . . . . . . . . . . . . . . . . . .47
\binom . . . . . . . . . . . . . . . . . . . . . . . 45
\bmod . . . . . . . . . . . . . . . . . . . . . . . . .45
\boldmath . . . . . . . . . . . . . . . . . . . . 55
\boldsymbol. . . . . . . . . . . . . . . . . .56
\caption . . . . . . . . . . . . . . . . . 38, 39
\cdot . . . . . . . . . . . . . . . . . . . . . . . . .43
\cdots . . . . . . . . . . . . . . . . . . . . . . . 43
\chapter . . . . . . . . . . . . . . . . . . . . . 27
\chaptermark . . . . . . . . . . . . . . . . 70
\ci . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
\circle . . . . . . . . . . . . . . . . . . . . . . 84
\circle* . . . . . . . . . . . . . . . . . . . . . 84
\cite . . . . . . . . . . . . . . . . . . . . . 67, 72
\cleardoublepage. . . . . . . . . . . .39
\clearpage . . . . . . . . . . . . . . . . . . .39
\cline . . . . . . . . . . . . . . . . . . . . . . . 34
\cos . . . . . . . . . . . . . . . . . . . . . . . . . . 44
119
\cosh . . . . . . . . . . . . . . . . . . . . . . . . .44
\cot . . . . . . . . . . . . . . . . . . . . . . . . . . 44
\coth . . . . . . . . . . . . . . . . . . . . . . . . .44
\csc . . . . . . . . . . . . . . . . . . . . . . . . . . 44
\date . . . . . . . . . . . . . . . . . . . . . . . . .28
\ddots . . . . . . . . . . . . . . . . . . . . . . . 43
\DeclareMathOperator . . . . . . . 45
\deg . . . . . . . . . . . . . . . . . . . . . . . . . . 44
\depth. . . . . . . . . . . . . . . . . .108, 109
\det . . . . . . . . . . . . . . . . . . . . . . . . . . 44
\dfrac . . . . . . . . . . . . . . . . . . . . . . . 45
\dim . . . . . . . . . . . . . . . . . . . . . . . . . . 44
\displaystyle . . . . . . . . . . . . . . . 55
\documentclass . . . . . . . . 9, 12, 16
\dum . . . . . . . . . . . . . . . . . . . . . . . . . . 95
\emph . . . . . . . . . . . . . . . 30, 100, 101
\end . . . . . . . . . . . . . . . . . . . . . . 31, 82
\eqref . . . . . . . . . . . . . . . . . . . . . . . 41
\exp . . . . . . . . . . . . . . . . . . . . . . . . . . 44
\fbox . . . . . . . . . . . . . . . . . . . . . . . . .17
\foldera . . . . . . . . . . . . . . . . . . . . . 88
\folderb . . . . . . . . . . . . . . . . . . . . . 88
\footnote . . . . . . . . . . . . . . . . . . . . 30
\footskip . . . . . . . . . . . . . . . . . . . 106
\frac . . . . . . . . . . . . . . . . . . . . . . . . .45
\framebox . . . . . . . . . . . . . . 108, 109
\frenchspacing . . . . . . . . . . . . . . 27
\frontmatter . . . . . . . . . . . . . . . . 28
\fussy . . . . . . . . . . . . . . . . . . . . . . . 17
\gcd . . . . . . . . . . . . . . . . . . . . . . . . . . 44
\hat . . . . . . . . . . . . . . . . . . . . . . . . . . 44
\headheight . . . . . . . . . . . . . . . . 106
\headsep . . . . . . . . . . . . . . . . . . . . 106
\height . . . . . . . . . . . . . . . . 108, 109
\hline . . . . . . . . . . . . . . . . . . . . . . . 34
\hom . . . . . . . . . . . . . . . . . . . . . . . . . . 44
\href . . . . . . . . . . . . . . . . . . . . . . . . .74
\hspace . . . . . . . . . . . . . . . . . 97, 104
\hyphenation . . . . . . . . . . . . . . . . 17
\idotsint . . . . . . . . . . . . . . . . . . . . 54
\IEEEeqnarraymulticol. . . . . .51
\IEEEmulticol . . . . . . . . . . . . . . . 52
\IEEEyesnumber . . . . . . . . . . . . . . 52
\IEEEyessubnumber . . . . . . . . . . 52
\ignorespaces . . . . . . . . . . . . . . . 97
\ignorespacesafterend. . . . . .98
\iiiint . . . . . . . . . . . . . . . . . . . . . . 54
\iiint . . . . . . . . . . . . . . . . . . . . . . . 54
\iint . . . . . . . . . . . . . . . . . . . . . . . . .54
\include . . . . . . . . . . . . . . . . . . . . . 13
\includegraphics . . . . . . . 36, 108
\includeonly . . . . . . . . . . . . . . . . 13
\indent . . . . . . . . . . . . . . . . . . . . . 103
\index . . . . . . . . . . . . . . . . . . . . 68, 69
\inf . . . . . . . . . . . . . . . . . . . . . . . . . . 44
\input . . . . . . . . . . . . . . . . . . . . . . . 13
\int . . . . . . . . . . . . . . . . . . . . . . . . . . 46
\item . . . . . . . . . . . . . . . . . . . . . . . . .31
\ker . . . . . . . . . . . . . . . . . . . . . . . . . . 44
\label . . . . . . . . . . . . . . . . 29, 39, 41
\LaTeX . . . . . . . . . . . . . . . . . . . . . . . 18
\LaTeXe . . . . . . . . . . . . . . . . . . . . . . 18
\ldots . . . . . . . . . . . . . . . . . . . . 20, 43
\left . . . . . . . . . . . . . . . . . . . . . . . . .46
\left. . . . . . . . . . . . . . . . . . . . . . . . 46
\lefteqn . . . . . . . . . . . . . . . . . 49, 51
\leftmark . . . . . . . . . . . . . . . . . . . . 70
\lg . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
\lim . . . . . . . . . . . . . . . . . . . . . . . . . . 44
\liminf . . . . . . . . . . . . . . . . . . . . . . 44
\limsup . . . . . . . . . . . . . . . . . . . . . . 44
\line . . . . . . . . . . . . . . . . . . . . . 83, 88
\linebreak . . . . . . . . . . . . . . . . . . .16
\linespread . . . . . . . . . . . . . . . . 102
\linethickness . . . ix, 86, 87, 89
\listoffigures . . . . . . . . . . . . . . 39
\listoftables . . . . . . . . . . . . . . . 39
\ln . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
\log . . . . . . . . . . . . . . . . . . . . . . . . . . 44
\mainmatter . . . . . . . . . . . . . . 28, 75
\makebox . . . . . . . . . . . . . . . 108, 109
\makeindex . . . . . . . . . . . . . . . . . . .68
\maketitle . . . . . . . . . . . . . . . . . . .28
\marginparpush . . . . . . . . . . . . . 106
\marginparsep . . . . . . . . . . . . . . 106
\marginparwidth. . . . . . . . . . . .106
\mathbb . . . . . . . . . . . . . . . . . . . . . . 43
\max . . . . . . . . . . . . . . . . . . . . . . . . . . 44
\mbox . . . . . . . . . . . . . . . . 17, 20, 108
\min . . . . . . . . . . . . . . . . . . . . . . . . . . 44
\mulitput . . . . . . . . . . . . . . . . . . . . 86
\multicolumn . . . . . . . . . . . . . . . . 35
\multicolumns . . . . . . . . . . . . . . . 51
\multiput . . . . . . . . . . . . . ix, 83, 86
\negmidspace . . . . . . . . . . . . . . . . 52
\newcommand . . . . . . . . . . . . . . 54, 96
\newenvironment . . . . . . . . . . . . . 97
\newline . . . . . . . . . . . . . . . . . . . . . 16
120 색인
\newpage . . . . . . . . . . . . . . . . . 16, 39
\newsavebox. . . . . . . . . . . . . . . . . .88
\newtheorem. . . . . . . . . . . . . . . . . .56
\noindent . . . . . . . . . . . . . . . . . . . 103
\nolinebreak . . . . . . . . . . . . . . . . 16
\nonumber . . . . . . . . . . . . . . . . . . . . 52
\nopagebreak . . . . . . . . . . . . . . . . 16
\not . . . . . . . . . . . . . . . . . . . . . . . . . . 61
\oddsidemargin . . . . . . . . . . . . . 106
\oval . . . . . . . . . . . . . . . . . . . . . 87, 88
\overbrace . . . . . . . . . . . . . . . . . . .44
\overleftarrow . . . . . . . . . . . . . . 44
\overline . . . . . . . . . . . . . . . . . . . . 44
\overrightarrow . . . . . . . . . . . . . 44
\pagebreak . . . . . . . . . . . . . . . . . . .16
\pageref . . . . . . . . . . . . . . . . . 29, 72
\pagestyle . . . . . . . . . . . . . . . . . . .11
\paperheight . . . . . . . . . . . . . . . 106
\paperwidth . . . . . . . . . . . . . . . . 106
\par . . . . . . . . . . . . . . . . . . . . . . . . . 101
\paragraph . . . . . . . . . . . . . . . . . . .27
\parbox . . . . . . . . . . . . . . . . . . . . . 108
\parindent. . . . . . . . . . . . . . . . . .103
\parskip . . . . . . . . . . . . . . . . . . . . 103
\part . . . . . . . . . . . . . . . . . . . . . . . . .27
\partial . . . . . . . . . . . . . . . . . . . . . 45
\phantom . . . . . . . . . . . . . . . . . . . . . 54
\pmod . . . . . . . . . . . . . . . . . . . . . . . . .45
\Pr . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
\printindex. . . . . . . . . . . . . . . . . .69
\prod . . . . . . . . . . . . . . . . . . . . . . . . .46
\providecommand . . . . . . . . . . . . . 96
\ProvidesPackage. . . . . . . . . . . .98
\put . . . . . . . . . . . . . . . 83, 84, 8688
\qbezier . . . . . . . . . . . . . . 81, 83, 89
\qedhere . . . . . . . . . . . . . . . . . 57, 58
\qquad . . . . . . . . . . . . . . . . . . . . 42, 54
\quad . . . . . . . . . . . . . . . . . 42, 51, 54
\raisebox . . . . . . . . . . . . . . . . . . . 109
\ref. . . . . . . . . . . . . . . . . . .29, 39, 72
\renewcommand . . . . . . . . . . . . . . . 96
\renewenvironment . . . . . . . . . . 97
\right . . . . . . . . . . . . . . . . . . . . . . . 46
\right. . . . . . . . . . . . . . . . . . . . . . . 46
\rightmark . . . . . . . . . . . . . . . . . . .70
\rule . . . . . . . . . . . . . . . . 35, 97, 109
\savebox . . . . . . . . . . . . . . . . . . . . . 88
\scriptscriptstyle . . . . . . . . . 55
\scriptstyle . . . . . . . . . . . . . . . . 55
\sec . . . . . . . . . . . . . . . . . . . . . . . . . . 44
\section . . . . . . . . . . . . . . . . . . . . . 27
\sectionmark . . . . . . . . . . . . . . . . 70
\setlength . . . . . . . . . 82, 103, 107
\settodepth . . . . . . . . . . . . . . . . 107
\settoheight . . . . . . . . . . . . . . . 107
\settowidth . . . . . . . . . . . . . . . . 107
\sin . . . . . . . . . . . . . . . . . . . . . . . . . . 44
\sinh . . . . . . . . . . . . . . . . . . . . . . . . .44
\slash . . . . . . . . . . . . . . . . . . . . . . . 19
\sloppy . . . . . . . . . . . . . . . . . . . . . . 16
\smash . . . . . . . . . . . . . . . . . . . . . . . 42
\sqrt . . . . . . . . . . . . . . . . . . . . . . . . .43
\stackrel . . . . . . . . . . . . . . . . . . . . 46
\stretch . . . . . . . . . . . . . . . . 97, 104
\subparagraph . . . . . . . . . . . . . . . 27
\subsection. . . . . . . . . . . . . . . . . .27
\subsectionmark . . . . . . . . . . . . . 70
\substack . . . . . . . . . . . . . . . . . . . . 46
\subsubsection . . . . . . . . . . . . . . 27
\sum . . . . . . . . . . . . . . . . . . . . . . . . . . 46
\sup . . . . . . . . . . . . . . . . . . . . . . . . . . 44
\tabcolsep . . . . . . . . . . . . . . . . . . .35
\tableofcontents. . . . . . . . . . . .28
\tag . . . . . . . . . . . . . . . . . . . . . . . . . . 41
\tan . . . . . . . . . . . . . . . . . . . . . . . . . . 44
\tanh . . . . . . . . . . . . . . . . . . . . . . . . .44
\TeX . . . . . . . . . . . . . . . . . . . . . . . . . . 18
\texorpdfstring . . . . . . . . . . . . . 75
\textbackslash . . . . . . . . . . . . . . . 4
\textcelsius . . . . . . . . . . . . . . . . 19
\textdegree. . . . . . . . . . . . . . . . . .19
\textheight . . . . . . . . . . . . . . . . 106
\textkorean. . . . . . . . . . . . . . . . . .25
\textstyle . . . . . . . . . . . . . . . . . . .55
\textwidth. . . . . . . . . . . . . . . . . .106
\tfrac . . . . . . . . . . . . . . . . . . . . . . . 45
\theoremstyle . . . . . . . . . . . . . . . 56
\thicklines . . . . . . . . . . 84, 87, 89
\thinlines . . . . . . . . . . . . . . . 87, 89
\thispagestyle . . . . . . . . . . . . . . 12
\title . . . . . . . . . . . . . . . . . . . . . . . 28
\tnss . . . . . . . . . . . . . . . . . . . . . . . . .96
\today . . . . . . . . . . . . . . . . . . . . . . . 18
\topmargin. . . . . . . . . . . . . . . . . .106
\totalheight . . . . . . . . . . 108, 109
\ud . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
\underbrace. . . . . . . . . . . . . . . . . .44
\underline . . . . . . . . . . . . . . . 30, 44
121
\unitlength . . . . . . . . . . . . . . 82, 84
\url . . . . . . . . . . . . . . . . . . . . . . . . . . 19
\usebox . . . . . . . . . . . . . . . . . . . . . . 88
\usepackage 9, 10, 12, 25, 26, 98
\usetikzlibrary . . . . . . . . . . . . . 92
\vdots . . . . . . . . . . . . . . . . . . . . . . . 43
\vec . . . . . . . . . . . . . . . . . . . . . . . . . . 44
\vector . . . . . . . . . . . . . . . . . . . . . . 84
\verb . . . . . . . . . . . . . . . . . . . . . . . . .33
\verbatiminput . . . . . . . . . . . . . . 71
\vspace . . . . . . . . . . . . . . . . . . . . . 104
\widehat . . . . . . . . . . . . . . . . . . . . . 44
\widetilde . . . . . . . . . . . . . . . . . . .44
\width. . . . . . . . . . . . . . . . . .108, 109
comment . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
comments . . . . . . . . . . . . . . . . . . . . . . . . . . 5
\cos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44
\cosh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
\cot. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44
\coth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
cross-references . . . . . . . . . . . . . . . . . . . . 29
\csc. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44
csquotes . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
curly braces . . . . . . . . . . . . . . . . . . . . .5, 99
D
dash. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18
\date . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
dcolumn . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
\ddots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
\DeclareMathOperator . . . . . . . . . . . . 45
\deg. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44
degree symbol . . . . . . . . . . . . . . . . . . . . . 19
delimiters . . . . . . . . . . . . . . . . . . . . . . . . . 46
\depth . . . . . . . . . . . . . . . . . . . . . . . 108, 109
description . . . . . . . . . . . . . . . . . . . . . . 31
\det. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44
\dfrac . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
\dim. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44
dimensions . . . . . . . . . . . . . . . . . . . . . . . 104
display style . . . . . . . . . . . . . . . . . . . 40, 42
displaymath . . . . . . . . . . . . . . . . . . . . . . 41
\displaystyle . . . . . . . . . . . . . . . . . . . . . 55
doc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
document font size . . . . . . . . . . . . . . . . 10
\documentclass . . . . . . . . . . . . . 9, 12, 16
dotless ı and ȷ . . . . . . . . . . . . . . . . . . . . . 21
dots
three. . . . . . . . . . . . . . . . . . . . . . . . . .43
double line spacing . . . . . . . . . . . . . . . 102
\dum. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .95
E
eepic .. . . . . . . . .. .. . . . . . . . .. .. . . . . . . 85
ellipsis. . . . . . . . . . . . . . . . . . . . . . . . . . . . .20
em-dash . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
\emph . . . . . . . . . . . . . . . . . . . . . 30, 100, 101
empty . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
en-dash. . . . . . . . . . . . . . . . . . . . . . . . . . . .18
Encapsulated PostScript . . . . . . . 113
\end . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31, 82
endnotes . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
enotez . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
enumerate . . . . . . . . . . . . . . . . . . . . . . . . 31
environment. . . . . . . . . . . . . . . . . . . . . . . 31
environments
abstract . . . . . . . . . . . . . . . . . . . . . 32
align . . . . . . . . . . . . . . . . . . . . . . . . .48
array . . . . . . . . . . . . . . . . . . . . . 52, 53
block . . . . . . . . . . . . . . . . . . . . . . . . .80
Bmatrix . . . . . . . . . . . . . . . . . . . . . . 53
bmatrix . . . . . . . . . . . . . . . . . . . . . . 53
cases . . . . . . . . . . . . . . . . . . . . . . . . .53
center . . . . . . . . . . . . . . . . . . . . . . . 31
comment . . . . . . . . . . . . . . . . . . . . . . . 6
description. . . . . . . . . . . . . . . . . .31
displaymath. . . . . . . . . . . . . . . . . .41
enumerate . . . . . . . . . . . . . . . . . . . . 31
eqnarray . . . . . . . . . . . . . . . . . . . . . 48
equation . . . . . . . . . . . . . . 41, 47, 49
equation* . . . . . . . . . . . . . . . . 41, 47
figure . . . . . . . . . . . . . . . . . . . . 37, 38
flushleft . . . . . . . . . . . . . . . . . . . . 31
flushright . . . . . . . . . . . . . . . . . . .31
foreach . . . . . . . . . . . . . . . . . . . . . . 92
frame . . . . . . . . . . . . . . . . . . . . . . . . .80
IEEEeqnarray . . . . . . . . . . . . . 4750
itemize . . . . . . . . . . . . . . . . . . . . . . 31
lscommand . . . . . . . . . . . . . . . . . . . . 95
matrix . . . . . . . . . . . . . . . . . . . . . . . 53
minipage . . . . . . . . . . . . . . . . . . . . 108
multline . . . . . . . . . . . . . . . . . .4749
multline* . . . . . . . . . . . . . . . . . . . . 47
pgfplot . . . . . . . . . . . . . . . . . . . . . . 93
picture. . . . . . . . . . . .81, 82, 8486
pmatrix . . . . . . . . . . . . . . . . . . . . . . 53
proof . . . . . . . . . . . . . . . . . . . . . . . . .57
quotation . . . . . . . . . . . . . . . . . . . . 32
122 색인
quote . . . . . . . . . . . . . . . . . . . . . . . . .32
table . . . . . . . . . . . . . . . . . . . . . 37, 38
tabular . . . . . . . . . . 33, 3537, 108
thebibliography . . . . . . . . . . . . . 67
tikzpicture. . . . . . . . . . . . . . . . . .91
verbatim . . . . . . . . . . . . . . . . . 33, 71
verse . . . . . . . . . . . . . . . . . . . . . . . . .32
Vmatrix . . . . . . . . . . . . . . . . . . . . . . 53
vmatrix . . . . . . . . . . . . . . . . . . . . . . 53
eqnarray. . . . . . . . . . . . . . . . . . . . . . . . . .48
\eqref . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
equation . . . . . . . . . . . . . . . . . . 41, 47, 49
equation. . . . . . . . . . . . . . . . . . . . . . . . . . .40
multiple . . . . . . . . . . . . . . . . . . . . . . 48
equation* . . . . . . . . . . . . . . . . . . . . . 41, 47
executive paper. . . . . . . . . . . . . . . . . . . .10
\exp. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44
exponent . . . . . . . . . . . . . . . . . . . . . . . . . . 43
exscale. . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
extension . . . . . . . . . . . . . . . . . . . . . . . . . . 12
.aux . . . . . . . . . . . . . . . . . . . . . . . . . . 13
.cls . . . . . . . . . . . . . . . . . . . . . . . . . . 12
.dtx . . . . . . . . . . . . . . . . . . . . . . . . . . 12
.dvi . . . . . . . . . . . . . . . . . . . . . . . . . . 12
.fd . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
.idx . . . . . . . . . . . . . . . . . . . . . . 13, 68
.ilg . . . . . . . . . . . . . . . . . . . . . . . . . . 13
.ind . . . . . . . . . . . . . . . . . . . . . . 13, 68
.ins . . . . . . . . . . . . . . . . . . . . . . . . . . 12
.lof . . . . . . . . . . . . . . . . . . . . . . . . . . 12
.log . . . . . . . . . . . . . . . . . . . . . . . . . . 12
.lot . . . . . . . . . . . . . . . . . . . . . . . . . . 12
.sty . . . . . . . . . . . . . . . . . . . . . . 12, 71
.tex . . . . . . . . . . . . . . . . . . . . . . . 7, 12
.toc . . . . . . . . . . . . . . . . . . . . . . . . . . 12
F
fancyhdr . . . . . . .. .. . . . . . . . .. .. . . 69, 70
\fbox. .. . . . . . .. .. . . . . . . . .. .. . . . . . . . .17
figure . . . . .. .. . . . . . . . .. .. . . . . . 37, 38
oating bodies. . . . . . . . . . . . . . . . . . . . .37
flushleft . . . . . . . . . . . . . . . . . . . . . . . . 31
flushright . . . . . . . . . . . . . . . . . . . . . . . 31
\foldera . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
\folderb . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
font . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
\footnotesize . . . . . . . . . . . . . . 100
\Huge. . . . . . . . . . . . . . . . . . . . . . . .100
\huge. . . . . . . . . . . . . . . . . . . . . . . .100
\LARGE . . . . . . . . . . . . . . . . . . . . . . 100
\Large . . . . . . . . . . . . . . . . . . . . . . 100
\large . . . . . . . . . . . . . . . . . . . . . . 100
\mathbf . . . . . . . . . . . . . . . . . . . . . 100
\mathcal . . . . . . . . . . . . . . . . . . . . 100
\mathit . . . . . . . . . . . . . . . . . . . . . 100
\mathnormal . . . . . . . . . . . . . . . . 100
\mathrm . . . . . . . . . . . . . . . . . . . . . 100
\mathsf . . . . . . . . . . . . . . . . . . . . . 100
\mathtt . . . . . . . . . . . . . . . . . . . . . 100
\normalsize . . . . . . . . . . . . . . . . 100
\scriptsize . . . . . . . . . . . . . . . . 100
\small . . . . . . . . . . . . . . . . . . . . . . 100
\textbf . . . . . . . . . . . . . . . . . . . . . 100
\textit . . . . . . . . . . . . . . . . . . . . . 100
\textmd . . . . . . . . . . . . . . . . . . . . . 100
\textnormal . . . . . . . . . . . . . . . . 100
\textrm . . . . . . . . . . . . . . . . . . . . . 100
\textsc . . . . . . . . . . . . . . . . . . . . . 100
\textsf . . . . . . . . . . . . . . . . . . . . . 100
\textsl . . . . . . . . . . . . . . . . . . . . . 100
\texttt . . . . . . . . . . . . . . . . . . . . . 100
\textup . . . . . . . . . . . . . . . . . . . . . 100
\tiny. . . . . . . . . . . . . . . . . . . . . . . .100
font size . . . . . . . . . . . . . . . . . . . . . . 99, 100
fontenc . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
fontspec . . . . . . . . . . . . . . . . 21, 24, 76, 77
footer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
\footnote. . . . . . . . . . . . . . . . . . . . . . . . . .30
\footnotesize . . . . . . . . . . . . . . . . . . . .100
\footskip . . . . . . . . . . . . . . . . . . . . . . . . 106
foreach . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
\frac . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
frame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
\framebox . . . . . . . . . . . . . . . . . . . .108, 109
\frenchspacing. . . . . . . . . . . . . . . . . . . .27
\frontmatter . . . . . . . . . . . . . . . . . . . . . . 28
\fussy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
G
\gcd . .. .. . . . . . .. .. .. . . . . . .. .. . . . . . . . 44
geometry .. . . . . . . . .. .. . . . . . . . .. .. . . 71
GhostScript . . . . . . . . . . . . . . . . . . . . . . 113
GhostView . . . . . . . . . . . . . . . . . . . . . . . 113
Gimp . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
graphicx. . . . . . . . . . . . . . . . . . . . . . . .36, 79
grave . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Greek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Greek letters . . . . . . . . . . . . . . . . . . . . . . 43
123
group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
H
\hat . .. .. . . . . . .. .. .. . . . . . .. .. . . . . . . . 44
header. . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
\headheight . . . . . . . . . . . . . . . . . . . . . . 106
textttheadings . . . . . . . . . . . . . . . . . . . . . 11
\headsep . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Hebrew. . . . . . . . . . . . . . . . . . . . . . . . . . . .24
\height . . . . . . . . . . . . . . . . . . . . . . 108, 109
\hline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
\hom. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44
horizontal
brace . . . . . . . . . . . . . . . . . . . . . . . . . 44
dots . . . . . . . . . . . . . . . . . . . . . . . . . . 43
line . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
space . . . . . . . . . . . . . . . . . . . . . . . . 104
\href . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
\hspace . . . . . . . . . . . . . . . . . . . . . . . 97, 104
\Huge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
\huge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
hyperref . . . . . . . . . 19, 23, 72, 73, 75, 79
hypertext. . . . . . . . . . . . . . . . . . . . . . . . . .72
hyphen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
hyphenat. . . . . . . . . . . . . . . . . . . . . . . . . . .71
\hyphenation . . . . . . . . . . . . . . . . . . . . . . 17
I
\idotsint . . . . . .. .. . . . . . . . .. .. . . . . . . 54
IEEEeqnarray .. .. . . . . . . . .. .. . . 4750
\IEEEeqnarraymulticol . . . . . . . . . . . 51
\IEEEmulticol . . . . . . . . . . . . . . . . . . . . . 52
IEEEtrantools . . . . . . . . . . . . . . . . . . . . . . 49
\IEEEyesnumber. . . . . . . . . . . . . . . . . . . .52
\IEEEyessubnumber . . . . . . . . . . . . . . . . 52
ifthen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
\ignorespaces . . . . . . . . . . . . . . . . . . . . . 97
\ignorespacesafterend . . . . . . . . . . . 98
\iiiint . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
\iiint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
\iint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
\include . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
\includegraphics . . . . . . . . . . . . 36, 108
\includeonly . . . . . . . . . . . . . . . . . . . . . . 13
\indent . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
indentrst . . . . . . . . . . . . . . . . . . . . . . . . 103
\index. . . . . . . . . . . . . . . . . . . . . . . . . .68, 69
index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
\inf. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44
\input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
inputenc . . . . . . . . . . . . . . . . . . . . . . . 11, 26
\int. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46
integral operator . . . . . . . . . . . . . . . . . . 46
international . . . . . . . . . . . . . . . . . . . . . . 21
italic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
\item . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
itemize . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
J
Japanese . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Jawi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24
K
kashida. . . . . . . . . . . . . . . . . . . . . . . . . . . .23
Kashmiri . . . . . . . . . . . . . . . . . . . . . . . . . . 24
\ker
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
44
Knuth, Donald E. . . . . . . . . . . . . . . . . . . 1
komkindex . . . . . . . . . . . . . . . . . . . . . . . . 69
Korean . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
kotex . . . . . . . . . . . . . . . . . . 20, 25, 26, 102
kotex . . . . . . . . . . . . . . . . . . . . . . . . . . 24, 29
kotex-utf . . . . . . . . . . . . . . . . . . . . . . . . . . .26
Kurdish . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
L
\label .. .. . . . . . . . .. .. . . . . . . . 29, 39, 41
Lamport, Leslie. . . . . . . . . . . . . . . . . . . . .2
\LARGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
\Large . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
\large . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
\LaTeX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
L
A
T
E
X 프로젝트 . . . . .. .. . . . . . .. .. . 2
L
A
T
E
X3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
\LaTeXe . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
latexsym . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
layouts . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
\ldots. . . . . . . . . . . . . . . . . . . . . . . . . .20, 43
\left . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
\left. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
\lefteqn . . . . . . . . . . . . . . . . . . . . . . . 49, 51
\leftmark. . . . . . . . . . . . . . . . . . . . . . . . . .70
legal paper . . . . . . . . . . . . . . . . . . . . . . . . 10
letter paper . . . . . . . . . . . . . . . . . . . . . . . 10
\lg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
\lim. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44
\liminf . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
\limsup . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
\line . . . . . . . . . . . . . . . . . . . . . . . . . . . 83, 88
line
124 색인
horizontal. . . . . . . . . . . . . . . . . . . . .44
line breaks . . . . . . . . . . . . . . . . . . . . . . . . 16
line spacing . . . . . . . . . . . . . . . . . . . . . . 102
\linebreak . . . . . . . . . . . . . . . . . . . . . . . . 16
\linespread . . . . . . . . . . . . . . . . . . . . . . 102
\linethickness . . . . . . . . . ix, 86, 87, 89
\listoffigures. . . . . . . . . . . . . . . . . . . .39
\listoftables . . . . . . . . . . . . . . . . . . . . . 39
\ln . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
\log. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44
long equations . . . . . . . . . . . . . . . . . . . . . 47
longtable. . . . . . . . . . . . . . . . . . . . . . . . . . .35
lscommand . . . . . . . . . . . . . . . . . . . . . . . . 95
M
MacTeX. . . . . . . . . . . . . . . . . . . . . . . . . .112
\mainmatter. . . . . . . . . . . . . . . . . . . .28, 75
\makebox . . . . . . . . . . . . . . . . . . . . . 108, 109
makeidx . . . . . . . . . . . . . . . . . . . . . . . . 11, 68
makeidx package . . . . . . . . . . . . . . . . . . 68
\makeindex . . . . . . . . . . . . . . . . . . . . . . . . 68
makeindex program. . . . . . . . . . . . . . . .68
\maketitle . . . . . . . . . . . . . . . . . . . . . . . . 28
Malay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
\marginparpush. . . . . . . . . . . . . . . . . . .106
\marginparsep . . . . . . . . . . . . . . . . . . . .106
\marginparwidth . . . . . . . . . . . . . . . . . 106
margins . . . . . . . . . . . . . . . . . . . . . . . . . . 105
math mode . . . . . . . . . . . . . . . . . . . . . . . . 42
math spacing . . . . . . . . . . . . . . . . . . . . . . 54
\mathbb . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
\mathbf . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
\mathcal . . . . . . . . . . . . . . . . . . . . . . . . . . 100
mathematical
accents . . . . . . . . . . . . . . . . . . . . . . . 44
functions. . . . . . . . . . . . . . . . . . . . . .44
mathematics. . . . . . . . . . . . . . . . . . . . . . .40
\mathit . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
\mathnormal . . . . . . . . . . . . . . . . . . . . . . 100
\mathrm . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
mathrsfs . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
\mathsf . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
\mathtt . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
matrix. . . . . . . . . . . . . . . . . . . . . . . . . . . . .53
\max. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44
\mbox . . . . . . . . . . . . . . . . . . . . . . 17, 20, 108
memoir . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
mhchem . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
microtype . . . . . . . . . . . . . . . . . . . . . . . . . . 78
MiKT
E
X . . . . . . . . . . . . . . . . . . . . . . . . . 112
\min. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44
minimal class . . . . . . . . . . . . . . . . . . . . . . . 9
minipage . . . . . . . . . . . . . . . . . . . . . . . . 108
minus sign. . . . . . . . . . . . . . . . . . . . . . . . .18
modulo operation. . . . . . . . . . . . . . . . . .45
\mulitput. . . . . . . . . . . . . . . . . . . . . . . . . .86
\multicolumn . . . . . . . . . . . . . . . . . . . . . . 35
\multicolumns . . . . . . . . . . . . . . . . . . . . . 51
\multiput . . . . . . . . . . . . . . . . . . .ix, 83, 86
multline . . . . . . . . . . . . . . . . . . . . . . 4749
multline* . . . . . . . . . . . . . . . . . . . . . . . . 47
N
\negmidspace . . . . . . .. .. . . . . . . . .. .. . 52
\newcommand. . . . . . .. .. . . . . . . . .. .54, 96
\newenvironment. . . . . . . .. .. . . . . . .. .97
\newline . . . . . . . .. .. . . . . . . . .. .. . . . . . 16
\newpage . . . . . .. .. . . . . . . . .. .. . . . 16, 39
\newsavebox . . . . . .. .. . . . . . .. .. .. . . . 88
\newtheorem . . . . . .. .. . . . . . .. .. .. . . . 56
\noindent.. .. . . . . . .. .. . . . . . . . .. .. . 103
\nolinebreak . . . . . . .. .. . . . . . . . .. .. . 16
\nonumber . . . . . .. .. . . . . . . . .. .. . . . . . . 52
\nopagebreak . . . . . . .. .. . . . . . . . .. .. . 16
\normalsize . .. .. .. . . . . . .. .. . . . . . . 100
\not . .. .. . . . . . .. .. .. . . . . . .. .. . . . . . . . 61
ntheorem ... .. . . . . . . . .. .. . . . . . . . .. . 57
O
oblivoir .. .. . . . . . . . .. .. . . . . . . . . 26, 102
\oddsidemargin. . .. .. .. . . . . . .. .. . .106
œ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
one column . . . . . . . . . . . . . . . . . . . . . . . . 10
optional parameters . . . . . . . . . . . . . . . . 5
Ottoman . . . . . . . . . . . . . . . . . . . . . . . . . . 24
\oval . . . . . . . . . . . . . . . . . . . . . . . . . . . 87, 88
\overbrace . . . . . . . . . . . . . . . . . . . . . . . . 44
overfull hbox . . . . . . . . . . . . . . . . . . . . . . 16
\overleftarrow. . . . . . . . . . . . . . . . . . . .44
\overline. . . . . . . . . . . . . . . . . . . . . . . . . .44
\overrightarrow . . . . . . . . . . . . . . . . . . 44
P
package . . . . . . . . . . . . . . . . . . . . . . . . . 6, 95
packages. . . . . . . . . . . . . . . . . . . . . . . . . . . .9
amsbsy . . . . . . . . . . . . . . . . . . . . . . . . 56
amsfonts. . . . . . . . . . . . . . . . . . .55, 63
amsmath 29, 40, 45, 46, 53, 54, 56
125
amssymb. . . . . . . . . . . . . . .43, 55, 60
amsthm . . . . . . . . . . . . . . . . . . . 56, 57
arabxetex. . . . . . . . . . . . . . . . . . . . . .23
babel. . . . . . . . . . . . . . . . . . . . . . . . . .21
beamer . . . . . . . . . . . . . . . . 78, 79, 81
bidi . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
bm. . . . . . . . . . . . . . . . . . . . . . . . . . . .56
booktabs . . . . . . . . . . . . . . . . . . . . . . 36
calc . . . . . . . . . . . . . . . . . . . . . . . . . . 107
CJK. . . . . . . . . . . . . . . . . . . . . . . . . . .26
cjk-ko . . . . . . . . . . . . . . . . . . . . . . . . . 26
color . . . . . . . . . . . . . . . . . . . . . . . . . . 79
csquotes. . . . . . . . . . . . . . . . . . . . . . .22
dcolumn. . . . . . . . . . . . . . . . . . . . . . .34
doc . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
eepic . . . . . . . . . . . . . . . . . . . . . . . . . . 85
endnotes . . . . . . . . . . . . . . . . . . . . . . 30
enotez . . . . . . . . . . . . . . . . . . . . . . . . 30
exscale . . . . . . . . . . . . . . . . . . . . . . . . 11
fancyhdr . . . . . . . . . . . . . . . . . . . 69, 70
fontenc. . . . . . . . . . . . . . . . . . . . . . . .11
fontspec. . . . . . . . . . . . 21, 24, 76, 77
geometry . . . . . . . . . . . . . . . . . . . . . . 71
graphicx . . . . . . . . . . . . . . . . . . . 36, 79
hyperref. . . . .19, 23, 72, 73, 75, 79
hyphenat . . . . . . . . . . . . . . . . . . . . . . 71
IEEEtrantools . . . . . . . . . . . . . . . . . 49
ifthen . . . . . . . . . . . . . . . . . . . . . . . . . 11
indentrst . . . . . . . . . . . . . . . . . . . . 103
inputenc . . . . . . . . . . . . . . . . . . . 11, 26
kotex . . . . . . . . . . . . . 20, 25, 26, 102
kotex-utf . . . . . . . . . . . . . . . . . . . . . . 26
latexsym . . . . . . . . . . . . . . . . . . . . . . 11
layout . . . . . . . . . . . . . . . . . . . . . . . . 105
layouts . . . . . . . . . . . . . . . . . . . . . . . 106
longtable . . . . . . . . . . . . . . . . . . . . . . 35
makeidx .. . . . . . . . . . . . . . . . . . 11, 68
mathrsfs. . . . . . . . . . . . . . . . . . . . . . .63
memoir. . . . . . . . . . . . . . . . . . . . . . . .26
mhchem. . . . . . . . . . . . . . . . . . . . . . .55
microtype .. . . . . . . . . . . . . . . . . . . . 78
ntheorem . . . . . . . . . . . . . . . . . . . . . . 57
oblivoir . . . . . . . . . . . . . . . . . . . 26, 102
pdf . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
pgf . . . . . . . . . . . . . . . . . . . . 81, 91, 93
pgfplot . . . . . . . . . . . . . . . . . . . . . . . . 93
pict2e . . . . . . . . . . . . . . . . . . . . . . . . . 84
polyglossia . . . . . . . . . . 17, 18, 2124
ppower4 . . . . . . . . . . . . . . . . . . . . . . .79
prosper . . . . . . . . . . . . . . . . . . . . . . . .79
pstricks . . . . . . . . . . . . . . . . . . . . . . . 85
showidx . . . . . . . . . . . . . . . . . . . . . . . 69
syntonly . . . . . . . . . . . . . . . . . . . 11, 13
textcomp . . . . . . . . . . . . . . . . . . 19, 20
tikz. . . . . . . . . . . . . . . . . . . . . . . .81, 91
url . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
verbatim . . . . . . . . . . . . . . . . . . . . 6, 71
xeCJK . . . . . . . . . . . . . . . . . . . . . 24, 25
xepersian . . . . . . . . . . . . . . . . . . . . . . 23
xgreek. . . . . . . . . . . . . . . . . . . . . . . . .23
page layout. . . . . . . . . . . . . . . . . . . . . . .105
page style . . . . . . . . . . . . . . . . . . . . . . . . . 11
\pagebreak . . . . . . . . . . . . . . . . . . . . . . . . 16
\pageref . . . . . . . . . . . . . . . . . . . . . . . 29, 72
\pagestyle . . . . . . . . . . . . . . . . . . . . . . . . 11
paper size . . . . . . . . . . . . . . . . . . . . 10, 105
\paperheight . . . . . . . . . . . . . . . . . . . . . 106
\paperwidth . . . . . . . . . . . . . . . . . . . . . . 106
\par . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
\paragraph . . . . . . . . . . . . . . . . . . . . . . . . 27
paragraph . . . . . . . . . . . . . . . . . . . . . . . . . 14
parameter . . . . . . . . . . . . . . . . . . . . . . . . . . 5
\parbox . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
\parindent . . . . . . . . . . . . . . . . . . . . . . . 103
\parskip . . . . . . . . . . . . . . . . . . . . . . . . . . 103
\part . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
\partial . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
partial derivative . . . . . . . . . . . . . . . . . . 45
Pashto . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
PDF. . . . . . . . . . . . . . . . . . . . . . . . . . . 72, 75
pdf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
PDFView. . . . . . . . . . . . . . . . . . . . . .x, 112
Persian . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
pgf . . . . . . . . . . . . . . . . . . . . . . . . .81, 91, 93
pgfplot . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
pgfplot . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
\phantom . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
pict2e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
picture . . . . . . . . . . . . . . . . 81, 82, 8486
piecewise functon . . . . . . . . . . . . . . . . . . 53
plain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
pmatrix . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
\pmod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
polyglossia . . . . . . . . . . . . . . 17, 18, 2124
PostScript . . . . . . 3, 79, 82, 111, 113
Encapsulated . . . . . . . . . . . . . . . . 113
ppower4 . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
\Pr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
126 색인
preamble . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
presentation . . . . . . . . . . . . . . . . . . . . . . . 78
\printindex . . . . . . . . . . . . . . . . . . . . . . . 69
proc class. . . . . . . . . . . . . . . . . . . . . . . . . . .9
\prod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
product operator . . . . . . . . . . . . . . . . . . 46
proof . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
prosper . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
\providecommand . . . . . . . . . . . . . . . . . . 96
\ProvidesPackage . . . . . . . . . . . . . . . . . 98
pstricks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
\put . . . . . . . . . . . . . . . . . . . . . 83, 84, 8688
Q
\qbezier. . . .. .. . . . . . . . .. .. . .81, 83, 89
\qedhere . . . . . .. .. . . . . . . . .. .. . . . 57, 58
\qquad. . .. .. . . . . . . . .. .. . . . . . .. ..42, 54
\quad . . .. .. . . . . . . . .. .. . . . . . . 42, 51, 54
quotation .. . . . . . . . .. .. . . . . . . . .. .. 32
quotation marks . . . . . . . . . . . . . . . . . . . 18
quote . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
R
\raisebox.. .. . . . . . .. .. . . . . . . . .. .. . 109
\ref . .. .. . . . . . . . .. .. . . . . . .. . 29, 39, 72
\renewcommand . . . . .. .. . . . . . . . .. .. . . 96
\renewenvironment . .. . . . . . . . .. .. . . 97
report class . . . . . . . . . . . . . . . . . . . . . . . . . 9
reserved characters . . . . . . . . . . . . . . . . . 4
\right . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
\right. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
\rightmark . . . . . . . . . . . . . . . . . . . . . . . . 70
roman. . . . . . . . . . . . . . . . . . . . . . . . . . . .100
\rule . . . . . . . . . . . . . . . . . . . . . . 35, 97, 109
S
sans serif . . . . . . . . . . . . . . . . . . . . . . . . . 100
\savebox . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
Scandinavian letters . . . . . . . . . . . . . . . 21
\scriptscriptstyle . . . . . . . . . . . . . . . 55
\scriptsize . . . . . . . . . . . . . . . . . . . . . . 100
\scriptstyle . . . . . . . . . . . . . . . . . . . . . . 55
\sec. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44
\section . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
\sectionmark . . . . . . . . . . . . . . . . . . . . . . 70
\setlength . . . . . . . . . . . . . . . 82, 103, 107
\settodepth . . . . . . . . . . . . . . . . . . . . . . 107
\settoheight . . . . . . . . . . . . . . . . . . . . . 107
\settowidth . . . . . . . . . . . . . . . . . . . . . . 107
showidx . . . . . . . . . . . . . . . . . . . . . . . . . . . .69
\sin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44
Sindhi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
single sided . . . . . . . . . . . . . . . . . . . . . . . . 10
\sinh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
slanted . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
\slash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
slash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
slides class. . . . . . . . . . . . . . . . . . . . . . . . . .9
\sloppy . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
\small . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Small Caps . . . . . . . . . . . . . . . . . . . . . . .100
\smash . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
spacing
math mode . . . . . . . . . . . . . . . . . . . 42
special character. . . . . . . . . . . . . . . . . . .20
\sqrt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
square brackets . . . . . . . . . . . . . . . . . . . . . 5
square root . . . . . . . . . . . . . . . . . . . . . . . . 43
\stackrel. . . . . . . . . . . . . . . . . . . . . . . . . .46
\stretch . . . . . . . . . . . . . . . . . . . . . . 97, 104
strut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
\subparagraph . . . . . . . . . . . . . . . . . . . . . 27
subscript . . . . . . . . . . . . . . . . . . . . . . . . . . 43
\subsection . . . . . . . . . . . . . . . . . . . . . . . 27
\subsectionmark . . . . . . . . . . . . . . . . . . 70
\substack. . . . . . . . . . . . . . . . . . . . . . . . . .46
\subsubsection. . . . . . . . . . . . . . . . . . . .27
\sum. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46
sum operator . . . . . . . . . . . . . . . . . . . . . . 46
\sup. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44
superscript . . . . . . . . . . . . . . . . . . . . . . . . 43
syntonly . . . . . . . . . . . . . . . . . . . . . . . .11, 13
T
\tabcolsep. . . .. .. . . . . . .. .. .. . . . . . ..35
table. . .. .. . . . . . . . .. .. . . . . . .. ..37, 38
table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
table of contents. . . . . . . . . . . . . . . . . . .28
\tableofcontents . . . . . . . . . . . . . . . . . 28
tabular . . . . . . . . . . . . . . . 33, 3537, 108
\tag. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .41
\tan. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44
\tanh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
\TeX. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18
TeXnicCenter . . . . . . . . . . . . . . . . . . . . 113
\texorpdfstring . . . . . . . . . . . . . . . . . . 75
text mode . . . . . . . . . . . . . . . . . . . . . . . . . 42
text style . . . . . . . . . . . . . . . . . . . . . . 40, 42
\textbackslash . . . . . . . . . . . . . . . . . . . . . 4
127
\textbf . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
\textcelsius . . . . . . . . . . . . . . . . . . . . . . 19
textcomp. . . . . . . . . . . . . . . . . . . . . . . 19, 20
\textdegree . . . . . . . . . . . . . . . . . . . . . . . 19
\textheight . . . . . . . . . . . . . . . . . . . . . . 106
\textit . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
\textkorean . . . . . . . . . . . . . . . . . . . . . . . 25
\textmd . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
\textnormal . . . . . . . . . . . . . . . . . . . . . . 100
\textrm . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
\textsc . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
\textsf . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
\textsl . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
\textstyle . . . . . . . . . . . . . . . . . . . . . . . . 55
\texttt . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
\textup . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
\textwidth . . . . . . . . . . . . . . . . . . . . . . . 106
\tfrac . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
thebibliography . . . . . . . . . . . . . . . . . 67
\theoremstyle . . . . . . . . . . . . . . . . . . . . . 56
\thicklines . . . . . . . . . . . . . . . . 84, 87, 89
\thinlines . . . . . . . . . . . . . . . . . . . . .87, 89
\thispagestyle. . . . . . . . . . . . . . . . . . . .12
tikz . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81, 91
tikzpicture . . . . . . . . . . . . . . . . . . . . . . 91
tilde. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
tilde ( ~) . . . . . . . . . . . . . . . . . . . . . . . . . . 27
\tiny . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
\title . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
title . . . . . . . . . . . . . . . . . . . . . . . . . . . 10, 28
\tnss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
\today . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
\topmargin . . . . . . . . . . . . . . . . . . . . . . . 106
\totalheight . . . . . . . . . . . . . . . . 108, 109
Turkish. . . . . . . . . . . . . . . . . . . . . . . . . . . .24
two column. . . . . . . . . . . . . . . . . . . . . . . .10
U
\ud . . . .. .. . . . . . . . .. .. . . . . . .. .. .. . . . . 54
Uighur . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
umlaut . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
\underbrace . . . . . . . . . . . . . . . . . . . . . . . 44
underfull hbox. . . . . . . . . . . . . . . . . . . . . 16
\underline . . . . . . . . . . . . . . . . . . . . .30, 44
\unitlength. . . . . . . . . . . . . . . . . . . .82, 84
units . . . . . . . . . . . . . . . . . . . . . . . . 104, 105
upright . . . . . . . . . . . . . . . . . . . . . . . . . . .100
Urdu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
url. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
\url. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .19
URL link . . . . . . . . . . . . . . . . . . . . . . . . . . 19
\usebox . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
\usepackage . . . . . . 9, 10, 12, 25, 26, 98
\usetikzlibrary . . . . . . . . . . . . . . . . . . 92
V
\vdots
. . . . .. .. . . . . . .. .. .. . . . . . .. .. .
43
\vec . .. .. . . . . . . . .. .. . . . . . .. .. . . . . . . . 44
\vector . . .. .. . . . . . .. .. .. . . . . . .. .. . . 84
vectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
\verb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
verbatim . . . . . . . . . . . . . . . . . . . . . . . . 6, 71
verbatim . . . . . . . . . . . . . . . . . . . . . . 33, 71
\verbatiminput. . . . . . . . . . . . . . . . . . . .71
verse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
vertical
dots . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Vmatrix . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
vmatrix . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
\vspace . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
W
whitespace. . . . . . . . . . . . . . . . . . . . . . . . . .
4
after commands . . . . . . . . . . . . . . . . 5
at the start of a line. . . . . . . . . . . .4
\widehat . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
\widetilde . . . . . . . . . . . . . . . . . . . . . . . . 44
\width . . . . . . . . . . . . . . . . . . . . . . . 108, 109
Word . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .69
WYSIWYG . . . . . . . . . . . . . . . . . . . . . . 2, 3
X
xeCJK . . . . .. .. . . . . . . . .. .. . . . . . . 24, 25
X
Ǝ
L
A
T
E
X. . . .. .. . . . . . . . .. .. . . . . . .. ..75
xepersian ... .. .. . . . . . .. .. .. . . . . . .. . 23
X
Ǝ
T
E
X . .. . . . . . . . .. .. . . . . . . . .. .. . . . 75
xgreek . .. .. . . . . . . . .. .. . . . . . .. .. .. . . 23
역자후기
거의 15년만 lshort 다시 번역하여 내게 되었다. 책자는 수십 년에 이르는 유구한
시간의 시련을 뎌내며 L
A
T
E
X 입문서로서 가를 아왔다. 일독을 권한다. 입문
라면 예제를 중심으로 조금 시간을 내어 공부한다면 얻는 것이 적지 않을 것이다.
지금은 각국 어로 역이 루어져 CTAN에서 찾아볼 있지 한국어판은 다른
언어와 비교해도 상당히 시기에 번역본 나왔고 CTAN 올라가 지도 오래
되었다. 그리고 기간 갱신이 이루어지지 않아서 유감스럽 생각하다가 이번 판을
내게 되어 매우 흡족하다.
번에 걸친 lshort 한국어판 번역 작업은 한글 L
A
T
E
X 발전 과정과 궤를 같이해
다. 2002 HL
A
T
E
X로, 2005년에 dhucs 업하 세지
있다 하겠다. 이제 ko
.
T
E
X X
Ǝ
L
A
T
E
X 널리 이게 되어 이런 훌륭한 결과물을 비교적
고생 있게 하여 이다. L
A
T
E
X
개발을 위해 헌신한 모든 분들께 감사 인사를 드린다.
이번 번역은 책이 실용적인 한글 입문서가 되어야 한다는 관점에서 작업이 이루
졌다. 가지 지난 번역본의 역어 기하지는 않았지만 지나친 순정주의를 지양하고
쉽게 읽히면서 L
A
T
E
X 배우는 실제 도움이 만하게 만들려고 노력하였다.
역자들은 가지 방식으로 본문에 개입하였는데 (1) 방대한 역주를 달아서 독자의
해를 도우려 하였으며, (2) 필요하다면 본문에 추가해 넣는 것도 마다하지 않았다. 그러나
본문의 추가는 최소한으로 억제하 하였고 원문을 충분히 존중하면서 훼손하지 않으려고
애썼다. (3) 한국어 문서 작성과 관련된 두세 개의 소절을 추가하였다. 가지 역자의
개입은 보는 즉시 바로 알아볼 있도록 표지를 붙여두었다.
한국어판은 oblivoir 클래스 바탕으로 작성하였으 원본의 이곳저곳에 있는 명령,
환경, 설정의 많은 부분을 재구현하였다.
초고본 KTUG 게시판 공개하고 의견을 하는 과정에 참여해주신 분들께 감사
드린다. 좋은 문서 되는 것은 독자 기여가 없이 가능한 것이라고 믿는다. 특별
걸쳐 읽으면서 수많은 오자를 꼼꼼하게 잡아내고 좋은 표현을 안해준 이주호,
이호재, 윤석천 제씨의 노고에 깊은 감사를 드린다.
우리가 들인 시간 노력이 L
A
T
E
X 입문하는 분들 조금이라도 해주는
있다면 기쁨이겠다. 최신판은 https://github.com/KoreanTUG/lshort-ko에서
있을 것이며 어떤 형태의 기여와 조언도 환영한다.
2019 2
김강수
·
조인성 <ischo@ktug.org>
128
129
한글 폰트에 관하여
문서의 배포판에서 영문자는 원본과 동일하게 Latin Modern 폰트를 이용하였다. 한글
KoPub World 폰트를 사용하였는데 이는 한국출판인회의에서 전자출판진흥사업의
부로 공개 서체이다. http://www.kopus.org/biz/electronic/font.aspx
얻을 있다.
2005년판 4.17 역자후기
KTUG 생기기 필자의 개인 홈페이지에 처음 역이 이루어진 lshort-kr
CTAN 등록 L
A
T
E
X 서로 들에 혀왔다.
돌이켜보 당시 HL
A
T
E
X 기반으로 번역 작업 하면서 고생했던 것은 영문 옮기는
것도 옮기는 것이지만 L
A
T
E
X에서 한글을 구현하는 자체가 쉽지 않았던 면이 있었다.
KTUG 루어놓 놀라운 업적들이 번역본에 고스란히 담겨 있다. 우선
출력물인 PDF 품위 자체가 달라졌다. 한글 책갈피, 텍스트의 추출 · 검색, 이퍼링크
등, 3.20판을 번역할 당시에는 상상하 어렵던 일들이 너무나 손쉽게 가능해졌다. 또한
유니코드 기반의 한글로 이행함으로써 더이상 HL
A
T
E
X EUC-KR 한계를 걱정하지 않아
되는 행복한 상황에 4.17판을 번역하게 되었다. 한글판 lshort-kr unicode/dhucs
패키지를 이용하여 한글을 구현하였다.
기술적 뒷받침이 이루어졌으므로 이제는 내용의 질을 제고할 때라고 각한다. 이번
번역도 자원 들과 함께 공동작업으로 이루어졌다. 영어 능한 분들과 언어학
공하신 분까지 번역에 합류함으로써 이제는 번역의 질에 있어서도 부끄럽지 않을 정도가
되었다고 생각한다.
이번에 공동번역자들이 합의한 번역 원칙은 다음과 같다.
영문 대로 겨놓 역을 피하 실제 L
A
T
E
X 입문하 초보자들
이해하고 적용할 있도록 문장을 완전 새로 쓴다. 필요하다면 내용을 보충하거나
생략할 있다. 중요한 것은 입문서로서 책의 전달력이지 원문의 충실한 재현에
있지 않다. 즉, 번역문에서 어떤 영문 문장의 기미도 발견할 없도록, 아름다운
리말로 이루어진 문서를 만드는 것이 목표이다. (우리말식 용어를 사용해야 한다는
뜻은 결코 아님).
예제는 이번에도 영문을 그대로 노출시킨다. L
A
T
E
X 발전에 힘입어 예제
한글화하는 것이 어려운 일은 아니지 여전히 책은 L
A
T
E
X 사용법에 관한 책이다.
그러 L
A
T
E
X 용환경이 현저 르거 글화 련한 중요 항이
있을 때는 이에 대한 언급을 별도의 절이나 역주로 만들어 붙인다.
용어의 통일은 중요하다. 역어의 택은 되도록이면 우리말화하되 우리말 용어
체를 지나치게 중시한 나머지 도무지 없거나 머리 속에서 영어로 다시 옮겨야
이해 제하 당한 우리 우에 라리 흔히 쓰이
영어식 표현을 그대로 쓴다.
모든 경우에 원칙이 완전히 관철되지는 않았을 것이다. 그러나 번역자들이 지향하
번역의 방향은 대체로 일치하였다고 생각한다.
130
한국어판 개선되지 는데 불구하고 일링 스트에서 제하 않고 준히
훌륭한 문서를 만들어 저자 Tobias Oetiker 씨에게 감사한다. 원래 한국어판 번역본에
실렸던 글을 확장하고 보충하여 영문판에 실리도록 글을 써주신 신정식 님께도 감사드
린다. 번역본에 새로이 수정하여 실린 한국어 지원 절은 lshort 다음 판에서 이용할
있도록 Oetiker 씨에 정본을 보낼 생각이다. 실상 KTUG 활동을 가능케
조진환 박사, KTUG 깊은 애정을 보이시는 지도자이자 후원자이 남상호 박사, dhucs
dhhangul 자로 글화 중요 여를 하신 도현 교수, KTUG 심인
이주 님, 이호 님, KTUG Collection 하게 석호 님, 밖에 KTUG
lshort-kr 관심 격려 보내주신 질문자와 변자 들께 사드린다. 이주
님은 번역본 전체를 읽으면서 주교정자로서의 역할을 담당해주셨다. 특별히 교정
·
교열
과정에서 교정표를 작성해주신 이상직 교수, 그리고 번역본을 읽고 의견을 제시해주신
딸기아빠 님과 커꿈 님께도 감사드린다. 번역본이 읽고 이해하기 쉬워진 것은 전적으로
분들의 공이다.
번역 이루어질 한글날을 한겨레신문사에서 겨레결체 공개 것은
공개 한글 글꼴이 부족 T
E
X 공동체에 선물이었다. 문서는 한겨레결체를
글꼴로 채용하였다.
역본에 잘못 있다 책임 강수에 다. 역자들은 오역에 대하
책임이 없다. 초보자분으로서 책에서 조금이라도 얻은 것이 있다면 역자들에게 알려주
바란다. 개선을 위한 의견, 오류의 지적 영한다. KTUG 시판이나 전자우편
이용할 있다.
함께 고생한 공동 역자들의 노력에 감사하고 행운을 빌면서.
번역자 : 김강수, 이기황, MIKA, 샘처럼, 김지운.
공동번역자를 대표하여. . . 김강수
2002년판 3.20판의 역자후기
책은 사용법이 쉽지만은 않은 L
A
T
E
X 입문서로 이미 정평이 있다.
당연히
L
A
T
E
X 2
ε
대로 이해하고 쓰기 위해서는 The L
A
T
E
X Companion [3]
어야 것이고, 좀더 고급의 독자들 The T
E
Xbook 보아야 하겠지만, 작성
일반 도에 책이 제공하는 정도 기능만 지하더라도 충분 신의 목적
달성할 있을 것이다.
책을 번역해야겠다 각은 부터 가지 있었는데, 것을 실행 옮길
엄두를 내기가 어려웠다. 우선, 한글판 lshort 과연 필요할 것인가도 확신하기 어려웠고
(왜냐하 어차피 책을 한국어로 옮긴다 하더라도 예제는 여전히 영어 예제를 수밖에
없으며, 한글 구현에 관한 사항 글의 번역에서는 다룰 없었기 때문이다.), 사실
초창기 lshort 영문판도 컴파일이 되지 않는 경우가 있어서, 이것이 과연 한글로 제대
동작할 것인지 확신할 없는 상태였기 때문에, 그냥 영문판을 보는 것으로 만족하고
지낸 것이 사실이다.
그러던 차에, 나의 개인 홈페이지 게시판에서 문제 기했더니 강윤배 · 장대훈
님이 흔쾌히 돕겠다는 의사를 밝혀 주셨다. 이렇게 의기투합하여, 대부분의 본문을 한글로
131
옮기는 일을 분이 하고, 나는 한글L
A
T
E
X으로 컴파일이 되도록 맞추는 일을 주로 하면서
초벌역이 이루졌다. 번역 렵, 김재 서는 다른 로로 나에
연락 오셨데, 3.1 역을 해두 었다. 전체
번역이 이루어진 후, 내가 으면서 교열하고 오역을 수정하는 업을 거쳐
마침내 한국어판 lshort 출판(!)하게 되었다.
장별로 최종적으로 사용된 텍스트의 초벌 역자와 교열자는 다음 표와 같다.
감사의 말, 서문 강윤배·장대훈 김강수
1 김강수 장대훈·김강수
2 강윤배 장대훈·김강수
3 장대훈 김강수
4 김재우
김강수
5 장대훈 김강수
참고문헌 장대훈 김강수
* 장대훈 님의 번역본도 있었는데, 김재우 님의 텍스트를
주로 살리면서 장대훈 님의 번역을 참조하여 교열하였음.
책이 L
A
T
E
X 입문하는 분들에 좋은 선물이 되기를 바란다. 사실 한글로 이루어
T
E
X 관련서적이 거의 없다 해도 좋을 정도 황에서, 글이 가치있는 입문서 구실을
충분히 것으로 믿는다.
번역상 주의한 것은 다음과 같다.
예제 시켰다. 이유는, 책이 L
A
T
E
X 2
ε
설명이지 HL
A
T
E
X 대한 설명이 아니라는 때문이었다. 다시 말하면 예제들을
한글화했 때, 것은 L
A
T
E
X 2
ε
행되 니라 HL
A
T
E
X 해서
실행되는 것이므로, 책의 원래 의도와는 동떨어진 것이 된다. L
A
T
E
X에서의 한글
사용에 대한 좋은 입문서가 나오기를 바라는 마음 간절하다. 아니 그보다, 안심하고
있는 한글 T
E
X 하나 있었으면 하는 생각도 든다.
문장의 번역은 무엇보다 L
A
T
E
X 입문자들이 가장 이해할 있게 하는 초점을
맞추었다. 요하다면 명을 덧붙이기 했고 가지 역자에 의한 충도
추가하였다. 이런 시도가 도움이 되기를 바란다.
용어 동번자들 일하 해서 러번 했지 완전 치하
못했을 수도 있을 것이다. 문제는 차차 고쳐가겠다.
최근 CTAN 디렉토리 구조가 바뀌면서 책에 나오는 URL 정보가 달라진 것이
있어서 그것을 바로잡았다.
책을 옮기는 일은 솔직 하면 쉽지 않았다. 과정에서 격려 도현 님,
현호 님, 무식인 님을 비롯한 모든 분들에게 특별히 감사의 말을 전한다. 초벌 번역본과
교열본 읽고 어색한 표현을 지적해 L
A
T
E
X 전혀 모르는 나의 학생들에게도 고맙다는
인사를 전한다. HL
A
T
E
X 저자인 은광희 님께 감사한다. 한글L
A
T
E
X 없었으면 글의
번역은 불가능했을 것이다.
번역본의 모든 책임은 김강수에게 있다. 다른 공동역자들은 오역에 대하여 책임이
없다.
번역자 : 김강수, 강윤배, 장대훈, 김재우, 이재승, 현범석, 주철