韓國數學敎育學會誌시리즈 E J. Korea Soc. Math. Ed. Ser. E: 數學敎育論文集 Communications of Mathematical Education 제 19 권제 4 호. 2005. 11. 823 837 Vol. 19 No. 4, Nov. 2005. 823 837 TEX 과타이포그래피에관한소고 조진환 ( 수원대학교 ) 1. 타이포그래피 타이포그래피typography란사전에서 활자活字를사용한인쇄술, 활판인쇄活版印刷 또는 인쇄된것의체재體裁 등을뜻하고있지만인쇄전반및그표현들을모두포함하는의미로사용된다. 타이포그래피기술의발달로이의미는색채, 레이아웃, 그래픽디자인등을포함해문자를이용한모든것을총체적으로아우르는보다폭넓은개념으로확장되었다. 이와같은넓은의미의타이포그래피에비해타이포그래피를서체typeface 디자인에관련된요소들로국한함으로써조판組版과분리해좁은의미로바라보는경우도있다. 조판typesetting이란사전에서 식자植字 또는 활자조판 을뜻하는데글또는그림으로이루어진원문을지정된활자또는서체를이용해판위에심미적인형태로구성하는것을의미한다. 조판과정을통해재구성된원문은용지를판위에서눌러주는인쇄기printing press를통해주로종이위에잉크가칠해진형태로대량생산된다. 이과정을인쇄printing라부르는데출판出版의여러과정에서최종결과물을얻는핵심적인부분이다. 인쇄에서판면의어떤부분을잉크로칠해야하는지는조판에서결정한다. 컴퓨터가모든것을대체해버린지금도미시적관점에서보면수많은미세한격자들로이루어진판면을어떤색으로칠해야하는지를결정한다는점에서기본원리는동일하다. 문자의발명에이어이미오래전에책 1) 이라는형태가등장했지만현대적인출판을의미하는책의대량생산은 1440년대구텐베르크Johannes Gutenberg에의해그전기가마련되었다. 독일마인츠Mainz에서 1397년경태어난구텐베르크는널리알려진바와같이납주조활자를만들어사용했을뿐만아니라오일을이용한잉크개발, 그리고당시포도주생산에사용되던프레스press 위의그림은 TEX 을만든카누스가일본이나모리재단의 1996년 Kyoto Prize for Advanced Technology 수상기념강연에서사용한것이다. (Knuth, 1999, p.1) 1) 책이라정의할수있는것가운데오늘날까지남아있는가장오래된책으로서지학자 ( 書誌學者 ) 들은쐐기문자로기록된메소포타미아수메르의점토판 ( 기원전 1300년무렵 ) 을들고있다. ( 야후! 백과사전 ) 823
824 조진환 그림 1 구텐베르크의 42 행성서와라이너타이프 ( 독일박물관소장 ) 를인쇄에도입함으로써근대활판인쇄술의기초를마련했다. ( 구텐베르크홈페이지 ) 특히구텐베르크가 1455년에제작한 42행성서 ( 그림 1) 는비록 직지심체요절直指心體要節 2) 의발견으로현존하는가장오래된금속활자본이라는명성은잃었지만출판의상업적대량생산이가능함을보여준획기적인결과물이다. 구텐베르크이래 19세기후반까지여러가지기술적인발전이있었지만구텐베르크가만든활판인쇄술의틀은여전히유지되었다. 출판의여러과정중특히조판은식자공들이한자씩활자들을하나의판에조합해야했으므로많은시간이소요되었고, 그로인한낮은생산성은당시의많은신문사들이여덟쪽내외의신문밖에만들수없었던큰요인중하나였다. 이러한문제점을극복하고자독일태생의 Ottmar Mergenthaler 는 1886년미국에서 라이너타이프Linotype ( 그림 1) 3) 를발명했다. 90개의키를가진키보드를통해원문의내용이한줄씩입력되면한줄에해당하는활자들을자동으로추출해주형mold에가지런히정렬하는것이라이너타이프의역할이었다. 비록하나의판면을자동으로구성하는수준에는이르지못했지만라이너타이프가가져다준생산성의증대로신문쪽수는네배내지다섯배가늘어났다. 2) 정식명칭은 백운화상초록불조직지심체요절 ( 白雲和尙抄錄佛祖直指心體要節 ). 1377년 ( 고려우왕 3년 ) 청주흥덕사에서금속활자로찍어낸책으로 2001년유네스코세계기록유산으로등록되었으며현재프랑스국립도서관에소장중이다. ( 직지홈페이지 ) 3) 에디슨 (Thomas Edison) 은라이너타이프를 세계의여덟번째불가사의 (The Eighth Wonder of the World) 라불렀다고한다. ( 라이너타이프홈페이지 )
TEX 과타이포그래피에관한소고 825 2. DTP 와워드프로세서 20세기컴퓨터의등장은사회전반에아날로그에서디지털로의변화를야기했다. 이와같은변화는출판에서도구텐베르크시대로부터이어지던활판인쇄술의틀을바꾸어버렸다. 소위 전자출판 또는 탁상출판 이라번역되는 DTP(DeskTop Publishing) 는컴퓨터를사용해인쇄물의편집, 레이아웃구성, 조판, 출력등출판에관련된모든일을처리하는것을의미한다. 1985년애플Apple의매킨토시Macintosh 컴퓨터, DTP 소프트웨어 Aldus PageMaker 4), 그리고어도비Adobe의포스트스크립트를최초로탑재한프린터 Apple LaserWriter 에서 DTP 는시작되었다. ( 위키피디아홈페이지 ) DTP 소프트웨어는텍스트와외부의그래픽소프트웨어를통해제작한그림들을조합해서판면을구성하는조판프로그램으로레이아웃프로세서라불리는경우도있다. 5) 현재널리사용되고있는 DTP 소프트웨어로는 Quark 에서만든 QuarkXPress 6) 와어도비의 InDesign 7) 이있다. 특히 1990년에발표된 QuarkXPress 3 은출판계의조판전문가들을 DTP 로끌어들이는전기를마련했다. DTP 소프트웨어를통한조판은이전에비해월등한유연성과높은생산성을담보해주었다. 화려한그림들과현란한서체들이난무하는잡지, 브로셔, 그리고광고전단을포함해현재출간되는대부분의출판물이이러한 DTP 소프트웨어로제작되고있다고해도과언이아니다. 하지만높은가격과결코쉽지않은사용법으로인해일반인들이 DTP 소프트웨어를다루는경우는많지않다. 대신컴퓨터학원등에서수개월과정을통해 DTP 소프트웨어를전문적으로다루는사람들을배출하고있다. 워드프로세서word processor는컴퓨터를이용해문서제작의모든과정을한꺼번에다룬다는점에서 DTP 소프트웨어와비슷하지만문서의작성에서조판, 출력까지한사람이모든것을담당한다는점에서차이가있다. 출판에서 DTP 소프트웨어를사용하는과정은주로문서의작성과최종인쇄사이에놓여있는레이아웃구성과조판이며, 각과정들은서로다른사람들에의해진행된다. 워드프로세서는일반인들이가장많이사용하는소프트웨어의하나로 Microsoft Excel 로대표되는스프레드시트spreadsheet 및 Microsoft Powerpoint 로대표되는프리젠테이션소프트웨어와함께사무용소프트웨어의정점을이룬다. 4) PageMaker 를제작한 Aldus Corporation 은 1994년어도비에합병되었다. DTP 라는용어는 Aldus Corporation 의설립자 Paul Brainerd 가처음사용했다고전해진다. ( 위키피디아홈페이지 ) 5) DTP 에사용되는모든소프트웨어를 DTP 소프트웨어 라부를수있지만이글에서는워드프로세서및자동조판프로그램과의차별을위해레이아웃프로세서만을뜻하는좁은의미로사용한다. 6) QuarkXPress 는 1987년에처음발표되었으며최신버전은 2004년에출시된 6.5 버전이다. 국내에서는한글처리문제및출력소의영세성등몇가지이유때문에여전히 QuarkXPress 3.x 내지 4.x 버전을많이사용하고있다. 7) 1994년합병으로어도비에귀속된 PageMaker 는 2000년 InDesign 이나오면서점차사장되었다. InDesign 의최신버전 CS2(4.0) 은 2005년에출시되었다.
826 조진환 DTP 소프트웨어와마찬가지로워드프로세서는다양한 GUI(Graphical User Interface) 와 WY- SIWYG(What You See Is What You Get) 기능을가지고있다. WYSIWYG 은입력과동시에최종출력물의형태를화면에서바로확인할수있다는점에서매우편리하지만, 문서작성과조판을한사람이담당하는경우문서의내용자체에대한집중도를떨어뜨리는단점도있다. WYSIWYG 이구현된초창기의워드프로세서로는 1983년 IBM PC 컴퓨터에서동작한 Microsoft Word 와 1984년애플매킨토시컴퓨터에서동작한 MacWrite 가있다. 특히고해상도레이저프린터의보급으로인해인쇄소를거치지않고도빠른시간내에자신이작성한문서의결과물을얻는것이가능해졌으며, 이것은위드프로세서가일반인들에게급속도로확산되는계기가되었다. 전세계워드프로세서시장은개인용컴퓨터들을장악한인텔과마이크로소프트의영향으로거의대부분의워드프로세서들이사장되고 Microsoft Word 의사실상독점체제가이루어졌다. 컴퓨터가널리보급된국가들중이러한시장구조를가지지않고있는나라는아마한국이유일할것이다. 국내워드프로세서시장은한글과소프트의 글 과 Microsoft Word 가양분하고있다. 8) 개인용컴퓨터및소프트웨어기술의발달로 DTP 소프트웨어와워드프로세서의차이는계속줄어들어최근에는 DTP 소프트웨어대신워드프로세서로제작된책도쉽게볼수있다. 하지만이들소프트웨어들이차지하고있는고유의영역을부인할수는없다. 다양한레이아웃디자인이나화려하고세밀한그래픽처리를요구하는출판영역에서 DTP 소프트웨어는여전히워드프로세서가넘볼수없는위치를차지하고있다. 이에반해워드프로세서는일반인들도손쉽게다룰수있다는장점과함께 DTP 소프트웨어에비해월등한가격경쟁력을지니고있다. 특히스프레드시트나데이터베이스같은다른사무용소프트웨어와의연계를통해워드프로세서의용도는문서작성이라는기존영역을뛰어넘어계속확장되고있다. 3. 포스트스크립트와 PDF 1980년대중반에시작된 DTP 의물결과함께포스트스크립트는출판을위한최종파일포맷의표준으로자리잡았다. DTP 소프트웨어나워드프로세서에서제작된결과물은포스트스크립트언어로저장되고레이저프린터나출력기에탑재된포스트스크립트번역기interpreter를통해 비트맵bitmap 이미지로변환된후종이나필름에인쇄된다. 이러한영향으로 1990년대에는포스트스크립트번역기를탑재한프린터들이많이출시되었는데, 최근에는포스트스크립트를처리할수있는운영체제가늘어남에따라포스트스크립트변역기의탑재는프린터구입시사용자들이선택할수있게바뀌었다. 8) 한글문서작성에서나타나는독특한기능들을지속적으로지원한점, 몇차례위기에서표출된일반사용자들의전폭적인지원, 그리고관공서에서사실상문서작성의표준으로사용하고있다는점등을이유로들수있다.
TEX 과타이포그래피에관한소고 827 0 5 100 { newpath dup 0 moveto 100 lineto closepath stroke } for showpage 0 0 m 0 100 l h S 5 0 m 5 100 l h S 10 0 m 10 100 l h S...skip 15 lines... 90 0 m 90 100 l h S 95 0 m 95 100 l h S 100 0 m 100 100 l h S 그림 2 포스트스크립트 ( 왼쪽 ) 와 PDF( 오른쪽 ) 명령의예 포스트스크립트로작성된문서는다른소프트웨어의도움없이곧바로포스트스크립트번역기가내장된프린터로출력할수있기때문에인터넷상의문서교환에도널리사용되었다. 하지만인터넷의발달로인해자연스럽게대두된전자문서로서그역할을수행하기에는포스트스크립트의기능들이충분하지못했고, 1990년대초전자문서에초점을맞추어개발된새로운포맷 PDF(Portable Document Format) 가그역할을대신하게되었다. 9) 포스트스크립트와달리 PDF 는컴퓨터언어가아니라문서를구성하는형태를열거해놓은일종의규약으로, 포스트스크립트가가진강력한이차원벡터그래픽기능 10) 뿐만아니라출판과정에서요구되는다양한색효과를비롯해사진이미지를위한 JPEG 및음악과영화를위한멀티미디어기능도지원한다. 또한문서내부또는인터넷에퍼져있는문서들간의상호참조및책갈피역할을하는북마크bookmark, 그리고인터넷문서교환에필요한컴팩트한파일크기및문서보안등의기능을두루갖춤으로써전자문서의표준포맷으로자리잡았다. 포스트스크립트로작성된문서를출력하기위해포스트스크립트번역기가필요한것과마찬가지로 PDF 도특별한처리프로그램을통해야만화면에서내용을보거나프린터로출력할수있다. 1990년대중반까지포스트스크립트번역기나 PDF 처리프로그램을실행하기에는컴퓨터의속도나자원이충분하지못했지만지속적인컴퓨터하드웨어의발달로더이상이러한문제들을고민할필요는없어졌다. 대표적인 PDF 처리프로그램으로는어도비에서무료로제공하는 Adobe Reader 와 UNIX/Linux 운영체제의 X Window 시스템에서동작하는 Xpdf 가있으며, 포스트스크립트번역프로그램으로유명한 Ghostscript 도 PDF 를지원한다. 2001년애플에서발표한새로운운영체제 Mac OS X 는화면출력에비트맵이아닌 PDF 를사용함으로써 PDF 의새로운역할을보여주고있다. 화면출력에 PDF 를사용하면별도의변환프로그램없이모든응용프로그램의결과물을고품질의 PDF 포맷으로얻을수있으므로비트맵을사용하는것에비해여러가지장점이있다. 이미 Mac OS X 의전신인 NeXT 컴퓨터에서 9) 포스트스크립트를통해출판시장에서이미지대한영향력을행사하고있던어도비는 PDF 를개발함으로써그영향력을더욱확대하게되었다. 10) 포스트스크립트와 PDF 의이차원벡터그래픽명령들은꽤비슷한데 PDF 그래픽명령들은포스트스크립트그래픽명령들의컴파일된형태로볼수있다. 그림 2 에서 21개의세로선을긋는그림을위해 PDF 는 21번의동일한명령을사용하지만인터프리터언어인포스트스크립트는 for 명령을이용해간단히처리한다.
828 조진환 화면출력용포스트스크립트, DPS(Display PostScript) 를사용했던적이있고, 다른운영체제들도이와같은변화를시도하고있다. 단적인예로 2005년마이크로소프트는 PDF 와경쟁할새로운파일포맷으로 Metro 를발표했고이포맷을지원하는차기윈도우버전을개발중이다. 인터넷을통한문서교환에서 PDF 는빠른속도로포스트스크립트의역할을대신하고있으며출판시장도예외는아니다. 더이상포스트스크립트를개발하지않고 PDF 에집중하기로한어도비의결정 11) 으로변화의속도는더욱가속될것이다. 4. 자동조판프로그램 TEX DTP 소프트웨어와워드프로세서가각각고유의영역을점유하면서출판시장을양분하고있지만이들소프트웨어들로는처리하기힘든출판의영역이있다. 동일한조판구조를가지는수십내지수백개의문서를한꺼번에처리해야하는경우를생각해보자. 백명이상의연사들이발표를하는국제학회에서각연사들의신상명세와발표초록을담은책자를만드는경우, 데이터베이스에들어있는수천개의상품정보를이용해카탈로그를만드는경우, 그리고수십개의논문을수록한저널을한달에몇번씩출간하는경우등여러가지예들을주위에서찾을수있다. 이러한작업에 DTP 소프트웨어나워드프로세서를사용한다면단지조판구조한부분을변경하는일에도수많은단순반복작업이필요하므로생산성이극도로떨어지는결과를초래한다. 구텐베르크이래지속되던 동일한책의대량생산 시대는바야흐로 다양한책의소량생산 시대로바뀌고있고현대사회는그전환점에서있다. 인쇄의자동화에서조판의자동화가새롭게요구되는상황에서자동화의핵심엔진으로주목받은것은 35년전세상에모습을보인자동조판프로그램 TEX 이다. 수식이많이들어가는자연과학서적및논문작성에주로쓰이는 TEX 12) 은 1978년스탠포드대학의카누스Donald E. Knuth 13) 에의해만들어졌다. 카누스가자신의책에서밝혔듯이 14) TEX 은양질의책을제작하기위한목적으로고안된조판프로그램으로, DTP 소프트웨어나워드프로세서에비해안정성stability, 지속성consistency, 이식성portability 및공개성에서매우뛰어나다. 11) TEX Users Group 의질의에대한어도비의공식입장 12) TEX 이라는이름은 technology 의그리스어원 τɛχ... 에서나왔기때문에독일어 Bach 의 ch 발음과같이 TEX 은 tekh 로읽어야하지만대부분의사람들은간단히 tek 으로읽는다. 대신 teks 로읽는사람은없다. 또한 TEX 의 E 는항상 0.5ex 정도내려써야하는데이것이불가능한경우 TeX 으로쓴다. 절대 TEX 로쓰지않는다. 13) Knuth 는 Ka-NOOTH 라읽는다. 카누스는한자이름 高德納 도가지고있다. ( 카누스홈페이지 ) 14) This is a handbook about TEX, a new typesetting system intended for the creation of beautiful books and especially for books that contain a lot of mathematics. (Knuth, 1986)
TEX 과타이포그래피에관한소고 829 4.1. 안정성 1990년 3월버전 3.0 이발표된이래 TEX 의버전은원주율 π 3.14159265358979 를따른다. 15) 첫번째업데이트는같은해 9월에있었고 TEX 의버전은 3.1 로바뀌었다. 마지막업데이트는 2002년 12월이었고버전은 3.141592 이다. 놀라운것은이전버전 3.14159 의업데이트가 1995년 3월에있었다는것이다. TEX 은역대소프트웨어들중버그가없기로유명하며프로그래밍언어를공부하는사람들에게는교과서적인프로그램이다. 4.2. 지속성 TEX 은버전이변함에따라호환성을잃지않는다. 십년전에작성한 TEX 문서를현재의 TEX 시스템에서그대로사용할수있을뿐만아니라결과물또한십년전의그것과동일하다. DTP 소프트웨어와워드프로세서의경우이전버전으로작성한문서를최신버전에서제대로처리하지못하는경우가많다는점과비교된다. 또한 TEX 은컴퓨터나운영체제의종류에상관없이동일한결과물을만든다. 4.3. 이식성 TEX 은카누스가만든프로그래밍언어 WEB 을사용한다. WEB 프로그램은파스칼Pascal 언어로변환된후컴퓨터에서동작하는실행파일을얻을수있는데, 이후 C 컴파일러가보편화됨에따라파스칼대신 C 언어가사용되었다. 거의대부분의 TEX 시스템들은 TEX 프로그램구현implementation의표준 인 Web2C 16) 를통해실행파일을얻고있으므로 C 컴파일러를갖춘운영체제, 즉모든운영체제에서 TEX 을사용할수있다. 4.4. 공개성 TEX 은공개소프트웨어로누구나 TEX 소스코드를볼수있을뿐아니라자신의요구에맞게소스코드를고쳐사용하거나배포할수있고, 심지어상업적용도로판매하는것도가능하다. 17) 이미여러회사에서 TEX 시스템을만들어판매하고있으며지금은사장되었지만한글과컴퓨터에서도 1994년 한TEX 1.5 를판매한적이있다. 상업적으로판매되는소프트웨어들이공개소프트웨어에비해여러가지면에서우월한경우가많지만 TEX 시스템은그반대이다. 현재가장많이사용되는 TEX 시스템은 UNIX/Linux 15) TEX 의버전은카누스가운명하는날원주율 π 가되면서더이상업데이트를허용하지않는다. 그전에버그를찾는사람에게는미화 $327.68 가지급된다. 16) 파스칼대신 C 언어를사용하도록바꾸는작업은 1987년부터여러전문가들에의해진행되었는데 1990년당시이작업의담당자였던 Karl Berry 에의해 Web2C 라는이름을가지게되었다. Web2C 는 TEX 시스템전체에서가장핵심적인부분으로현재 Olaf Weber 가담당하고있으며최신버전은 2005년 6월에발표된 7.5.5 이다. 17) 이경우카누스가요구하는것은단지 TEX 이라는이름을사용하지않는것뿐이다. TEX 이라는이름은미국수학회 (American Mathematical Society) 의등록상표이다.
830 조진환 pdftex TEX Source(.tex) DVI(.dvi) DVIPS PostScript(.ps) ps2pdf PDF(.pdf) L A TEX2HTML TEX4ht HTML or XML DVIPDFM(x) 그림 3 TEX 소스에서최종결과물을얻기위한과정 기반의운영체제 18) 에서동작하는 Thomas Esser 의 tetex 시스템 19) 과마이크로소프트윈도우에서동작하는 Christian Schenk 의 MiKTEX 시스템 20) 및일본에서가장많이사용되는 Akira Kakuto 의 W32TEX 21) 이있으며이들 TEX 시스템모두무료로사용할수있는공개소프트웨어들이다. 5. TEX 시스템의구조매크로프로그래밍이가능한 TEX 은 DTP 소프트웨어나워드프로세서와달리그림 3 와같이여러단계의컴파일및변환과정을통해포스트스크립트, PDF 및 HTML, XML 과같은결과물을얻는다. 이과정에는 TEX 과함께여러가지응용프로그램들이유기적으로연결되어있는데이러한모든구성요소들이전체 TEX 시스템 을이룬다. 18) Mac OS X 는 BSD UNIX 기반의커널위에서동작하므로 UNIX/Linux 로볼수있다. 마이크로소프트윈도우에서는 Cygwin 을이용해 UNIX/Linux 처럼사용할수있다. 19) tetex 은 1994년 11월버전 0.2 를시작으로 UNIX/Linux 운영체제에서많은사용자들을가지게되었다. 특히 1999년 6월에발표된버전 1.0 을거쳐 2003년 2월에발표된버전 2.0 에이르러 TEX 시스템의표준으로자리잡게된다. 최신버전은 2005년 2월에발표된버전 3.0 이다. http://www.tug.org/tetex/ 20) MiKTEX 은지금은개발이중단된 Fabrice Popineau 의 fptex 과함께마이크로소프트윈도우환경에서가장많이사용되는 TEX 시스템으로이전에는 DOS 환경에서동작하던 emtex 을많이사용했다. MiKTEX 은거의매년새로운버전을발표하고있으며 2001년 6월버전 2.1 이래 2002년 7월버전 2.2, 2003년 5월버전 2.3, 같은년 11월최신버전인 2.4 인터넷을통한자동업데이트기능도제공한다. 특히 2006년발표될예정인버전 2.5 는마이크로소프트윈도우환경은물론 UNIX/Linux 운영체제에서도사용할수있게제작되고있으므로향후 tetex 시스템과 MiKTEX 시스템의격돌이예견된다. http://www.miktex.org 21) MiKTEX 과달리 W32TEX 은 Web2C 를기반으로제작되었으며일본어를위해만들어진 ASCII 출판사의 ptex 을포함하고있다. http://www.fsci.fuk.kindai.ac.jp/kakuto/win32-ptex/web2c75-e.html
TEX 과타이포그래피에관한소고 831 5.1. DVI 파일포맷 TEX 으로컴파일된결과는장치device 이미지포맷, 화면디스플레이, 프린터등 에전혀종속적이지않은 DVI(DeVice Independent) 파일포맷으로저장된다. DVI 는 1979년 David R. Fuchs 에의해개발된문서표현방식으로파일내부에어떤리소스도포함하고있지않기때문에 22) 파일크기가매우작다는장점을가지고있지만 DVI 의내용을화면에서보거나프린터로출력하려면 DVI 드라이버 23) 라고부르는별도의응용프로그램과함께 DVI 파일내에서요구하는서체와그림등의모든리소스들을미리갖추고있어야한다. 이와같은의미에서 TEX 은 DTP 소프트웨어나워드프로세서와달리독립적으로동작하지않으므로항상전체 TEX 시스템이설치된상태에서 TEX 을사용할수있다. 5.2. 여러가지 TEX 포맷들 TEX 은기본적으로 primitive 라부르는 300여개의명령들에의해동작한다. 대다수의 TEX 사용자들은직접 primitive 명령을이용해문서를만드는대신 TEX 전문가들이 primitive 명령을부품으로미리제작해놓은다음과같은 TEX 포맷 들을사용한다. plain TEX: 카누스가만든최초의 TEX 포맷으로대표적인고전 (Knuth, 1986) 이 plain TEX 을설명한책이다. (CTAN:macros/plain) AMS-TEX: 수학을전공하는사람들이편리하게수식을사용할수있도록 1984년 Michael Spivak 이만들었으며대표적인책은 (Spivak, 1990) 이다. AMS-L A TEX 으로발전한후 L A TEX 2ε 의기본패키지가되었다. (CTAN:macros/amstex) L A TEX 24) : 1984년 Leslie Lamport 에의해제작된 L A TEX 은논리적구조와함께조판의자동화를위한여러가지기능들을가지고있다. 특히 1992년마지막으로업데이트된버전 2.09 는사용자들을 L A TEX 으로끌어들이는결정적인역할을했다. (CTAN:macros/latex209) 1994년 L A TEX3 프로젝트팀은 L A TEX 2.09 를보다발전시킨 L A TEX 2ε 를발표했고현재사용되고있는 L A TEX 은거의대부분 L A TEX 2ε 를의미한다. (CTAN:macros/latex) 22) DVI 는페이지내용을표현한다는점에서포스트스크립트와유사하지만이차원벡터그래픽을사용하는포스트스크립트와달리페이지내의문자들의상대적위치만을가지고있다. 또한그래픽을위한명령은속이꽉찬네모밖에없고, 비트맵이미지도지원하지않으며서체정보도이름과크기밖에가지지않는다. 외부리소스에대한모든정보는특별한명령을통해주석 (comment) 과같은형태로저장된다. 23) 대표적인 DVI 드라이버로는포스트스크립트로바꾸어주는 DVIPS, 그리고 PDF 로바꾸어주는 DVIPDFM 및 DVIPDFMx 가있다. DVI 의내용을화면에서보여주는 DVI 뷰어 (viewer) 의경우운영체제의윈도우시스템에독립적일수없으므로각 TEX 시스템들은고유의 DVI 뷰어를가지고있다. 예를들어 tetex 은 X Window 기반의 Xdvi, 그리고 MiKTEX 은마이크로소프트윈도우기반의 YAP 을가지고있다. 24) LATEX 은보통 lay-tex 또는 lah-tex 이라읽는다. lah-teks 라고읽으면완전히다른의미가되므로주의해야한다. 또한 LATEX 2ε 는 LATEX-two-ee 라고간단히읽는경우가많다.
r c y A METAPOST clip is not the same as a video clip, although we can use METAPOST to produce a video clip. 832 조진환 Figure 1 A clipped buffer (text). A METAPOST clip is not the same as a video clip, although we can use METAPOST to produce a video clip. Figure 2 A clipped buffer (text). c i u s l e a i n i n g t M E s e T A p e P t y O S d T. n a 1 T T E X h i Donald Knuth has spent the past several years working on a system allowing him to control many aspects of the design of his forthcoming books from the typesetting and layout down to the very shapes of the letters! Seldom has an author had anything remotely like this power to control the final appearance of his or her work. Knuth s TEX typesetting system has become well-known and available in many countries around the world. By contrast, his METAFONT system for designing families of typefaces has not become as well known or available. In his article The Concept of a Meta-Font, Knuth sets forth for the Figure 1 s i s b y j u e d s t r n a d k e One more time Hofstadter s quotation. 그림 4 ConTEXt 와 MetaPost 를이용한다양한효과들 u m m t e x t, L A TEX 을설명하는가장대표적인책은 (Lamport, 1994) 이지만내용이그리풍부하지않다. 대신 L A TEX 을처음접하는사람들에게는 (Kopka and Daly, 2003) 을, 그리고어느정도경험이있는사람들에게는 (Mittelbach and Goossens, 2004) 를추천한다. ConTEXt: 1990년 Hans Hagen 이만든 ε-tex 기반의포맷으로 DTP 소프트웨어가가지는여러가지세밀하고화려한그래픽기능들을 TEX 을통해구현하고자했다. PDF 가가진여러가지전자문서기능들을 ConTEXt 에서쉽게사용할수있기때문에프리젠테이션자료와같은다양한용도의문서들을만들수있다. 또한 ConTEXt 와 MetaPost 를연결한 MetaFun 을이용하면그림 4와같은그래픽효과들도얻을수있다. ConTEXt 에관한모든자료는 (PRAGMA 홈페이지 ) 에서찾을수있다. (CTAN:macros/context) TEX 포맷들은 virtex [&format] [file] 과같은형태의실행명령으로부를수있는데, 사용자들의편의를위해 TEX 시스템들은각포맷에따라다른이름의실행명령들을준비해두고있다. 예를들어실행명령 tex 은 plain TEX 포맷을부르고 latex 은 L A TEX 포맷을부른다. 한가지주의해야할것은각 TEX 포맷들이다른형식의스타일파일들을요구하기때문에서로호환되지않는다는것이다. 특별히호환되는스타일파일들은 (CTAN:macros/generic) 에서찾을수있다. 5.3. 여러가지 TEX 확장프로그램들카누스에의한 TEX 개발은 1990년대초에중단되었지만 TEX 의기능을뛰어넘는새로운 TEX 을제작하려는시도는계속이어져왔다. TEX 포맷과달리 TEX 확장프로그램 은 TEX 소스자체를변경해서새로운프로그램으로컴파일한것을의미한다.
TEX 과타이포그래피에관한소고 833 TEX 확장프로그램의필요성은라틴계열의언어를사용하지않는나라에서먼저나타났다. 1990년대초이미일본에서는일본어를지원하고세로쓰기가가능한 ptex 을사용하고있었으며, 25) John Plaice 와 Yannis Haralambous 는 1990년대중반에발표한 16 비트 TEX 확장프로그램 Omega 를통해전세계언어를지원하려고시도했다. TEX 이 ASCII(American Standard Code for Information Interchange) 를바탕으로한 8 비트코드를사용한것에반해 Omega 는 16 비트유니코드Unicode를사용함으로써수만개의전세계문자들을표현할수있고, 강력한전처리기preprocessor를통해코드변환은물론인터넷문서교환의표준형식인 XML 도다룰수있다. 26) 또한문자수가다른언어에비해월등히많고서로다른조판구조를갖고있는한국어, 중국어, 일본어를하나의문서에서동시에처리하는것도 Omega 를이용하면가능하다. (Cho and Okumura, 2004) 이외에주목할만한 TEX 확장프로그램으로는 TEX 을 Java 언어로구현한 NT S, 그리고 TEX 의레지스터register를늘리고몇가지 primitive 명령들을추가한 ε-tex 이있다. 최근에는운영체제고유의그래픽라이브러리를 TEX 에접목하려는시도가있으며그 대표적인예가 X TEX 이다. E TEX 확장프로그램의결정판은 Hàn Th ê Thành 이 1990년대중반에제작을시작한 pdftex 이다. TEX 및기타확장프로그램들이컴파일된결과물의파일포맷으로 DVI 를사용하는것에반해 pdftex 은이름에서보여주듯 PDF 를곧바로만들어낼수있으며양줄맞추기justification 에대한새로운알고리즘을비롯하여여러가지새로운 primitive 명령들을제공한다. PDF 의급속한확산과함께 pdftex 도널리퍼졌고, 마침내 2004년, 주요 TEX 시스템에서카누스의 TEX 을대체하는기본엔진으로 pdftex 과 ε-tex 이결합된 pdf-ε-tex 을채택하게되었다. 최근에는동아시아문자권을위한지원도추가되었고 pdftex 내부에다른프로그래밍언어를심어확장성을넓히려는움직임도있다. 5.4. TUG 과 CTAN TEX 이카누스한사람에의해만들어진것에반해 TEX 시스템은전세계 TEX 사용자들의노력으로만들어진다. 1980년결성된 TUG(TEX Users Group) 과전세계에구성된약 18 개의 LUG(Local TEX Users Group) 들이그구심점역할을하고있으며, 국내에도 2001년 11월한글 TEX 사용자그룹 KTUG(Korean TEX Users Group) 이만들어져활동하고있다. (KTUG 홈페이지 ) 25) 일본아스키출판사는 1994년 TEX 버전 3.14 를기반으로한 ptex 2.0 에이어 2001년 ptex 3.0, 그리고 2004년 12월최신버전 3.1.8 을발표했다. http://www.ascii.co.jp/pb/ptex/ 26) 하지만안정성을비롯한몇가지부분에서 Omega 는여전히문제점을가지고있었기때문에이러한문제들을극복하고 ε-tex 과호환이되는 ε-omega 를만들고자 2003년 Giuseppe Bilotta 는새로운프로젝트 Aleph 를시작했다.
ank for their support... EuroTEX 2005 15th Annual Meeting of the European TEX Users March 7 March 11, 2005 834 조진환 Let s TEX together 그림 5 매년개최되는주요 TEX 국제학술대회들의포스터 ; 왼쪽부터 2005 년 3 월 프랑스에서열린제 15 차 EuroTEX, 2005 년 6 월미국에서열린 Practical TEX, 2005 년 Abbaye des Prémontrés (Pont-à-Mousson, France) 8 월중국에서열린제 26 차 TEX Users Group Conference 전세계 TEX 사용자들이만든수천개의응용프로그램및패키지들은 CTAN(Comprehensive TEX Archive Network) 을통해관리되고있으며 CTAN 의구성요소들중중요한몇가지를살펴보면표 1 과같다. (CTAN 홈페이지 ) 또한 TUG 의전문가그룹은매년 TEXLive 라는이름으로최신의 TEX 시스템을 CD 또는 DVD 에담아 TUG 회원들에게제공하고있다. 27) 6. 맺는말 TEX 이조판의자동화과정에서핵심엔진으로주목받는이유로는여러가지가있지만하이퍼네이션과줄바꿈알고리즘으로대표되는뛰어난페이지구성, 28) 사실상표준이된월등한수식조판능력, 29) 그리고강력한매크로프로그래밍기능을들수있다. 또한 TEX 소스파일이다루기쉬운텍스트포맷이므로데이터베이스처리가쉬울뿐만아니라다른응용프로그램과의연결도용이하다. 27) TUG 회원이아닌경우에도 TEXLive 를 TUG Store (TUG 홈페이지 ) 에서구입할수있다. 한글 TEX 사용자그룹에서도 2005년 4월 CD 를포함한 KTUG Collection 2005 를만들어배포했다. 28) 카누스와 Michael F. Plass 가 1981년발표한 Breaking Paragraphs Into Lines (Knuth, 1999, Chapter 3, p.67 155) 은줄바꿈알고리즘을설명하는주요논문이다. 29) TEX 의정교한수식조판능력은 f(x) = ax + b 와같은단순한수식에도잘나타난다. 관계기호 = 앞뒤의간격과연산기호 + 앞뒤의간격을자세히관찰하면전자의크기가후자보다미세하게큰것을알수있다. 간격을동일하게만든수식 f(x) = ax + b 와비교해보라. 이러한미묘한차이가전체수식의가독성에큰영향을미친다.
TEX 과타이포그래피에관한소고 835 표 1 CTAN 의구성 biblio L A TEX 에서참고문헌bibliography을만들때주로사용하는프로그램 BibTEX 과관련파일들을수록하고있다. dviware DVI 파일처리를위한여러가지유틸리티들과포스트스크립트, PDF, SVG 또는비트맵이미지로변환하는프로그램들, 그리고화면에서 DVI 파일을볼수있는 DVI 뷰어들을수록하고있다. fonts TEX 시스템에서사용하는서체관련파일들을수록하고있다. 특히 MetaFont 와포스트스크립트 Type1 서체들이주종을이룬다. HL A TEX 에서주로사용하는 uhc 한글및한자서체들도여기에들어있다. graphics 그림을그리는응용프로그램및이미지변환유틸리티, 그리고 TEX 에서직접그림을그릴수있는매크로파일들을수록하고있다. indexing L A TEX 에서색인index을만들때주로사용하는 makeindex 와관련파일들, 그리고색인처리유틸리티들을수록하고있다. info TEX 관련매뉴얼과설명서들을수록하고있다. 한글을포함한 18개언어로번역된 Tobias Oetiker 의 The not so Short Introduction to L A TEX 도여기에들어있다. language 아랍어, 히브리어를비롯해산스크리트까지전세계각나라의언어를지원하는파일들을수록하고있다. 한글지원패키지로는 HL A TEX 이들어있다. macros TEX 에서사용되는모든스타일파일들이 TEX 포맷별로수록되어있다. 사용자들이가장많이방문하는곳이다. systems TEX 및확장프로그램들의소스코드와실행파일들이각운영체제에맞게분류되어있다. 이러한장점에도불구하고 TEX 은결코일반인들이쉽게친숙할수있는소프트웨어가아니다. 그것은주로워드프로세서에익숙한사용자가 TEX 이워드프로세서처럼동작하길원하기때문이다. 하지만조판의흐름에따라자연스럽게움직이는 TEX 의특성에익숙해지면다른소프트웨어에서결코느낄수없는매력을발견할것이다. 한글 TEX 사용자그룹에서활동하는사람들중자연과학이나공학을전공한사람들이다수가아니라는사실은 TEX 의활용방안이사회전반에널리퍼져있음을보여준다. 특히교육현장에서 TEX 을이용한활용방안을많이찾을수있다. 예를들어여러가지문제들을수록한데이터베이스에서주어진조건에해당하는문제들을추출한후 TEX 문서를구성하고, 여기에레이아웃디자인이들어있는스타일파일을결합하면다양한형태의문제집을자동으로출력하는시스템을구축할수있다. 또한위키위키WikiWiki 또는블로그blog와같은여러가지서버에 TEX 을연결해서강의에활용하는경우도주위에서발견할수있다.
836 조진환 DTP 소프트웨어와워드프로세서가서로의영역을차지하고양립하는것처럼 TEX 도 조판의자동화 영역에서새로운역할을모색하고있다. 그러므로하나의소프트웨어를모든영역에적용하려고애쓰는것보다자신의작업에가장알맞은소프트웨어와그활용방안을찾아보는것이바람직할것이다. 교육을담당하는사람들에게 TEX 이지닌가치와함께그활용방안이많이제시되어교육의좋은도구로서역할을할수있기를바란다. 참고문헌 Knuth, D. E. (1986). The TEXbook. Computers and Typesetting Series Volume A. Reading, MA, USA: Addison-Wesley. Spivak, M. (1990). The Joy of TeX, A Gourmet Guide to Typesetting with the AMS-TEX Macro Package, 2nd Edition. American Mathematical Society. Lamport L. (1994). L A TEX: A Document Preparation System, 2nd Edition. Reading, MA, USA: Addison-Wesley. Knuth, D. E. (1999). Digital Typography. CSLI Lecture Notes Number 78. CSLI Publications. Kopka, H. & Daly, P. W. (2003). Guide to L A TEX, 4th Edition. Reading, MA, USA: Addison-Wesley. Mittelbach F. & Goossens, M. (2004). The L A TEX Companion, 2nd Edition. Reading, MA, USA: Addison-Wesley. Cho, J.-H. & Okumura, H. (2004). Typesetting CJK languages with Omega. Lecture Notes in Computer Science 3130, pp.139 148. 야후! 백과사전, 출판 ( 出版 publication). http://kr.dic.yahoo.com Gutenberg 홈페이지. http://www.gutenberg.de 직지 현존하는세계最古의금속활자본. http://www.jikjiworld.net The Linotype Machine. http://oncampus.richmond.edu/academics/journalism/lino.html Wikipedia, the free encyclopedia. http://en.wikipedia.org/wiki/main_page Don Knuth 의홈페이지. http://www-cs-faculty.stanford.edu/~knuth/ PRAGMA Advanced Document Engineering. http://www.pragma-ade.com TEX Users Group (TUG). http://www.tug.org 한글 TEX 사용자그룹 (KTUG). http://www.ktug.or.kr CTAN: Comprehensive TEX Archive Network. http://www.tug.org/ctan.html
TEX 과타이포그래피에관한소고 837 Short Introduction to TEX and Typography Jin-Hwan Cho Department of Mathematics, The University of Suwon San 2-2 Wau-ri, Bongdam-eup, Hwaseong-si, Gyeonggi-do, 445-743, Republic of Korea E-mail: chofchof@ktug.or.kr TEX is a typesetting system created by Donald E. Knuth for producing publication-quality scientific books and journals. It is famous for the line breaking algorithm, the formatting of complex mathematical formula, and the powerful macro programming capability. Recently TEX plays a new role of an automatic typesetting engine. The paper describes TEX in the framework of typography by comparing with DTP softwares and word processors. ZDM Classification: N80, R70 2000 Mathematics Subject Classification: 68U15 Key words: TEX, LATEX, typography, typesetting, desktop publishing, word processor