한국어텍 ko.tex v0.1.0 사용설명서 은광희 김도현 김강수 2007 년 7 월

Size: px
Start display at page:

Download "한국어텍 ko.tex v0.1.0 사용설명서 은광희 김도현 김강수 2007 년 7 월"

Transcription

1 한국어텍 ko.tex v0.1.0 사용설명서 은광희 김도현 김강수 2007 년 7 월

2 일러두기 ko.tex 은 HL A TEX 과 hangul-ucs 가결합하여탄생한, 명실상부한 한국어 ( 한글 ) 텍시 스템 입니다. 한글라텍 (HL A TEX) 은 1990 년대이후텍에서의한글사용에 사 실 상 표 준이었으며, hangul-ucs 는한글라텍의현저한영향아래서성장한유니코드한글 텍매크로였던것입니다. 이제한국텍학회 (KTS) 의주도아래, 한글라텍과 hangul-ucs 가하나의매크로 시스템으로통합된것을매우기쁘게생각합니다. 이와더불어더욱알차고유용한 사용자안내서를작성하기위해많은노력을하였습니다. 한글라텍의표준문서였던 한글라텍길잡이 ( 은광희 ) 는아마도가장많이 읽힌한글로된라텍관련문서중하나가아닐까합니다. 이문서는단순히한글 사용법을넘어서서, 텍에입문하는데있어서도많은도움을주었습니다. 이문서는한글라텍길잡이를바탕으로 ko.tex 에맞도록개정하여쓴것입니다. 감사의말과머리말은거의그대로보존하였으며, ko.tex 이등장하는경과를설명하 는소절을하나추가하는정도에그쳤습니다. 다만문체의일치를유지하기위하여 이일러두기와감사의말을제외하고는경어체를평어체로고쳐썼습니다. 또한사 용법에있어서한글라텍이후의여러가지발전사항을새로운편제로서술하려 하였습니다. 지나치게기술적인서술을피하고실제사용자에게구체적인지침을 제공하는데이문서의목적이있습니다. 이문서가 ko.tex 을사용하는분에게조금이라도도움이되기를바랍니다. 뜻하 지않은잘못된내용이나실수, 빠진내용, 오식을바로잡아주시면더나은사용자 안내서를만드는데크게도움이될것입니다. 은광희김도현김강수 ( 識 ) 1

3 감사의말 라텍은쪽판짜기에탁월한기능을가진문서식자체계 (document typesetting system) 입니다. 한글라텍은이런우수한문서식자체계로한글도쓸수있도록하자는취지에서만들어진라텍꾸러미입니다. 라텍은사용에아무런제한이없이보급되고한글라텍또한한글을쓰고자하는모든이에게별다른조건없이유용한도구로제공됩니다. 이안내서에서다음과같은정보를얻을수있습니다. 한글라텍역사. 한글라텍설치. 한글라텍사용. 우리말글꼴선택. 이글이한글라텍을사용하는분들에게조그마하나마도움이될수있기를바랍니다. 한글라텍을발표하면서한글글자체작성에도움을주신고려대학교언어과학과李基用교수님, 문화관광부 1 포스트스크립트글자체를제공하신연세대학교국문과洪允杓교수님, 한글을보는눈을깨우쳐주신충남대학교의노용균교수님, 한글라텍의문제점과개선점을지적하고도와주신원세연님과이천우님, 우리말글자체선택모듬명령 (macro) 을제안 수정 실험해주신이형석님, 항상컴퓨터에서의한글사용에대해전반적으로도움을주시는신정식님, KTUG을운영하시는조진환님, 한글글자체를비롯하여다방면에서활동하시는박원규님, 한글라텍윈도우즈포팅에노력을아끼지않으시는김강수님그리고한글라텍의발전에기여하신많은여러분께감사의마음을전합니다. 특히李基用교수님은한글라텍의발전을위하여 2GB 굳은저장판 (hard disk) 을 2개기증하셨습니다. 한글라텍은이를바탕으로새로운완성형글자체와 UHC 글자체들을만들수있었습니다. 한글라텍을완성해가면서李基用교수님께감사합니다. 殷光熙. 1 이전의문화체육부 2

4 차례 제 I 편 총론 8 제 1 장 텍, 라텍, 한글라텍 9 제 1 절텍에대해 제 2 절라텍에대해 제 3 절한글라텍에대해 제 4 절 Omega(Ω) 에대해 제 5 절유니코드를이용한실험들 ( ) 제 6 절 ko.tex 의탄생 (2007) 제 2 장 설치 16 제 1 절 TEX 배포판 제 2 절 ϵ-tex 제 3 절디렉터리구조 (TDS) 제 4 절일반적인설치지침 다운로드 매크로와유틸리티 글자체의설치 제 5 절각플랫폼별설치패키지 제 6 절 CVS 개발버전 제 3 장 사용 22 제 1 절기본사용법 제 2 절 pdf 문서작성을위한설정 ko.tex/utf 문서 ko.tex/euc 문서 요약 제 3 절폰트에대하여 기본글꼴 추가글꼴

5 3.3 은글꼴트루타입폰트세트 타자글꼴에관한주석 요약 폰트의라이센스 제 4 절 utf 버전과 euc 버전의관계 제 II 편 ko.tex/utf 32 제 4 장 유니코드문서작성하기 33 제 1 절개관 제 2 절첫번째문서 간단한문서작성 컴파일 영문글꼴 옵션들 부가패키지들 제 3 절글꼴사용과선택 기본글꼴을변경하는방법 일시적으로폰트를변경하는방법 사용자폰트를활용하는방법 엄격한문자체크 제 4 절몇가지한글화 기호문자처리 한글문서서식 장절명령 강조 자간, 행간 장평 nonfrench spacing 각주 한글식카운터 자동조사명령 enumerate의항목머리 제 5 절미세조정

6 5.1 수식과의간격 한글폰트스펙 Micro Typography 제 6 절행나눔 영문자와숫자뒤의한글개행 여는괄호앞의행자름 이른바 고아 문제 제 7 절한글 PDF 만들기 하이퍼링크 폰트문제 pdf 한글텍스트의검색과추출 한글책갈피 제 8 절찾아보기와참고문헌 제 9 절옛한글구현 제 10 절다른패키지및클래스와의호환성 AMS-L A TEX 클래스 beamer 지원 prosper/powerdot 지원 제 11 절일본어와중국어문단 제 5 장 memhangul 과 oblivoir 66 제 1 절소개 제 2 절 memhangul 제 3 절 oblivoir 간단한문서만들기 용지, 여백, trim mark 글꼴선택 기타 제 III 편 ko.tex/euc 69 제 6 장 ko.tex/euc의의의와사용법 70 제 1 절 ko.tex/euc의의의 문자의범위

7 1.2 ko.tex/euc의한계 하위호환성 사용설명서에관하여 제 2 절 ko.tex/euc의사용설명 한글문서의틀 문서의모양새설정 글자체선택 우리말숫자모듬명령 우리말각주판짜기 조사이형태, 매개모음, 지정사탈락 우리말이름 그외의우리말화 제 3 절한글화 제 IV 편 한글문서작성 92 제 7 장 한글문서서식 93 제 1 절각주형식 hangulfn의각주판짜기 각주문단모양관련 제 2 절자간, 행간, 단어간격 자간 단어간격 행간 제 3 절 ko.tex/euc에서의밑줄 제 4 절장절표제 제 5 절문장부호 우리말문장부호의사용법 문장부호에관련된문제 제 8 장 색인과문헌목록 105 제 1 절 ko.tex/euc 의 hbibtex과 halpha 우리말문헌인용 참고문헌데이터베이스

8 제 2 절색인 ko.tex/utf의색인처리 ko.tex/euc의우리말색인처리 제 9 장 한글트루타입폰트의사용 113 제 1 절 ttf2kotexfont 사용법 제 2 절문서에서폰트설정하기 제 3 절 pdf 문서제작을위한 pdfl A TEX 사용 제 10 장 plaintex 과 ko.tex 116 제 1 절 kotexplain.tex 제 2 절 hangulcweb.tex 제 11 장 html 제작 118 참고문헌 119 부록 124 부록 A 완성형한글문자 부록 B 윈도우즈유니코드편집기 부록 C 이문서에대하여 부록 D 글꼴예문 부록 E 용어대조

9 제 I 편 총론 8

10 제 1 장 텍, 라텍, 한글라텍 제 1 절 텍에대해 텍 (TEX) 은 1 미국스탠퍼드대학전산학과의 Donald E. Knuth 교수가 1977년 5월에처음으로만들었고, 그해여름에 Michael F. Plass 씨와 Frank M. Liang 씨가지금의텍의전신을만드는공동작업을하였으며같은해말에서다음해초사이에 Knuth 교수가다시완성시킨문서식자체계이다. 텍은원래 SAIL 2 언어로쓰여졌으나 1979년초에는 Knuth 교수와 Luis Trapp Pardo에의해공동개발된 WEB 언어로전환시키는작업이시작되었고 1979년과 1980년에 Ignacio A. Zabala 씨가이를완성시켰다. 텍은 1979년후반기와 1980년전반기에걸쳐 Knuth 교수가더욱안정된프로그램으로정착시켰고그해 9월에 TEX82 버전 0으로발표되기시작했다. 그후많은사람들의조언을반영하여 1989년 9월에최종검토를거쳐발표된텍은현재, 전문적인자연과학문서를작성하는데가장좋은문서식자기로인정받고있다 ((Knuth, 1984) (Knuth, 1986) 을참고 ). 수학자이기도한 Knuth 교수는이문서식자체계를사용하여수학공식도자유자재로쓸수있도록했다. Knuth 교수는텍외에도 METAFONT 를개발하여텍문서를인쇄하는데필요한양질의글자체를만들어낼수있도록하였고이로써텍은출판서적을만드는데손색이없는문서식자체계로자리를잡게되었다. 제 2 절 라텍에대해 텍의식자기능은매우탁월하지만일반사용자의측면에서는프로그래머의사고 1 텍 은그리이스어 τεχ 에서유래된낱말이다. English words like technology stem from a Greek root beginning with the letters τεχ...; and this same Greek word means art as well as technology. Hence the name 텍, which is an uppercase form of τεχ. Insiders pronounce the χ of 텍 as Greek chi, not as an x, so that 텍 rhymes with the word blecchhh. It s the ch sound in Scottish words like loch or German words like ach; it s a Spanish j and a Russian kh. When you say it correctly to your computer, the terminal may become slightly moist. 2 Stanford Artificial Intelligence Language The TEXbook 에서발췌. 9

11 능력을요구하기때문에많은노력과경험으로텍의기능을이해하여야문서를작성할수있다. 예를들어사용자는글자체를스스로정의하고문장과문장사이의간격을넓혀주는등의일을일일이손으로처리해야했다. 그래서텍은전문적인프로그래머층에서나사용할수있었다. 그러나미국의전산과학자인 Leslie Lamport 는사용자와텍의사이를좁히는역할을할수있도록라텍 (L A TEX) 을개발하여쉽게문서를작성하게끔기여하였다 ((Lamport, 1985) 를참고 ). 그는일반적인문서모양새를텍의모듬명령 (macro) 으로정의함으로써, 프로그래밍의경험이없는사용자도쉽게문서를작성할수있도록하였다. 사용자는쓰고자하는글의전체적인윤곽에맞는양식을지정한후, 작성하는문서의내용에만집중하면원하는모양새의문서를작성할수있게되었다. 그리하여사용자는텍에대한전문지식이없어도짧은시간내에좋은문서를작성할수있게되었다. 세월이흐르면서라텍은전세계적으로많이보급되었고이에따라라텍이해내야하는과제의폭도넓어졌다. 그결과로라텍은근본적인바탕을바꾸고국제화되어야한다는여론이높아졌고 1992말부터는라텍버전 3 일감팀 (project team) 3 이구성되어새로운라텍버전 3의개발작업에착수하였다. 1994년 6월 1일을기해라텍버전 2ϵ 을공식적으로내놓은이팀은현재 (94년 11월 ) 깁기수준 (patchlevel) 4를발표하면서계속라텍버전 3을위해작업하고있다. Frank Mittelbach 씨와 Rainer Schöpf 씨는 (Scherber, 1994) 에서라텍버전 3 개발의목표를다음과같이설명하고있다. 라텍의사용범위를이전의자연과학분야에서벗어나, 각분야의문서모양새에도만족할수있는모양새파일을제공하고이런여러모양새를간단한방법으로사용자가선택할수있도록한다. 위와같은모양새파일을자세히설명함으로써사용자가이런기본적인문서모양새를바탕으로자신의독자적요구를쉽게이룰수있게한다. 제 3 절 한글라텍에대해 이렇게라텍이국제화되어가는동안한국 KAIST 전산학과에서는라텍으로한글 을쓸수있도록모듬명령을만들고한글글자체를준비하여 hlatex 을 ( 최우형, 3 Leslie Lamport, Johannes Braams, David Carlisle, Alan Jeffrey, Frank Mittelbach, Chris Rowley, Rainer Schöpf: 이들은 (Mittelbach et al., 2004) 를출간하였는데이책의수입은그절반이라텍버 전 3 개발팀에게할당되어이팀을지원하게끔되어있다. 10

12 백윤주 ) 보급하였다. 4 (( 최우형, 1992) 를참고 ) hlatex은기존의라텍에한글글자체를추가하는 hfont.tex, 한글문서작성환경을정의하는 harticle.sty과 hreport.sty, hbook.sty 그리고한글 KS 완성형부호체계를텍의모듬명령으로변환해주는앞처리기 (preprocessor) htex으로구성되어있었다. 보급되는글자체의사용을제한받으면서출발한 hlatex은그런대로통신망을통해 KAIST 외부의일반에게퍼지게되었고 5, 이를바탕으로, 한자의사용을추가한 jhtex이 ( 殷光熙 ) 만들어지게되었다. 여기에는손쉽게구할수있는일본의간지글자체를 hlatex에덧붙여사용할수있도록하였고문서모양새도좀더한국적인것을사용할수있도록하였으며글자체가늘어남으로써불가피해진 NFSS의도입이이루어졌다. 6 이두프로그램은좀더나은, 하나의프로그램으로일반에게보급될수있고자한글라텍으로통합되었는데이로써한글라텍은다음과같이변화하였다 ( 한글라텍버전 0.92e). 1 라텍버전 2ϵ 에의한한글문서작성 2 한국표준부호체계및한자사용 3 앞처리기 (preprocessor) 의기능을라텍모듬명령으로대체 KAIST 전산학과에서시작된 hlatex은다양한글자체를보급하여어느정도변화있는한글문서를작성할수있도록하였지만, 글자체의원천 (source) 이공개될수없어서, 미리만들어진 300dpi와 600dpi의 pk 파일만제공되었다. 따라서문서의인쇄는 300dpi와 600dpi의해상도를갖는인쇄기에서만가능했다. 그래서한글라텍버전 0.93부터는문화관광부에서공개한글자체와포스트스크립트 type I 글자체, 그외에도두값본그림 (bitmap graphic) 에서추출된외곽선글자체가 META- FONT 원천으로보급됩으로써사용자는아무런제약없이한글라텍을사용할수있게되었다. 글자의배치도이전의 KAIST식인조합완성혼합식을따르지않고일반적인한국표준완성형방식을지향하게되었다. 4 유명한한글라텍패키지들의명칭은다음과같이쓴다. hl A TEXp, HL A TEX, Hangul-ucs, ko.tex.... 이곳 에서 hlatex 이라고쓴것은 HL A TEX 의전신으로 HL A TEX( 한글라텍 ) 을말하는것이아니므로모두소문자로 써서구별하였다. 5 그당시 hlatex 의사용은 KAIST 이내와해외에서만허용되었다. 6 NFSS 는라텍버전 2ϵ 의주된기능으로 New Font Selection Scheme 의약자이다. 라텍의글자체선 택방식을대폭개선함으로써그동안라텍의취약점으로남아있던글자체선택문제를완벽히해결한 기능이다. 11

13 제 4 절 Omega(Ω) 에대해 현재텍의발전방향을바라보면라틴알파벳처럼비교적간단한방법으로처리하기어려운한글과같은문자의처리에도상당한노력이기울여지고있음을알수있다. 그러나근본적인문제는, 텍자체가 7비트부호체계를바탕으로만들어져있는반면한글부호화방식은 8비트의문자가두번연속되는이중바이트의체계 (KS X 1001, UCS2) 이거나세번연속되는다중바이트체계 (Unicode/UTF-8) 라는데에서발생한다. 텍버전 3 7 의출현으로유럽언어와같은 8비트부호체계의처리는해결되었지만우리말과같은다중바이트부호를처리하는데에는아직많은문제점을안고있다. 세계적인추세도각나라의모든언어를동시에부호화할수있는통일된부호화방식을지향하게되었고, 국제표준화단체 (ISO) 는 32비트코드체계인국제부호화문자세트 (UCS4) 를발표하였다. 이에따라텍에서이문자세트를사용할수있도록하기위해 8비트코드체계를확장하여 16비트코드체계에바탕을둔 Omega(Ω) 로텍을대체하는시도가나오게되었다. Omega(Ω) 는 16비트텍의구현으로서, 유니코드를처리할수있는텍이라고간단히표현할수있다. Omega(Ω) 는 Yannis Haralambous와 John Plaice가공동으로개발하였는데 1996년 11월에 tetex 버전 0.4를바탕으로시험판이나온이래, 1998년 3월에발표된 web2c 버전 7.2 에는 Omega(Ω) 버전 1.5를공식적으로채택하여함께보급하게되는단계에까지오게되었다. 그후 Omega(Ω) 와 ϵ-tex 을결합한 Aleph(ℵ) 가 TEXLive에포함되어배포되고있다. 비록현재는개발이잠시주춤하고있는듯하나, Omega(Ω) 를통한실험은유니코드를이용하는조판이라는방향을옳게잡았던것이라고생각한다. 제 5 절유니코드를이용한실험들 ( ) Omega(Ω) 에주목하기시작하면서한글라텍은 EUC-KR 부호계밖에표현할수없는한계를넘어서기위해 Omega(Ω) 의 L A TEX 판인 Lambda 매크로를개발하였다. 특히 2002년 KTUG을중심으로이루어진일련의실험과그성과인 u8hangul 스타일은 2005년의한글라텍 1.0.1의형성에결정적인토대가되었다. 한글라텍 1.0.1은여전히 EUC-KR 한글을처리하는 L A TEX 매크로와더불어, 모든한글 (UHC) 을표현하고식자할수있는 Lambda 패키지로도개발되었던것이다. Omega(Ω) 는이제거의완숙한단계에도달하고있고앞으로는텍을완전히대체하고본격적으로사용되는방향으로전개될것을희망하고있습니다. ( 은광희, 2005) 7 현재의 TEX 버전은 이다. 12

14 이시기에 Lambda를이용하여한글및한자로이루어진고문헌의식자에성공한일련의실험은 KTUG 게시판에그흔적이아직도남아있다. 이때야말로한글이라는문자를텍에서표현하는데있어한번의도약을이룬시기였다고볼수있다. 한글표현의한계가없어진것이다. 8 그러나 Lambda를일상적인문서작성에쓰기에는몇가지문제가존재했다. 우선 pdf 최종출력물을얻는중요한방법인 pdftex 을사용할수없다는것, 그대신 DVIPDFMx 9 가 pdf 변환기역할을해줄수있었지만 Omega(Ω) 자체의한계로인하여불편한점들이보고된것, 그리고 2003년에 Omega(Ω) 가더이상개발되지않을것이라는소식을듣게된것, L A TEX 의수많은패키지솔루션들을그대로사용하는데한계를보인것, Omega(Ω) 를위한편리한글꼴세트가충분히마련되어있지않았던것등이었다. 10 한편, pdf 문서제작이초미의관심사로떠오르면서, 한글라텍에대한약간의추가적인보완이시도되기도하였다. hyperref라는 pdf 제작에필수적인패키지와 hangul 패키지의불일치를해결하기위하여 hangul-k 라는 third-party 패키지가제작되기도하였으며, 한글라텍에자간과행간을좀더쉽게적용하려는일련의노력들이이루어지기도하였다. 2004년과 2005년을전후하여, 김도현과김강수에의해 hangul-ucs 패키지가탄생한다. 이것은 Dominique Unruh 의 latex-ucs 패키지를기반으로 UTF-8 인코딩된 유니코드한글텍스트를식자하는것이었다. 11 L A TEX 에서유니코드문자를식자하는 방법으로 utf8.def 와 utf8x.def 가있었는데, 이가운데 latex-ucs 패키지는 utf8x.def 를포함하고있는것이었다. 이패키지에는한글라텍을연구하고수정한결과가반영되어있었으며, 한글문서화서식은거의한글라텍의것을그대로가져와서사용하였다. 자동조사처리나행나눔과같이독자적인연구의결과도물론포함하고있었다. 2005년과 2006년에걸쳐, 더완성된한글라텍과 hangul-ucs 패키지는각각그용도에알맞게발전하였다. 한글라텍의지배적인위치에는변함이없었으나, 빠르게발전하고있는 hangul-ucs도점차그사용층을넓혀가고있었다. 8 한글윈도우즈운영체제의 확장완성형 (CP949) 은 Lambda 를테스트하던시기에잠시고려한적이 없지않으나, 원칙적으로그후고려대상에서제외되었다. 유니코드를이용하여한글을표현하는것이 표준에도부합하며혼선을최소화하는방법이라는데동의했기때문이다. 9 KTUG 의조진환교수가개발한 dvi 드라이버프로그램으로서, 이를바탕으로 X 만들어지기도하였다. 10 이런저런이유로인해, ko.tex 은 Omega(Ω) 를위한지원을제거하기로결정하였다. 11 hangul-ucs 4.0 이후버전과현재의 ko.tex 은 latex-ucs 에의존하지않는다. TEX 의 xdvipdfmx 가 E 13

15 그림 1.1: ko.tex 의탄생 제 6 절 ko.tex 의탄생 (2007) 그림 1.1은 HL A TEX 에서출발하여 ko.tex 에이르는한글텍의발전과정을요약한것이다 년 6 월 30 일, 한국텍학회모임에서, 은광희 김도현 김강수등한글라텍 hangul-ucs의저자들과 KTS 임원 회원등이모인자리에서이두한글매크로패키지를통합하여통합한글텍패키지를제작하기로의견을모은것이다. 이것은그동안한글사용에있어서둘이상의패키지가존재함으로인해빚어진혼란을불식하고향후한글텍 / 라텍의발전의근거를마련했다는점에서도중요한일보전진이었고, 한글라텍으로부터오랜시간발전해온라텍에서의한글사용을총체적으로점검할기회를얻게되었다는점에서도의미가있는결정이었다. 그로부터일개월정도의작업을통하여 ko.tex 베타버전이공개되었다. ko.tex 은 Unicode/UTF-8 인코딩과 EUC-KR을모두지원하기로하였으나원칙적으로향후의발전방향은 Unicode로합의하였다. 또한은광희의 UHC 글꼴을발전시킨 은 14

16 글꼴 type 1 을기본글꼴로채택하고이를 EUC-KR 버전에도적용시킴으로써, 폰 트를둘러싼이런저런불편한점을일소하였으며, pdf 제작및매크로의호환성과 안정성에있어서몇가지중요한진보를이루었다. 15

17 제 2 장 설치 제 1 절 TEX 배포판 각플랫폼별로유명한 TEX 배포판 1 들이있다. 리눅스에서는 Thomas Esser의 tetex 이부동의지위를오랜동안지켜왔으며, 매킨토시에서는 Classic Mac 시기의 OzTEX 이퇴조하고 Mac OS X 하에서 Gerben Wierda의 gwtex 이널리쓰였다. 윈도우즈는사정이복잡하지만 MiKTEX 이사실상가장많은사용자를가진시스템이되었으나 Fabrice Popineau의 fptex 도한동안유수한사용자를보유하고있었다. MiKTEX 을제외하면이모두가 web2c에서파생된시스템이라는공통점을지니고있다. MiKTEX 도종래에는 web2c를변형해서나마받아들이게되었다. 그런데 2007년에접어들면서사정이일변한다. 우선 tetex 과 gwtex 의개발이중단되었다. 또한 web2c 역시독자적인배포판 ( 소스 ) 로서유지되지않게되었다. 그대안으로 TEXLive가새로운표준으로등장했기때문이다. 윈도우즈의경우, 사정은더욱복잡해졌다. KTUG에서는 2006년, TEXLive와무관하게독자적인배포판 KTUG Collection을제작하였는데, 이것은 web2c로부터파생된 Akira Kakuto의 W32TeX의바이너리를가져다쓴것이었다. 다행히도 TEXLive 자체가 W32TeX을채택함으로써, KC2006과 TEXLive는그차이가미미한대단히유사한시스템이되었다. 2 이글은 TEXLive 2007을기준으로작성한다. 매킨토시와리눅스등유닉스-류운영체제에서는 TEXLive 이외의대안이현재로서는없다. 일부리눅스시스템에서 tetex 이여전히주류를이루고있으나조만간 TEXLive로이행하게되리라고기대한다. TEXLive는방대하기도하거니와대단히안정적으로동작하는시스템으로, 사실상다양한배포판의시대를종결시킨 유일 배포판의지위를차지할것으로예측된다. 3 일부상업용 TEX 배포판의경우는, 그배포판을판매하는측에서한글사용에 1 TEX implementations 2 내부적으로차이점은많다. 특히한글운영에필요한다양한유틸리티를제공하는것, 일괄인스톨 러를제공하는것, 패키지관리유틸리티와업데이트유틸리티를제공하는것, 셸유틸리티 (KCmenu) 를 제공하는것등은 TEXLive 보다 KC2006 을더욱편리한시스템이되게한면이있다. 3 MiKTEX 에대하여별도로언급하지못하는것은유감이다. 그러나 MiKTEX 사용자들은 MiKTEX 에서 ko.tex 을설치하는적절한방법을찾아낼것이라고믿는다. 16

18 관한해결책을제시하는것이옳다고생각한다. 이글은상업용배포판에대해서는 별도의언급을할수없을것이다. 제 2 절 ϵ-tex ko.tex/utf는 ϵ-tex 을요구한다. ϵ-tex 의확장프리미티브를활용하고있기때문이다. kotexplain 패키지도 tex으로는컴파일되지않으며 etex이나 pdftex을이용하여야한다. 다행히 TEXLive 2007에서 latex은 ϵ-tex 엔진을사용하도록조성되어있는것이기본값이므로 L A TEX 사용에있어서사용자가별달리주의할것은없다. 다른 TEX 배포판, 예컨대 tetex 등에서는 elatex이나 pdfelatex을실행하지않으면안되는경우도있을수있다. 텍시스템의기본 L A TEX 엔진을 ϵ-tex 으로바꾸는것은쉽게할수있으나이글의범위를넘어선다. 제 3 절 디렉터리구조 (TDS) 표준적인 web2c 시스템 (TEXLive 는 web2c 시스템이다 ) 에서는방대한파일을간단하게찾기위해서 kpathsearch 라는라이브러리를이용한다. kpathsearch 라이브러리는필요한파일들이일정한디렉터리구조에따라배치되어있다고가정하기때문에 TEX 시스템에서파일은이러한디렉터리구조 (TDS 4 ) 를따라배치되어있어야한다. 이글에서는 2004년발표된 TDS version 1.1을기반으로설명한다. 5 이규정에따르면, 텍에필요한파일들은 TDS 의출발점인 TEXMF 밑에두게된다. TEXMF 는텍의원천코드를컴파일할때결정되며, 둘이상을둘수있다. TEXLive 는 texmf, texmf-dist, texmf-doc라는기본 TEXMF 트리와더불어사용자가설정할수있는 texmf-local, $HOME/texmf 등을사용한다. 이들을편의상 TEXMF root라고부르기로하겠다. 한시스템에여러사용자가있을때, 시스템전체에적용되는 TEXMF들과개별사용자자신이이용하는 TEXMF도분리할수있다. 이미설치된텍운영체계에서도 texmf.cnf 파일에서 TEXMF를다시설정할수있다. TDS를준수할경우, 서로다른텍배포판에서도 TEXMF root의경로만다를뿐이고그이하의디렉터리구조는같다. 4 TeX Directory Structure. 5 MiKTEX 2.6 은 TDS 1.1 을잘따르지않는것으로알려져있다. 그러므로아래의설명은 MiKTEX 에 적용되지않는다. 17

19 ko.tex 은위의어떤 TEXMF root 아래설치되어도무방하다. 이위치를편의상 [texmf] 라고표시하겠다. 예컨대 /usr/local/texlive/texmf-local 을 ko.tex 이설치될위치로선정할수있을것이다. 되도록이면.../texlive/2007/texmf 이나, texmf-dist 와같은시스템디렉터리와는분리하는것이좋다. Top-level directories 는텍운영체계의구성요소로서 tex ( 텍파일 ), fonts ( 폰트관련파일 ), metafont ( 폰트가아닌 METAFONT 파일 ), metapost (METAPOST 파일 ), bibtex(bibtex 파일 ), scripts ( 운영체계독립적인실행파 일 ), doc ( 사용자용문서파일 ), source ( 원천파일 ), < 구현 > (emtex, vtex, web2c 와같은텍구현관련파일 ), < 프로그램 > (mft, dvips 와같은프로그램에따른입 력및설정파일 ) 등등이해당된다. 텍체계를구성하는모듬명령 ( 매크로 ) 파일의위치는다음과같은계층구조 를갖는다. TEXMF/tex/ 틀 / 꾸러미 틀 은텍의용어로 \dump 되는것들을말하는데, ko.tex 은플레인텍 (plaintex) 을위한 kotexplain, 라텍을위한 ko.tex-euc/utf 등으로이루어지므로, 거기에맞게 [texmf]/tex/plain/kotex 또는 [texmf]/tex/latex/kotex 등의위치에놓이 게된다. 글자체는다음과같은규정에의해설치할것을요구한다. TEXMF/fonts/ 형식 / 제공자 / 글자체 TEXMF/fonts/{enc,lig,map}/ 하위경로 형식 은글자체의종류를가리킨다. 즉, tfm, vf, type1, afm 등이이에해당한다. 글자체의부호화나합자혹은글자체이름대응파일들은각각 enc, lig, map 형 식 디렉터리에평행한디렉터리에따로둔다. 제공자 의대상은글자체를만드는 업체나만든이등인데, adobe 회사의 type 1 글자체 (adobe), bitstream 회사의 type 1 글자체 (bitstrea), D. Knuth 교수의 METAFONT 글자체 (public), J. Knappen 씨의 METAFONT 글자체 (jknappen) 등을예로들수있다. 글자체 는글자의모 양에따른이름이다. adobe 회사에서만든글자체에는 times, helvetic 등의이름 이사용되고 D. Knuth 교수가텍운영체계를위해서만든글자체의경우는 cm, ec 등의이름이사용되며 ko.tex 에서제공하는글자체에서는 myoungjo, gothic 등의 이름이사용된다. ko.tex 의글자체들은다음처럼위치하게된다. [texmf]/fonts/ 형식 /kotex/{base,extra}/{myoungjo,gothic,...} [texmf]/fonts/map/dvips/kotex 18

20 제 4 절 일반적인설치지침 4.1 다운로드 ftp://ftp.ktug.or.kr/ktug/ko.tex/ 디렉터리에서배포되는압축파일은다음두개이다. ko.tex-macro.tar.gz ko.tex-unfonts-base.tar.gz 둘다.tar.gz로압축된파일로서 gunzip과 tar를이용하여압축해제할수있다. 4.2 매크로와유틸리티 먼저 *-macro-* 압축파일을적당한곳에풀면, 몇개의파일 (INSTALL, LICENSE 등 ) 과일곱개의하위디렉터리를얻을수있다. 이것을다음과같이이동한다. ================================================================ subdirectories and/or files destination ================================================================ bibtex/euc [texmf]/bibtex/bst/kotex/euc doc/* [texmf]/doc/latex/kotex/* latex/* [texmf]/tex/latex/kotex/* makeindex/* [texmf]/makeindex/kotex/* plain/* [texmf]/tex/plain/kotex/* sfd/* [texmf]/fonts/sfd/* util/*.pl [texmf]/scripts/kotex/perl/*.pl ================================================================ util 디렉터리안에는두개의.c 소스와몇개의 *.pl 스크립트가있다. 이 중.c 는컴파일하고 6 *.pl 은실행권한을부여하여 /usr/local/bin/ 으로이동 한다. 7 hbibtex.c $ gcc -o hbibtex hbibtex.c $ cp./hbibtex /usr/local/bin/ 6 윈도우즈용으로.exe 파일이함께제공된다. 7 윈도우즈에서는 Active Perl 등을설치하여이스크립트를실행가능하게해두어야한다. 혹은설치 패키지를이용하는경우.exe 형식파일로제공하는경우도있을것이다. 19

21 hmakeindex.c $ gcc -o hmakeindex hmakeindex.c $ cp./hmakeindex /usr/local/bin/ *.pl $ chmod a+x *.pl $ cp./*.pl /usr/local/bin/ 4.3 글자체의설치 *-fonts-base-* 압축파일을내려받은다음적당한곳에풀면라이센스관련파 일몇개와함께두개의하위디렉터리가있다. 이것을아래와같이이동한다. 기 본으로배포되는폰트패키지에는명조, 고딕, 타자, 그래픽, 네글꼴가족만포함 되어있다. 이밖의 은글꼴 시리즈는 extra 폰트라는이름으로배포되는데, 만약 많은글자체를필요로한다면 extra 패키지까지설치해야할것이다. 설치방법은 동일하다. ======================================================== directory destination ======================================================== fonts [texmf]/fonts tex [texmf]/tex ======================================================== 이글자체들에대한정보를텍엔진에게알려주는것이 updmap 을통한 map 의 생성이다. TEXLive 2007 은이과정을매우간편하게진행할수있는데, 다음절차를 따르면된다. $ mktexlsr $ updmap-sys --enable Map=kotex-base.map 만약 super user 권한을가지고있지않다면 updmap-sys 대신 updmap 을실행한다. extra 폰트패키지도설치했다면 # mktexlsr # updmap-sys --enable Map=kotex-extra.map 이것으로끝이다. 20

22 제 5 절 각플랫폼별설치패키지 앞절에서설명한일반적설치지침을따르는것이번거롭고불편할수도있으므로그럴때는간편한각배포판, 플랫폼별설치패키지를이용하는방법이있다. install package 8 디렉터리에가면윈도우즈 KC2006 및매킨토시 TEXLive를위한설치패키지가마련되어있다. 리눅스는각배포판별로간편한설치유틸리티를제작할수있을것인데, 이에대한정보는 KTUGFaq::ko.TeX/instpack 페이지 9 에서찾을수있다. 제 6 절 CVS 개발버전 CVS::ko.TeX 10 에서최신의개발버전을확인할수있다. 4.1 절에서언급한파일들 은 CVS snapshot 을정기적으로릴리스한것이므로비교적안정적이나, CVS 개발버 전은사용자가개발에참여할의사가있거나최신버전을활용하고자할때, cvs 를 통하여다운로드받을수있을것이다. anonymous 로 CVS 를리트리브하려면다음과같이한다. $ cvs -d :pserver:[email protected]:/home/cvsroot login $ cvs -d :pserver:[email protected]:/home/cvsroot \ checkout ko.tex 패스워드를물어오면그냥엔터를치면진행할수있다

23 제 3 장 사용 한글라텍 ko.tex 은은광희의 HL A TEX 과김도현 김강수의 hangul-ucs를합쳐서하나의패키지로구성한것이다. 1990년대이래한글사용의사실상표준이었던이두패키지가결합함으로써명실공히라텍에서의한글사용에새로운장을열었다고평가해도좋으리라. ko.tex 은본격적인한국어 ( 한글 ) 텍시스템이다. 1 라텍은물론이고플레인텍에서컨텍스트에이르기까지거의모든텍관련매크로에서한글을구현하도록할수있다. 그래도그중심은역시한글 라텍 일것이다. 이글은한글 라텍 에대해서주로다루고다른매크로에서의한글구현에관한사항은별도의장으로설명하겠다. 앞으로별다른언급이없으면 ko.tex 이한글라텍매크로를 ( 주로 ) 가리키는것으로하자. 한글라텍으로서 ko.tex 은 EUC-KR 코드와 UTF-8 한글코드를지원한다. 2 그가운데 EUC-KR 지원은일종의 하위호환성 측면에서제공되는것으로, 향후발전은 UTF-8 부분만반영될것이다. EUC-KR 코드로작성된기존의한글문서를컴파일할수있고이것을더쉽게 UTF-8 문서로바꿀수있게하는것이두코드를모두지원하는원래의목적이며 EUC-KR 버전은 UTF-8 버전과항상동일하게동작하지않는다. 또한 EUC-KR 한글문서는비교적쉽게 UTF-8로포팅할수있으나그역의경우는잘되지않거나많은노력이필요할수있다. 그럼에도불구하고 ko.tex/euc는 HL A TEX 에비해서다음과같은점이개선되었다. 주로 pdf 제작과관련된것들이많다. euc 1. pdf 책갈피를만들어도한글이 깨지지 않게할수있다. 2. pdf 문서에서한글텍스트의검색과추출이되게할수있다. 3. KTUG에서발전한한글타이포그래피의성과를부분적으로나마이용하여비교적잘정돈된한글문서를만들어낸다. 그러나 utf 버전은더욱발전된타이포그래피를다루고있으므로되도록이면 utf 버전이사용되기를희망한다. 1 ko.tex 은텍스트상황에서 ko.tex 이라고쓰고 케이오텍 또는 코리언텍 이라고읽는다. ko 는 한국어를의미하는국제부호에서취한것이다. ko 를소문자로쓴다. 2 윈도우즈에친숙한 CP949 코드는지원하지않는다. CP949 는사실상유니코드의현대한글음절 영역에서다룰수있는모든문자에해당하므로유니코드를통하여지원하는것이바람직하다고판단하 였다. 22

24 한편, hangul-ucs 에비해서는주로 (linux 에서의 ) 설치와관련된문제가현저히 개선되었다. utf 1. latex-ucs 패키지에의의존성이없다. 2. ttf2pk를사용하지않음으로써 ttf2pk에대한의존성도사라졌다. 3. HL A TEX 과통합되었으므로 hlatex에대한의존성도필요없다. 4. 트루타입 은글꼴 을사용하지않기때문에별도로폰트를설치해야하는불편이없다. 5. dvipdfmx.cfg나 ttf2pk.cfg 등의설정파일수정을일일이해야하는불편이없어지고 updmap에의한일괄명령한번으로모든폰트설정이이루어진다. 6. 기본패키지의크기가이전에비하여현저히줄었다. 제 1 절 기본사용법 ko.tex 의기본스타일은 kotex.sty 이다. 다음과같이쓴다. \usepackage{kotex} 언어코드를첫번째인자로지정하는데, 디폴트는 utf이다. 그러므로 utf는별도로명시하지않아도되지만 euc 문서를작성할때는반드시 euc 옵션을되도록맨처음에지정한다. utf euc \usepackage[euc]{kotex} 명령 \usepackage{kotex} \usepackage[hangul]{kotex} \usepackage[euc]{kotex} \usepackage[euc,hangul]{kotex} 대응 \usepackage{dhucs} \usepackage[hangul]{dhucs} \usepackage{hfont} \usepackage{hangul} HL A TEX 에는두가지사용법이있었다. 하나는 hfont이고다른하나는 hangul 이었다. ko.tex 에서는한글서식 hangul 옵션이주어진상태와그렇지않은상태로구분한다. 영문위주문서에한글을사용할때는 hangul 옵션없이쓰고, 한글위주의문서에서한글식서식을설정하려면 hangul 옵션을지정한다. 23

25 kotex.cfg 사용자는일반적으로 utf나 euc 가운데한가지를주로쓰지둘다쓰게되는경우는거의없을것이다. kotex.cfg 파일은이럴경우에대비하여자신이쓰는 kotex 옵션을미리지정해두고단순히 \usepackage{kotex} 이라고만하여그옵션들을활성화하게할수있다. 이파일은 [texmf-ktug]/tex/latex/kotex/ 에있으므로자신에게맞게적절하게수정해서쓰도록한다. 제 2 절 pdf 문서작성을위한설정 2.1 ko.tex/utf 문서 utf 문서는다음과같이한다. 유니코드문서에서는 hyperref 에 [unicode] 옵션을 지정하는것으로 pdf bookmark 문제가모두해결되므로,.out 파일의코드변환과 같은문제에신경쓸필요가없다. \usepackage{kotex} \usepackage{ifpdf} \newcommand\mydriver{\ifpdf pdftex\else dvipdfm\fi} \usepackage{\mydriver,unicode,bookmarks]{hyperref} utf 여기서는 [unicode] 옵션이반드시지정되어야한다. 그리고 CJKbookmarks 를쓰지 않는점이다르다. 또한 euc-bookmark 와같은번거로운절차가필요없다. 위의예 에상당하는컴파일절차예시는다음과같다. 3 $ (pdf)latex foo $ bibtex foo $ komkindex -s kotex foo $ (pdf)latex foo $ (dvipdfmx foo) pdf 문서의텍스트검색과추출은매우중요한문제이다. 이것은어떤드라이 버로 pdf 를생성하느냐에따라조금달라지는데, 일괄요약하면다음과같다. dvipdfmx 기본폰트인 type 1 글꼴을매우잘처리하고이로부터검색및추출이 가능한 pdf 를만들어낸다. 별도의조치가필요없다. dvips 트루타입을처리하지못하는점때문에이전부터문제가있다고생각되었으 나적어도 ko.tex 이제공하는폰트를사용하는한검색추출에문제는없다. 역시별도의조치가필요없다. 다. 3 komkindex 는 Perl Script 이므로경우에따라 komkindex.pl 을실행해야할것이다. 이후로도같 24

26 pdftex 이때는 \pdfgentounicode 를활성화해주어야한다. 그러므로, preamble 에다음과같이선언하는것으로될것이다. \ifpdf \input glyphtounicode \pdfgentounicode=1 \fi 어떤드라이버를사용하든모두포스트스크립트윤곽선글꼴이사용되고, pdf 북마크가잘만들어져있으며한글텍스트의검색및추출이자유롭다. 2.2 ko.tex/euc 문서 \usepackage[euc]{kotex} \usepackage{ifpdf} \newcommand\mydriver{\ifpdf pdftex\else dvipdfm\fi} \usepackage[\mydriver,cjkbookmarks]{hyperref} euc 위의것은 euc 문서를위한설정이다. hyperref 는거의필수이므로이를로드 하여야하고, 북마크는 CJKbookmarks 옵션을준다. 이제이문서를처리하는과정 에서, 맨마지막 L A TEX 컴파일직전에 euc-bookmark 유틸리티를한번실행해주면된 다. 이유틸리티가하는일은북마크를위한파일의인코딩을 hyperref 가이해하는 유니코드인코딩으로바꾸어주는일이다. 그러므로컴파일과정을예시하면다음과 같이될것이다. 4 $ pdflatex foo $ hbibtex foo $ komkindex -euc -s hind foo $ euc-bookmark.pl foo.out >foo-a.out $ cp foo-a.out foo.out $ pdflatex foo DVIPDFMx 를이용하려하는경우불편한 euc-bookmark 를쓰지않아도한글 북마크를잘만들어준다. 이때는다음과같은코드가필요하다. \ifpdf\else \AtBeginDvi{\special{pdf: tounicode KSCms-UHC-UCS2}} \fi 4 KC2006 을위한설치패키지에서는 komkindex.exe 등을제공하기도한다. 이때는굳이.pl 과같은 확장명을붙이지않아도된다. 또한 cp 명령은윈도우즈에서는 copy 이다. 25

27 그리고다음순서로컴파일하면된다. $ latex foo $ hbibtex foo $ komkindex -euc -s hind foo $ latex foo $ dvipdfmx foo 이것은오직 DVIPDFMx 를쓰는경우에만유효하다. 2.3 요약 이상을요약하면, 다음과같다. UTF: \documentclass{article} \usepackage{kotex} \usepackage{ifpdf} \ifpdf \usepackage[unicode]{hyperref} \input glyphtounicode\pdfgentounicode=1 \else \usepackage[unicode,dvipdfm]{hyperref} \fi EUC: \documentclass{article} \usepackage[euc]{kotex} \usepackage{ifpdf} \ifpdf \usepackage[cjkbookmarks]{hyperref} \input glyphtounicode\pdfgentounicode=1 \else \usepackage[dvipdfm,cjkbookmarks]{hyperref} \AtBeginDvi{\special{pdf: tounicode KSCms-UHC-UCS2}} \fi 이와관련하여다음두가지를지적해두기로한다. 26

28 1. 위의코드가제대로동작하려면 KSCms-UHC-UCS2라는이름의 cmap이있어야한다. 이 cmap은 ghostscript의 resource 디렉터리에들어있으므로, 만약 cmap을찾는데실패하는에러를만난다면자신의 TEX 시스템에게이 cmap 위치를알려주도록하라. 2. 위의 pdfgentounicode에관련된것은 type 1 글꼴이사용되었을때유효하다. 사용자가자신의개인적인용도로트루타입으로조판하려한다면이코드보다는 \usepackage{dhucs-cmap} 을선언하도록하여야한다. 제 3 절 폰트에대하여 ko.tex 의가장큰특징이폰트에관련된부분이다. 기본글꼴로 은글꼴 type 1 을채택하였는데이것은 HL A TEX 의기본글꼴이었던 UHC 글꼴을트루타입으로바꾼은글꼴 (hangul-ucs의기본글꼴 ) 로부터얻어진 type 1이다. 원래 UHC 글꼴이 type 1이었는데왜은글꼴로부터별도로 type 1 글꼴을만들어내어야했던가? 그것은 UHC 글꼴이가진독특한특성, 즉자소글꼴이라는점때문이었다. UHC 폰트자체는일종의자소글꼴로서, 이것을실제의문자에대응시키기위해서는 vf를통하여자소조합을실행해야한다. 각문자에유니코드코드포인트를대응시켜주어야텍스트의검색추출이가능해질것이므로 UHC 폰트자체만으로는이것을하는것이어려웠다. 반면은글꼴 type 1은유니코드배열에따라완성된문자를가지고있는글꼴이다. 은글꼴 type 1 자체가 UHC에기원을두고있으니만치, 은글꼴 type 1은 UHC의자소를미리조합하여유니코드코드포인트를부여한글꼴 이라고이해할수있으리라생각한다. UHC 글꼴 (HL A TEX) 은글꼴 (hangul-ucs) 은글꼴 type 1 (ko.tex) 3.1 기본글꼴 기본 (base) 폰트는명조 ( 바탕 ), 돋움 ( 고딕 ), 타자, 굴림의네종류이다. 글꼴 file name(utf) name(euc) 한자 볼드 변형 (c,o) 명조 outbtmxx utbt mj (wmj) O O O 고딕 outgtmxx utgt gt (wgt) O O O 타자 outtzmxx uttz tz (wtt) X 5 X X 그래픽 outgrmxx utgr gr (wgr) X O O 5 고딕의한자를가져다쓴다. 27

29 euc 와 utf 양쪽에서모두동일한글꼴을사용하는데, 다만 euc 에서는 vf 를통 하여필요한글자를뽑아서완성형인코딩에맞게재배열하여사용한다. 3.2 추가글꼴 추가폰트 (extra) 에는은글꼴의나머지폰트들이들어있다. 한자등이들어있거 나변형글꼴이제공되는것은다음과같다. 글꼴 file name(utf) name(euc) 한자 볼드 변형 (c,o) 신문 outshmxx utsh sh (wsh) O X O 옛글 outytmxx utyt yt (wyt) O X O 궁서 outgsmxx utgs gs (wgs) O X O 필기 outpgmxx utpg pg (wpg) X O O 봄 outbmmxx utbm bm (wbm) X X O 다음추가글꼴은굵은글꼴, 기울인글꼴, 장평줄인글꼴등의변형서체를전 혀지원하지않고오직기본모양하나만으로제작된것들이다. 글꼴 file name(utf) name(euc) 한자 볼드 변형 (c,o) 자모명조 outjbtmxx utjbt jbt X X X 자모고딕 outjgtmxx utjgt jgt X X X 자모노벨 outjnvmxx utjnv jnv X X X 자모소라 outjsrmxx utjsr jsr X X X 펜글씨 outpnmxx utpn pn X X X 펜흘림 outphmxx utph ph X X X 이상 15종의폰트가트루타입은글꼴시리즈에대응한다. 여기에 HL A TEX 1.0에 서새로도입된세종류글꼴중두종류를추가글꼴 (extra-hl) 로제공한다. 이추 가글꼴들도기울임 / 장평줄임등의변형글꼴없이 ( 즉, m-시리즈만으로 ) 제공된다. 글꼴 file name(utf) name(euc) 한자 볼드 변형 (c,o) 디나루 outdnmxx utdn dn (wdn) X O X 필기a outpgamxx utpga pga X X X 참고로, euc 에서 extra-hl 폰트를사용하려면 \usepackage{extra-hlfont} 를지 시해주어야한다. 각폰트의인쇄된모양을보려면부록을참고하라. euc 28

30 3.3 은글꼴트루타입폰트세트 hangul-ucs에서사용하던은글꼴트루타입폰트도사용이가능하다. 이것은별도로설치를하여야하며, 은글꼴트루타입도별도로시스템에등록하여야한다. utf 에서는일반적인방법으로이폰트를사용할수있다. 다만폰트명칭이 ut.. 가아니라 un.. 이라는점을알아두자. 따라서예컨대 \SetHangulFonts{unbt}{ungt}{untz} \SetHanjaFonts{unbt}{ungt}{ungtz} 와같이선언하여은글꼴트루타입을쓰도록할수있다. euc 에서은글꼴트루타입을쓰려면 \usepackage{unttf} 를선언한다. 트루타입사용은 DVIPDFMx 로 pdf를제작할때유용하다. pdftex 에서사용하지못하는바는아니지만기울인글꼴등이잘처리되지않는다. 은글꼴 type 1과은글꼴트루타입은사실상같은글꼴이라고보아도무방하다. utf euc 3.4 타자글꼴에관한주석은타자는현재거의유일한고정폭 (monospaced) 글꼴이다. 이글꼴에대해서그디자인을두고논란이없는것은아니지만그래도 \ttfamily에대응하는고정폭글꼴의필요성을고려한다면매우중요한글꼴이라고할수있다. 고정폭으로쓰일것이므로볼드나기울임등은불필요하다. 또한폭을변경시키는변경폭 (c-시리즈, x-시리즈 ) 도제공될필요가없다. 타자글꼴자체에한자가들어있지않은데, ko.tex 의타자글꼴은 uttz로지정해도가상글꼴을통해고딕 ( 돋움 ) 의한자부분을타자체의폭에맞게조절하여사용한다. 은글꼴트루타입은그렇지않으므로위의예와같이 ungtz로해야한다. 3.5 요약 ko.tex 은 은글꼴 type 1 을기본폰트로한다. 이로부터얻을수있는이점은다음과같다. 1. pdftex 에친화적인폰트세트이다. pdftex 과 DVIPDFMx, 심지어 dvips까지모두이형식의폰트를잘다루므로범용성과호환성이매우높아졌다. pstricks 를위해서폰트를바꾸어야하는불편을없앴다. 2. TEX 배포판의유용한유틸리티 updmap을이용하여설치하므로설치과정이깔끔하게끝난다. 29

31 3. pdftex, DVPIDFMx, dvips 어떤것으로도한글텍스트의검색과추출이되는 pdf를제작할수있게되었다. 4. 폰트의품위는은글꼴트루타입과마찬가지이며, pdf에임베드되었을때도훌륭하다. 생각해볼수있는결점은, pdf의폰트정보를확인했을때수백개의 outbtmac, outbtmad... 하는식으로확인되는것이좀거슬릴수있고, 임베드된 pdf의크기가약간커지는정도인데, 둘다치명적인문제는아니라고생각한다. 파일크기는무시할수있을정도이며 DVIPDFMx 를쓰면현저히줄일수있고, 폰트정보는... pdf를제작하는목적이폰트정보를제공하기위해서는아니지않겠는가. 3.6 폰트의라이센스은글꼴 type 1 15 종 (base, extra) 은 GNU GPL 로배포된다. extra-hl 2 종폰트는 ko.tex 의라이센스 (LPPL) 를따른다. 은글꼴 type 1을내장 ( 임베드 ) 한 pdf의라이센스문제에대해서는김도현의글 ( 김도현, 2007) 을참고하라. 결론은 GPL인은글꼴을임베드하였다해도, GPL의감염성이텍스트의내용에미치는것은아니라는것이다. 제 4 절 utf 버전과 euc 버전의관계 원칙적으로 hangul-ucs에서계승한 ko.tex/utf 버전과 HL A TEX 에서이어받은 ko.tex/euc 버전은상호독립적이다. 또한그출력결과가완전히동일하지않으며특히폰트선택과관련된부분은명령간의호환성을현단계에서는보증하지못한다. 그이유는, ko.tex/euc의의미를 하위호환성 측면에비중을두었기때문이다. 이와더불어완성형한글코드를처리하는방식에있어서 UTF-8을처리하는방식 (L A TEX 표준 ) 과다른점이엄연히존재하며이를호환가능하게만드는데드는노력에비해그성과가우리가지향하는바에비추어크지않다고판단한점도작용하였다. 1. 폰트선택명령체계가서로다르다. ko.tex/euc는 HL A TEX 의 HFSS를그대로이어받고있다. 즉예컨대 \hfontfamily나 \hfontseries, 심지어 \pgfamily 와같은명령이제공된다. 반면 ko.tex/utf는이러한종류의명령은제공하지않으며다만한글글꼴가족을선택할수있는몇개의일괄명령만이제공된다. 30

32 2. 행자름방법이다르다. ko.tex/euc는 ( 약간의개선이없지않으나 ) 여전히한글앞에영문자등에잇대어있을때행이나누어지지않을수있다. 3. 미세간격과같은새로운타이포그래피가 ko.tex/euc 에는적용되지않는다. 즉 [finemath] 옵션이하는일을 ko.tex/euc는전혀하지않는다. 4. 식자할수있는문자의범위가다르다. 원칙적으로 ko.tex/utf는문자범위의제한이없으나, ko.tex/euc는 EUC-KR 완성형한글로그범위가제한된다. 5. ko.tex/euc 는항상 nonfrenchspacing 으로만조판한다. frenchspacing 과유사한효과를얻으려면마침표뒤의공백을일반공백과같도록맞추어야할것이다. 반면 ko.tex/utf 는 nonfrenchspacing 을옵션으로선택할수있다. 6. ko.tex/euc로는다국어문서를조판할수없거나더많은노력이필요하다. 7. oblivoir나 memhangul은 euc 버전이없다. 궁극적으로한글텍은유니코드를지향할수밖에없다. 그러므로향후한글텍 의개선과발전에대한노력도 ko.tex/utf 를중심으로이루어질수밖에없을것이다. ko.tex/euc 는예외적으로부득이하게필요한경우에한하여사용되기를희망한다. 31

33 제 II 편 ko.tex/utf 32

34 제 4 장 유니코드문서작성하기 제 1 절 개관 ko.tex/utf 은 UTF-8 유니코드로입력되는한글을 L A TEX 문서에서식자하고조판하게 하려는스타일패키지로서, 그핵심부분인 dhucs 패키지를김도현이작성하였다. 제 2 절 첫번째문서 2.1 간단한문서작성그림 4.1과같은간단한문서를작성해보자. ko.tex/utf의기본스타일은 kotex 패키지이다. 그러나이스타일은 dhucs 패키지를부른다. 또한대부분의 contrib 패키지의명칭은 dhucs-로시작한다. 제 10 행이후에서 hyperref 패키지를로드한다. 반드시 [unicode] 옵션을주어야한다. 한글 PDF 책갈피 (bookmarks) 설정은 hyperref 의 default 이므로별도로지정하지않아도책갈피가만들어진다. 만약책갈피를만들지않고자한다면 bookmarks=false를옵션에추가한다. 패키지를로드한후 \hypersetup 명령을이용해서설정값을추가할수도있다. 1 제9행이후의 \ifpdf.. \else.. \fi 구문은 pdfl A TEX 의실행여부에따라서로다른설정을하는부분이다. 이구문을사용하려면 ifpdf 패키지가필요하다. 제12행은 pdfl A TEX 에서텍스트의검색 추출을가능하게하는행이다. DVIPDFMx 를위해서는별도의설정이필요없다. 제4행부터제7행까지는반드시필요한경우가아니면꼭지정하지않아도상관없다. 각 ( 부가 ) 패키지의작용등은이문서를읽으면알수있다. 제 5 행은 dhucs-interword 패키지를로드했기때문에선언한것으로서이에관련된문제는 97 페이지의 2.2절에설명되어있다. 이내용을 firsttest.tex이라는이름으로저장한다. 1 hangul-ucs 4.0 이전버전에서는 dhucs-ucshyper 라는부가패키지가제공되었으나, hyperref 의 기능향상에따라불필요해졌으므로 ko.tex 에서는이부가패키지를제공하지않는다. 33

35 1 \documentclass{article} 2 3 \usepackage[hangul,nonfrench,finemath]{kotex} 4 \usepackage[default]{dhucs-interword} 5 \usehangulfontspec{ut} 6 \usepackage[hangul]{dhucs-setspace} 7 \usepackage{dhucs-gremph} 8 9 \usepackage{ifpdf} 10 \ifpdf 11 \usepackage[unicode,pdftex,colorlinks]{hyperref} 12 \input glyphtounicode\pdfgentounicode=1 13 \else 14 \usepackage[unicode,dvipdfm,colorlinks]{hyperref} 15 \fi \begin{document} \section{ 들어가기 } 20 처음문서를작성합니다 \end{document} 그림 4.1: 첫번째문서, 예제 2.2 컴파일이문서를컴파일하려면명령행에서다음과같이한다. $ latex firsttest PDF 출력을얻으려면, latex 대신 pdflatex을실행한다. 또는, latex으로얻어진.dvi에대하여 dvipdfmx를실행한다. $ dvipdfmx firsttest 2.3 영문글꼴영문글꼴은일반적인 L A TEX 문서의경우와마찬가지로사용할수있다. ko.tex/utf의영문글꼴기본값은 OT1 인코딩의 CM이다. T1 인코딩으로 EC 글꼴을사용하려면다음을 preamble 에적어준다. \usepackage[t1]{fontenc} 34

36 예를들어 pxfonts를본문에서쓰려면, \usepackage{pxfonts} 와같이한다. dhucs 자체가 font encoding을정의하고있기때문에, font encoding을바꾸는명령, 예를들면 \usepackage[t1]{fontenc} 과같은행은 dhucs 가로드되기전에부르는것이좋다. 2.4 옵션들 ko.tex/utf가제공하는옵션은다음과같다. hangul 한글문서서식을설정한다. 장과절포맷은 제 1 장 과같은형태로식자된다. 기본값은한글문서서식을설정하지않는것이다. nojosa 자동조사기능을끈다. dhucs 초기버전에서다른패키지와의호환을위하여제공되었던것이지만현재는굳이이옵션을사용해야할필요가현저히줄었다. 그러나옵션으로서는유지되고있다. hanja 한글문서서식을설정하는것은 hangul 옵션과같으나, 한글이름대신한자이름을사용한다. nonfrench 한글문장에대해서도 non-french-spacing 을적용한다. 즉, 마침표등의뒤의공백이다른공백보다조금더길다. 기본값은 french-spacing으로식자하는것이다. finemath 원래는문장중의수학식과이어지는한글사이에적절한 (fine) 간격을부여하기위한것이었으나, 곧문장부호등을포함한개념으로확대되었다. strictcharcheck 한글폰트가운데.tfm은있으나해당문자가결락되어있는것이있다. 이럴경우에에러를보여주도록하는옵션이다. 이옵션을지시하지않으면문자가없어서식자하지못한것을.log에기록만하고에러는발생시키지않는다. 2.5 부가패키지들 ko.tex/utf과함께제공되는부가 (contrib) 패키지들은다음과같다. dhucs-cmap pdfl A TEX 을이용하여한글문서를작성할때한글텍스트의검색과추출을가능하게하는패키지이다. 주로트루타입글꼴을사용할때필요하다. 35

37 dhucs-interword 한글문서의자간과단어간격을설정한다. default 옵션과 HWP 옵션을쓸수있다. dhucs-setspace 한글문서의행간을설정한다. hangul 옵션을반드시지정해야한다. dhucs-gremph \itshape에해당하는한글문자를그래픽글꼴로바꾼다. 그래픽대신굵은글꼴로대신하는 bfemph 옵션을쓸수있다. dhucsfn 한글라텍의 hangulfn을 dhucs로포팅한것으로, 한글문서에알맞은여러가지각주짜기방법을제공한다. dhucs-trivcj 간단한일본어또는중국어문단을식자할수있게하는부가패키지이다. dhucs-midkor 1933년이전 옛한글 을식자하기위한패키지이다. dhucs-enumitem enumitem 패키지에한글식글머리정의를추가하는작은패키지이다. enumitem 패키지를로드한후에불러쓰면된다. dhucs-enumerate enumerate 패키지에한글식글머리정의를추가하는작은패키지이다. dhucs-paralist dhucs-enumerate 패키지와같으나 paralist 패키지를사용할때발생하는문제를해결하기위한것이다. 제 3 절 글꼴사용과선택 ko.tex/utf에서사용할수있는기본글꼴은 은글꼴 type 1 이다. 이에대해서는 27 페이지 3절에서이미상세히밝혀두었다. 여기서는이기본글꼴을문서에서사용자가사용하는방법에대해서기술한다. 우리는글꼴문제에있어서상대적으로보수적인태도를취하려한다. 즉, 하나의문서에기본적으로사용되는글꼴은 rm, sf, tt 세가지라고보는것이다. 다른아무런설정없이기본값으로문서를작성하면, rm은은바탕, sf는은돋움, tt 는은타자로설정되어있다. 이이상의글꼴을하나의문서에서사용하는것을권장하지는않지만불가능하지도않다. 필요하다면은글꼴이외의글꼴을사용하는것도가능하다. 36

38 표 4.1: 글꼴사용방법 글꼴가족 rm sf tt emph 한글 utbt utgt uttz utgr 한자 utbt utgt uttz utgt 3.1 기본글꼴을변경하는방법 ko.tex/utf의기본글꼴설정을요약하면표 4.1과같다. 여기서 emph란, dhucs-gremph 패키지를불렀을경우이탤릭과슬랜티드에대응하는한글글꼴을가리키는것이다. 이패키지를로드하지않은상태에서는 emph(itshape) 에기울임글꼴이대응된다. 2 강조의방법으로서글꼴치환과기울임방법에대한논란은이글뒷편에서더상세히다룬다. ko.tex/utf는모두세영역의폰트를사용하여문서를식자한다. 1. 영문자영역. ASCII 문자들은모두여기에들어간다. 즉로마자알파벳과숫자, 일부문장부호들이다. 이것은영문문서에서와동일한영문자폰트를이용하여식자한다. 다른설정이없으면 OT1 인코딩의 CM이기본값이며 T1 인코딩을호출하면 cm-super 폰트를 EC 글꼴문자로사용한다. 만약 lmodern을이용하고싶으면 \usepackage{lmodern} 이라고하면된다. 2. 한글 영역이란 [U+AC00] 에서 [U+D7FF] 까지한글음절문자영역의글자와한글자모및한글호환자모글자들에해당한다. 지정된한글폰트로식자한다. 3. 한자 영역이란위의영문자영역과한글영역을제외한모든문자가포함된다. 한중일호환문장부호, 한자는물론이고일부폰트에서발견할수있는 PUA( 사용자영역 ) 옛한글문자도여기에속한다. 이세영역은완전히분리되어있고서로영향을미치지않는다. 즉한글영역의글꼴을바꾸더라도영문자나한자영역의글꼴의선택이바뀌지않는다는것이다. 다만 rm, sf, tt 라는세글꼴군에한하여각각해당되는한글글꼴과한자글꼴을가져다가식자한다. 예를들어 \sffamily 명령이불리면영문자와숫자는 \sfdefault인 cmss 폰트가사용될것이며, 한글은이미정의되어있는 sfhangulfont, 여기서는 utgt가식자될것이다. 2 다만 oblivoir 클래스에서는 gremph 가기본설정이다. 37

39 글꼴가족의호칭은대부분네개의알파벳문자로표현된다. 기본글꼴은각각 ut라는폰트제작자부호와 bt라는폰트가족대표호칭으로이루어져있는데, utbt라는이름으로호출되는실제의폰트들은수백개의서브폰트들로이루어져있다. 문서작성자는실제폰트자체의이름에는신경쓸필요가없고 utbt 또는 utgt라는호출가족명칭만기억하면될것이다. 기본글꼴설정을변경하려면다음과같이한다. 여기예시된 XXaa 등은임의의폰트명칭인데, 이런형식의폰트세트가미리시스템에설치되어야할것은당연하다. \SetHangulFonts{XXaa}{XXbb}{XXcc} \SetHanjaFonts{XXba}{XXbc}{XXca} 위의명령은각각한글글꼴과한자글꼴을지정한다. 인자 (parameter) 는세개인데각각 rm, sf, tt 글꼴에대응한다. 예를들어본문서체 ( 바탕또는명조 ) 만을한겨레결체로바꾸고자하는경우, ( 한겨레결체가 hkbt라는이름으로시스템에이미설치되어있다고하고 ) 다음명령을지정하면된다. \SetHangulFonts{hkbt}{utgt}{uttz} 한겨레결체는한자영역이없는글꼴이므로한자폰트로지정할수는없을것이다. 문서전체의기본글꼴을변경하면서폰트에특정한미세타이포그래피조절값 을적용하려면, 5.2 절에서다루고있는대로 hfontspec 을이용하는방법을쓰는 것이좋다. 새로운폰트를설치할때그폰트에해당하는 hfontspec 파일이있는 지살펴본후, 이것을다음처럼호출하는것으로충분하다. \usehangulfontspec{xx} 물론이방법은 hfontspec.xx 가잘설정되어시스템에설치되어있어야할것 이다. oblivoir 클래스의부수스타일인 hfontsel 패키지를이용하여다음처럼하 는방법도있다. \usepackage{hfontsel} \SelectHfonts{XXaa,*,*}{*} 본문의바탕 ( 명조 ) 서체만을 XXaa 로바꾼다. 한자글꼴을별도로지정해야한다면, 예컨대 \SelectHfonts{hkbt,*,*}{utgt,*,*} 38

40 와같은방법이있다. 본문에서는다음과같이글꼴을바꾼다. 이렇게이루어진지정은현재의구역안에서 3 유효하다. \SetSerifFonts{utbt}{utbt} \SetSansFonts{utgt}{utgt} \SetMonoFonts{uttz}{uttz} 두인자는각각한글영역글꼴과한자영역글꼴에해당한다. 다음단락은 sanshangul에 utgs를할당하고한자는 은옛글 로식자한예이다. 4 이단락을시작하기전에다음과같이선언하였다. \SetSansFonts{utgs}{utyt}\sffamily TEX 은스탠퍼드대학의도날드크누쓰 (D. Knuth) 교수가만든文書組版言語이다. L A TEX 은문서準備시스템이다. 문서의일부에대해서폰트를바꿀때는이방법을사용하기를권장한다. 그래서 \grfamily, \gtfamily 또는 \hfontfamily 등의 ko.tex/euc 명령은제공하지않는다. 폰트의남용은한글문서의중요한폐해이다. 이를억제하게하기위해서는, 기본폰트들은아주쉽게사용하게하고, 다른글꼴은변경을가능하게는하되, 되도록쉽지않게만드는것이옳다고생각한다. 3.2 일시적으로폰트를변경하는방법기본세글꼴이외의별도글꼴을일시적으로사용하려하는경우를생각해보자. 일시적으로글꼴을바꾸는데사용되는명령으로 \SetAdhocFonts가제공된다. 이명령도두개의인자를취하는데, 하나는한글글꼴이름이고, 두번째것은한자글꼴이름이다. 앞서언급한대로이매크로에의하여한글과한자글꼴이바뀌더라도영문폰트에는영향을끼치지않는다. 우선사용하려는글꼴이은글꼴의일부라면, 간단히다음과같이새로운명령을자신이정의해서활용하도록한다. 여기서는은필기서체를사용하는경우를생각해보자. \newcommand\myfnt{\ttfamily\setadhocfonts{utpg}{utgt}} 3 \begingroup( 또는여는중괄호 ) 에서 \endgroup( 또는닫는중괄호 ) 까지 4 이부분이에러없이컴파일되려면 extra 폰트까지설치되어있어야한다. 39

41 이와같이설정한다음, 본문에서다음과같이사용한다. {\MYFNT 여기에단락이옴 } 위의예에서중괄호로이단락을묶어준이유는 \MYFNT 명령의범위를한정하기위해서이다. 중괄호로닫은이후에는다시원래의폰트설정으로복귀한다. 중괄호가혼란스러우면명령형명령을정의하여사용한다. 명령형 \textmyfnt를다음과같이정의할수있다. \DeclareTextFontCommand{\textMYFNT}{\ttfamily\SetAdhocFonts{utpg}{utgt}} 이명령을사용하여, \textmyfnt{ 여기에단락이옴 } 과같이코딩한결과는그림 4.2와같다. 여기에단락이옴 그림 4.2: 폰트지정예제 이명령의첫째줄 \ttfamily 를먼저선언한이유는영문글꼴을 tt family 로 하기위해서이다. 이선언은한글에도영향을미치므로 ( 앞서설명하였다 ), 한글글 꼴을바꾸기전에선언해둔다. 3.3 사용자폰트를활용하는방법만약, 원하는글꼴이은글꼴이아닌경우라면어찌할것인가? 사용자자신의트루타입한글폰트를 ko.tex/utf에서활용하려한다면, 먼저해당폰트를사용하기위해필요한파일세트가 KTUG 등에서제공되지않는지확인해보는것이필요하다. 예를들면백묵글꼴, 문화부글꼴, 윈도기본바탕 굴림글꼴, 한겨레결체, 아리따글꼴등에대한.tfm 및부수파일들이별도로제공되고있다. 이이외의폰트를활용하는것은, 호환성이나폰트의라이센스등의문제로그다지권장할만한일이라고하기어렵다고생각한다. 그러나정말로새로운트루타입폰트를사용하려하며, 폰트라이센스등에대하여자신이책임질수있고, 약간의복잡한설정작업을기꺼이해내려한다면, ttf2kotexfont 유틸리티를사용하면된다. 이유틸리티의사용법은이문서말미에별도의장으로마련되어있다 (113 페이지, 9장 ). 한편, 일반적인트루타입폰트의사용방법에대해서는 한글레이텍에서임의의트루타입사용하기 ( 김강수 & 주철, 2004:2007) 라는문서를참고하라. 40

42 3.4 엄격한문자체크한글문서작성상황은매우복잡해서, 현재사용중인폰트에사용자가표현하고자하는모든문자가구비되어있지않은경우가많다. 기본글꼴인은바탕만하더라도예컨대한자는 KS X 1001에해당하는 4888자밖에는들어있지않다. 그런데 TEX 은.tfm이아예없다면에러를내지만.tfm은있으나그.tfm의문자정의에해당글자가없는경우에는다만글자를식자하지않고경고만을보이고지나가면서.log에기록하는것에그친다. 그결과.log를세심하게살피지않으면혹부지불식간에특정문자를식자하지못하는결과를초래하게된다. 이를위하여도입된옵션이 [strictcharcheck] 이다. 이옵션을활성화하면 ϵ-tex 의원시명령을이용하여만약.tfm은있는데특정문자가없다면에러를발생시키면서컴파일을멈추게한다. 문서작성자는이를통해현재의상황을보다잘인식하고폰트를교체하거나임시폰트를지정하는등의조치를취할수있을것이다. 이옵션을지정하지않으면에러를보여주지않고다만.log에만기록한다. 제 4 절 몇가지한글화 4.1 기호문자처리기호문자중일부에대해서는미리식자방법을정의해두었다. 1 / 2, 1 / 4, 등의문자와같은몇가지한글기호문자는 [hangul] 옵션을준경우에식자할수있다. babel 패키지등을사용하거나하는경우한글기호문자의 \euro( ) 역시 TEX 코드로변환되므로, 예컨대 eurofont 패키지또는 eurosym 패키지를사용하여식자하도록하여야할것이다. Windows 기본한글입력기에서특수문자를입력하는방법은 ㄱ, ㄴ 등의키를누른다음 [ 한자 ] 키를눌러서선택하는것이다. 이방법으로입력되는특수문자의예를표 4.2에서보였다. 5 ㅎ 행에는그리스문자가할당되어있다. 텍스트그리스문자는현재본문기본한자글꼴에있는것으로식자되는데, 만약더나은텍스트그리스문자가필요하다면 babel 패키지를이용하여입력하도록한다. 은바탕글꼴로식자하면이러하다 : Τεχνή. 기호문자의직접입력과처리가가능하기는하지만, 일반적으로이기호문자를문서에서사용하는것을권장하지는않는다. 기호문자를써야할경우에는알맞은 L A TEX 의기호문자명령으로얻도록하는편이나을것이다. 5 \DeclareUnicodeCharacter 명령을이용하여 ucs 의문자설정을변경하는방법도있다. 41

43 자판 ㄱ! ',. / : ;? ^ _ `... \ ~ ˇ Ð ㄴ " ( ) [ ] { } ㄷ + - < = > ± ㄹ $ % F A % μl ml dl l kl cc mm3 cm3 m3 km3 fm nm μm mm cm km mm2 cm2 m2 km2 ha μg mg kg kt cal kcal db m s m s2 ps ns μs ms pv nv μv mv kv MV pa na μa ma ka pw nw μw mw kw MW Hz khz MHz GHz THz Ω kω MΩ pf nf μf mol cd rad rad s rad s2 sr Pa kpa MPa GPa Wb lm lx Bq Gy Sv C kg ㅁ # & Co. TM a.m. p.m. R a o 표 4.2: Windows 특수문자입력방식에의한특수문자 42

44 4.2 한글문서서식한글문서는외국어문서와는달리몇가지보조적서식을가지고있다. 장절명령이별도로짜여져야하고, 행간이나단어간격도적절하게배치되어야한다. 이를위하여이패키지는 [hangul] 패키지옵션을제공한다. 이옵션이지시되면한글이름, 한글장절표제등을활성화하고행간을한글에알맞게설정한다. 또한, 장절명령과관련해서 ko.tex/euc 와동일한 \kscntformat 명령이작동한다. 그리고한글이름과관련해서 \ksnamedef 명령도작동한다. 이명령의의미와사용법에대해서는 88 페이지의 2.7절을보라. 한글이름에관한사항은 ko.tex/euc와 ko.tex/utf가동일하다. 89 페이지표 6.2 를참고하라. 4.3 장절명령 article 문서에서한글서식을사용하면서장절표제의 제 1 절 과같은양식을쓰지않으려면다음과같이설정하는것이일반적이다. 이매크로는 ko.tex/utf에 [hangul] 옵션을지정한경우에만쓸수있다. \kscntformat{section}{}{} 장절표제형식을설정하기위해서 ko.tex/utf와함께제공되는 dhucs-sectsty 를사용하는방법도있다. 이것은 Rowland MacDonnell 씨의 sectsty 패키지를한글화한것이다. 100 페이지의 4절을보라. sectsty 패키지에없는새로추가된옵션은 [ensec] 인데, 이옵션을주면 ko.tex/utf에 [hangul] 옵션을주었더라도제 1 절과같은형식이아니라영문문서에서와같이제와절이붙지않는형식으로식자된다. 그밖의사용법은 sectsty 패키지에서와같다. 다음은절모양을바꾸는한가지보기이다. \sectionfont{\nohang\sffamily\centering} 다음소절을이런방식으로바꾸어보았다. 4.4 강조 한글문서에서강조 ( 드러냄 ) 를처리하는방법은몇가지가있다 기울인글꼴강조 강조 (emph) 선언 \em 이나명령 \emph 는일반적으로이탤릭글자로식자하는것 이영문문서의관행이다. 그러나우리글자에는이탤릭이없어서, 종래에는 fake 43

45 slanted 글꼴을사용하여왔다. 그러나 fake slanted 는 pdfl A TEX 이지원하지않을뿐 아니라, 설령구현된다하더라도강조의의미는별로드러나지않는장식적인문자 꼴이되어버리고만다 드 러 냄 표 강조 ( 한글맞춤법, 1988) 의부록 문장부호 에드 러 냄 표가 규정되어있다. 이것은과거한글세로쓰기서적에서사용되던방점을찍는방법의연장선상에있는것이다. 드러냄표강조는한글라텍에서시작된것으로, ko.tex/euc와 ko.tex/utf가모두지원한다. \dotemph가드러냄표를식자하는명령인데, 이차이를간단히요약하면다음과같다. ko.tex/utf ko.tex/euc 비고 상점 \dotemph \dotemph \dotem a a 선언형 고리상점 \circemph \circemph \circem a [hangul] 임의의상점 \useremph \dotemph 명령으로점을한글글자위에찍을수있다. [hangul] 옵션을지시하면 \circemph와 \dotemph 그리고 \useremph, 세개의명령을사용할수있고, 이가운데 \useremph는사용자가설정가능하다. ko.tex/euc에서와는달리선언형은제공하지아니한다. 한글의본이름은 훈 민 정 음이다. 중요한것은 왜 사 느 냐가아니라 어 떻 게 사 느 냐하는문제이다. 사 용 자 정 의 드 러 냄 표는다음과같은방식으로사용할수있다. \renewcommand\useremphchar{\tiny } \setlength\useremphraisedim{10pt} \useremph{ 사용자정의드러냄표 } 글꼴변경강조최근들어서는돋움체글꼴을사용하는것이하나의관례가되어가고있다. hl A TEXp 는여기에그래픽글꼴을사용하였는데, 이것도시각적으로두드러지기만한다면나쁘지않은선택이라고생각한다. 이기능을사용하려면 dhucs-gremph 패키지를로드한다. 만약 emph에해당하는글꼴을그래픽이아닌다른글꼴로바꾸고싶다면다음과같이한다. 44

46 \usepackage[gremphhangul=unbm,gremphhanja=unyt]{dhucs-gremph} 첫번째인자는한글, 두번째인자는한자글꼴을지정하는것이다. 또, emph에해당하는문자를굵은글꼴로하고싶으면, \usepackage[bfemph]{dhucs-gremph} 와같이 [bfemph] 옵션을지정한다. 6 문서의중간에서기울임방식과글꼴변경 \emph 방식을바꿀수도있다. 각각 \regremph 명령과 \ungremph 를사용한다. \regremph 를지정한경우에는, 테스트. test. 와같이식자되고, \ungremph 를설정한경우에는, 테스트. test. 와같이식자된다 밑줄강조 한글맞춤법에는밑줄강조에대해서도언급하고있다. \underline 으로밑줄을 그을수있지만, ulem 패키지를사용하면더나은결과를얻을수있다. 다음보기에서명사가 \uline{ 아닌 } 것은? 다음보기에서명사가아닌것은? ulem 패키지는옵션없이로드하면모든 \emph를밑줄강조로바꿔놓는다. 이를억제하고 \uline을썼을때만밑줄을그으려한다면 \usepackage[normalem]{ulem} 과같이하여야한다. 또한, ulem 패키지를 ko.tex/euc에서바로사용할수는없으므로 ko.tex/utf에서만 ulem을이용한밑줄방식을써야한다. ko.tex/euc에대해서는 99 페이지의 3절을참고하라. 6 은글꼴중에는 boldface 글꼴이따로마련되어있지않은것이많다는점에주의하라. 이경우에는 약간의 Warning 을내면서그냥보통글꼴로식자된다. 45

47 4.5 자간, 행간한글타이포그래피의가장기본적인요소인자간은 5.2에서소개한한글폰트스펙의일부로포함하여취급하게되었다. 종래자간 단어간격을지원하던 dhucs-interword 패키지는여전히제공되는데, 자간만을일시적으로바꾸거나할경우부분적으로활용할수있을것이다. 그러나이제자간의변경은폰트스펙을이용하는바꾸는것이좋겠다. 이패키지는단어간격의제어를위해사용하는정도로활용될수있을것으로본다. 행간을조절하기위해서는 dhucs-setspace 패키지를사용한다. 한글자간의설정에있어서반드시알아두어야하는사실을, [finemath] 옵션이활성화된경우에만자간설정이의미를갖는다는것이다. 이옵션을주지않은경우에는자간이언 제 나 0pt이며이것을바꿀수없다. dhucs-interword 패키지를로드하면 finemath가활성화되어있지않을경우오직단어간격에만영향을미친다. 이패키지를사용할때는순서에주의하여야하는데, dhucs-interword 패키지를 dhucs-setspace 패키지보다먼저올리도록하는것이좋다. \usepackage[hangul]{dhucs} \usepackage[default]{dhucs-interword} \usehangulfontspec{ut} \usepackage[hangul]{dhucs-setspace} dhucs-interword 패키지를로드한직후에문서에서사용되는한글폰트의폰트스펙을활성화해주는것은좋은선택이다 ( 세번째줄 ). dhucs-interword 패키지에대해서는 97 페이지 2.2 절, dhucs-setspace 패키지에대해서는 98 페이지 2.3절을보라. 4.6 장평특별한효과를위해서 좁은장평 을사용하려하는경우가있을수있다. 기본글꼴에 c-series의 93% 장평 7 이정의되어있으므로이것을사용할수있다. 다음문단은좁은장평으로텍스트를식자한것이다. \fontseries{c}\selectfont를선언하였다. 당연한말이겠지만, 좁은장평이준비되어있지않은글꼴 자모바탕등 은이렇게하더라도좁은장평을얻을수없다. 어떤폰트에좁은장평이마련되어있는지에대해서는 27 페이지 3절에서설명하였다. 7 표준 NFSS 에서 c-series 는보통 75% 의좁은폭이다. 그러나 ko.tex 에서는 92 또는 93% 를 c-series 에할당하였다. 한글의 75% 장평은거의무의미한변형이라고생각한다. 46

48 아아, 나는이제야도 ( 道 ) 를알았도다. 마음이어두운자는이목이누 ( 累 ) 가되지않는다. 이목만을믿는자는보고듣는것이더욱밝혀져서병이되는것이다. 이제내마부가발을말굽에밟혀서뒷차에실리었으므로, 나는드디어혼자고삐를늦추어강에띄우고, 무릎을구부려발을모으고안장위에앉았다. 한번떨어지면강이나물로땅을삼고, 물로옷을삼으며, 물로몸을삼고, 물로성정을삼을것이다. 이제야내마음은한번떨어질것을판단한터이므로, 내귓속에강물소리가없어졌다. 무릇아홉번건너는데도걱정이없어의자위에서좌와 ( 坐臥 ) 하고기거 ( 起居 ) 하는것같았다. 장평을자유로이바꾸는것은허용되지않는다. 8 다만미세타이포그래피를위하여아주미세한장평의조절을 pdftex 이행하는경우가있는데이것은 c-series 를선택하는것과는다른문제이다. 4.7 nonfrench spacing nonfrench spacing이란, 마침표뒤에별도의공백을조금더주는조판양식을말한다. 문장의마침을더잘드러나게할목적으로사용하는공백이라고한다. 유럽에서는이추가공백을허용하지않는것이일반적인조판형식인듯하다. 이기능을활성화하려면 [nonfrench] 옵션을지정한다. 추가공백의기본크기가마음에들지않으면 \xspaceskip으로변경할수있다. 다음두단락은동일한문장을각각 french-spacing과 nonfrench-spacing으로식자한예이다. 이인용문은연암의 하룻밤에아홉번물을건너다 ( 박지원, 1780) 로부터왔다. Frenchspacing: 아아, 나는이제야도 ( 道 ) 를알았도다. 마음이어두운자는이목이누 ( 累 ) 가되지않는다. 이목만을믿는자는보고듣는것이더욱밝혀져서병이되는것이다. 이제내마부가발을말굽에밟혀서뒷차에실리었으므로, 나는드디어혼자고삐를늦추어강에띄우고, 무릎을구부려발을모으고안장위에앉았다. 한번떨어지면강이나물로땅을삼고, 물로옷을삼으며, 물로몸을삼고, 물로성정을삼을것이다. 이제야내마음은한번떨어질것을판단한터이므로, 내귓속에강물소리가없어졌다. 무릇아홉번건너는데도걱정이없어의자위에서좌와 ( 坐臥 ) 하고기거 ( 起居 ) 하는것같았다. 8 그러나사용자가꼭필요하다면주어진폰트로부터특정장평의 tfm 을얻어내고이것을사용하도록 하는방법은있다. 다만그절차가좀복잡할따름이다. 이방법을설명하는것은이문서의목적과 무관하다. 47

49 Nonfrenchspacing: 아아, 나는이제야도 ( 道 ) 를알았도다. 마음이어두운자는이목이누 ( 累 ) 가되지않는다. 이목만을믿는자는보고듣는것이더욱밝혀져서병이되는것이다. 이제내마부가발을말굽에밟혀서뒷차에실리었으므로, 나는드디어혼자고삐를늦추어강에띄우고, 무릎을구부려발을모으고안장위에앉았다. 한번떨어지면강이나물로땅을삼고, 물로옷을삼으며, 물로몸을삼고, 물로성정을삼을것이다. 이제야내마음은한번떨어질것을판단한터이므로, 내귓속에강물소리가없어졌다. 무릇아홉번건너는데도걱정이없어의자위에서좌와 ( 坐臥 ) 하고기거 ( 起居 ) 하는것같았다. 4.8 각주한글라텍은한글문서의각주판짜기를위한 hangulfn.sty를제공한다. 이각주판짜기스타일의 ko.tex/utf 버전은 dhucsfn 패키지이다. 둘사이의다른점은 dhucsfn 이영문옵션만을받아들인다는점이다. 기본값은 superscript, hang 이다. 첨자괄호내어쓰기다항이어쓰기단순이어쓰기왼쪽맞춤들여쓰기들여왼쪽맞춤들여내어쓰기들여괄호맞춤 superscript parenthesis hang multipara para leftflush indent leftflushindent hangpar varhangpar 이패키지의사용법과각각의각주모양예시는 93 페이지 1 절을보라. 4.9 한글식카운터그림 4.3과같은한글카운터형식을제공한다. [hangul] 옵션을주면다음과같은카운터형식을몇개더사용할수있다. \hnum{cnt}, \hanjanum{cnt}, \HArabic{cnt} 48

50 \newcounter{test} \setcounter{test}{2} \jaso{test} ㄴ \pjaso{test} \ojaso{test} ᄂ \gana{test} 나 \ogana{test} 나 \pgana{test} \onum{test} 2 \pnum{test} ⑵ \oeng{test} b \peng{test} \hnum{test} 둘 \Hnum{test} 둘째 \hroman{test} ⅱ \hroman{test} Ⅱ 그림 4.3: 한글식카운터 cnt 값이 2 일때, 각각이, 二, 2 로표현된다 자동조사명령자동조사는주로사후적으로결정되는숫자및문자열 ( 예컨대 \ref의결과확정되는참조번호 ) 에붙는조사의형태교체를자동화해주는기능을말한다. 참조된숫자가 1일경우에목적격조사는 을 이붙어야하지만 2일경우에는 를 이붙어야한다. 이참조된숫자들은사후적으로확정되므로미리 을 또는 를 가운데어떤것을써야할지알수없기때문에, 우리말문서의작성에서는빼놓을수없는기능이다. 자동조사명령은다음열두가지가있다. 9 \ 이 \ 가, \ 을 \ 를, \ 와 \ 과, \ 로 \ 으로, \ 은 \ 는, \ 라 \ 이라마지막의 \ 라, \ 이라는서술격조사어간 이 에어미 ( 의일부 ) 가붙은형태로서서술격조사어간이생략되는경우가이이외에도더있지만, 다른경우에는명백히생략되지않아도문장이어색하지않다고보아 ( 이 ) 라 만을자동조사명령으로채택한것이다. 자동조사의기능과그사용법은 85 페이지 2.6 절을참조하라. 9 ko.tex/euc 에는 \ ㅡ 와 \ ㅣ 가더있다. 49

51 자동조사사용에있어서알아두어야할점이하나있다. \section 등장절명령이나 \caption과같은명령의인자로들어간 ( 소위 moving arguments ) 자동조사명령은 \ref 등이 \protect되어있다면대체로잘작동한다. 그러나 \nameref 되는문자열안에들어있는자동조사명령은 hyperref 패키지의문제점으로인하여오류를토해내므로주의를요한다 enumerate 의항목머리 enumerate 환경에서글머리로한글식카운터를쓰고자할때가있다. 보통의방법은다음과같이하는것이다. \renewcommand\theenumi{\pgana{enumi}} \renewcommand\labelenumi{\theenumi} \begin{enumerate} \item 가나다 \item 라마바 \item 사자차 \item 카파하 \item 카타파 \end{enumerate} 결과는다음과같다. 가나다 라마바 사자차 카파하 카타파이코딩은상당히번거롭고, 일단카운터형식이바뀐후로계속영향을미친다는문제가있다. 한글식카운터형식을글머리에붙이는쉬운방법으로두가지가있다. 하나는 enumerate 패키지의옵션정의를이용하는방법인데, 원래이패키지가제공하던기능을한글식글머리로확장한것이다. \usepackage{dhucs-enumerate} 이선언은 enumerate 패키지를스스로로드한다. 그리고본문에서 50

52 \begin{enumerate}[ 항목가 )] \item 가나다 \item 라마바 \end{enumerate} 과같이항목머리의첫글자를옵션으로지시한다. 위의결과는다음과같다. 항목가 ) 가나다 항목나 ) 라마바 이렇게항목머리로지정할수있는것은원래의 enumerate 패키지가제공하는 A, a, i, I, 1 이외에추가로정의된가, ㄱ, ᄀ, 가,,, 1, ⑴,, a, ⅰ, Ⅰ 들이있다. 한편, 문단형리스트를구현하는역할을하는 paralist 패키지도이와비슷한 기능을제공하는데, 이를위하여 dhucs-paralist 패키지가마련되어있다. enumitem 패키지를이용하는경우에는먼저 preamble 에다음과같이선언한다. %\usepackage{enumitem} \usepackage{dhucs-enumitem} 그리고, 다음과같이코딩한다. \begin{enumerate}[label={\bfseries\pgana*.}] \item 가나다 \item 라마바 \end{enumerate} enumitem 패키지에는이외에도요긴한기능이많다. 예컨대만약문서전체의 enumerate 의항목머리를전부일정한형식으로바꾸고자한다면 enumitem 패키 지의전역형식선언을이용할수있다 (ver2.0). 다음예는 label 과더불어항목간 간격도함께없앤예이다. \setenumerate[1]{label={\pgana*},noitemsep} \setenumerate[2]{label={\ogana*},nolistsep} enumerate 패키지와 enumitem 패키지는서로동일한환경을다른방식으로 재정의하기때문에함께쓰기는어려울것이다. 둘가운데적당한것을골라서사 용하면되는데, 어느경우든한글식항목머리를정의할수있게되었다. 51

53 제 5 절 미세조정 ko.tex/utf 의가장큰특징중하나는한글문서전반에걸쳐미세조정을적용하여, 미세타이포그래피를부분적으로구현하려하였다는것이다. 이기능은 [finemath] 옵션에의하여모두활성화된다. 5.1 수식과의간격 TEX 의탁월한점가운데하나가수식조판일것이다. 특히 TEX 수식은미세한간격을적절하게배분함으로써아름다운수식을만들어내는것으로유명하다. 영문의경우행중수식은항상앞뒤에스페이스를두면서다음단어와연결되므로문장중에들어가도어색하지않은데비해, 한글문서에서는조사등이수식뒤에잇대어붙기때문에이사이에간격이없으면수식폰트와한글폰트사이에약간어색한상충이생긴다. 이문제를해결하기위한다양한연구와토론이 KTUG에서이루어졌다. 그결과, [finemath] 라는새로운옵션이생기게되었다. [finemath] 옵션을주면대부분의행중수식과의간격을자동으로설정한다. 이효과는수식, 영문자, 괄호등에도영향을미친다. 다음은 [finemath] 로조판한결과이다. 한글문자와이어지는위치에미세한간격이추가되고있음을확인해보라. x 에임의의값이주어지면 f (x) 를통해서그 x 에대응하는 y 를계산 할수있다. 예를들어 x = 2 로 x 값이주어졌다면 x + y 는.... 숫자 과영문 ( 알파벳 ) 자모 abcd 와괄호에도영향을미친다. 5.2 한글폰트스펙한글문서의조판에서영문폰트와의불일치또는부조화가오래도록문제가되어왔다. 이문제를근원적으로해결하려면한글폰트의사용방법과디자인전반에걸친재검토가요구된다. 궁극적으로만족할만한해결책을얻기까지는더많은연구와노력, 폰트디자인등이필요할것으로생각하나, 우선이문제를피해가면서아름다운한글문서를조판하기위하여 ko.tex/utf는한글폰트스펙이라는개념을도입하였다. 10 한글폰트스펙은 hfontspec.?? 라는별도의파일로지정한다. 이파일에적어넣을수있는스펙값들은대략다음과같다. 10 폰트스펙은 finemath 옵션을선언해야활성화된다. 52

54 hangul unit 값 (hu) 한글기본자간 (interhchar) 문장부호수직위치조정값 한글및한자폰트패밀리명칭예를들면, hfontspec.ut이라는기본글꼴폰트스펙의내용은다음과같이되어있다. hu = em interhchar = em fullstoplower =.15ex exclamationlower =.2ex questionlower =.2ex serifhangulfont = utbt sanshangulfont = utgt monohangulfont = uttz serifhanjafont = utbt sanshanjafont = utgt monohanjafont = uttz 위의모든값이지정되어야한다. hu (hangul unit) 이라는단위는 ko.tex 이내부적으로사용하는 ( 논리적인 ) 길이단위로서, 한글 1전각폭의 1/16 로정의된다. 여기서 1전각이란 1em을의미하는것이아니라폰트디자인상평균적인가로폭의길이를의미하는것인데, 위의기본설정에서이값을 em 으로잡은것은 ko.tex 의기본자간 em 을제외한 em 을 16등분한값이다. 즉, 16 hu + interhchar = 1em 이되도록되어있다. 이길이단위의필요성과사용에대해서 ( 김강수, 2007b) 에서논의된바있다. hu는 [finemath] 의수평간격에영향을미친다. 사용자가이폰트스펙값을임의로바꾸는것은판면에심각한영향을미칠수있으므로, 자신이무슨일을하고있는가확신이있을때만변경하도록하라. 폰트스펙값들은폰트패키지를만드는사람이제공하는것이옳을것이다. 위에적은값을이용하여자간을설정하고문장부호의수직위치를조절하게하려면, [finemath] 옵션을활성화하면된다. 문서전체에대해서또는일부에대해서문장부호수직위치조절이적용되지않게하려면 \disablehangulfontspec 53

55 이라고선언한다. 특정폰트스펙을적용하도록하는매크로는다음과같다. 예를들어 xx라는폰트에대하여 hfontspec.xx가준비되어있다면, \usehangulfontspec{xx} 를선언하면된다. 기본글꼴 ( 은글꼴 type 1) 에대한폰트스펙 (ut) 은 kotex을 \usepackage하는시점에서자동으로불러들인다. 아래예문은각각의경우문장부호및자간등이어떻게달라지는가를예시한것이다. 문장부호의타이포그래피에대해서는 ( 김강수, 2007b) 에서그간의토론을요약하고의견을제시하였고이것을 ko.tex 에서구현한것이다. 한글문장부호에영문폰트의것을쓸때는베이스라인불일치등을교정해주어야한다. 예를들어, 온점, 느낌표, 물음표등의수직위치가그러하다. 자! 비교해볼까? 한글문장부호에영문폰트의것을쓸때는베이스라인불일치등을교정해주어야한다. 예를들어, 온점, 느낌표, 물음표등의수직위치가그러하다. 자! 비교해볼까? 5.3 Micro Typography pdftex 의저자인 Hàn Th ê Thành 의박사학위논문 Micro-typographic extensions to the TEX typesetting system(thành, 2000) 은 pdftex 이라는엔진으로 margin kerning 과 font expansion 을가능하게해주는마이크로타이포그래피개념을 TEX 세계에도입하였다. 마진커닝 (margin kerning) 이란, 여백공간이가지런히보이도록하기 위해글자들을텍스트블록의마진쪽으로아주조금이동시켜주는테크 닉이다. 마진커닝을적용하지않으면일부문자들이마진경계가시작 하기전에끝나기때문에오히려울퉁불퉁하게보인다. 이것은문장부호 끌어내기 (hanging punctuation) 와비슷한것이지만문장부호만이아니라 일반적인글자에도적용할수있다. 이를적용함으로써텍스트블록의모 양을현저히개선할수있다. 폰트확장 (font expansion) 이란단어간격이좀더균일하게보이도록 하기위해폰트의폭을약간좁게혹은넓게만드는테크닉이다.... 폰트 를넓게혹은좁게만듦으로써개행엔진이더나은행나눔을할수있게 된다 Hàn Th ê Thành, (Thành, 2001), p

56 나는여름방학이되어집선이나음식솜씨도나타내에내려오면한번씩은이기시작했다. 나는사랑에집을찾는다. 이집에는나들어가어른들을뵙고수인보다한살아래인, 열세살사겸이런이야기저런이되는누이뻘되는소녀가있야기로얼마지체한뒤에, 었다. 실상촌수를따져가안건넌방으로안내를받았며통내외까지할절척도아다. 점심대접을하려는것니지만, 서로가깝게지내는이다. 사랑방은머슴이며일터수라, 내가가면여간반꾼들이드나들고어수선했가워하지아니했고, 으레그으나, 건넌방은조용하고깨소녀를오빠가왔다고불러끗하다. 방도말짱히치워내어인사를시키곤했다. 져있고, 자리도깔려있었소녀의몸매며옷매무새는다. 아주머니는오빠에게나제법색시꼴이박히어가기와인사하라고소녀를불러시작했다. 그때만해도시골냈다. 서좀범절있다는가정에서는열살만되면벌써처녀로서의예모를갖추었고침 font expansion 적용안함 1 나는여름방학이되어집이나음식솜씨도나타내기에내려오면한번씩은이시작했다. 나는사랑에들어집을찾는다. 이집에는나가어른들을뵙고수인사겸보다한살아래인, 열세살이런이야기저런이야기로되는누이뻘되는소녀가있얼마지체한뒤에, 안건넌었다. 실상촌수를따져가방으로안내를받았다. 점심며통내외까지할절척도아대접을하려는것이다. 사랑니지만, 서로가깝게지내는방은머슴이며일꾼들이드터수라, 내가가면여간반나들고어수선했으나, 건넌가워하지아니했고, 으레그방은조용하고깨끗하다. 방소녀를오빠가왔다고불러도말짱히치워져있고, 자내어인사를시키곤했다. 소리도깔려있었다. 아주머니녀의몸매며옷매무새는제는오빠에게나와인사하라법색시꼴이박히어가기시고소녀를불러냈다. 작했다. 그때만해도시골서좀범절있다는가정에서는열살만되면벌써처녀로서의예모를갖추었고침선 font expansion 적용 1 그림 4.4: Font Expansion 한글문서에있어서행나눔을결정할때부득이하게 벙벙한 공백을남기고개행해야하는경우가빈번했다. 또한문장부호가행끝에걸리는경우여백의모양이균일하지않게보이는것을어찌할수없었다. 마진커닝과폰트확장이매우요긴하게요청되는바였지만, 이를쉽게구현하기어려웠으며, 간간이마진커닝정도가쓰이는데그쳤다. ko.tex/utf v0.1.0은 pdftex 의폰트확장을활용할수있게한다. 12 폰트확장을한글에적용하기위해서는다음조건이갖추어져야한다. 1. pdfl A TEX 으로컴파일할것 2. type 1 혹은트루타입글꼴이사용될것 3. microtype 패키지에의한설정이활성화될것그림 4.4는폰트확장을적용하지않은경우와그것을적용한경우의행나눔과스페이스간격을비교해본것이다. 더균일하고아름다운판면이생성되는것을눈으로확인할수있을것이다. 샘플문서의소스중에서 font expansion과관련된부분은다음과같다. \usepackage[verbose=true]{microtype} 12 김도현, microtype 을아시나요, 55

57 면주와페이지스타일에대한부분이다. 일반적으로는 PageStyle에서 running heading 이라한것이다. 이것을정의하는데는 fancyhdr 패키지가쓰인다. 이패키지만으로원하는거의모든설정을할수있기때문에여기서면주에대하여더자세한세부사항은생략하려한다. FAQ (FancyHdr) 페이지를참고하라. 그림 4.5: 행나눔문제. PageStyle running heading. fancyhdr.. FAQ (FancyHdr). 그림 4.6: dhucs의행자름처리 \DeclareMicrotypeSet{dhucsmicro}{encoding=LUC} \UseMicrotypeSet[expansion]{dhucsmicro} 제 6 절 행나눔 한글에는하이픈이없고일부문장부호의금칙처리를제외하고는원칙적으로모든문 자앞이나뒤에서행을나눌수있다. 6.1 영문자와숫자뒤의한글개행그림 4.5에서표시한곳은원본에영문과조사가붙어있는부분이다. 빨간색동그라미부분에서영문단어가 overfull이발생했음에도불구하고뒤에붙는한글조사와분리되지않아서 에 까지오른쪽으로삐져나가있다. 종래한글라텍에서는이러한문제가자주발생하여문서작성자를괴롭히곤했다. ko.tex 은개선된행나눔기능이작동한다. 그림 4.6은 ko.tex 을사용했을때이부분이어떻게처리되는가보여준다. 6.2 여는괄호앞의행자름 여는괄호와관련해서다음을지적해둔다. 현재여는괄호는영문자뒤에직접이어서 나오지않는한새로운줄을시작할수있다. 신정식님께서알려주신바에의하면

58 ( ) PageStyle running heading ( ). fancyhdr.. FAQ(FancyHdr)., [ ] L A TEX (orphans and widows) 그림 4.7: 여는괄호의행자름 모든종류의여는괄호는새로운줄을시작하는것이유니코드표준이라고한다. 그러나영문으로글을쓸때는여는괄호앞에하나의공백을두게되어자연히새로운줄을시작할수있을것이므로영문자사이의여는괄호를개행가능하게하여야할필요를발견하지못하였다. 그러나한글과영문이만나는곳에서는행나눔이가능하여야한다. 그림 4.7을보라. 만약이그림에서 FAQ(FancyHdr) 의괄호사이에서행을잘라야한다면여는괄호앞에공백을두어 FAQ (FancyHdr) 와같이써야할것이다. 이밖에, ko.tex 은한글단어뒤에괄호안에영문을병기하는경우이영문이행끝에걸리더라도영문하이픈처리가작동하도록하고있다. 6.3 이른바 고아 문제 고아 란한문단의마지막행이한글자와종지부호로만끝나는경우를일컫는다. 한행전체길이에비교해보았을때한글자한행은그비중이너무작아서때때로글읽기의효율을방해하고불필요한공백이생겨나게하여판면의색조를옅게만드는것으로생각되어, 일찍부터한글조판의금기사항중하나였다. 14 ko.tex 에서는고아회피가부분적으로자동화되었다. 원칙적으로문단마지막에아무런추가코드없이 \par 또는문단종지문자가있을때는고아앞에서 \nobreak 가작동하는것과같은효과를가진다. 그러나문단끝에추가적인코드나문자가더있을때때때로이자동고아회피가동작하지않는경우도있으므로, 이럴때는 14 영어권에서 고아와과부 라고할때는이와조금다른의미로쓰이는경우도있다. 예컨대 Peter Wilson의 (Wilson, 2006), p. 29에는 고아란한페이지의마지막에한줄또는두줄이남는것을말한다. Bringhurst의암기를위한트릭에따르면, 고아는미래만이있고과거가없는것 이다. 라고쓰고있다. 즉, 과부와고아가모두행나눔에관한문제가아니라페이지나눔에관한문제로취급되고있는것이다. 그러나이글에서는우리나라의관행적명칭인 문단끝한글자한행 을 ( 편의상 ) 고아라고부르기로한다. 57

59 \nobreak를사용자가직접지정하여야한다. 특히문단의마지막글자가 다. 일경우에한하여사용자가고아회피를강제하도록 \ 다 매크로가새로도입되었다. 15 각주안과같이문단종지문자없이문단이종료됨으로써자동고아회피가동작하지않는경우에이매크로를적절하게활용할수있다. 비록모든경우에완전한고아회피가적용되는것은아니지만, 이만큼이라도자동화됨으로써한글문서조판의관행적규약에더가까이접근했다하겠다. 제 7 절 한글 PDF 만들기 24 페이지 2절에서 pdf 제작에관한사항을개괄하였다. 여기서는이문제에대하여 ko.tex/utf의관점에서조금더다루려고한다. 한글 pdf 문서를만드는데있어서지금까지요청되어왔던것은대략다음과같다. 한글텍스트의검색과추출 pdf bookmark에한글구현 beamer 등발표문서작성패키지지원 7.1 하이퍼링크하이퍼링크를구현하기위해서는 hyperref 패키지를이용한다. 이패키지사용에서주의할점은한글레이블이나참조자를사용하면아니된다는것이다. hyperref 설정은다음세가지방법으로이루어진다. 1. \usepackage[...]{hyperref} 의옵션 2. \hypersetup 문장 3. hyperref.cfg에미리설정된옵션예컨대한글문서를주로작성하는경우 hyperref의 [unicode] 옵션이필요하다. 그리고클래스자신이 hyperref을스스로로드하는경우에는 (1) 이나 (2) 와같은방법으로이옵션을활성화할수없게되어있는경우가있다. 이럴때는 (3) 방법을사용한다. 즉 hyperref.cfg에 (2) 의문장을미리적어넣어두는것이다

60 표 4.3: dvi to pdf drivers driver type1 truetype ttf slanted opentype graphic dvips O X X X eps pdftex O O X X pdf/png/mps/jpg DVIPDFMx O O O O (eps)/pdf/jpg/png/mps 7.2 폰트문제 pdf를제작하는방법에따라사용할수있는폰트와그래픽포맷에제약이있다. 이것을요약한것이표 4.3이다. 물론 pk 비트맵폰트로변환하면 (pk 생성유틸리티가있기만하다면 ) 모든형식의폰트를사용할수있다할것이나, 여기에서는고품위 pdf를위한윤곽선글꼴의사용만을문제삼기로한다. ko.tex/utf의기본글꼴은은글꼴 type 1이므로, 폰트이용상의제약이전혀없다. 트루타입을사용하려하는경우라면표 4.3이참고가될것이다. 7.3 pdf 한글텍스트의검색과추출 pdf 파일을제작하려할때텍스트의검색과추출은매우중요한문제가운데하나 이다. 특히개방적인공개문서의작성이나배포, 검색엔진에서의검색가능성등을 위해한글텍스트가검색가능하여야한다. KTUGFaq/ 검색과추출페이지를참고 하라. DVIPDFMx 를이용하면이문제를쉽게해결할수있다. ko.tex 으로작성한 pdf 문서는 DVIPDFMx 로 pdf 변환한경우특별히텍스트검색과추출을제한하지않으면 기본적으로검색 추출이이루어진다. 그런데, pdfl A TEX 는사실상표준일뿐아니라 pdfl A TEX 이아니면안되는경우도 더러존재한다. pdftex 최근버전은포스트스크립트 type 1 폰트의경우유니코드한 글텍스트의검색과추출이가능하다. 이미말한대로, 다음과같은코드가있으면 된다. \ifpdf \input glyphtounicode\pdfgentounicode=1 \fi 그러나트루타입폰트에대해서는약간의문제점을가진다. 부가패키지 dhucs-cmap 패키지는이문제를해결하기위한것이다. 따라서 pdfl A TEX 을이용하고트루타입폰트인경우 preamble에다음과같이적어준다 ( 여기서는은글꼴트루타입을예로들겠다 ). 59

61 \usepackage{dhucs-cmap} \pdfmapfile{=unttf-pdftex-kotex.map} 위의문장은반드시 ko.tex/utf 를로드한이후에선언해야하고그렇지않으면효력이 없다. 두번째행은은글꼴을 pdfl A TEX 에게트루타입형식으로이용하도록알려주는 것이다. 이행을생략하면 pk 비트맵폰트를만들어이용하게되므로바라는결과를 얻지못할수있다. 만약본문에서사용하고자하는글꼴이 ko.tex 추가폰트로배포 되는은글꼴트루타입이아니라별도로제작한것이라면자신의폰트설정을적절한 방식으로선언해주어야한다. \pdfmapfile 의인자로주어지는 map 파일의이름 앞에붙은 = 는이미해당엔트리가다른 map 에서스캔되어있을때, 지정된 map 파일의엔트리로교체하라는의미이다. + 를지정하면기존의 map 파일에만약해당 항목이스캔되어있다면기존의것이사용되고경고메시지를낸다. 이에관한사항은 pdftex 문서를참조하라. 7.4 한글책갈피 pdf 문서제작에있어서한글책갈피 (bookmark) 가필요하면, 다음과같이한다. \usepackage[unicode,<driver>,...]{hyperref} hyperref 패키지의개선이이루어짐에따라, 한글책갈피를만들기위해별도의복잡한조치를취할필요가없게되었다. 다만, <driver> 를명시해주어야한다는데주의하면된다. pdftex, dvipdfm, dvips 등을지정한다. 16 제 8 절 찾아보기와참고문헌 색인 ( 찾아보기, index) 을만들기위해제공하는유틸리티 komkindex.pl의사용법에대해서는 111 페이지 2절을보라. 이유틸리티와더불어한글색인스타일인 kotex.ist 를제공한다. 17 문헌목록인용은가능하다. BibTEX 을이용하여문헌목록데이터베이스에서문헌목록을추출할수도있다 혹예전 hangul-ucs 에서제작한문서에서 dhucs-ucshyper 패키지를쓰는경우가있다면이것을 hyperref 패키지를이용하는방식으로소스를수정하여야한다. 이패키지는더이상존재하지않는다. 17 ko.tex/euc 에는 hind.ist 가제공된다. 이둘은호환가능하지않으므로 ko.tex/utf 문서라면반드시 kotex.ist 를색인스타일로지정해야한다. 18 다만, 한글화된문헌목록스타일이충분하지않아서, 최종적으로약간의수작업이필요한경우도 없지는않다고생각한다. 특히저자 - 연도방식의인용에서그러하다. 이분야는더많은연구와개발이 필요한지점이다. 60

62 참고문헌인용은너무나많은유형이있어서어떤문제가발생할수있는지를완전히시험해보지못하였다. 그러나 natbib 패키지, cite 패키지와 apacite 패키지를위한코드를내장하고있어, 참고문헌인용에서발생하는문제에대한지원을위해노력하고있다. 19 제 9 절 옛한글구현 옛한글문서의조판은한글 TEX 의꿈이었고, KTUG에서 2002년이후 dhhangul과같은 Lambda 패키지를통하여성공적인실험을행한바가있다. 현재이른바 한양PUA 코드, 즉유니코드사용자영역의코드를이용하여옛한글문자를식자하는것은, 이영역에완성형옛한글문자가들어있는폰트를지정하 고해당코드를입력하는것으로 dhucs 가이미잘처리한다. 20 그러나이것은엄밀한 의미에서옛한글문헌의조판이라고는말할수없다. dhucs-midkor 패키지는옛한글, 즉 1933년이전표기법문헌을식자할수있게한다. 그러나배포판의매크로만으로충분하지않으며, 다음과같은준비가더필요하다. 1. 옛한글폰트 (obatang.ttf 또는 ogulim.ttf) 2. 옛한글코드변환유틸리티 3. 옛한글코드를다룰수있는편집기와입력기 옛한글문헌의조판을위해서갖추어야할조건이제법까다롭고 21 이를처리하는과정이편리하다고할수없다 22 고는하나, 옛한글문헌의식자를구현하고있다는자체가매우중요한사실이다. 옛한글조판에관한전반적인사항, 이론적배경과구체적인지침은 ( 이기황, 2007) 을참고하라 한예로, apacite 패키지충돌문제의보고와그해결에관한 KTUG 게시판 4984 이하의글타래를 참조하라. 이런과정을거쳐서현재 apacite 패키지등의패키지에대한지원이이루어지게되었다. 20 이매뉴얼에서는언급하고있지않으나, 현재의 hangul-ucs 는이미 BMP 영역을넘어서는 UCS4 문 자를식자할준비를갖추고있다. 적절한폰트와입력코드만있다면유니코드전영역문자의식자가 가능하다. 21 특히옛한글을처리할수있는공개폰트가전혀없다는점은매우치명적이다. 22 코드변환과같은약간의전처리가필요하다. 23 KC2007 의예제문서에옛한글처리에관련된샘플이포함되어있다. 61

63 제 10 절 다른패키지및클래스와의호환성 10.1 AMS-L A TEX 클래스 amsmath 패키지를 L A TEX 표준클래스와함께쓰는경우에는아무문제가없지만 amsart 클래스, amsbook 클래스와같은 AMS-L A TEX 클래스로문서를만들때한글을사용하고자한다면부딪치는문제가몇가지있었다. amsart 클래스의경우는다음과같이한다. \renewcommand\uppercasenonmath[1]{} \usepackage{dhucs} amsbook 클래스는 \uppercase가아스키코드에대해서만동작하기때문에발생하는문제가있는데, 이를위하여다음과같은코드를필요로한다. \renewcommand\uppercasenonmath[1]{} \makeatletter \def\@makechapterhead#1{\global\topskip 7.5pc\relax \begingroup \fontsize{\@xivpt}{18}\bfseries\centering \ifnum\c@secnumdepth>\m@ne \leavevmode \hskip-\leftskip \rlap{\vbox to\z@{\vss \centerline{\normalsize\mdseries \MakeUppercase{\chaptername}\enspace\thechapter} \vskip 3pc}}\hskip\leftskip\fi #1\par \endgroup \skip@34\p@ \advance\skip@-\normalbaselineskip \vskip\skip@ } \makeatother 이문제는 amsbook 클래스가영어이외의언어를표시하는문자에대해배려하지않아서발생하는것이므로, 위와같이수정하여쓰는것이정당하다할것이다 beamer 지원 beamer 패키지를이용하여 PDF 발표문서를만들때는, 다음과같이한다. 또는간단히 [unicode] 옵션만지정해도될것이다. ko.tex 에서는 [nojosa] 옵션을주어야할필요가사라졌고, 따라서 beamer 패키지등에서도자동조사가잘작동한다. 62

64 \documentclass[hyperref={pdftex,unicode}]{beamer} \usepackage{dhucs} beamer 패키지문서는원칙적으로 pdfl A TEX 으로컴파일하여야한다 prosper/powerdot 지원종래 prosper 패키지는 pdf 북마크를 hyperref 패키지를통해서만들지않았기때문에한글북마크의구현이쉽지않았다. hyperref 패키지를이용하는최근의 prosper 패키지또는 newprosper 패키지라면다음과같이하여북마크를넣을수있다. 1. prosper.cls가 hyperref 패키지를로드할때 [unicode] 옵션이활성화되도록설정한다. 이옵션은 hyperref에서가장먼저주어지는것이어야하는데, 시스템의 hyperref.cfg에 \hypersetup{unicode=true} 를선언해두는것이가장손쉬운방법이다. 2. 글꼴은 type 1 글꼴을이용한다. ko.tex 은이미 type 1 글꼴이기본글꼴로되어있으므로이문제는걱정할필요없다. preamble은다음과같은형식이될것이다. \documentclass[ps2pdf...]{prosper} \usepackage{dhucs} \SetHangulFonts{utbt}{utgt}{uttz} \usepackage[dvips,unicode]{hyperref} prosper에서발전한 powerdot 패키지는한글사용에문제가없다. 다만이두패키지는모두 dvips, ps2pdf 방식으로 pdf 파일을제작한다는점만염두에두면된다. 제 11 절 일본어와중국어문단 ko.tex/utf 2.6 이후버전은 dhucs-trivcj 패키지를포함하였다. 이것은한글문서에서약간의일본어또는중국어인용문을처리하게하려는목적으로제작된것으로서본격적인다국어문서를처리하는데는아직미흡하지만크지않은규모의일본어중국어문단은나쁘지않은정도의결과를얻을수있을것으로생각하고있다. 일본어한자의독음을작은가나문자로붙이는것 ( 루비 ) 은 CJK 패키지의일부인 ruby 패키지를불러서할수있다. 일본어또는중국어문단을식자하려면 dhucs-trivcj 패키지를로드하여야한다. 63

65 L A TEX というのは 市販ソフト顏負けのきれいな文書が作れる 文書整 形ソフト で ラテック もしくは ラテフ など変った読み方を します ちょっとカタい言葉を使うと 組版 ( くみはん ) ソフト とも 言います 組版とは 活字を組んでページに印刷するための版を作る 作業のことで英語でタイプセッティング (type setting) と言います 일본어와중국어글꼴은 TEXLive 에기본으로포함되어있는 wadalab-unicode 글 꼴과 arphic 글꼴 (type 1) 을이용한다. TEXLive 를 full 로설치하면당연히시스템에 설치되어있을것이므로별도의글꼴설치절차없이바로이용할수있다. 24 이글꼴에는굵은글꼴이나고딕체글꼴이별도로갖추어져있지않다. 25 다만 일본문자 와로마자가이어질때필요한 짧은간격 은 tilde(~) 로표시할수있다. 이것은 CJK 패키지의방식과동일하다. dhucs-trivcj 가제공하는환경은 japanese 와 chinese 이다. 다만 chinese 환경은간자체환경과번자체환경을각각 Schinese 와 Tchinese 로구분할수있 다. 기본값은 chinese 가간자체환경으로되어있지만만약번자체환경을 chinese 로쓰고싶다면 \let\chinese\tchinese \let\endchinese\endtchinese 라고선언하면된다. 다른문서와의호환을위해서번자체환경을그대로 Tchinese 라고쓰는것도좋은방법이다. 다음표는 dhucs-trivcj 에서사용하는각언어별폰트의이름이다. trivcj trivcj-adobe mj gt mj gt 일본어 min jpmj jpgt 중국어간자 gbsn cnmj cngt 중국어번자 bsmi ctmt 간단한중국어문장하나를식자해보자 KC2006 과같은시스템에서는이글꼴을설치할수있는설치패키지를별도로제공할것이다. 25 Hangul-ucs 에서쓰이던 Adobe Reader 의 opentype 을위한설정을사용하기원한다면, dhucs-trivcj-adobe라는꾸러미가별도로준비되어있으므로그것을이용하라. 다만이때는 \usepackage{dhucs-trivcj-adobe} 라고 선언해야 하며, pdf 제작에 DVIPDFMx 만을 사용할 수밖에없다는점을기억해두자 웹사이트에서인용함. 64

66 [ 高质量的输出 ] TeX 遵循传统的排版规则, 以排版的质量为最重要的目标 如果你把 TeX 的输出结果和用其它的排版软件排版相同的文本所得到的结果加以比较, 你就会发现其中的区别 [ 超常的稳定性 ] 自从 TeX 出现以来, 只有一些微小的改动 也就是说, 十几年前的 TeX 文件用现在的 TeX 系统排版得到的结果与十几年前得到的结果是一样的 稳定性还体现在 TeX 系统极少会崩溃, 可以处理任意大小的文件, 即使你的计算机的内存很少,TeX 也可自如的工作 ko.tex 의 dhucs-trivcj는 pdfl A TEX, DVIPDFMx, dvips 어떤드라이버로도잘처리할수있다. 65

67 제 5 장 memhangul 과 oblivoir 제 1 절 소개 memoir 클래스는 Peter Wilson 씨가작성한것으로큰규모의문서를조판하는클래스이다. L A TEX 표준클래스중에서는 book이있는데, 이 book 클래스를실제책의작성에사용하기위해손보아야할부분이상당히많다. memoir는 book과비슷한착상에서출발했으나, 여기저기서제안된 book을수정하는기능을하나의클래스로합쳐둔것에가깝다. memhangul-ucs 패키지는 dhucs의한글식자능력을 memoir 클래스에서이용하기위해작성된것이다. memhangul 자체가 dhucs를부르며, 그위에 memoir에맞는여러정의들을추가하고있다. memhangul은원래독자적인스타일로제작되었으나, 2007년이후 hangul-ucs에합쳐져 ko.tex 으로계승되었다. 이러한배경을가지고있는까닭에 oblivoir는오직유니코드한글만을처리할수있으며, EUC-KR 한글코드로문서를작성할수없다. oblivoir는 1 memoir 클래스를이용하면서도마치 article 클래스의느낌으로편리하게한글문서를작성하도록한클래스이다. oblivoir는한글문서작성을목적으로만들어진것으로서, 한글화설정등을별도로할필요가없게되어있다. 이클래스의의의를우리는 표준적인한글문서작성서식 을제공하는데두었다. 즉, 대부분의사용자설정의기본값을미리제공하자는것이다. 만약이기본값에만족하지못한다면 memoir 문법으로손쉽게사용자화할수있게하고있다. dhucs, memoir, memhangul, oblivoir가상호의존하는관계는그림 5.1에예시한바와같다. 제 2 절 memhangul memoir 클래스자체가방대한기능으로이루어져있으며 memhangul 역시상당한 추가옵션과매크로를가지고있다. 이기능을모두설명하는것은별도의매뉴얼을 1 이이름은 oblivescence( 망각 ) 라는단어와 memoir 를합쳐서만든신조어이다. 원래 memoir 클래스 의 memoir 는논문, 책등을의미하는단어였지만여기에서는 기억 이라는의미와의연관성을고려하여 말장난을한것이다. 66

68 그림 5.1: oblivoir tree 참고하는것이좋다. KTUGFaq/MemhangulClass 페이지를보라. memucs-manual 이라는이름의한글판 memoir 매뉴얼은 memoir 와 memhangul 을이용하려할때필 독서이다. 특히 memhangul 패키지에는한글타이포그래피를충족시키기위한많은 추가기능들이들어있으며, 이것은옵션으로또는선언으로조절할수있도록설계 되어있다. 여기서는간단한 preamble 하나를예시하는것으로만족하려한다. \documentclass{memoir} \usepackage{memhangul-ucs} 제 3 절 oblivoir oblivoir 역시다양한옵션과복잡한기능을구현한설정패키지들로이루어져있다. oblivoir 의사용법등에대해서는 KTUGFaq/Karnes/Oblivoir/FAQ 페이지를참고 하라. 3.1 간단한문서만들기 \documentclass{oblivoir} 위의클래스선언으로한글문서를즉시작성할수있다. pdftex 과 DVIPDFMx 드라이버는 pdflatex으로컴파일하느냐 latex으로하느냐에따라결정되며, dvips 드라이버를사용하려한다면 [dvips] 옵션을명시해주면된다. 67

69 oblivoir는한글문서작성시 pdf bookmark를만드는것이 default이다. 만약 pdf bookmark 를만들지않으려한다면 [nobookmarks] 옵션을명시해준다. [10.5pt] 라는실험적인옵션도있는데, 이것은본문의기본글꼴크기를 10.5 포인트로맞추어주는것이다. 10포인트보다는크고 11포인트보다는작은기본글꼴크기를원하는경우사용할수있다. 또, \tt, \sf 같은 L A TEX 2.09 글꼴명령을사용하려면 memoir 옵션인 [oldfontcommands] 를지시한다. 3.2 용지, 여백, trim mark memoir 의문서옵션인종이크기옵션 [a4paper] 등을지시하는것이가능하다. 이 에더하여, 용지와여백을일괄조정할수있는 fapapersize 패키지가제공되는데, 이것은표준 L A TEX 클래스와는함께쓸수없고, memoir 와 oblivoir 에서만유효하다. fapapersize 옵션으로 [dbl4x6] 또는 [newmum] 등을지정할수있으며, 사용자 용지여백설정명령인 \usefapapersize 명령을사용할수있다. \usepackage{fapapersize} \usefapapersize{*,*,40mm,*,40mm,*} stocksize 를 papersize 보다크게하면 trim mark 를그릴수있다. 이것은 memoir 의 trim mark 를이용하는것이므로 memoir 매뉴얼을참고하면쉽게이해할수있다. oblivoir 옵션 [showtrims] 를선택하면된다. 3.3 글꼴선택본문글꼴을선택할수있는명령 \SelectHfonts가제공된다. 사용법은다음과같다. 인자는두개이며, 첫번째것은한글, 두번째것은한자글꼴을각각 rm/sf/tt에대하여쉼표 (,) 로구분한다. \SelectHfonts{<rm>,<sf>,<tt>}{<rm>,<sf>,<tt>} * 를이용하여다음과같이간략하게쓸수있다. \SelectHfonts{kxbt,kxgt,*}{*} 3.4 기타 oblivoir는자체명령뿐아니라 memhangul의명령, memoir의명령, L A TEX 의명령, TEX 의명령을모두사용할수있다. 위에소개한것말고도많은추가적인기능이있으므로매뉴얼을참고하라. 68

70 제 III 편 ko.tex/euc 69

71 제 6 장 ko.tex/euc 의의의와사용법 제 1 절 ko.tex/euc 의의의 1.1 문자의범위 ko.tex/euc는 EUC-KR 한글만을처리한다. EUC-KR 한글이라고통칭하는이한글인코딩방식은특히 KS X 1001의완성형한글과한자및기호문자를지칭하는것으로사용하겠다. Windows 운영체제의기본한글인코딩은 CP949라고불리는것으로이 EUC-KR 완성형한글을확장한 확장완성형 인코딩이다. EUC-KR 은한글 2350 자만을정의하고있으므로유니코드현대한글음절문자 11172자의일부밖에는표현하지못한다. 우리의언어문자생활에필요한거의대부분의문자가들어있다고하나한글의특성중하나인자유로운자모결합에의한표현력을희생하지않을수없으며, ( 비록표준정서법에는어긋나더라도 ) 특별한목적을위해서표현하고자하는일부글자를찍을수없다는한계를갖는다. 이러함에도불구하고, EUC-KR의필요성도많다. 가장많은사람이사용하는윈도우즈운영체제에서아무런불편없이입출력할수있다는점, 그리고무엇보다기존에이완성형한글로작성된문서와문헌이워낙방대하다는점이다. ko.tex 이 EUC-KR 지원을하는이유는궁극적으로이때문이다. 기존에작성된문서들에대한호환성을유지하는것. 또한, 장차 ko.tex 은 EUC-KR 문서를안전하게유니코드로포팅하는방법을발전시켜 1 장기적으로 ko.tex/utf로의이행을권장하기위해서이다. 완성형한글의범위는부록을참고하라. 1.2 ko.tex/euc 의한계 ko.tex/utf와는달리 ko.tex/euc가호환을위해서제공되기때문에 ko.tex/utf의많은기능들을생략하거나지원하지않는다. 그때문에이두형식의문서가출력결과에있어서동일하지않다. ko.tex/utf의몇가지옵션, 예를들면 nonfrench, finemath 등은지원하지않는다. ko.tex 의자랑중하나인미세간격기능은 euc 버전에서는동작하지않는다. 1 아직까지는이호환이완전히제공되지않는다. 70

72 1.3 하위호환성종래의한글문서들이 hangul 또는 hfont 패키지를이용하고있음이엄연하고, 따라서이패키지들에대하여하위호환성을제공한다. 그러나되도록이문서에서설명하는바와같이 kotex 기본패키지를이용하는방식으로이행해가는것이바람직하지않겠는가기대한다. \usepackage{hfont} 는 \usepackage[euc]{kotex} 으로, \usepackage{hangul} 은 \usepackage[euc,hangul]{kotex} 으로바꾸어쓰면거의동일하게동작할것이다. 한글라텍의특징중하나였던글꼴선택명령체계는여전히지원된다. 그러나유니코드와의호환성을위하여이부분에대한설명은최소한에그치고호환성높게문서를작성하는방법을위주로설명하고자한다. 기본글꼴은더이상 UHC 폰트를사용하지않게되었다. 그러나사용자수준에서글꼴처리에대해서는걱정하지않아도좋다. 종래 hangul 패키지와함께제공되던 khyper 패키지는제외되었다. ko.tex/euc 가 hyperref을잘지원하며, 심지어필수적으로요구하기까지하는까닭이다. 이부분이아마가장많이달라진부분중하나일것이다. 1.4 사용설명서에관하여 이사용설명서의 ko.tex/euc 부분은한글라텍의 한글라텍길잡이 문서를거의그 대로인용한것이다. 제 2 절 ko.tex/euc 의사용설명 이단원에서는라텍자체의기본적인사용법에대한설명을피하고, 한글라텍에관 계되는부분만을간단히다루려한다. 2.1 한글문서의틀문서는 \documentclass[ 추가선택 ]{ 문서종류 } 로시작한다. 추가선택에는라텍의문서종류 (class) 에종속적인추가선택을지정한다. 문서종류지정후에한글라텍꾸러미사용을지정한다. \usepackage[euc, 추가선택 ]{kotex} 한글라텍의추가선택의종류는다음과같다. 71

73 euc: EUC-KR 한글을처리하는 ko.tex/euc에서는이옵션이가장처음에있어야한다. hanja: 문서의단원명이나날짜가한자로표기된다. hardbold: METAFONT 에의해만들어지는두꺼운글씨체를쓰도록한다. nojosa: 자동조사처리기능을억제하여텍의기억용량사용을감소시킨다. kotex 이외의다른꾸러미를함께쓰고자할경우에는반점 (,) 으로구분하여이름을쓰거나따로 \usepackage 명령을쓴다. kotex의추가선택은문서종류의추가선택에서지정할수도있고여기서지정할수도있다. 추가선택의처리방식은다음과같다. \documentclass의추가선택은전역적 (global) 이다. 어느문서종류나꾸러미에서든지이추가선택을처리할수있다. \usepackage의추가선택은울안적 (local) 이다. 그꾸러미에서이추가선택을처리할수있어야한다. 다음의예에서보는것처럼 \usepackage[euc]{kotex,a4} 에서는지정된추가선택 euc를두꾸러미 kotex과 a4가모두처리할수있어야한다. a4 꾸러미는 euc이라는추가선택을처리할수없으므로오류가발생하게된다. 다음과같이각기따로지정하거나 \usepackage[euc]{kotex} \usepackage{a4} 아니면문제가되는추가선택 euc를 \documentclass에서전역적추가선택으로지정하면오류가발생하지않는다. \begin{document} 로문서를시작하여쓰고자하는글을작성한뒤 \end{document} 로문서작성을마친다. ( 그림 6.1을참조 ) 이제 latex이나 pdflatex으로파일을돌리면된다. 2.2 문서의모양새설정 전반적인문서의종류를결정하기위해다음문장을단한번맨처음에쓴다. \documentclass[ 추가선택 ]{ 문서종류 } 72

74 \documentclass[ 추가선택 ]{ 문서종류 } \usepackage[euc, 추가선택 ]{kotex} 한글문서틀잡기를위해 [hangul] 추가선택을추가 할수있다. \usepackage[ 추가선택 ]{ 꾸러미 } 필요에따라사용될각종꾸러미 를지정한다.... 꾸러미뿐만아니라문자를출력하 지않는다른명령들을여기에서 선언할수있다. \begin{document} 이전까지를전문영역 (preamble) 나라의말이중국과달라서한자로 는서로통하지아니하므로이런까 닭으로어리석은백성들이말하고 자하는바가있어도마침내제뜻 을능히펴지못하는사람이많으 이라고한다. 문서의작성은 TEX 의관습에따른 니라. 내가이를불쌍히여겨새로 문자역할을한다. 등등. 스물여덟자를만드나니 \end{document} 이명령이나온후의모든문장은 다. 즉, 중첩된공간문자는하나 로처리된다. 줄바꿈문자가한번 나오면공간문자로처리되나, 두 번이상중첩되면하나의줄바꿈 무시된다. 그림 6.1: 한글라텍문서의기본구조 문서종류 (class) 에는 article 이외에 report, book, letter, slides 등이있다. 각문서종류는추가선택에의해모양새가달라질수있다. 즉, 종이의규격을설정하는 a4paper, letterpaper, 및글자의크기를정해주는 10pt, 11pt, 12pt 등등이있다. 일반영문라텍의문서종류설정은 (Kopka, 1991; Lamport, 1985; Mittelbach et al., 2004) 에잘설명되어있다. 위와같이라텍에서제공하는기본적인문서종류이외에추가로꾸러미 (package) 를사용하고자할경우에는 \usepackage 명령을쓴다. \usepackage[ 추가선택 ]{ 꾸러미 } 우리말의처리와같이, 라텍에서제공되지않는기능을쓸경우에 kotex.sty을쓰는것과같다. 각꾸러미는자체의추가선택이있다. 각종꾸러미의사용방법및추가선택의종류는 (Mittelbach et al., 2004) 에자세히설명되어있다. 한글라텍으로우리말을처리하게하려면다음과같이한다. 73

75 된다. 2 영문문서와달리우리말문서에서는줄간격을특별히취급해야한다. 이는우리 \usepackage[euc]{kotex} kotex.sty를 euc이외의추가선택없이쓰면 ( 종래 hfont.sty를쓴것과같이 ) 문서틀잡기가우리말에어울리는한글화를전혀반영하지않고단순히한글및한자, 상징기호를포함한문서에서우리말처리가제대로될수있게만한다. 자동조사는동작하지만, 자동조사의동작을위해서는 hyperref 패키지를필요로한다. 만약순수하게한글을식자할의도로자동조사를필요로하지않는다면 nojosa 옵션을주면 말글자들이영문자와비교해서모양이복잡함으로인해발생하는문제로서, 라텍의 애초값으로우리말문서를만들경우각각의페이지가글자로밀집된인상을받는다. 이는글을읽는독자의시각을분산시키는악영향을미치므로다음과같은명령으로 줄간격을조절하는것이좋다. \renewcommand{\baselinestretch}{1.3} \normalsize 또는 \linespread{1.3} 이명령은줄간격을지정하는레지스터인 \baselineskip 을 1.3 배로증가시키는작 용을하며 \normalsize 와같이글자체의크기바꿈명령이나타날때이러한변경 이효력을발휘한다. ko.tex/euc 에 [hangul] 추가선택을더하여한글문서틀잡기를 활성화하면 \baselinestretch 의기본값이 으로자동설정된다. 이설정은 문서의어느곳에서든지사용자의취향에따라변경될수있다. 줄간격을좀더쉽게 제어할수있도록하는 hsetspace 패키지가제공된다. 이것은 setspace 패키지를 불러들여서문서내의각주나떠다니는개체내의줄간격을재설정하는등몇가지 추가적인기능을제공한다. 98 페이지 2.3 절을참고하라. 2.3 글자체선택문서를작성할때, 어떤특정한부분의글자체를현재쓰고있는글자체와달리하고싶을때가있다. 글자의두께를진하게한다든지, 크기를크게한다든지, 다른모양을쓴다든지, 또는설계 (design) 가전혀다른글자체를쓴다든지등등. 이러한글자체바꿈을위해라텍은여러가지글자체바꿈명령을제공한다. 라텍 209에서제공됐던 \rm, \sf, \sl, \it 등등의글자체바꿈명령들은모두가같은 2 그러므로엄밀히말하면예전의 hfont 와동일한것은 [nojosa]{kotex} 이다. 74

76 차원에서글자체를바꾸기때문에여러가지단점을가지고있었다. 즉, 글자체의설계가 \rm이아닌 \sf를계속써오다가그글자체의기울인모양인 \sl로글자체를바꾸면바뀐글자체가 \sf의 \sl이아니라 \rm의 \sl이된다. 이는이런글자체바꿈명령이일단글자체를애초값으로복귀시킨후글자체를바꾸기때문이다. 이러한단점을보완하기위해 1989년부터 Frank Mittelbach와 Rainer Schöpf는 새로운글자체선택방식 (NFSS: New Font Selection Scheme) 을고안하기시작하여현재라텍버전 2ε 에채택되어있는 NFSS를만들었다 영문글자체선택방법 NFSS는글자체를다섯가지요소로구분하여이요소들을각각독립적으로선택할수있게한다. 그다섯가지요소는다음과같다. 글자체부호화 (encoding) 다른알파벳을쓸때각나라별로 codepage가정해져있다. 라텍에서는다른프로그램와마찬가지로각글자와 사이의글자체위치를연관시킴으로써이를해결한다. 라텍에서는이를 부호화방법 이라한다. 글자체가족 (family) 글자체가족은같은설계원칙을갖는다. 가족내에서는크기 (size) 와무게 (weight), 폭 (width), 모양 (shape) 으로구성원이구별된다. 글자체모양 (shape) 글자체가족의구성원을구별하는중요한속성이다. 곧은 (upright) 모양 과 굽은 (italic) 모양 기운 (slanted) 모양 혹은대문자의크기를 70% 정도로축소하여소문자대신쓰는 작은키 (SMALL CAPS) 모양 등으로구별된다. 글자체모양에있어서그중요도는떨어지지만 외곽형 (outlined) 모양 과 그림자 (shaded) 모양 및 곧은이탤릭 (upright italic) 모양 등도글자체모양에속한다. 글자체무게 (weight) 및폭 (width) 무게와폭은서로의조합으로하나의글자체속성을형성한다. 무게는글자의두께로서결정되며 보통두께 (medium), 가벼운두께 (light), 무거운두께 (bold)... 등으로나뉜다. 가벼운두께 에도 아주가벼운두께 (extra light), 매우가벼운두께 (ultra light), 보통가벼운두께 (light), 약간가벼운두께 (semi light) 등등으로분리되며 두꺼운두께 도이런식으로세분된다. 폭은 보통의폭 (medium width), 확장된폭 (extended width) 등이있다. 글자체크기 (size) 글자체크기는인쇄기의점을단위로표현된다. 인쇄기의점을텍에서는 pt라는단위로나타내며 1인치는 72.27pt이다. 라텍에서는글자체크 75

77 기가 1.2의승으로구별된다. 이렇게정한배경에는후에축소복사를할때의편이함이있다. 즉 A5 크기의책자를만들경우, A4 종이에 1.44 = 2 의글자체크기를선택하여인쇄한후 A5 크기로축소한다. 글자체선택에는명령형과선언형이사용될수있다. 명령형은 \textbf{...} 와같이한가지변수를요구하며, 선언형은 \bfseries와같이변수를요구하지않는다. 선언형은다음과같이환경형태로도쓰일수있다. 몇몇단어들은 \begin{bfseries} 두껍게 \end{bfseries} 인쇄된다. 몇몇단어들은두껍게인쇄된 다. 문서의애초글자체는명령형 \textnormal이나선언형 \normalfont로선택되며, 이명령 / 선언은문서의글자체를초기화시킴으로써항상같은모양을선택할수있게한다. 문서의글자체가족에는로만 (roman) 체, 산세리프 (sans serif) 체, 타자 (typewriter) 체가있다. 이들은각각다음의명령형과 \textrm \textsf \texttt 선언형으로 \rmfamily \sffamily \ttfamily 선택된다. 로만글자체는일반적으로문서의기본글자체로선언되어있다. 문서의글자체시리즈 (series) 는폭과두께의두요소로구성되며, 다음과같은명령및선언형으로선택된다. \textmd \mdseries \textbf \bfseries 애초값은 \textbf 가확장된두꺼운두께 (bold extended) 이고 \textmd 는보통의폭과보통의두께이다. 글자체모양은애초값인곧은모양을비롯하여굽은모양, 작은키모양, 기울인모양이있는데이들은각각다음의명령 / 선언형으로선택된다. \textup \upshape \textit \itshape \textsc \scshape \textsl \slshape 76

78 이중에굽은모양과곧은모양사이의전환은 \emph 명령및 \em 선언으로이루어 진다. 글자체크기선택을위해서는 10 가지의선언형이사용된다. ( 명령형은없다.) \tiny 미소한크기 \scriptsize \footnotesize \small \normalsize \large \Large \LARGE \huge \Huge 각본철크기 주석크기 작은크기 보통크기 큰크기 좀더큰크기 아주큰크기 거대한크기 아주거대한크기 위와같은외형글자체바꿈명령들의행동방식은내형글자체바꿈명령에의 해달라진다. 예를들어 \renewcommand{\familydefault}{cmss} 와같은내형글자체바꿈명령을쓰면글자체가족의애초값이 cmss(computer Modern Sans Serif) 로바뀜으로써주석및머릿말등, 외형글자체바꿈명령만으로는바 뀌지않는부분까지의글자체가족이영향을받는다. 라텍에서애초값은표 6.1 과같이설정되어있다 우리말글자체선택방법의개요 HFSS 3 는 NFSS를바탕으로두고있다. 우리말부호화의특성에따라한국어부호화 (encoding) 방식을지정하는 \hfontencoding과한국어글자체가족 (font family) 을지정하는 \hfontfamily가추가되었으며글자체선택방식도우리말글자체에맞도록변경되었다. 글자체부호화우리말의부호화는 H로설정되어있고 NFSS에서사용되는글자체부호화설정모듬명령 \fontencoding을우리말화한 \hfontencoding을쓴다. 우리말글자체의부호화는사용자의입장에서볼때달리설정할이유가없고, 영어부호화방식과의구별에그주목적이있으며 HFSS의작동시우리말글자체의선택을우리말에맞게하도록하는기능을한다. 3 Hangul Font Selection Scheme 77

79 표 6.1: 라텍에서글자체애초값내형글자체애초값 \encodingdefault \familydefault \seriesdefault \shapedefault \rmdefault \sfdefault \ttdefault \bfdefault \mddefault \itdefault \sldefault \scdefault \updefault OT1 \rmdefault m n cmr cmss cmtt bx m it sl sc n 글자체가족 NFSS에서와같이우리말의글자체가족은글자체의설계원칙에따라구분이되고, 우리말의특성에의해두요소로표현된다. 첫번째요소는, \kscfamily로서우리말의상징문자와한글및한자를구별한다. 이모듬명령도사용자의입장에서는쓸일이거의없고, 주로한글라텍의내부처리과정에서사용된다. 두번째요소는우리말의글자체가족을나타내는 \hfontfamily로서우리말의글자체가족을바꿀때사용자가직면하게되는, 실질상우리말의글자체가족을대표하는요소이다. 글자체무게및폭작동방식과내용이 NFSS와동일하다. 추가된사항은글자체시리즈의접두사 S로서이는우리말의 \bfseries가 softbold로처리되도록한다. 글자체모양 NFSS와같다. 글자체크기 NFSS와같다. 78

80 2.3.3 우리말글자체의가족선택 KS X 1001 의부호체계에의한상징문자 / 한글 / 한자의가족구분은글자의부호 값으로정해지므로특별한명령 / 선언모듬명령을필요로하지않는다. 단지미래에 추가될수도있는가능성을위해혹은운영체계관리자를위해, 설치된한글라텍의 특성에따라다음의모듬명령으로상징문자 / 한글 / 한자를구분설정할수있도록 하였다. \kscfamily{ 상징문자 }{ 한글 }{ 한자 } 이는각각 \symboldefault \hanguldefault \hanjadefault 로설정되어있으며그값은각각 s, w, h 이다. 우리말문서에서의실질적인 우리말글자체가족 은 \textmj \textgt \texttz \mjfamily \gtfamily \tzfamily 로선택되며이들은각각 \textrm \textsf \texttt \rmfamily \sffamily \ttfamily 와같은작용을한다. ( 왼쪽은명령형, 오른쪽은선언형 ) 위와같은모듬명령들은우리말가족을바꾸어주는모듬명령 \hfontfamily 를사용한다. \hfontfamily{ 우리말가족 } 우리말가족에는다음과같은글자체가있다. 79

81 기본가족 : mj ( 명조 ) gt ( 고딕 ) tz ( 타자 ) 추가가족 : gr ( 그래픽 ) gs ( 궁서 ) pg ( 필기 ) yt ( 옛글 ) bm ( 봄글씨 ) pn ( 펜글씨 ) ph ( 펜흘림 ) sh ( 신문 ) vd ( 바다 ) jmj ( 자모명조 ) jgt ( 자모고딕 ) jnv ( 자모노벨 ) jsr ( 자모소라 ) 위와같은우리말가족들은상징문자 / 한글 / 한자의세가족을대표하는외형 가족으로서, 문서에서우리말가족을 tz으로지정하였을경우한글라텍은한글 / 상 징문자 / 한자의순으로각각 wtt, wtt, wtt 의내형가족을쓰도록되어있다. 외형가족과내형가족의연관은사용자가다음의 명령으로문서의어디에서든지변경할수있다. \MapHangulFamily{ 외형가족 }{ 한글가족, 상징문자가족, 한자가족 } tz 의경우내형가족과의연관은다음과같은명령으로이루어진다. \MapHangulFamily{tz}{wtt,wtt,wtt} 우리말글자체시리즈 문서의글자체시리즈의선택에는 NFSS 가그대로적용되며라텍을쓸때는한글라텍 버전 0.96 까지사용되었던 softbold 를위해글자체시리즈의접두사 S 가추가되어 보통두께의글자체를 (mdseries) 세번중첩인쇄하는기능을한다. 그러므로라텍 문서에서다음의명령은 \renewcommand{\bfdefault}{sbx} 혹은 \fontseries{sbx} 우리말의글자체두께를 softbold 로처리하도록하며영문글자체의두께는 bx 가 되도록한다. kotex.sty 의추가선택 softbold 는위와같은기능을애초값으로 설정한다. 80

82 2.3.5 우리말글자체의모양과크기 우리말글자체의모양 / 크기는 NFSS 와같다 우리말글자체의애초값 문서의애초글자체는 NFSS 에서와같이다음의명령 / 선언형으로선택된다. \textnormal \normalfont 한글라텍에서애초값은다음과같이설정되어있다. \hencodingdefault \encodingdefault \symboldefault \hanguldefault \hanjadefault \mjdefault \gtdefault \tzdefault \hfamilydefault 한글라텍 H s w h mj gt tt \mjdefault 위와같은애초값들은운영체계관리자가 hfont.cfg 에서변경설정할수있고, 사 용자도문서의서두에서재정의할수있다 그외우리말글자체의모듬명령 한글라텍버전 0.96 까지써오던두글자로구성되는글자체바꿈명령은기본글 자체이외에는모두삭제되었다. 이들은라텍버전 209 식의글자체바꿈명령에해 당하며사용을회피하는것이좋다. \mj \gt \tz 그반면에우리말로구성되는글자체바꿈명령은글자체의가족을선택하는선 언형으로서계속존재한다. 한글라텍 \ 명조 \textmj \mjfamily 81

83 \ 고딕 \textgt \gtfamily \ 타자 \texttz \tzfamily \ 그래픽 \hfontfamily{gr} \ 궁서 \hfontfamily{gs} \ 신문 \hfontfamily{sh} \ 필기 \hfontfamily{pg} \ 펜글씨 \hfontfamily{pn} \ 펜흘림 \hfontfamily{ph} \ 봄글씨 \hfontfamily{bm} \ 옛글 \hfontfamily{yt} \ 자모명조 \hfontfamily{jmj} \ 자모고딕 \hfontfamily{jgt} \ 자모노벨 \hfontfamily{jnv} \ 자모소라 \hfontfamily{jsr} \hfontfamily 나 \fontfamily 로글자체를지정한후에는 \selectfont 로글자 체를선택해야글자체가바뀐다. \usefont 는 NFSS 의모듬명령으로서글자체의부호화와가족, 시리즈및모양 을한번에정할수있도록한다. \usefont{ 부호화 }{ 가족 }{ 시리즈 }{ 모양 } 이모듬명령에서첫번째변수인글자체부호화가 \hfontencoding 과같을경우에 는두번째변수를 \hfontfamily 로취급한다. 그러므로다음의선언은 \usefont{h}{gs}{m}{n} 우리말글자체중궁서체의보통두께, 보통모양을쓰도록한다. 이때영문의경우도 두께와모양에서우리말을따르게된다. 다음과같은명령은 NFSS 에대응하는, 우리말을위한선언으로서 HFSS 의작동 에필수불가결한모듬명령이다. 이들은 \begin{document} 전에서만선언할수있 는성질의것인만큼, 사용자의입장에서는보통의경우신경쓰지않아도된다. \DeclareErrorHFont{ 부호화 }{ 가족 }{ 두께 }{ 모양 }{ 크기 } \DeclareHFontSubstitution{ 부호화 }{ 가족 }{ 두께 }{ 모양 }{ 크기 } ko.tex/utf 와 ko.tex/euc 의글자체선택방식 ko.tex/utf 는 HFSS 를채택하지않고있다. 따라서 \hfontfamily나 \hfontseries 등에상당하는명령이없다. 그대신한글폰트의글꼴가족을지정하되, 다른폰트속성등은 NFSS를따르도록하고있다. 82

84 또한글꼴가족에대한개념도달라서, euc 버전이한글 / 심벌 / 한자를묶어서하 나의가족으로부르는반면, utf 에서는한글글꼴가족과한자및기타문자글꼴가 족으로분리시켜두고이들을대응하는방식을선택하였다. 예를들어, 본문의 rm/sf/tt 글꼴세트를바꾸기위해서 euc 버전에서는 \MapHangulFamily{mj}{XXbt,XXbt,XXbt} \MapHangulFamily{gt}{XXgt,XXgt,XXgt} \MapHangulFamily{tz}{XXtz,XXtz,XXtz} \mjfamily, \gtfamily, \tzfamily 와같이지정해야할것이나, 이것을 utf 버전에서는 \SetHangulFonts{XXbt}{XXgt}{XXtz} \SetHanjaFonts{XXbt}{XXgt}{XXtz} 과같이할당한다음, \rmfamily, \sffamily, \ttfamily 로쓰도록하고있다. euc 버전과 utf 버전사이의호환성에가장큰걸림돌이이폰트선택명령이다. 한글라 텍방식대로한다면듣도보도못한 \XXfamily 가나오지말라는법이없는데, 이것을 일일이모두지원할수없는까닭이다. 실제로, HFSS 로인하여, \XXfamily 명령을남발하게되면이것은심각한호환 성의문제를불러일으킨다. 다른곳에서는컴파일이불가능한상황이생기는것이다. 우리는 rm, gt, tz 라는세가지한글글꼴패밀리도너무많다고생각한다. 그러므로, 이세종류의글꼴가족이외에는반드시 \hfontfamily{xx}\selectfont 를일관 되게쓰는것이좋으며, 본문글꼴을교체하려할때는 \MapHangulFamily 를사용 하도록할것을권장한다. 또한 \textmj 와같은명령은아예일체사용하지않는 것이좋다고생각한다. euc 버전에서도 \rmfamily, \sffamily 등 NFSS 명령만을 사용해서문서를작성하는것이좋다. 2.4 우리말숫자모듬명령 한글라텍에서는우리말숫자를숫자환경에서쓸수있도록우리말숫자모듬명령을 제공한다. 우리말숫자모듬명령에는다음과같은것들이있다. \jaso( ㄱㄴㄷㄹ ) \gana( 가나다라 ) \ojaso( ᄀᄂᄃᄅ ) \ogana( 가나다라 ) \pjaso( ) \pgana( ) \onum(1234) \pnum(⑴⑵⑶⑷) \oeng(abcd) \peng( ) \hnum( 하나둘셋 ) \Hnum( 첫째둘째 ) 83

85 예를들어, 다음과같이정의를하면 \renewcommand{\labelenumi}{\gana{enumi})} \renewcommand{\labelenumii}{\jaso{enumii}.} \renewcommand{\labelitemi}{ } 다음의원전 (text) 은이렇게나타납니다. \begin{enumerate} \item 한글 \begin{enumerate} \item 현대어 \item 고어 \end{enumerate} \item 漢字 \begin{enumerate} \item 韓國語 \item 中國語 \item 日本語 \end{enumerate} \item 상징기호 \begin{itemize} \item \item \item ㅫ \end{itemize} \end{enumerate} 가 ) 한글ㄱ. 현대어ㄴ. 고어나 ) 漢字ㄱ. 韓國語ㄴ. 中國語ㄷ. 日本語다 ) 상징기호 ㅫ 나열환경의항목머리에대하여 ko.tex/utf 는좀더편리한방식을지원한다. 그렇 지만 ko.tex/euc 에대해서별도의추가지원패키지를마련하지않았다. 즉 ko.tex/euc 에서는 enumerate 패키지의환경옵션으로한글항목머리를지시할수없다. 4 utf 2.5 우리말각주판짜기 영문라텍에서의기본적인각주판짜기방식을사용하면각주번호가표시되는각주 첫줄이들여쓰여진다. 각주번호에는수학식에서멱수를나타내는윗첨자가사용 4 enumitem 2.0 이후버전은항목머리옵션을추가하는것이매우쉬우므로 ko.tex/euc 에서도설정 해서쓸수있을것으로생각한다. 84

86 되고각주번호와각주문을구분하는공간이없다. 이와같은판짜기방식이외에도출판된우리말문서를보면다른방식의판짜기를볼수있다. ( 이종운, 1991) 은각주면을본문의왼쪽에맞추는방식과각주면을본문의안쪽으로들여넣는방식으로각주면판짜기를대분하고각주문의첫줄을들여쓰기와내어쓰기에의해다시세분하는방식으로각주판짜기를분류한다. 한글라텍의각주판짜기는영문에서의방식을그대로사용한다. 그러나사용자의선호도에따른각주판짜기방식을쉽게적용할수있도록 hangulfn.sty 패키지를따로제공한다. 93페이지를보라. 2.6 조사이형태, 매개모음, 지정사탈락 \ref 나 \pageref 등의교차참조와 \cite 등의문헌인용을사용하면숫자나이름 표가자동으로생성된다. 이경우문서를작성하고있는순간에는이숫자나문자가 무엇인지를알수없다. 그러므로그다음에오게되는주격조사가 가 가될지 아니면 이 가될지를결정할수없다. 사용되는변이형은자동으로생성되는숫자의 음가나이름표의마지막음절이무슨받침을갖고있는가에따라다르다. 매개모음 으 의삽입이나지정사 이 의탈락도같은경우다. ko.tex/euc 는다음과같은음운 이형태를자동처리할수있도록했다. 은 / 는이 / 가을 / 를와 / 과 으로 / 로으로서 / 로서으로써 / 로써 이라 / 라 이를처리해주는모듬명령은각각다음과같다. \ 은 \ 는 \ 이 \ 가 \ 을 \ 를 \ 와 \ 과 \ 으로 \ 로 \ 으로서 \ 로서 \ 으로써 \ 로써 \ 이라 \ 라 이가운데 \ 라, \ 이라 는 ko.tex/utf 와의호환을위하여마련된명령이며, 아래설명 하는지정사탈락을부분적으로지원하는것이다. 매개모음 으 의삽입은명령 {\ ㅡ } 를통해구현다. 명령이름은 으 의모 음 ㅡ 이다. 예를들어 \ 로 의정의는 {\ ㅡ } 로 이다. 매개모음의삽입은동사 의굴절에서도나타나지만이를자동으로처리해야할경우는없을것으로보인다. 그 이유는동사가굴절을하지만어간이없는동사가없기때문에매개모음의앞에는 정해진동사어간이있기때문이다. 한글라텍에서제공되지않은경우의매개모음의 처리는 {\ ㅡ } 를삽입하여해결할수있다. 85

87 지정사 이 의탈락은 5 교수 ( 이 ) 시니선생님이시니? 혹은 라텍이냐워드 ( 이 ) 냐가관건이다 등과같이많은경우가있다. 경우의수가많은이유는지정사가동사의한하위부류로서다양한굴절을보이기때문이다. 따라서탈락가능한지정사에는다음의일반적인명령을사용한다. 명령의이름에사용된문자는 이 의모음 ㅣ 이다. {\ ㅣ } ko.tex/utf 에서는 \ ㅣ 와 \ ㅡ 를채택하지않고있다. 그러므로호환가능한문서 를작성할때이부분에주의를요한다. 그대신 지정사탈락 에대비하기위하여 utf 이라 ( 고 / 서 /... ) 단한경우만을지원하며, 이것은 \ 라 \ 이라 로구현하고있다. \cite 명령으로문헌인용을할때 plain.bst 모양새파일을쓰면인용의이 름표가숫자로표현되고 halpha.bst 모양새파일을쓰면인용의이름표가문자열로 표현된다. 6 후자의경우, 한글라텍은음운변화처리기능을쓰는데있어서문자열에 다음과같은제한을두고있다. 1. 문자열은두바이트이상이어야한다. (halpha.bst를쓰면문자열은보통다섯글자이상이된다. 우리말은한글자가두바이트혹은세바이트로구성되므로우리말한글자는문제의대상에서제외된다.) 옳음 : \bibitem[hkd]{ 홍길동 }... 틀림 : \bibitem[h]{ 홍길동 }... 이름표 H는한바이트이므로착오를발생시킨다. 본문에서 \cite{ 홍길동 }\ 을이라하면 [HKD] 를 로찍힌다. 2. 문자열의마지막음절은한글과한자, 우리말자소, 숫자그리고영문자로구성된다. 즉, 자소를제외한상징기호는자동음운변화처리에서고려의대상이 되지않는다. 7 다시말하자면, 자동음운변화처리기능은작동하나그결과는 문법에맞지않을수있다. 이형태의결정은실질형태소의마지막음절이 ㄹ 이아닌종성인경우로간주된다. 3. 문자열의마지막글자가영문자일경우에, 자동음운변화처리기능은낱말의음가를고려하지않고마지막문자의우리말음가로이형태를결정한다. 8 5 지정사 이다 는학자에따라조사로취급하기도하고상태동사의하나로분류하기도한다. 여기서국어학적측면은논외로한다. 6 alpha.bst를쓰면우리말이깨진다. 7 상징기호가인용의이름표로나올일이없을것으로생각한다. 8 모든영어낱말의우리말음가를올바로분석하기는매우힘들다. 86

88 옳음 : \bibitem[set]{ 홍길동 }... 영문자이름표 set 는마지막문 자 t 에의해이형태를결정한다. t 의우리말음가는중성으로끝나 는음절이다. set 의우리말음가 는세트로서역시마지막음절이 중성으로끝난다. 문헌인용의결 과는 [set] 로이다. 틀림 : \bibitem[ping]{ 홍길동 }... 영문자이름표 ping 은마지막문 옳음 : \index{ 절 see{ 첫장 ~ 첫절 }} \index{ 절 see{ 첫장 \ 첫절 }} 다. 틀림 : \index{ 절 see{ 첫장첫절 }} 출력 : 첫장첫절을참고 그림 6.2: 색인작성 자 g 가이형태를결정된다. g 의 우리말음가는중성으로끝나는 음절이다. 그러나 ping 의우리말 음가는핑으로서종성으로끝나 는음절이다. 문헌인용의결과는 [ping] 로이다. ~ 나 는모두빈칸을의미 한다. ~ 는앞뒤의단어를같 은줄에출력하도록하고 는 다른기능없이빈칸만출력한 halpha.bst를사용할경우에인용의부호는저자의이름중앞세글자와책이출판된연도의뒷두숫자로구성되거나 ( 저자가한명일때 ), 첫번째등장하는, 최대한세명의저자이름중첫글자와 \etalchar 그리고책이출판된연도의뒷두숫자로구성되므로 ( 저자가여러명일경우 ) 세번째의제한은무시될수있다. 보통의경우에도 \cite의이름표 (label) 는일련번호이거나 (plain.bst) 저자이름 + 책출판년도를약식으로표현한다 (halpha.bst). 그러므로보통은발생하기힘든경우에해당한다. 그러나참고문헌작성시에는이런사실을알고있으므로써, 발생할가능성이있는오류를사전에방지하는것이좋다. 색인작성시에 makeidx.sty을쓰면 \see 명령이정의된다. 이명령을쓸때는 \see의변수가빈칸을포함하게되면자동음운변화처리기능에의해오류가발생한다. 빈칸대신에 ~ 나 \ 를쓰면문제가발생하지않는다. 예 : 그림

89 \pagename, \chaptername 과같이우리말화한한글이름들도자동음운변화 처리를할수있다. 그러므로 \pagename\ 가 라고쓰면 페이지가 라고출력된다. 2.7 우리말이름한글라텍에서사용되는각종이름들을일률적으로 \ksnamedef 모듬명령에의해변경될수있도록하였다. 이러한 한글이름 을사용하려면 [hangul] 옵션을지정하여야한다. 예를들어, 라텍에서사용되는 참고문헌 의이름 Reference 는 \refname에지정되어있다. 이를우리말화하는방법은다음과같다. \ksnamedef{refname}{ 참고 ~ 문헌 } ko.tex/utf 에서도 [hangul] 옵션을준경우라면이명령을사용할수있다. 표 6.2에는한글라텍에서한글화한 라텍이름의한글및한자화 가나열되어있다. 이한글화는 \begin{document} 앞에서위에예를든것처럼 \ksnamedef로재정의하면원하는대로변경된다. \ksthe는라텍에정의되어있지않고, 한글라텍에서단원의숫자판짜기에사용되도록도입된이름모듬명령이다. 이는라텍이름을한글 / 한자화함으로써발생하는문제점들을해결하기위해사용된다. 예를들어 \part의일련번호는단원숫자의한글화로인해 편 I 과같이나오며한글라텍에서는 \ksthe를도입하여 제 I 편 과같은식으로짜여지도록하고있다. 한글라텍에서는 \part 와 \chapter, \appendix, \section 까지를위와같이한글화하고있으며, 각각다음과같이설정되어있다. utf 단원종류 숫자앞 숫자 숫자뒤 \part \ksthe~ \thepart ~\partname \chapter \ksthe~ \thechapter ~\chaptername \appendix \appendixname~ \thesection article \thechapter book/report \section \ksthe~ \thesection ~\sectionname 이를사용자의편의에따라재설정하기위해서는다음의모듬명령을사용한다. \kscntformat{ 단원이름 }{ 앞 }{ 뒤 } 예를들어 \chapter를 첫째마당 과같은식으로짜기위해서는전문 (preamble) \begin{document} 앞 에서다음과같이지정한다. 88

90 라텍명령한글라텍 ( 한글 ) 한글라텍 ( 漢字 ) today 1994년 3월 6일 1994 年 3 月 6 日 enclname 동봉물 同封物 ccname 사본 寫本 headtoname 받는이 受信人 seename \ 을참고 \ 을參考 contentsname 차 례 目 次 listfigurename 그림 차례 그림 目次 listtablename 표 차례 表 目次 refname 참고 문헌 參考 文獻 indexname 찾아보기 索 引 tablename 표 表 abstractname 요 약 要 約 bibname 참고 문헌 參考 文獻 appendixname 부록 附錄 ksthe 제 第 partname 편 篇 chaptername 장 章 sectionname 절 節 colorlayer 환등판 색깔 幻燈版 色相 glossaryname 용어집 語 彙 pagename 페이지 쪽 figurename 그림 그림 표 6.2: 라텍이름의한글및한자화 \renewcommand{\thechapter}{\hnum{chapter}} \ksnamedef{chaptername}{ 마당 } \kscntformat{chapter}{}{~\chaptername} 2.8 그외의우리말화우리말의분철은붙임표가사용되지않으므로영어권언어와는다른특별한처리방법이요구된다. 영어문서에서단원제목에이은첫문단에서는들여쓰기를하지않는다. 그러나한글문서에서는모든문단에들여쓰기가적용되는것으로보인다. ( 이는한글문서작성의표준이규정된것으로보이지않으나한국의출판서적을볼때그렇게판단 89

91 된다.) 첫문단들여쓰기를하는국가는한국뿐만은아닌것으로보이며, 텍운영체계에서 indentfirst 꾸러미를사용하여이를해결하도록되어있다. 즉, 문서의전문영역에서 \usepackage{indentfirst} 를지정하면첫문단들여쓰기가쉽게이루어진다. 또한들여쓰기의정도에있어서도영어문서와우리말문서는차이가있는것으로보인다. ( 역시정해진표준이있는것으로보이지않고출판사에서관습적으로들여쓰기의양을정해쓰는것으로보인다.) 들여쓰기의양은한글글자두개의넓이즉전각 2배각을쓰는것이적당해보인다. 이는많은한국어서적에서보이는전각들여쓰기보다큰값이지만 ( 이종운, 1991) 과 KS A 0104에서채택되고있는값이고우리말문서에적당하게보인다. 이들여쓰기의양은다음과같이설정할수있다. \parindent=2em 제 3 절 한글화 EUC-KR 부호화문자를처리하는한글라텍에서발생하는문제점들은대부분이문자의범주에기인한다. 텍의명령은더이상 expand 될수없을때까지 expand 되는반면에문자는더이상 expand 되지않는범주에속한다. 영어알파벳문자는모두문자범주에속하므로예를들어 word 를구성하는네개의문자는 expand 후에도그대로남는다. 반면에 EUC-KR로부호화된 낱말 은네개의부호가두개씩쌍을이루고있으며각쌍이두개의한글음절 낱 과 말 을형성한다. EUC-KR 부호화방식은한음절을구성하는두개의바이트값에의해한국어음절값이정해지므로한글라텍에서는첫번째바이트를두번째바이트를인수로취하는명령으로인식하도록하고있다. 그결과한글음절은 expand 된후에소위말하는원시명령으로구성되는일련의명령집합체로변한다. 문자범주를기대하는명령의변수가한글일때라텍은오류를유발한다. 특히 \label이나 \cite 명령등의변수가한글일때가그러하다. 한글라텍에서는표준문서양식에서사용되는이와같은명령들을수정하여서한글라벨을사용할수있도록했다. 그러나다른패키지에서이런명령들을재정의하면또다시문제가발생할수있다. 문제가되는것중에 hyperref 패키지가있다. pdf 제작에있어서는거의필수적인이패키지가한글라벨이름을받아들이지않는다. pdf를제작하거나 ko.tex/utf 와의호환을고려한다면되도록한글라벨이름을쓰지않는것이좋다. utf 90

92 showkeys 패키지는 \label, \ref, \pageref, \cite, \bibitem 명령을수정하여내부적으로사용되는표지를출력하는기능을수행한다. 한글라텍에서는이패키지를한글화하여 showhkeys.sty의이름으로제공한다. 참고문헌의인용에사용되는표지를 showkeys 패키지와는다른방식으로출력하는 showtags 패키지를한글화한파일은 showhtags.sty이다. 91

93 제 IV 편 한글문서작성 92

94 제 7 장 한글문서서식 제 1 절 각주형식 1.1 hangulfn 의각주판짜기이패키지는 ko.tex/euc 에서는 hangulfn, ko.tex/utf 에서는 dhucsfn 이라는이름으로되어있으며, 하는일은동일하다. 두패키지모두영문자옵션을받아들이지만 dhucsfn은한글옵션을처리하지못한다. 영문자옵션을주로사용할것을권장한다. 패키지의사용법은다음과같다. \usepackage[ 선택사항 ]{dhucsfn} 또는 \usepackage[ 선택사항 ]{hangulfn} 선택사항으로는각주번호의판짜기방식을지정하는첨자와괄호가있는데각각다음과같이짜여진다. 첨자 (superscript): 1 각주문 괄호 (parenthesis): 1) 각주문첨자의경우에는각주번호와각주문사이가붙고괄호의경우에는소괄호와각주문사이에구분공간이있다. 애초값은첨자이다. 각주판면의판짜기를지정하는선택사항의종류는다음과같다. 다항이어쓰기 (multipara): 연이은각주가새행에서시작하지않고이전행의오른쪽에나열되며, 새각주의넓이가행의오른쪽경계를넘어설때에그각주는새행에서시작한다. 문서전체가길이가짧은각주로만구성될때에사용할수있는판짜기방식이다. 12) 첫번째각주 13) 두번째각주 14) 세번째각주 15) 네번째각주 16) 다섯번째각주 17) 여섯번째각주 18) 일곱번째각주 19) 여덟번째각주 93

95 단순이어쓰기 (para): 다항이어쓰기 와같은방식이나한각주의넓이가행 의오른쪽경계를넘어설때에경계를넘어서는부분이줄바꿈에의해다음 행으로넘겨진다는점이다르다. 12) 첫번째각주 13) 두번째각주 14) 세번째각주 15) 네번째각주 16) 다섯번째각주 17) 여섯번째각주 18) 일곱번째각주 19) 여덟번째각주 내어쓰기 (hang): 각각의각주는새행에서시작한다. 각주번호가각주문의왼쪽으로내어써지고, 각주문의왼쪽맞춤위치가각주문의첫글자의위치이다. 이방식이애초값이다. 12) 각주면의각주번호와구분공간을각주문으로부터왼쪽으로내어쓰는방식이다. 각주문의 가로넓이는본문의가로넓이에서각주번호와구분공간의넓이만큼뺀길이이다. 왼쪽맞춤 (leftflush): 각각의각주는새행에서시작한다. 각주의첫줄이 왼쪽맞춤으로짜진다. 12) 각주번호와각주문이들여쓰기나내어쓰기에의해구분되지않고전체가하나로왼쪽맞춤 되는판짜기방식이다. 각주번호와각주문의사이에는구분공간이삽입된다. 구분공간은 첨자의경우 0pt 이고괄호의경우공간문자이다. 들여쓰기 (indent): 라텍이제공하는기본각주판짜기와유사한방식이다. 각주번호는 3배각의위치에서오른쪽으로정렬되며각주문이구분공간을사이에두고이어진다. 각주문사이에줄바꿈이일어나면새행이본문의왼쪽맞춤위치에서시작한다. 12) 첫줄들여쓰기방식이다. 각주번호의끝이왼쪽가장자리에서부터 3배각의위치이다. 연이은각주의각주번호도같은위치에정렬된다. 13) 이어지는각주이다. 각주번호가위쪽의각주번호와함께오른쪽으로정렬되었다. 들여왼쪽맞춤 (leftflushindent): 왼쪽맞춤 과같은방식이다. 전체각주면이본문으로부터오른쪽으로 2배각들여써진다. 12) 각주번호와각주문이들여쓰기나내어쓰기에의해구분되지않고전체가하나로왼쪽 맞춤되는판짜기방식이다. 전체각주면이본문의왼쪽맞춤위치에서 2 배각들여진다. 94

96 들여내어쓰기 (hangpar): 들여쓰기 와같은방식이다. 전체각주면이본문으 로부터오른쪽으로 2 배각들여써진다. 12) 각주면의각주번호와구분공간을각주문으로부터왼쪽으로내어쓰는방식이다. 전 체각주면은본문의왼쪽에서 2 배각들여짜진다. 각주문의가로넓이는본문의가로 넓이에서각주번호와구분공간의넓이그리고 2 배각의넓이를뺀길이이다. 들여괄호맞춤 (varhangpar): 들여내어쓰기 방식과같으나각주문에서줄바꿈에의해새로시작하는행의왼쪽이각주번호에사용되는괄호의끝에정렬되는점이다르다. 각주번호양식이 괄호 로바뀐다. 각주번호와각주문의간격은 1배각이다. 12) 각주면의각주번호를각주문으로부터왼쪽으로내어쓰는방식이다. 각주번호와 각주문사이에는 1 배각의간격이삽입된다. 전체각주면은본문의왼쪽에서 2 배각들 여짜진다. 줄바꿈후에새행이각주번호의괄호다음에서시작했다. 1.2 각주문단모양관련한글문서는기본행간을영문문서에비하여넓혀잡기때문에각주사이의간격이흐트러져서모양이일그러지는경우가생긴다. 즉, 한글문서에서는각주사이의간격을적당하게재조절해주어야한다. 이에대해서 dhucs-setspace 패키지 (utf) 또는 hsetspace 패키지 (euc) 가약간의해결책을제시해주시만, 각주내의행간을재조절하는특징이있다. 일반적인문서에서각주행간을본문행간과동일하게할것인가아니면좁은행간을쓸것인가는전적으로선택의문제이지만, \footnotesep 길이값을저자가직접설정해줄필요가있다는점을기억해두자. 각주문단이다음페이지로넘어가는문제와관련하여, L A TEX 에서는각주번호가찍힌페이지보다앞에각주가먼저나오는경우가없다는것을알아두어야한다. 이때문에각주위치잡기를위해서페이지의하단이비는경우도생기는데, 이를해결하는여러가지방법이 L A TEX 관련팁으로제시되고있다. 그가운데하나는 bigfoot 패키지를사용하는것이다. bigfoot 패키지나 footmisc 패키지등의사용법을익혀두면문서작성에서도움을얻는경우가많다. 95

97 제 2 절 자간, 행간, 단어간격 2.1 자간 자간을처리하는데는있어서알아두어야할것은다음과같다. ko.tex/euc 에서자간은 \hangulskip 이라는길이값을조절하는것으로가능하 다. 예를들면, \hangulskip=0pt ko.tex/utf 에서는비슷한기능을 \setinterhangulskip 이라는명령을통하여 지정할수있다. \setinterhangulskip{0pt} 또한폰트마다각각다른자간값을폰트속성으로부여해두었으므로, 위의명령을지 정했다하더라도 hfontspec 을불러들이면모두폰트속성값으로대체된다. 따라서 위의명령은그다지유용하지못하고사용자가문서에서활용할만한것이아니다. 실 제자간은판면의모양을심하게일그러뜨리므로되도록사용자수준에서그조절은 삼가야할것이다. 그럼에도불구하고, 자간을조절할수있는유틸리티패키지가제공된다. 이것은 hlatex-interword(euc) 또는 dhucs-interword(utf) 라는패키지의기능중의하 나이다. \interhchar 명령을이용한다. \usepackage{dhucs-interword} % or, hlatex-interword (euc) \interhchar{0pt} 이다. ko.tex/utf 에서 \setinterhangulskip 과 \interhchar 는사실상동일한명령 dhucs-interword 패키지등을씀에있어주의할점은, [default] 옵션으로 로드하면기본자간이 0pt 로리셋된다는점이다. 그러므로폰트속성자간값을적용 하려면 dhucs-interword 이후에 \usehangulfontspec 명령을호출하는것이좋 다. \usepackage[default]{dhucs-interword} \usehangulfontspec{ut} dhucs-interword 패키지가의도대로동작하려면 ko.tex/utf 에서 finemath 가 활성화되어있어야한다. 96

98 2.2 단어간격 단어간격과관련된 L A TEX 명령은 \spaceskip 이다. 그리고 nonfrench spacing 에서 \xspaceskip 은마침표뒤의여분공백의크기를지정한다. ko.tex/euc 는언제나 nonfrench 로만동작하지만 ko.tex/utf 는 nonfrench 옵션을지정해야한다는사실을 기억해두자. dhucs-interword 패키지또는 hlatex-interword 패키지는단어간격의기본 값을설정하거나바꿀수있게하는데, \interhword 명령이그것이다. 다만이두 경우사용법이조금다르다는사실에주의하자. dhucs-interword \usepackage{dhucs-interword} \interhword[.6]{.475}{.1}{.1} 여기에서옵션인자는 \xspaceskip 값을의미하며, french spacing 에서는무의미 하다. 이값들은문서기본폰트사이즈의승수값을의미한다. 즉,.475 라는것은 pt = 4.75pt 가되는것이다. [12pt] 옵션의문서라면이값이달라진다. hlatex-interword \usepackage{hlatex-interword} \interhword{.475em}{.1em}{.1em} 이경우에는길이단위를지정해주어야한다. 두경우모두, 첫번째인자와두번째, 세번째인자사이는다음과같은규칙으로 적용된다. <first> plus <second> minus <third> 자간과단어간격을설정하는 hlatex-interword 패키지와 dhucs-interword 패키지에서사용할수있는옵션과매크로는다음과같다. [default] 옵션한글문서에적당한자간과어간을설정한다. 영문자의자간및어 간보다조금넉넉한정도이다. [HWP] 옵션아래아한글 97 의기본자간및어간설정을흉내낸것이다. [default] 보다어간이더넓다. \interhword 매크로어간을임의로설정하게한다. 97

99 \interhchar 매크로자간을임의로설정하게한다. 한개의인자를취하는데반드시길이단위를붙여주어야한다. \interhchar{0pt} 는자간을 0 point 로만드는것이다. 다만, 이방식에의한자간의변경은그다지권장하지않는다. 왜냐하면자간은폰트자체의속성으로간주하여 hfontspec에의해제어되는것이바람직하다고보기때문이다. dhucs-interword 패키지는단어간격의제어에만활용되는것이좋으리라고생각한다. 2.3 행간행간은 \baselinestretch나 \linespread를이용하여간단하게제어할수있지만좀더복잡한경우도없지는않다. 예를들면문서일부에별도의행간을적용한다든가... 행간을제어하기위하여제공되는패키지는 hsetspace 또는 dhucs-setspace 패키지이다. 이패키지는 setspace 패키지를한글화한것이다. [hangul] 옵션을활성화하거나이패키지를로드하면기본행간이 1.333으로변경된다. 그리고 setspace 패키지의모든기능을다쓸수있다. 이패키지의사용법은해당패키지문서를참고하라. \usepackage[hangul]{dhucs-setspace} setspace 패키지의독특한특징중하나가, 행간을늘리더라도 floats( 그림과표 ), footnote 안의행간은여전히 1.0으로고정된다는것이다. 한글화과정에서이개념을확대하여, 넓은행간과좁은행간두종류로나누고좁은행간을 footnote, floats, quote, verbatim 등에적용한다. 이를설정하는명령이 \SetHangulspace이다. \SetHangulspace{1.333}{1.2} 이패키지는좀복잡한옵션을가지고있는데이를설명하면다음과같다. hsetspace 패키지와 dhucs-setspace 패키지는 setspace 패키지를불러온다. 즉, singlespace, doublespace, onehalfspace 등의환경과 \singlespacing 등의선언을사용할수있다. 한글화를위해서추가된옵션과매크로만을소개하면다음과같으며, 실제사용법은 setspace 패키지매뉴얼을참고하라. [nofloatspacing] 옵션 figure, table 등의 float 내에서간격을줄이는기능을끈다. [noquotespacing] 옵션 quote 환경안에서간격을줄이는기능을끈다. 98

100 [hangul] 옵션한글화매크로인 \SetHangulspace 명령을쓸수있게하고행간을한글문서기본값으로설정한다. [adjustverbatim] 옵션 verbatim 환경안에서좁은간격을적용한다. [adjustfootnotesep] 옵션각주는기본적으로좁은간격으로된다. 그러나각주간간격은자동으로맞추어지지않는데이것을조금보정하도록한것이다. 행간을임의로설정하려할때는무의미하고기본값에대응시킨것이다. \SetHangulspace 매크로두개의인자를취하여첫번째것을기본행간, 두번째것을좁은행간간격으로한다. 인자는모두 stretch 값이어야한다. 예를들면 \SetHangulspace{1.3}{1.1} 과같은방법으로사용하며, preamble 에서만사용한다. 좁은행간 은 float, 각주등에사용되는행간을말한다. euc 버전과 utf 버전은동일하게동작한다. 제 3 절 ko.tex/euc 에서의밑줄 45 페이지의 절에서말한바와같이 ko.tex/utf 와는달리 ko.tex/euc 는 ulem 패 키지와약간의충돌이있다. 부분적이나마이문제를피해가기위해 myulem 패키지 라는작은패키지가제공된다. 다음과같이사용한다. \usepackage{myulem} 밑줄명령들앞에는 h 를붙여서쓴다. \huline{ 가나다 } \huwave{ 가나다 } \hsout{ 가나다 } \hxout{ 가나다 } \huuline{ 가나다 } 결과는다음과같다. 가나다 가나 다 가나다 /// 가 //// 나 //// 다가나다 다만, ko.tex/euc 에서는 ko.tex/utf 와는달리, 밑줄명령안에서는단어단위로만행나 눔이이루어진다. ko.tex/utf 는밑줄명령안이라도글자단위로행나눔이가능하다. 여러가지면에서 ko.tex/utf 의 ulem 패키지를사용하는방식이더낫다. 99

101 제 4 절 장절표제 ko.tex 은 [hangul] 옵션을두고있다. 이옵션을활성화하면두가지중요한변화가일어난다 한글식이름 (names) 을사용한다. 그래서 Figure와같은표제이름이 그림 으로바뀐다. 2. 한글식장절표제모양이활성화된다. 예를들면 Chapter 1 이아니라 제 1 장 형식으로식자한다. 그러나이것만으로는충분하지못하다. 장절표제의형식을바꾸는많은패키지들이있는데이것과한글장절표제형식이일치하지않아서생기는문제들이많이있다. 모든관련패키지를다지원할수는없지만 sectsty 패키지는이를한글화해두었다. hsectsty 패키지 (euc) 또는 dhucs-sectsty 패키지 (utf) 이그것이다. 이패키지의장절표제설정명령과함께한글식장절표제형식을유지하도록해준다. sectsty 패키지의사용법은해당패키지문서를참고하라. hsectsty 패키지와 dhucs-sectsty 패키지는 [ensec] 옵션을줄수있다. 이렇게하면한글서식을적용한경우에도절제목에한해서영문문서와같이 제 와 절 없이숫자만찍힌다. oblivoir를사용한다면 memoir의간편한방식을사용하여더쉽게장절표제형식을사용자화할수있다. 제 5 절 문장부호 5.1 우리말문장부호의사용법우리말문서에서사용되는문장부호는라텍에서제공되는문장부호가사용될수있다. 그러나특수한경우에는우리말문자체계에서제공하는상징문자를사용해야하고경우에따라서는특별한명령으로구현되어야한다. ( 한글연구회, 1992) 의부록에서는우리말문서에서다음과같은문장부호의사용법을규정하고있다 마침표 온점 (.), 고리점 ( ) 가로쓰기에는온점, 세로쓰기에는고리점을쓴다. 1 ko.tex/utf 에서는추가적인번호형식, 추가적인방점명령등을더사용할수있게된다. 100

102 온점은마침표라고도하며영문 ASCII에서사용되는부호와동일한부호 (.) 로입력되고고리점은우리말상징문자 ( ) 가사용된다. 젊은이는나라의기둥이다. 물음표 (?) 의심이나물음을나타낸다. 영문 ASCII에서사용되는부호와동일한부호 (?) 이다. 이제가면언제돌아오니? 느낌표 (!) 감탄이나놀람, 부르짖음, 명령등강한느낌을나타낸다. 영문자에서사용되는부호 (!) 와동일하다. 아, 달이밝구나! 쉼표 반점 (,), 모점 ( ) 가로쓰기에는반점, 세로쓰기에는모점을쓴다. 문장안에서짧은휴지를나타낸다. 반점은영문자에서사용되는부호 (,) 와동일하고모점은우리말상징부호 ( ) 를사용한다. 근면, 검소, 협동은우리겨례의미덕이다. 가운뎃점 ( ) 열거된여러단위가대등하거나밀접한관계임을나타낸다. 라텍의수학기호 ($\cdot$) 을입력하거나우리말상징부호 ( ) 을사용할수있다. 철이 영이, 영수 순이가서로짝이되어윳놀이를하였다. 쌍점 (:) 내포되는종류를들적에, 소표제뒤에, 저자명과저서명사이등에쓴다. 영문자부호콜론 (:) 을입력한다. 문방사우 : 붓, 먹, 벼루, 종이 빗금 (/) 대응, 대립되거나대등한것을함께보이는단어와구, 절사이에쓴다. 분수를 101

103 나타낼때에쓰기도한다. 영문자 (/) 를입력한다. 착한사람 / 악한사람 맞닥뜨리다 / 맞닥트리다 따옴표 큰따옴표 ( ), 겹낫표 ( ) 가로쓰기에는큰따옴표, 세로쓰기에는겹낫표를쓴다. 대화, 인용, 특별어구따위를나타낸다. 큰따옴표는라텍의입력방식에따라작은따옴표를두번 ( ) 입력하여사용하고겹낫표는우리말상징부호 ( ) 를입력하여사용한다. ( 우리말상징부호의겹낫표는시계반대방향으로 90 회전된형태이다. 아마도가로쓰기에서사용될수있도록변화된것으로보인다.) 전기가없었을때는어떻게책을보았을까? 작은따옴표 ( ), 낫표 ( ) 가로쓰기에는작은따옴표, 세로쓰기에는낫표를쓴다. 큰따옴표는라텍의인용부호 ( ) 를입력하여사용하고낫표는우리말상징부호 ( ) 를입력하여사용한다. ( 우리말상징부호의낫표는시계반대방향으로 90 회전된형태이다. 아마도가로쓰기에서사용될수있도록변화된것으로보인다.) 지금필요한것은 지식 이아니라 실천 입니다 묶음표 소괄호 (()) 원어, 연대, 주석, 설명등을넣을적에, 빈자리임을나타낼적에도쓴다. 영문자의소괄호부호 (()) 를입력한다. 우리나라의수도는 ( ) 이다. 중괄호 ({}) 여러단위를동등하게묶어서보일때에쓴다. 라텍의입력방식에따라역사선문자다음에해당중괄호 (\{\}) 를입력한다. 주격조사 { 이가 } 102

104 대괄호 ( ) 묶음표안의말이바깥말과음이다를때혹은묶음표안에또묶음표가있을때에쓴다. 영문자대괄호 ([]) 를사용할수도있으나우리말상징부호에있는대괄호의꺾음정도가다르므로 ( ) 우리말상징부호를입력하여사용할수있다. 명령에있어서의불확실 단호 ( 斷乎 ) 하지못함 은복종에있어서의불확실 모호 ( 模糊 ) 함 을낳는다 이음표 줄표 ( ) 이미말한내용을다른말로부연하거나보충함을나타낸다. 라텍의입력방식에따라붙임표를세번입력하거나우리말상징문자 ( ) 를입력하여사용한다. 어머님께말했다가 아니, 말씀드렸다가 꾸중만들었다. 붙임표 (-) 사전, 논문등에서합성어를나타낼적에, 또는접사나어미임을나타낼적에혹은외래어와고유어또는한자어가결합되는경우에쓴다. 영문자부호 (-: hyphen) 을입력하여사용한다. 겨울 - 나그네 빛 - 에너지 물결표 ( ) 내지 라는뜻에혹은어떤말의앞이나뒤에들어갈말대신쓴다. 라텍명령 \textasciitilde를입력하거나우리말상징부호 ( ) 를입력하여사용한다. 아래의왼쪽예문에서와같이라텍명령에사용되는물결표는액센트문자를만드는역할을하므로우리말의물결표로는부적당하게보인다. 9월15일 ~9월25일미술 드러냄표 이나 을가로쓰기에는글자위에세로쓰기에는글자오른쪽에쓴다. 문장내용중에서주의가미쳐야할곳이나중요한부분을특별히드러내보일때쓴다. 드러낼낱말을 \dotemph 혹은 \circemph 명령의변수로지정하거나 \dotem 혹은 \circem을선언한다. 이명령 / 선언은우리말음절에만적용된다. 103

105 한글의본이름은 훈 민 정 음이다. 중요한것은 왜 사 느 냐가아니라 어 떻 게 사 느 냐하는문제이다 안드러냄표 숨김표 (, ) 알면서도고의로드러내지않음을나타낸다. 라텍수학모드의명령 ($\times$/$\bigcirc$) 을입력하거나우리말상징부호 ( ) 를입력하여사용한다. 그말을듣는순간 란말이목구멍까지치밀었다. 빠짐표 ( ) 글자의자리를비워둠을나타낸다. 훈민정음의초성중에서아음 ( 牙音 ) 은 의석자이다. 줄임표 ( ) 할말을줄였을때나말이없음을나타낼때에쓴다. 라텍의수학모드명령 ($\cdots$/$\ldots$) 를입력하거나우리말상징부호 (... ) 를입력하여사용한다. $\cdots$ 는가운뎃점의위치에연속된점세개를 $\ldots$ 은온점의위치에연속된점세개를나열한다. 우리말의줄임표시에연속된점을세개사용해야하는지여섯개를사용해야하는지는확실하지않다. 우리말상징부호는연속된점의수가세개이다. 어디나하고한번 하고철수가나섰다. 5.2 문장부호에관련된문제 ko.tex/utf는 [finemath] 옵션으로물음표와느낌표, 그리고온점마침표의수직위치를조절하는기능이있다. 이것은영문폰트의아스키문장부호를가져다쓰기때문에불가피한것이었다. 또한수평간격도일부조절해준다. 이기능은 ko.tex/euc에는적용되지않는다. 104

106 제 8 장 색인과문헌목록 제 1 절 ko.tex/euc 의 hbibtex 과 halpha 1.1 우리말문헌인용 라텍에서문헌을인용하기위해서는 \cite 명령으로참고문헌표지를지정한다. 참 고문헌표지는 thebibliography 환경내에서 \bibitem 으로지정되는참고문헌 항목에주어지거나 BibTEX 을이용하는참고문헌데이터파일.bib 의목록에서주 어진다. 참고문헌데이터파일을사용하면정해진양식으로참고문헌정보를.bib 파일에수집하여둠으로써어느문서에서든지그정보를꺼내쓸수있고참고문헌 양식파일을지정하여다양하고일관된참고문헌목록을작성할수있다. 참고문헌양식파일은개별언어에맞게수정되어야할부분이많다. alpha.bst 의경우에는저자나편집자와같은이름을약자로바꾸기도하는데, 이때에는한글 이름에서오류가발생하게된다. 그이유는한글의한음절이두바이트 (EUC-KR) 혹은세바이트 (UTF-8) 로구성되는데, 양식파일은이를인식하지못하고영문자처 럼한바이트만을약자로사용하기때문이다. 한글라텍은 alpha.bst 를한글화한 halpha.bst 를제공한다. 예를들면 halpha.bst 를사용하여참고문헌목록을작 성할수있다. \bibliographystyle{halpha} \bibliography{hlguide,texbook1,texbook3} \printindex 위에서는참고문헌양식으로 halpha.bst 를사용하도록지정하고참고문헌데이터 파일로 hlguide.bib, texbook1.bib, texbook3.bib 를지정한것이다. BibTEX 을이용하여한글참고문헌을만들기위해서는라텍이 8 비트문자를보 조파일 ( 확장자가.aux) 에출력할수있어야한다. 적어도 tetex-3.0 (web2c-7.5.4) 버전에서는 tcx 파일을이용하여 latex.fmt 파일을만듦으로써 8 비트출력이가능 하도록되어있다. 그러나 lambda.fmt 은 tcx 파일을사용하지않을뿐만아니라프 로그램원천에서도 EUC (Extended Unix Code) 문자가 TEX 의 16 진법표기로출력되 도록프로그래밍되어있다. 여기서문제가발생하는부분은참고문헌표지가한글로 되어있을경우이다. 예를들어참고문헌표지가 홍 91 일경우에 \cite{ 홍 91} 105

107 과같이인용을했을경우에 Λ는보조파일에 \citation{~~ed~~99~~8d91} 을기록하고 (UTF-8 부호화 ) bibtex은이정보를읽어참고문헌데이터파일에서이표지를갖는참고문헌데이터기재항목을찾아낸다. 그러나참고문헌데이터파일에기록된표지는 홍91 이므로이항목을찾아내지못한다. 따라서한글참고문헌데이터파일을사용하기위해서는보조파일을 8비트문자로변환할필요가있고, 한글라텍에서는 C 프로그래밍언어로짠 hbibtex을제공하여 BibTEX 을사용할수있도록하였다. hbibtex의사용법은 bibtex의사용법과동일하다. 라텍을사용할경우나참고문헌표지에한글을전혀쓰지않을경우에는 hbibtex을사용하지않아도된다. 1.2 참고문헌데이터베이스 라텍으로문서의판짜기에익숙해진후에는참고문헌목록의관리에관심을가질수 있다. 참고문헌데이터베이스는학술지출판과같이전문분야의학회에서유용하 게사용될수있고, 참고문헌양식파일을학회에서제공함으로써참고문헌목록의 판짜기가일관성을가질수있게된다. 또한참고문헌데이터베이스는특정분야에 독립적인형식으로구축되고이데이터베이스를이용하는사용자가필요한정보를원 하는모양으로출력할수있다. 한글참고문헌데이터베이스를구축하기위해서는영문참고문헌데이터베이 스와다른특별한방식이없다. 다만, 주의할점이있다면데이터베이스의기록사항 중에서특별한기능을갖는기능어가데이터베이스의내용과동일한문자세트를사 용하고특별한표시가없으므로오용될수있다는점이다. 참고문헌데이터베이스파일의확장자는.bib 이며각문헌이정해진순서없이 문헌유형 > = {< 라벨 >, < 필수사항 > = {< 내용 >},... < 선택사항 > = {< 내용 >},... } < 라벨 > 은문서에서문헌을인용할때사용되는참고문헌표지이며 < 필수사항 > 과 < 선택사항 > 은 < 문헌유형 > 에따라다르다. 106

108 1.2.1 문헌유형대부분의참고문헌양식파일에서사용되는문헌의유형과필수 / 선택사항은다음과같으며필수 / 선택사항이아닌사항은 bibtex에의해무시된다. article: 정기간행물이나잡지의논문필수 : author, title, journal, year 선택 : volume, number, pages, month, note book: 출판된서적필수 : author 혹은 editor, title, publisher, year 선택 : volume 혹은 number, series, address, edition, month, note booklet: 등록된출판사나기관을통하지않고인쇄 / 제본된책필수 : title 선택 : author, howpublished, address, month, year, note inbook: 출판물의장, 절혹은쪽범위필수 : author 혹은 editor, title, chapter 내지 pages, publisher, year 선택 : volume 혹은 number, series, type, address, edition, month, note incollection: 출판물을구성하는, 자체의제목을가지고있는일부분필수 : author, titiel, booktitle, publisher, year 선택 : editor, volume 혹은 number, series, type, chapter, pages, address, edition, month, note inproceedings: 학회회보에발표된논문필수 : author, title, booktitle 선택 : editor, volume 혹은 number, series, pages, address, month, organization, publisher, note manual: 기술문서필수 : title 선택 : author, organization, address, edition, month, year, note masterthesis: 석사학위논문필수 : author, title, school, year 선택 : type, address, month, note 107

109 misc: 어느유형에도속하지않을때 ( 선택사항이하나도없으면오류 ) 필수 : 없음선택 : author, title, howpublished, month, year, note phdthesis: 박사학위논문필수 : author, title, school, year 선택 : type, address, month, note proceedings: 학회회보필수 : title, year 선택 : editor, volume 혹은 number, series, address, publisher, note, month, organization techreport: 교육기관과같은기관에서월간 / 계관과같은연속물로출판되는보고서필수 : author, title, institution, year 선택 : type, number, address, month, note unpublished: 형식적으로출판되지는않았지만저자와제목을가지고있는문서필수 : author, title, note 선택 : month, year 기재사항각기재사항의내용은다음과같다. address: publisher 나기관의주소. 넓은지역에분포한출판사의경우에는도시이름만기재한다. 작은출판소의경우에는전체주소를기재하는것이독자에게유용할것이다. annote: 메모. 표준참고문헌양식에서는사용되지않지만 annote와같이주해참고문헌을생성하는양식에서사용된다. 이터는새문장으로시작하므로영어의경우에는첫글자가대문자이어야한다. author: 저자의이름이며 BibTEX 의이름형식으로기재한다. booktitle: 일부분만인용되는서적의제목. 서적등재사항에는 title이사용된다. 108

110 chapter: 장번호. crossref: 참고문헌데이터베이스에등재된참고문헌의교차참조표지. edition: 개정판 과같은간행물의발행판수. 서수로주어져야하며영어의경우 Second 와같이첫글자가대문자이어야한다. 표준양식을통해필요한경우에는첫글자가소문자로바뀐다. editor: 편집자의이름. BibTEX 의이름형식으로기재한다. author 와함께기재된때에 editor는참조가등장하는서적의편집자를나타낸다. howpublished: 통상적인간행물이아닌경우출판된방식. institution: 기술문서를후원한기관. journal: 정기간행물의이름. 잘알려진정기간행물의경우에는약어를사용할수도있다. key: 목록의정렬이나교차참조그리고 author나 editor가없을경우에문헌표지를만드는데사용된다. \cite 명령의표지및데이터베이스등재항목의처음에나오는문헌표지와혼동해서는안된다. month: 출판물이출판된달이나출판되지않은출판물이씌여진달. 영어의경우일관성을위해세문자약어로 jan, feb, mar 등이사용되어야한다. note: 독자에게유용하다고생각되는추가적인정보. number: 정기간행물이나잡지, 기술문서혹은연재물내용의번호. 정기간행물이나잡지의판이나호는보통 volume과 number로식별되고기술문서는보통 number로식별되며이름을갖는연재물의서적은가끔 nubmer를갖기도한다. organization: 학회를후원하거나 manual 을출판한기관. pages: 하나이상의쪽이나쪽범위로 , 7, 41, 혹은 43+ 로기재되는데여기서 + 는단순하지않은범위의쪽을가리킨다. publisher: 출판사이름. school: 논문이쓰여진학교의이름. 109

111 series: 연재물이나여러권으로구성되는출판물의이름. 전체출판물을인용할때에 title은제목을말하고선택사항인 series는연재물의이름이나여러권으로구성된출판서적의이름을말한다. title: 책의제목. type: 기술문서의유형을지정하며 연구노트 와같이기재한다. 유형이주어지지않으면애초값인 기술문서 가사용된다. 영어의경우에는애초값이 Technical Report 이다. phdthesis 유형의경우에는 박사학위논문 ( 애초값 ) 이라고명시할수있다. 영어의경우에는 {Ph.D.} dissertation 이애초값이다. inbook이나 incollection 유형에서도 chapter = "1.2", type = " 절 " 이라고기재함으로써애초값인 1.2 장 대신에 1.2 절 을얻을수있다. volume: 연속간행물이나여러권으로구성된인쇄물의권. year: 출판연도. 출판되지않은서적의경우서적이쓰여진연도. 일반적으로 1984와같이네개의숫자로구성되지만표준참고문헌양식은 about 1984 와같이마지막네문자가숫자인경우를잘처리한다 저자및편집자이름형식 author 나 editor 의영어이름은다음의두가지형식으로입력된다. "< 이름 > < 성 >" "< 성 >, < 이름 >" 그러나한국어이름은공백문자가없이다음과같은형식으로입력된다. < 성 >< 이름 > 영어이름을반점으로성과구분하는방법은성이여러낱말로구성된경우에효과적 이다. 이름에사용되는기능어에는 and 와 others 가있다. and 는여러이름을나열할 때사용되고 others 는여러이름을축약할때사용된다. 따라서이름기재내용이 and others 로끝날때에이는 외 ( 영어의경우는 et al. ) 로출력된다. 110

112 제 2 절 색인 2.1 ko.tex/utf 의색인처리 ko.tex/utf 는 kotex.ist 라는색인스타일파일과 komkindex 라는 makeindex 유틸리티를제공한다. makeidx 패키지에의해만들어지는 foo.idx 파일을색인환경으로변환해주는역할을한다. 이것은다음과같은형식으로쓸수있다. $ komkindex(.pl) -s kotex foo 이명령은 foo.idx에서 foo.ind 파일을만들어내며, 한글자모를기준으로정렬하여준다. makeindex 옵션을그대로쓸수있다. 2.2 ko.tex/euc 의우리말색인처리 ko.tex/euc 를위한색인처리유틸리티는 hmakeindex 이고, 이것은 $ komkindex(.pl) -euc 와같이호출한다. 추가옵션은이뒤에이어서쓴다. $ komkindex(.pl) -euc -s hind foo 이이후 hmakeindex 를부르는예들은모두 komkindex -euc 로실행할수있다. hmakeindex 는 latex 이출력하는.idx 파일의 16 진법표기를모두 EUC 코 드로바꾼후에 makeindex 를실행시키고정렬된.ind 파일을재정리하여우리말을 심벌, 한글, 한자로대분한후한글의머릿글자가바뀌는곳에 \hindexhead 명령을 삽입한다. \hindexhead 의애초값은 \indexspace 이며줄간격을늘리는역할을한 다. 만일색인의머릿제목을 가, 나, 다, 라,... 로표시하고자한다면다 음과같이라텍문서에서 \hindexhead 를재정의할수있다. \renewcommand\hindexhead[1]{\indexspace {\bfseries \ifcase#1 심벌 \or 가 \or 까 \or 나 \or 다 \or 따 \or 라 \or 마 \or 바 \or 빠 \or 사 \or 싸 \or 아 \or 자 \or 짜 \or 차 \or 카 \or 타 \or 파 \or 하 \or 한자 \fi } \nopagebreak } 111

113 hmakeindex 프로그램은 C 언어로작성되었으므로운영체계에서기계어로번역한후설치하여야한다. 윈도우즈운영체계에서는미리번역한 hmakeindex.exe를설치하면된다. 색인작성은다음과같이한다. komkindex -euc < 문서이름 > 한글색인양식파일은여전히존재하며색인과쪽번호사이를점선으로채우는기능만수행한다. 이모양새파일 hind.ist를지정하기위해서는 komkindex -euc 의추가선택으로 -s hind를지정한다. komkindex -euc -s hind < 문서이름 > 영문자로표기되었으나우리말음가로표기되는한글영역에색인을위치시키기위해서는문서에서다음과같은방식으로 \index를지정하면된다. \LaTeX\index{ \LaTeX은 L A TEX 으로인쇄됩니다. 그러나문자열이 \ 로시작하기때문에영문자부호 \ 에 L A TEX 이위치하게됩니다. 글자의앞에라텍이라적음으로써그위치가 라텍 이되도록합니다. 112

114 제 9 장 한글트루타입폰트의사용 ko.tex 유틸리티로서 ttf2kotexfont.pl이제공된다. 이유틸리티는한글트루타입폰트를사용가능하도록 tfm을추출하고설정을행해주는역할을한다. 트루타입폰트이용법전반에관한사항은 한글라텍에서트루타입폰트사용하기 (( 김강수 & 주철, 2004:2007)) 라는글을참고하라. 여기서는간단한예를통하여트루타입폰트를문서에서사용하는과정을설명하고자한다. 제 1 절 ttf2kotexfont 사용법 적당한폰트두개를선정하자. 공평하게하기위해유니코드인코딩폰트인 휴먼편 지체 와완성형인코딩폰트인 양재난초 두개를선택. 파일이름은 hmfmpyun.ttf 와 YNCH05.TTF 이다. 1 이글꼴이시스템에설치되어있다면, 별다른조치없이바로테스트가능. 만약 없다면어디선가구해서테스트를위한폴더에넣어준다. test.conf 파일을다음과같이작성한다. FOUNDRY:my FONTmj: f=pj m=hmfmpyun.ttf FONTnc: m=ynch05.ttf config 파일의쓰는규칙은위와같다. 맨처음에 FOUNDRY 를지정해주어야하는데 이것이글꼴가족이름의첫두글자를이룬다. FONTmj 행은 반 드 시있어야하며, 이이외의폰트명칭은두글자로지은다음그앞에 FONT 를써서적어주면된다. f 지시자는 FONTmj 로만들되이름을 mypj 로지으라는의미이며, 이값이없으면 FONTxx 의두글자 xx 를따서짓게된다. 폰트두께옵션은 m, b, l 셋이있으며 각각 medium, bold, light 에해당하는데, b 는 b-series 및 bx-series 에할당된다. 그러나일반적으로이시리즈들을모두충족하는글꼴군을찾기란쉬운일이아니다. 위의예에서는 m 하나만지정하였으므로본문서체인보통굵기폰트만이만들어질 것이다. 이러한설정의결과 mypj 와 mync 라는새로운글꼴이만들어진다. 이제다음명령을실행한다. 1 이스크립트는파일이름의대소문자에민감하다. 113

115 # ttf2kotexfont -c test.conf 한참 tfm 등을만드는과정을거치고나서종료되면테스트해볼수있다. # latex testutf # dvipdfmx testutf 또는 # pdflatex testutf 이폰트세트를반복해서다른문서에서도사용할생각이면사용자의 texmf 트리아래설치해서쓰면된다. 언인스톨방법이별도로제공되지않으므로, 자신이생각하기에잘설계하여반복사용하겠다는결심이섰을때, 다음명령을실행하자. 2 # ttf2kotexfont -c test.conf -i $HOME/texmf 만약이과정에서 $HOME/texmf가 가장먼저읽는 texmf tree 가아니라면 3 생성된 dvipdfmx.cfg와 ttf2pk.cfg를가장먼저읽는 texmf tree 아래 TDS에맞는위치로옮겨놓는것을잊어버려서는안된다. # mktexlsr 일부완성형트루타입중에이상한것이없지는않다 ( 양재보람체가이상했음 ). 그것은폰트자체의문제라고생각되며, 정상적인대부분의트루타입은 ko.tex 에서모 두사용가능하다. 제 2 절 문서에서폰트설정하기 ttf2kotexfont 스크립트를실행한결과를반영하려면다음과같이한다. 사용자가 만든임의의폰트가 mypj 와 mync 라고할때, ko.tex/euc \usepackage{myttf} 과같이선언한이후, 본문에서예컨대 \pjfamily, \ncfamily 2 Windows/KC2006 의경우, 아래명령예시에서 $HOME 이라고한것을 %HOME% 으로해야한다. 3 KC2006 의경우와같이 114

116 를사용할수있다. 4 ko.tex/utf \SetHangulFonts{mypj}{mync}{uttz} \SetHanjaFonts{utbt}{utgt}{uttz} 또는 \usepackage{hfontsel} \SelectHfonts{mypj,mync,*}{utbt,utgt,*} 주의할것은 ttf2kotexfont 가 hfontspec 을만들어주지는않는다는점이다. 기본 은글꼴폰트스펙을적용 ( 이때사용자가취할조치는아무것도없다 ) 해도나쁘지 않으며, 만약직접폰트스펙을변경하려한다면반드시수작업으로설정해야한다. 제 3 절 pdf 문서제작을위한 pdfl A TEX 사용 트루타입폰트를 pdfl A TEX 에서사용하려할때는약간의주의사항이필요하다. 먼저, 기울인글꼴, 가상두꺼운글꼴, c-series 장평적용글꼴등은 pdfl A TEX 에서직접처리 되지않는다. 또한 preamble 에서다음과같은코드를넣어주어야한다. \usepackage{ifpdf} \ifpdf \usepackage{dhucs-cmap} \pdfmapfile{=myttf-pdftex.map} \fi 대체로말해서, 트루타입글꼴은 DVIPDFMx 가매우잘처리한다. 4 이명령들은전혀호환되지않는다. 나중에다른곳에파일을보내면반드시에러가발생할것이 므로주의해야한다. 이폰트가설치되지않았을때도이명령에에러가발생하지않도록하는코드를 preamble 에넣어두는것이좋다. 115

117 제 10 장 plaintex 과 ko.tex by 남수진 플레인텍과관련된 ko.tex 한글매크로에는 kotexplain.tex과 hangulcweb.tex 두개의파일이있다. ko.tex 의 plaintex 지원은오직유니코드 /UTF-8 인코딩으로만가능하며, ϵ-tex 을요구한다. 제 1 절 kotexplain.tex kotexplain.tex은플레인텍에서한글을사용하기위한매크로이다. 플레인텍은라텍에비하여매우가볍고단순한매크로이지만, 문서나책을만드는데쓰이기도한다. 그대표적인예가바로 Knuth 교수의대표적인시리즈저서 The Art of Computer Programming 과 The TEXbook (Knuth, 1984) 이다. 플레인텍으로작성된텍파일은단순히 tex foo.tex 과같이컴파일한다. 하지만한글사용을위한매크로 kotexplain.tex은 ϵ-tex 엔진의원시명령어 (primitives) 들을이용해서작성되었기때문에한글플레인텍에한해서는 tex 명령어가아닌 etex 또는 pdftex 명령을이용하여야한다. 한글플레인텍문서를작성하기위해서는작성하고자하는문서의첫부분을 \input kotexplain 으로시작하는것만빼면보통의플레인텍문서를만드는것과완전히동일하다. 플레인텍의사용법은그유명한 The TEXbook을참고한다. 한글매크로 kotexplain.tex을이용하여한글글꼴을설정하는방법은원래의플레인텍에서 \font 명령을이용하는그것과는좀다르다. 예를들어알아보자. 한글글꼴은다음의세가지방법중하나로정할수있다. \hfont{outbtb}{at 12pt} 이명령어는현재의한글글꼴을굵은 (bold) 글꼴로하고, 그크기는 12포인트로변경하라는명령이며, 세가지방법중가장일반적인방법이다. \hfontname{outbtb} 이명령어는현재글꼴의크기를그대로유지한체로글꼴모양만굵을글꼴로변경하라는의미이며, 이는 \hfont{outbtb}{} 와동일하다. 116

118 \hfontsize{at 12pt} 이명령은현재글꼴의모양을그대로유지하면서, 크 기만현재의크기에서 12 포인트로변경하라는뜻이다. \hfont{}{at 12pt} 와 동일하다. 제 2 절 hangulcweb.tex 플레인텍으로도멋진문서를만들수있으나, 플레인텍으로문서나책을만드는일은매우수고로운작업이될수있기때문에대부분의경우는쉽게사용할수있는라텍을이용한다. 하지만반드시플레인텍을사용하여야하는경우가있다. 예를들어, 문학적프로그래밍의대표적인시스템 CWEB은플레인텍매크로들로이루어져있기때문에 CWEB 프로그래밍을하려면, 플레인텍을사용하여야한다. 또 GNU의여러프로그램들의사용설명서를만드는표준인 texinfo 또한플레인텍을이용하여야한다. 여기서는한글 CWEB 프로그래밍을하는방법을간단히알아보자. 한글플레인텍에서와마찬가지로작성하고자하는웹파일의처음을 \input hangulcweb 으로시작하면된다. 사실은 hangulcweb.tex이 kotexplain.tex을포함하고있기때문에한글 CWEB 프로그래밍이가능한것이다. 한글 CWEB 프로그램의매크로파일 hangulcweb.tex은 CWEB 프로그램의여러영문메시지를한글화하였고, 가장큰특징은 CWEB 프로그램이갖는특징중하나인 PDF 기능을한글도자유롭게이용할수있도록구현해놓았다는점이다. 117

119 제 11 장 html 제작 tex 원본문서로부터 XML 또는 HTML을제작하는방법은몇가지가알려져있다. 그가운데, Eitan Gurari 씨가만든 TeX4ht 1 는 TEXLive에포함되어있는사실상표준도구이다. 현재버전의 ko.tex/utf는 TeX4ht를부분적으로지원한다. 2 즉, ko.tex 의한글폰트들을 TeX4ht에서처리할수있도록하는부수파일을제공하고있다. ko.tex 을사용하여작성한문서를 HTML로변환하려면다음과같은명령을사용하면된다. $ htlatex foo.tex "dhucs,html4" " -cunihtf" 이명령을이용하면수백개의.htf 폰트없이도한글 HTML을만들어낼수있다. 3 TeX4ht에서의도대로원하는 HTML을얻으려면상당한설정을추가적으로행해야한다. 즉, 위의해결책은 HTML/XML로변환하는모든문제에대한해결책을제공하는것이아니다. 그런문제들은 ko.tex 자체와관련된것이아니라 TeX4ht 설정과더깊이관련되어있을것이기때문이다. 표준라텍클래스의문서라면위에제시한정도로큰문제없이 HTML을얻을수있겠지만복잡한문서의경우의도대로출력을얻기위해추가적인설정을해야할때가있을것이다. 자신의경험을다른사람과공유한다면해결책을더빨리찾아나갈수있을것으로생각한다 이전에는한글을위한 TeX4ht 용글꼴을만들어서제공하는방식을썼던적도있다. 118

120 참고문헌 Knuth, D. E. (1984). The TEXbook. Reading, MA, USA: Addison-Wesley. Knuth, D. E. (1986). The TEXbook (Vol. A). Reading, MA, USA: Addison-Wesley. Knuth, D. E. (1986). TEX: The program (Vol. B). Reading, MA, USA: Addison-Wesley. Knuth, D. E. (1986). The METAFONTbook (Vol. C). Reading, MA, USA: Addison- Wesley. Knuth, D. E. (1986). METAFONT: The program (Vol. D). Reading, MA, USA: Addison-Wesley. Kopka, H. (1991). L A TEX eine einführung (Third ed.). Bonn, Germany: Addison-Wesley Verlag. Lamport, L. (1985). L A TEX A document preparation system user s guide and reference manual. Reading, MA, USA: Addison-Wesley. Mittelbach, F., Goossens, M., Braams, J., Carlisle, D., Rowley, C., Detig, C., et al. (2004). The L A TEX companion (Second ed.). Reading, MA, USA: Addison-Wesley. Scherber, P. (1994). Offizin schriftenreihe zu TEX, L A TEX, und metafont (band 1, hrsg. von DANTE e.v). Reading, MA, USA: Addison-Wesley. Thành, H. T. (2000). Micro-typographic extensions to the TEX typesetting system. Unpublished doctoral dissertation, Masaryk University. Thành, H. T. (2001). Margin kerning and font expansion with pdftex. TUGboat, 22(3). Wilson, P. (2006). The memoir manual. 김강수. (2004). hangul-k 사용자안내서. 김강수. (2007a). L A TEX 에서한글유니코드문서작성하기. 김강수. (2007b). 한글문장부호의조판관행에대하여. The Asian Journal of TEX, 1(1), 김강수, & 주철. (2004:2007). 한글 L A TEX 에서트루타입폰트사용하기. 김도현. (2004). Omega(Ω) 를이용한한글문서조판 dhhangul을중심으로. KTUG 뉴스레터, 1(1), 김도현. (2007). 폰트의저작권이 TEX 출력물에미치는영향. The Asian Journal of TEX, 1(1),

121 박지원. (1780). 하룻밤에아홉번물을건너다. 은광희. (2005). 한글라텍길잡이. 이기황. (2007). Hangul-ucs 를이용한옛한글조판. The Asian Journal of TEX, 1(1), 이종운. (1991). 도서편집총람 (1st ed.). 범우사, 서울. 최우형. (1992). hlatex 가이드. 최현배. (1999). 우리말본 (18th ed.). 정음문화사. 한글맞춤법. (1988). 문교부고시제 88-1 호. 한글연구회. (1992). 새한글맞춤법및용례집 (1st ed.). 이사야법조각. 홍윤표, 이기문, 김충희, 박성종, 정진상, 김병선, et al. (1991, 8). 한글옛글자의컴퓨터처리방안에대한연구. 한국어전산학, 창간호. 120

122 찾아보기 F french-spacing H halpha.bst hbibtex HFSS \hindexhead K \ksnamedef L L A TEX3 개발 M \MapHangulFamily N NFSS nonfrench spacing O overfull P pdf bookmark S softbold strictcharcheck T TDS ㄱ 각주문단 각주판짜기 , 84 강조 글꼴변경 기울인글꼴 밑줄 방점 검색과추출 고아회피 글꼴 CM EC 글꼴 pxfonts T1 인코딩 영문글꼴 은글꼴 글자체구성요소 기본글꼴설정을변경 기본적으로사용되는글꼴 ㄴ 내형글자체바꿈명령 ㄷ 다국어문서 단어간격 단어간격 , 43 ㄹ 라텍 개발목표 글자체선택 버전 ㅁ 매개모음 명령행 명령형 , 76 문서식자체계텍 문서의모양새 문장부호의타이포그래피 문헌인용 문헌목록 미세타이포그래피

123 finemath 마이크로타이포그래피 마진커닝 수식간격 폰트확장 ㅂ 방점 ㅅ 색인 , 111 \hindexhead 서식 선언형 설치 ㅇ 엄격한문자체크 여는괄호 역사 L A TEX L A TEX 2ϵ TEX hlatex 한글라텍 옛한글 Ω 외형가족 외형글자체바꿈명령 우리말글자체가족 우리말이름 유니코드 UTF 은글꼴이외의글꼴 이탤릭글자 fake slanted 인명 Knuth 김도현 남수진 신정식 이기황 일본어 일본어문단 ㅈ 자간 , 46, 96 자동음운변화 색인 자동음운변화처리 자동조사인용 자동조사 장과절포맷 장절명령 장절명령 조사이형태 조판 줄간격 중괄호 중국어 지정사탈락 짧은간격 ㅊ 참고문헌 추가선택처리방식 ㅋ 카운터형식 ko.tex HTML 제작 plaintex ko.tex/utf 옵션 ko.tex/euc 사용법 클래스 amsart amsbook memoir oblivoir , 38, 66 ㅌ 타이포그래피 통합한글텍패키지 ㅍ 파일 122

124 .dvi log , 41.tfm , 40, 41 dhucs-sectsty firsttest.tex hyperref.cfg , 63 komkindex.pl obatang.ttf ogulim.ttf prosper.cls 패키지 amsmath apacite babel beamer , 63 bigfoot cite CJK , 64 dhucs dhucs-cmap dhucs-enumerate dhucs-gremph , 44 dhucs-interword , 46, dhucs-midkor dhucs-paralist dhucs-sectsty dhucs-setspace , 95, 98 dhucs-trivcj dhucs-ucshyper dhucsfn enumerate , 51, 84 enumitem , 51 eurofont eurosym fapapersize footmisc hfontsel hlatex-interword hsectsty hsetspace , 95, 98 hyperref , 50, 58, 60, 63, 74, 90 ifpdf kotex kotexplain makeidx memhangul-ucs microtype myulem natbib newprosper paralist , 51 powerdot prosper ruby sectsty , 100 setspace , 98 showkeys ulem , 99 폰트의남용 ㅎ 한글완성형 한글 PDF 책갈피 한글라텍 글자체바꿈명령 글자체선택 글자체종류 단원판짜기 문서의틀 분철 숫자모듬명령 추가선택 한글이름 행간 , 43, 46 행나눔 환경형

125 [ 부록 ] 완성형한글문자예시 가각간갇갈갉갊감갑값갓갔강갖갗같갚갛개객갠갤갬갭갯갰갱갸갹갼걀걋걍걔걘걜거걱건걷걸걺검겁것겄겅겆겉겊겋게겐겔겜겝겟겠겡겨격겪견겯결겸겹겻겼경곁계곈곌곕곗고곡곤곧골곪곬곯곰곱곳공곶과곽관괄괆괌괍괏광괘괜괠괩괬괭괴괵괸괼굄굅굇굉교굔굘굡굣구국군굳굴굵굶굻굼굽굿궁궂궈궉권궐궜궝궤궷귀귁귄귈귐귑귓규균귤그극근귿글긁금급긋긍긔기긱긴긷길긺김깁깃깅깆깊까깍깎깐깔깖깜깝깟깠깡깥깨깩깬깰깸깹깻깼깽꺄꺅꺌꺼꺽꺾껀껄껌껍껏껐껑께껙껜껨껫껭껴껸껼꼇꼈꼍꼐꼬꼭꼰꼲꼴꼼꼽꼿꽁꽂꽃꽈꽉꽐꽜꽝꽤꽥꽹꾀꾄꾈꾐꾑꾕꾜꾸꾹꾼꿀꿇꿈꿉꿋꿍꿎꿔꿜 꿨꿩꿰꿱꿴꿸뀀뀁뀄뀌뀐뀔뀜뀝뀨끄끅끈끊끌끎끓끔끕끗끙끝끼끽낀낄낌낍낏낑나낙낚난낟날낡낢남납낫났낭낮낯낱낳내낵낸낼냄냅냇냈냉냐냑냔냘냠냥너넉넋넌널넒넓넘넙넛넜넝넣네넥넨넬넴넵넷넸넹녀녁년녈념녑녔녕녘녜녠노녹논놀놂놈놉놋농높놓놔놘놜놨뇌뇐뇔뇜뇝뇟뇨뇩뇬뇰뇹뇻뇽누눅눈눋눌눔눕눗눙눠눴눼뉘뉜뉠뉨뉩뉴뉵뉼늄늅늉느늑는늘늙늚늠늡늣능늦늪늬늰늴니닉닌닐닒님닙닛닝닢다닥닦단닫달닭닮닯닳담답닷닸당닺닻닿대댁댄댈댐댑댓댔댕댜더덕덖던덛덜덞덟덤덥덧덩덫덮데덱덴델뎀뎁뎃뎄뎅뎌뎐뎔뎠뎡뎨뎬도독돈돋돌돎돐돔돕돗동돛돝돠돤돨돼됐되된될됨 됩됫됴두둑둔둘둠둡둣둥둬뒀뒈뒝뒤뒨뒬뒵뒷뒹듀듄듈듐듕드득든듣들듦듬듭듯등듸디딕딘딛딜딤딥딧딨딩딪따딱딴딸땀땁땃땄땅땋때땍땐땔땜땝땟땠땡떠떡떤떨떪떫떰떱떳떴떵떻떼떽뗀뗄뗌뗍떳뗐뗑뗘뗬또똑똔똘똥똬똴뙈뙤뙨뚜뚝뚠뚤뚫뚬뚱뛔뛰뛴뛸뜀뜁뜅뜨뜩뜬뜯뜰뜸뜹뜻띄띈띌띔띕띠띤띨띰띱띳띵라락란랄람랍랏랐랑랒랖랗래랙랜랠램랩랫랬랭랴략랸럇량러럭런럴럼럽럿렀렁렇레렉렌렐렘렙렛렝려력련렬렴렵렷렸령례롄롑롓로록론롤롬롭롯롱롸롼뢍뢨뢰뢴뢸룀룁룃룅료룐룔룝룟룡루룩룬룰룸룹룻룽뤄뤘뤠뤼뤽륀륄륌륏륑류륙륜률륨륩륫륭르륵른를름릅릇릉릊릍릎리릭린 릴림립릿링마막만많맏말맑맒맘맙맛망맞맡맣매맥맨맬맴맵맷맸맹맺먀먁먈먕머먹먼멀멂멈멉멋멍멎멓메멕멘멜멤멥멧멨멩며멱면멸몃몄명몇몌모목몫몬몰몲몸몹못몽뫄뫈뫘뫙뫼묀묄묍묏묑묘묜묠묩묫무묵묶문묻물묽묾뭄뭅뭇뭉뭍뭏뭐뭔뭘뭡뭣뭬뮈뮌뮐뮤뮨뮬뮴뮷므믄믈믐믓미믹민믿밀밂밈밉밋밌밍및밑바박밖밗반받발밝밞밟밤밥밧방밭배백밴밸뱀뱁뱃뱄뱅뱉뱌 124

126 뱍뱐뱝버벅번벋벌벎범법벗벙벚베벡벤벧벨벰벱벳벴벵벼벽변별볍볏볐병 볕볘볜보복볶본볼봄봅봇봉봐봔봤봬뵀뵈뵉뵌뵐뵘뵙뵤뵨부북분붇불붉붊 붐붑붓붕붙붚붜붤붰붸뷔뷕뷘뷜뷩뷰뷴뷸븀븃븅브븍븐블븜븝븟비빅빈빌 빎빔빕빗빙빚빛빠빡빤빨빪빰빱빳빴빵빻빼빽뺀뺄뺌뺍뺏뺐뺑뺘뺙뺨뻐뻑뻔뻗뻘뻠뻣뻤뻥뻬뼁뼈뼉뼘뼙뼛뼜뼝뽀뽁뽄뽈뽐뽑뽕뾔뾰뿅뿌뿍뿐뿔뿜뿟뿡쀼쁑쁘쁜쁠쁨쁩삐삑삔삘삠삡삣삥사삭삯산삳살삵삶삼삽삿샀상샅새색샌샐샘샙샛샜생샤샥샨샬샴샵샷샹섀섄섈섐섕서석섞섟선섣설섦섧섬섭섯섰성섶세섹센셀셈셉셋셌셍셔셕션셜셤셥셧셨셩셰셴셸솅소속솎손솔솖솜솝솟송솥솨솩솬솰솽쇄쇈쇌쇔쇗쇘쇠쇤쇨쇰쇱쇳쇼쇽숀숄숌숍숏숑수숙순숟술숨숩숫숭숯숱숲숴쉈쉐쉑쉔쉘쉠쉥쉬쉭쉰쉴쉼쉽쉿슁슈슉슐슘슛슝스슥슨슬슭슴습슷승시식신싣실싫심십싯싱싶싸싹싻싼쌀쌈쌉쌌쌍쌓쌔쌕쌘 쌜쌤쌥쌨쌩썅써썩썬썰썲썸썹썼썽쎄쎈쎌쏀쏘쏙쏜쏟쏠쏢쏨쏩쏭쏴쏵쏸쐈쐐쐤쐬쐰쐴쐼쐽쑈쑤쑥쑨쑬쑴쑵쑹쒀쒔쒜쒸쒼쓩쓰쓱쓴쓸쓺쓿씀씁씌씐씔씜씨씩씬씰씸씹씻씽아악안앉않알앍앎앓암압앗았앙앝앞애액앤앨앰앱앳앴앵야약얀얄얇얌얍얏양얕얗얘얜얠얩어억언얹얻얼얽얾엄업없엇었엉엊엌엎에엑엔엘엠엡엣엥여역엮연열엶엷염엽엾엿였영옅옆옇예옌옐옘옙옛옜오옥온올옭옮옰옳옴옵옷옹옻와왁완왈왐왑왓왔왕왜왝왠왬왯왱외왹왼욀욈욉욋욍요욕욘욜욤욥욧용우욱운울욹욺움웁웃웅워웍원월웜웝웠웡웨웩웬웰웸웹윈위윅윈윌윔윕윗윙유육윤율윰윱윳융윷으윽은을읊음읍읏응 읒읓읔읕읖읗의읜읠읨읫이익인일읽읾잃임입잇있잉잊잎자작잔잖잗잘잚잠잡잣잤장잦재잭잰잴잼잽잿쟀쟁쟈쟉쟌쟎쟐쟘쟝쟤쟨쟬저적전절젊점접젓정젖제젝젠젤젬젭젯젱져젼졀졈졉졌졍졔조족존졸졺좀좁좃종좆좇좋좌좍좔좝좟좡좨좼좽죄죈죌죔죕죗죙죠죡죤죵주죽준줄줅줆줌줍줏중줘줬줴쥐쥑쥔쥘쥠쥡쥣쥬쥰쥴쥼즈즉즌즐즘즙즛증지직진짇질짊짐집짓징짖짙짚짜짝짠짢짤짧짬짭짯짰짱째짹짼쨀쨈쨉쨋쨌쨍쨔쨘쨩쩌쩍쩐쩔쩜쩝쩟쩠쩡쩨쩽쪄쪘쪼쪽쫀쫄쫌쫍쫏쫑쫓쫘쫙쫠쫬쫴쬈쬐쬔쬘쬠쬡쭁쭈쭉쭌쭐쭘쭙쭝쭤쭸쭹쮜쮸쯔쯤쯧쯩찌찍찐찔찜찝찡찢찧차착찬찮찰참찹찻찼창찾채책챈 챌챔챕챗챘챙챠챤챦챨챰챵처척천철첨첩첫첬청체첵첸첼쳄쳅쳇쳉쳐쳔쳤 쳬쳰촁초촉촌촐촘촙촛총촤촨촬촹최쵠쵤쵬쵭쵯쵱쵸춈추축춘출춤춥춧충 춰췄췌췐취췬췰췸췹췻췽츄츈츌츔츙츠측츤츨츰츱츳층치칙친칟칠칡침칩 125

127 칫칭카칵칸칼캄캅캇캉캐캑캔캘캠캡캣캤캥캬캭컁커컥컨컫컬컴컵컷컸컹케켁켄켈켐켑켓켕켜켠켤켬켭켯켰켱켸코콕콘콜콤콥콧콩콰콱콴콸쾀쾅쾌쾡쾨쾰쿄쿠쿡쿤쿨쿰쿱쿳쿵쿼퀀퀄퀑퀘퀭퀴퀵퀸퀼큄큅큇큉큐큔큘큠크큭큰클큼큽킁키킥킨킬킴킵킷킹타탁탄탈탉탐탑탓탔탕태택탠탤탬탭탯탰탱탸턍터턱턴털턺텀텁텃텄텅테텍텐텔템텝텟텡텨텬텼톄톈토톡톤톨톰톱톳 통톺톼퇀퇘퇴퇸툇툉툐투툭툰툴툼툽툿퉁퉈퉜퉤튀튁튄튈튐튑튕튜튠튤튬튱트특튼튿틀틂틈틉틋틔틘틜틤틥티틱틴틸팀팁팃팅파팍팎판팔팖팜팝팟팠팡팥패팩팬팰팸팹팻팼팽퍄퍅퍼퍽펀펄펌펍펏펐펑페펙펜펠펨펩펫펭펴편펼폄폅폈평폐폘폡폣포폭폰폴폼폽폿퐁퐈퐝푀푄표푠푤푭푯푸푹푼푿풀풂품풉풋풍풔풩퓌퓐퓔퓜퓟퓨퓬퓰퓸퓻퓽프픈플픔픕픗피픽핀필핌핍핏핑하학한할핥함합핫항해핵핸핼햄햅햇했행햐향허헉헌헐헒험헙헛헝헤헥헨헬헴헵헷헹혀혁현혈혐협혓혔형혜혠혤혭호혹혼홀홅홈홉홋홍홑화확환활홧황홰홱홴횃횅회획횐횔횝횟횡효횬횰횹횻후훅훈훌훑훔훗훙훠훤훨훰훵 훼훽휀휄휑휘휙휜휠휨휩휫휭휴휵휸휼흄흇흉흐흑흔흖흗흘흙흠흡흣흥흩 희흰흴흼흽힁히힉힌힐힘힙힛힝 126

128 [ 부록 ] Windows 유니코드편집기 L A TEX 작업을가장편리하게할수있는편집기중의하나로단연 UN*X 세계에서는 Emacs 와 AUCTeX 을들것이다. 그러나윈도우즈운영체제에서도 Emacs 를사용할수는있지만지배적위치를점하고있지는못하다. 4 ko.tex 사용에있어서편집기는반드시유니코드 /UTF-8 인코딩으로파일을저장하고불러오고편집할수있어야한다. L A TEX 편집을위한기본기능이지원되어야좋을것은말할나위도없을것이다. 가장많은사용자를가지고있는윈도우즈라텍편집기는 WinEdt 5 이다. 비록자유소프트웨어는아니지만저렴한가격에비하여성능이상당히우수하고정말편리한라텍작업환경을제공하는라텍에특화된일종의통합개발환경이다. 오래도록이편집기가유니코드입출력이어려워서상당히곤란을겪었으나최근버전은 ( 제한적이기는하나 ) 유니코드 /UTF-8 파일을저장하고편집할수있다. 제한적이라한것은, 윈도우즈에서현재활성화되어있는코드페이지 ( 한글윈도우즈의경우 CP949) 에해당하는범위의문자만을유니코드 /UTF-8로저장할수있다는점인데, 이때문에일본식한자등이섞여있는문서는문제가생길수있다. 그렇지만일반적인한글문서는잘처리한다. 문서시작부분에서 % -*- TeX:UTF-8 -*- 이라는문서포맷표지를붙이고, 저장할때 UTF-8 인코딩을잘선택하면큰무리없이사용할수있다. KC2006에서기본편집기로상정하고있는 EmEditor 6 도가격대성능비가대단히훌륭하다. 7 이편집기는 L A TEX 관련기능을 plug-in으로제공하고있으며, L A TEX 전용편집기는아니지만, MTeXHelper2라는 plug-in을조금만손보면아주잘사용할수있다. EmEditor는처음부터유니코드편집기를표방하고있으므로 WinEdt과같은제한이없이유니코드문서를잘작성하고처리할수있다. 최근주목받고있는 LyX 8 이라는프로그램도일별할가치가있다. 이프로그램은원래 Linux 세계에서 L A TEX Front End WYSIWYG 9 에디터로유명했던것인데, 버 4 그럼에도불구하고, Windows 에서도 Emacs 는여전히가장편리한 L A TEX 작업환경을제공해준다. 유니코드의입출력에도큰문제는없다. 다만, 완성형문자범위를넘는한글을입력하는것이어렵다는 점만제외한다면 무료로사용할수있는버전도있으나빠진기능이많다 LyX 의용어로는 WYSIWYG 이아니라 WYSIWYM (What You See Is What You Mean) 이라한다. 127

129 전 1.5.0부터유니코드를지원함으로써 ko.tex 을위한에디터로손색없이쓸수있다. 특히이프로그램의장점은라텍명령과텍스트를함께써넣는문서작성과는조금다르게메뉴와버튼을이용해서대부분의라텍관련콘트롤시퀀스를생성해낸다는점이다. 라텍에익숙하지않은분도워드프로세서처럼쓸수있다. 특히, LyX은오픈소스프로그램이라는것이다! 이와유사한것으로상업용프로그램이고가격이비교적높은편인 Scientific Word와같은것이있다. 이밖에도좋은에디터가많이있을것이다. 에디터에익숙해지는것은 L A TEX 을잘사용하기위한출발점이다. 128

130 [ 부록 ] 이문서에대하여 ko.tex 사용설명서는은광희의 한글라텍길잡이 와김강수의 L A TEX 에서한글유니코드문서작성하기 를합친것이다. 전자는한글라텍 (HL A TEX) 의사용설명서였고후자는 Hangul-ucs의패키지문서였다. 두문서의장점을취합하려노력하였으며, 가능한한원래텍스트의모습을유지하려하였다. 이문서는현재공저자중김강수에의해관리되고있다. 이문서는 utf 버전과 euc 버전으로컴파일할수있다. 다만, euc 버전으로컴파일했을때는 utf 부분사용설명서가모두생략된다. euc 버전은단지테스트를위한것이므로, 최종본을얻으려면 utf 버전으로컴파일하기바란다. euc 버전으로컴파일하려면현재작업디렉터리에 definekg.eucmode라는파일을만들면된다. 내용은상관이없다. 10 $ echo "no contents" > definekg.eucmode 이파일을삭제하면 utf 모드로컴파일한다. pdf 제작은 DVIPDFMx 또는 pdfl A TEX, 어느쪽이든가능하다. 다만 DVIPDFMx 를이용하려한다면 fig/ 디렉터리안의그림들에대하여미리.bb 파일을만들어두는절차를거쳐야한다. ebb, xbb 등의유틸리티를이용하면된다. 만약 xbb가확장명.xbb 인파일을만들어낸다면 kotexguidebody-*.tex 의제 25 행부터정의되어있는 \DeclareGraphicsRule 명령의 bb파일확장명을.xbb로수정한다. pdfl A TEX 으로컴파일한 pdf 문서는그크기가좀커질것이다. 이문서는 ko.tex 프로젝트의일부로서, LPPL version 3 또는그이후버전의라이센스로배포된다. 이문서의내용에대한코멘트는 KTUG 11 게시판에글을올리거나저자 12 에게메일을보내주기바란다. 10 배포되는소스파일에서 EUC-KR 파일들을생성해내는 generateeucfiles.sh 를실행하라 mailto:[email protected] 129

131 [ 부록 ] 글꼴예문 기본글꼴은바탕막차는좀처럼오지않았다./ 대합실밖에는밤새송이눈이쌓이고 / 흰보라수수꽃눈시린유리창마다 / 톱밥난로가지펴지고있었다./ 그믐처럼몇은졸고 / 몇은감기에쿨럭이고 / 그리웠던순간들을생각하며나는 / 한줌의톱밥을불빛속에던져주었다. 막차는좀처럼오지않았다./ 대합실밖에는밤새송이눈이쌓이고 / 흰보라수수꽃눈시린유리창마다 / 톱밥난로가지펴지고있었다./ 그믐처럼몇은졸고 / 몇은감기에쿨럭이고 / 그리웠던순간들을생각하며나는 / 한줌의톱밥을불빛속에던져주었다. 學而時習之, 不亦說乎. 學而時習之, 不亦說乎. 은돋움막차는좀처럼오지않았다./ 대합실밖에는밤새송이눈이쌓이고 / 흰보라수수꽃눈시린유리창마다 / 톱밥난로가지펴지고있었다./ 그믐처럼몇은졸고 / 몇은감기에쿨럭이고 / 그리웠던순간들을생각하며나는 / 한줌의톱밥을불빛속에던져주었다. 막차는좀처럼오지않았다./ 대합실밖에는밤새송이눈이쌓이고 / 흰보라수수꽃눈시린유리창마다 / 톱밥난로가지펴지고있었다./ 그믐처럼몇은졸고 / 몇은감기에쿨럭이고 / 그리웠던순간들을생각하며나는 / 한줌의톱밥을불빛속에던져주었다. 學而時習之, 不亦說乎. 學而時習之, 不亦說乎. 은타자막차는좀처럼오지않았다./ 대합실밖에는밤새송이눈이쌓이고 / 흰보라수수꽃눈시린유리창마다 / 톱밥난로가지펴지고있었다./ 그믐처럼몇은졸고 / 몇은감기에쿨럭이고 / 그리웠던순간들을생각하며나는 / 한줌의톱밥을불빛속에던져주었다. 은그래픽막차는좀처럼오지않았다./ 대합실밖에는밤새송이눈이쌓이고 / 흰보라수수꽃 130

132 눈시린유리창마다 / 톱밥난로가지펴지고있었다./ 그믐처럼몇은졸고 / 몇은감기에쿨럭이고 / 그리웠던순간들을생각하며나는 / 한줌의톱밥을불빛속에던져주었다. 막차는좀처럼오지않았다./ 대합실밖에는밤새송이눈이쌓이고 / 흰보라수수꽃눈시린유리창마다 / 톱밥난로가지펴지고있었다./ 그믐처럼몇은졸고 / 몇은감기에쿨럭이고 / 그리웠던순간들을생각하며나는 / 한줌의톱밥을불빛속에던져주었다. 추가글꼴은봄막차는좀처럼오지않았다./ 대합실밖에는밤새송이눈이쌓이고 / 흰보라수수꽃눈시린유리창마다 / 톱밥난로가지펴지고있었다./ 그믐처럼몇은졸고 / 몇은감기에쿨럭이고 / 그리웠던순간들을생각하며나는 / 한줌의톱밥을불빛속에던져주었다. 은옛글막차는좀처럼오지않았다./ 대합실밖에는밤새송이눈이쌓이고 / 흰보라수수꽃눈시린유리창마다 / 톱밥난로가지펴지고있었다./ 그믐처럼몇은졸고 / 몇은감기에쿨럭이고 / 그리웠던순간들을생각하며나는 / 한줌의톱밥을불빛속에던져주었다. 學而時習之, 不亦說乎. 은궁서막차는좀처럼오지않았다./ 대합실밖에는밤새송이눈이쌓이고 / 흰보라수수꽃눈시린유리창마다 / 톱밥난로가지펴지고있었다./ 그믐처럼몇은졸고 / 몇은감기에쿨럭이고 / 그리웠던순간들을생각하며나는 / 한줌의톱밥을불빛속에던져주었다. 學而時習之, 不亦說乎. 은신문막차는좀처럼오지않았다./ 대합실밖에는밤새송이눈이쌓이고 / 흰보라수수꽃눈시린유리창마다 / 톱밥난로가지펴지고있었다./ 그믐처럼몇은졸고 / 몇은감기에쿨럭이고 / 그리웠던순간들을생각하며나는 / 한줌의톱밥을불빛속에던져주었다. 131

133 學而時習之, 不亦說乎. 은자모바탕막차는좀처럼오지않았다./ 대합실밖에는밤새송이눈이쌓이고 / 흰보라수수꽃눈시린유리창마다 / 톱밥난로가지펴지고있었다./ 그믐처럼몇은졸고 / 몇은감기에쿨럭이고 / 그리웠던순간들을생각하며나는 / 한줌의톱밥을불빛속에던져주었다. 은자모돋움막차는좀처럼오지않았다./ 대합실밖에는밤새송이눈이쌓이고 / 흰보라수수꽃눈시린유리창마다 / 톱밥난로가지펴지고있었다./ 그믐처럼몇은졸고 / 몇은감기에쿨럭이고 / 그리웠던순간들을생각하며나는 / 한줌의톱밥을불빛속에던져주었다. 은자모소라막차는좀처럼오지않았다./ 대합실밖에는밤새송이눈이쌓이고 / 흰보라수수꽃눈시린유리창마다 / 톱밥난로가지펴지고있었다./ 그믐처럼몇은졸고 / 몇은감기에쿨럭이고 / 그리웠던순간들을생각하며나는 / 한줌의톱밥을불빛속에던져주었다. 은자모노벨막차는좀처럼오지않았다./ 대합실밖에는밤새송이눈이쌓이고 / 흰보라수수꽃눈시린유리창마다 / 톱밥난로가지펴지고있었다./ 그믐처럼몇은졸고 / 몇은감기에쿨럭이고 / 그리웠던순간들을생각하며나는 / 한줌의톱밥을불빛속에던져주었다. 은필기막차는좀처럼오지않았다./ 대합실밖에는밤새송이눈이쌓이고 / 흰보라수수꽃눈시린유리창마다 / 톱밥난로가지펴지고있었다./ 그믐처럼몇은졸고 / 몇은감기에쿨럭이고 / 그리웠던순간들을생각하며나는 / 한줌의톱밥을불빛속에던져주었다. 막차는좀처럼오지않았다./ 대합실밖에는밤새송이눈이쌓이고 / 흰보라수수꽃눈시린유리창마다 / 톱밥난로가지펴지고있었다./ 그믐처럼몇은졸고 / 몇은감기에쿨럭이고 / 그리웠던순간들을생각하며나는 / 한줌의톱밥을불빛속에던져주었다. 은펜글씨막차는좀처럼오지않았다./ 대합실밖에는밤새송이눈이쌓이고 / 흰보라수수꽃눈시린유리창마다 / 톱밥난로가지펴지고있었다./ 그믐처럼몇은졸고 / 몇은감기에쿨럭이고 / 그리웠던순간들을생각하며나는 / 한줌의톱밥을불빛속에던져주었다. 132

134 은펜흘림막차는좀처럼오지않았다./ 대합실밖에는밤새송이눈이쌓이고 / 흰보라수수꽃눈시린유리창마다 / 톱밥난로가지펴지고있었다./ 그믐처럼몇은졸고 / 몇은감기에쿨럭이고 / 그리웠던순간들을생각하며나는 / 한줌의톱밥을불빛속에던져주었다. 133

135 [ 부록 ] 용어대조 이글의배경을이루는두문서는같은단어에대하여서로다른용어나역어를쓴 것이있다. 원본문서의형태를최대한유지한다는원칙으로이문서가작성된까닭에 이러한용어의불일치를소거하지않고문서중모두노출되도록하였다 ( 그중일부 는처음출현할때영어단어를병기함으로써혼란을줄이도록하였다 ). 그러나이 로부터야기될독자의혼선을피하자는뜻에서몇가지용어의대조표를제시한다. 13 문서 A와문서 B라함은반드시특정문서를지칭하는것은아니다. 용어대조 용어 문서 A의용어 문서 B의용어 bookmark 북마크, 책갈피 책갈피 cite key 참조자 참고문헌표지 code system 코드체계 부호체계 default 디폴트, 기본 ( 값 ) 애초 ( 값 ) document class 문서클래스 문서종류 driver 드라이버 구동기 embed 임베드, 내장 내장 encoding 인코딩 부호화 encoding system 인코딩체계 부호체계 external 외형 font 폰트, 글꼴 글자체 font encoding 폰트인코딩 글자체부호화 font family 글꼴가족 글자체가족 font selection scheme 폰트선택스킴 글자체선택방식 hyphen 하이픈 붙임표 implementation 구현 구현 inter-character space 자간 자간 inter-word space 단어간격, 어간 어간 internal 내형 label 레이블 이름표 layout 레이아웃 틀잡기 lead 행간 줄간격 13 용어선정에도움을준이기황박사께감사한다. 134

136 용어대조 ( 계속 ) 용어 문서 A의용어 문서 B의용어 line breaking 행나눔, 행자름, 개행 macro 매크로 모듬명령 micro-typography 미세타이포그래피 option 옵션 추가선택 package 패키지 꾸러미 patch 패치 깁기 page 페이지 쪽 preamble 프리앰블 전문영역 preprocessor 전처리기 앞처리기 source 소스, 원본 원천 source code 소스코드 원천코드 style 스타일, 형식 모양새 symbol (character) 기호 ( 문자 ) 상징기호 system 시스템, 체계 체계 truetype 트루타입 typesetting 조판 ( 식자 ) 판짜기 typesetting system 조판시스템 식자체계 typography 타이포그래피 L A TEX 레이텍 라텍 PUA (private use area) PUA, 사용자영역 Unicode 유니코드 유니코드 TEX implementation 텍배포판 텍구현 자동조사 자동음운변화처리 서술격조사어간 지정사 135

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

2 C freetype ttf2tfm 18 D ttf.sh 19 E FD 20 L A TEX Truetype 2003 2 8 1. 3 1.1................................... 3 1.2?............................... 4 2. 5 2.1.............................. 5 2.2................................ 6 3. 7 3.1 TEX.............................

More information

The Asian Journal of TEX, Volume 1, No. 2, October 2007 Article revision 2007/10/31 KTS THE KOREAN TEX SOCIETY SINCE 2007 Oblivoir 를이용한문서작성 Document P

The Asian Journal of TEX, Volume 1, No. 2, October 2007 Article revision 2007/10/31 KTS THE KOREAN TEX SOCIETY SINCE 2007 Oblivoir 를이용한문서작성 Document P The Asian Journal of TEX, Volume 1, No. 2, October 2007 Article revision 2007/10/31 KTS THE KOREAN TEX SOCIETY SINCE 2007 Oblivoir 를이용한문서작성 Document Preparation with Oblivoir 이기황 Kihwang Lee 연세대학교대학원언어정보학과정

More information

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

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

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

Microsoft PowerPoint - chap01-C언어개요.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 프로그래밍의 기본 개념을

More information

untitled

untitled 시스템소프트웨어 : 운영체제, 컴파일러, 어셈블러, 링커, 로더, 프로그래밍도구등 소프트웨어 응용소프트웨어 : 워드프로세서, 스프레드쉬트, 그래픽프로그램, 미디어재생기등 1 n ( x + x +... + ) 1 2 x n 00001111 10111111 01000101 11111000 00001111 10111111 01001101 11111000

More information

hl A TEXp 의한글폰트와 xpttf 폰트패키지 nobody 2006 년 4 월 19 일 1 개요 hl A TEXp의한글글꼴을기억하시는지? 모두서른한개의글꼴을제공하던 hl A TEXp는, 비록 pk 글꼴로만일반에공개하였지만오히려 HL A TEX 의완성형글꼴보다더좋아

hl A TEXp 의한글폰트와 xpttf 폰트패키지 nobody 2006 년 4 월 19 일 1 개요 hl A TEXp의한글글꼴을기억하시는지? 모두서른한개의글꼴을제공하던 hl A TEXp는, 비록 pk 글꼴로만일반에공개하였지만오히려 HL A TEX 의완성형글꼴보다더좋아 hl A TEXp 의한글폰트와 xpttf 폰트패키지 nobody 2006 년 4 월 19 일 1 개요 hl A TEXp의한글글꼴을기억하시는지? 모두서른한개의글꼴을제공하던 hl A TEXp는, 비록 pk 글꼴로만일반에공개하였지만오히려 HL A TEX 의완성형글꼴보다더좋아하던분도많았으리라생각한다. 알려진바에따르면그글꼴들은원래매킨토시한국판매원이던엘렉스컴퓨터사가 KAIST

More information

한글 L 읁 TEX 에서임의의트루타입한글폰트사용하기 김강수 주철 윲윰윰윷년윷월윶일 일러두기 이글은괲괰괰괳년에썼던굜굈굌 A 굔굅굘에서임의의트루타입글꼴사용하기괢라는괬김강수 주철공저의글을고쳐쓴것이다괮한글트루타입폰트를굌 A 굔굅굘에서사용할수있게된과정은이전의글에정리되어있다괮이글

한글 L 읁 TEX 에서임의의트루타입한글폰트사용하기 김강수 주철 윲윰윰윷년윷월윶일 일러두기 이글은괲괰괰괳년에썼던굜굈굌 A 굔굅굘에서임의의트루타입글꼴사용하기괢라는괬김강수 주철공저의글을고쳐쓴것이다괮한글트루타입폰트를굌 A 굔굅굘에서사용할수있게된과정은이전의글에정리되어있다괮이글 한글 L 읁 TEX 에서임의의트루타입한글폰트사용하기 김강수 주철 윲윰윰윷년윷월윶일 일러두기 이글은괲괰괰괳년에썼던굜굈굌 A 굔굅굘에서임의의트루타입글꼴사용하기괢라는괬김강수 주철공저의글을고쳐쓴것이다괮한글트루타입폰트를굌 A 굔굅굘에서사용할수있게된과정은이전의글에정리되어있다괮이글은괲괰괰괳년이후달라진한글굌 A 굔굅굘환경을위한것이므로해당사항에대해서는이전글을참조하기바란다괮괲괰괰괷년괶월까지괬굨굡굮굧굵구괭굵굣굳에서완성형인코딩폰트를사용하지못하는것으로알려져있었다괮그러나이글은굋굔굓제괱차워크샵의결과로서이일을가능하게한성과가반영되어있다괮

More information

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

28 THE ASIAN JOURNAL OF TEX [2] ko.tex [5] The Asian Journal of TEX, Volume 3, No. 1, June 2009 Article revision 2009/5/7 KTS THE KOREAN TEX SOCIETY SINCE 2007 2008 ko.tex Installing TEX Live 2008 and ko.tex under Ubuntu Linux Kihwang Lee * [email protected]

More information

<B3EDB9AEC0DBBCBAB9FD2E687770>

<B3EDB9AEC0DBBCBAB9FD2E687770> (1) 주제 의식의 원칙 논문은 주제 의식이 잘 드러나야 한다. 주제 의식은 논문을 쓰는 사람의 의도나 글의 목적 과 밀접한 관련이 있다. (2) 협력의 원칙 독자는 필자를 이해하려고 마음먹은 사람이다. 따라서 필자는 독자가 이해할 수 있는 말이 나 표현을 사용하여 독자의 노력에 협력해야 한다는 것이다. (3) 논리적 엄격성의 원칙 감정이나 독단적인 선언이

More information

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc NTAS and FRAME BUILDER Install Guide NTAS and FRAME BUILDER Version 2.5 Copyright 2003 Ari System, Inc. All Rights reserved. NTAS and FRAME BUILDER are trademarks or registered trademarks of Ari System,

More information

초간단 xoblivoir under X E TEX 사용법 x-ob-liv-oir 2008 년 9 월 8 일 12 월 3 일 ( 열번째고쳐씀 ) 요약 xoblivoir는 LuaLATEX 과 X LATEX 에서사용할수있는 oblivoir이다. 이문서는 E X LATEX 에

초간단 xoblivoir under X E TEX 사용법 x-ob-liv-oir 2008 년 9 월 8 일 12 월 3 일 ( 열번째고쳐씀 ) 요약 xoblivoir는 LuaLATEX 과 X LATEX 에서사용할수있는 oblivoir이다. 이문서는 E X LATEX 에 초간단 xoblivoir under X TX 사용법 x-ob-liv-oir 2008 년 9 월 8 일 12 월 3 일 ( 열번째고쳐씀 ) 요약 xoblivoir는 LuaLATX 과 X LATX 에서사용할수있는 oblivoir이다. 이문서는 X LATX 에서 xoblivoir를사용하는방법을기술한다. oblivoir와공통인부분은기 술에서제외하였다. 이문서에서언급하지않은것은모두

More information

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

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

More information

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

수식모드수식의표현법 수학식표현 조남운 조남운 수학식표현 조남운 mailto:[email protected] 2008.2.20 AMS-TEX 미국수학회 (American Mathematical Society) 에서만든수학패키지 대부분의수학표현은 AMS-TEX 을이용하고있음. 자세한내용은 AMS-TEX 매뉴얼을참조할것. http://www.ams.org/tex/amstex.html AMS-TEX 패키지선언 \usepackage{amssymb,

More information

outline_표준연3파트.indd

outline_표준연3파트.indd 단위를 알면 세상이 보인다 μg W ng C mol GHz J ns cm MV m/s Gy W MHz mv ms ma Ω A Hz lx m 2 /s Bq rad Mg A/m km/s km C m/s 2 m 3 /s Pa g cd/m 2 m N/m Wb μa T m 3 pm nm mg MW K m 2 rad/s F sr V/m V S cd J/K mm lm H

More information

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

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 Eclipse (IDE) JDK Android SDK with ADT IDE: Integrated Development Environment JDK: Java Development Kit (Java SDK) ADT: Android Development Tools 2 JDK 설치 Eclipse

More information

초간단 oblivoir v2.1 사용법 x-ob-liv-oir 2015 년 4 월 요약 oblivoir 클래스 2.0 버전은그동안별도의브랜치로개발되어오던 xoblivoir 와 oblivoir 를통합하여완전히동일한클래스가되었다. 이문서는 oblivoir 즉 xoblivo

초간단 oblivoir v2.1 사용법 x-ob-liv-oir 2015 년 4 월 요약 oblivoir 클래스 2.0 버전은그동안별도의브랜치로개발되어오던 xoblivoir 와 oblivoir 를통합하여완전히동일한클래스가되었다. 이문서는 oblivoir 즉 xoblivo 초간단 oblivoir v2.1 사용법 x-ob-liv-oir 2015 년 4 월 요약 oblivoir 클래스 2.0 버전은그동안별도의브랜치로개발되어오던 xoblivoir 와 oblivoir 를통합하여완전히동일한클래스가되었다. 이문서는 oblivoir 즉 xoblivoir 를사용하는방법을간략히기술한다. 차례 제 1 절 oblivoir와 xoblivoir.............................

More information

SIGIL 완벽입문

SIGIL 완벽입문 누구나 만드는 전자책 SIGIL 을 이용해 전자책을 만들기 EPUB 전자책이 가지는 단점 EPUB이라는 포맷과 제일 많이 비교되는 포맷은 PDF라는 포맷 입니다. EPUB이 나오기 전까지 전 세계에서 가장 많이 사용되던 전자책 포맷이고, 아직도 많이 사 용되기 때문이기도 한며, 또한 PDF는 종이책 출력을 위해서도 사용되기 때문에 종이책 VS

More information

Windows 10 General Announcement v1.0-KO

Windows 10 General Announcement v1.0-KO Windows 10 Fuji Xerox 장비와의호환성 v1.0 7 July, 2015 머리말 Microsoft 는 Windows 10 이 Windows 자동업데이트기능을통해예약되어질수있다고 6 월 1 일발표했다. 고객들은 윈도우 10 공지알림을받기 를표시하는새로운아이콘을알아차릴수있습니다. Fuji Xerox 는 Microsoft 에서가장최신운영시스템인 Windows

More information

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

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 개발환경구조및설치순서 JDK 설치 Eclipse 설치 안드로이드 SDK 설치 ADT(Androd Development Tools) 설치 AVD(Android Virtual Device) 생성 Hello Android! 2 Eclipse (IDE) JDK Android SDK with

More information

C# Programming Guide - Types

C# Programming Guide - Types C# Programming Guide - Types 최도경 [email protected] 이문서는 MSDN 의 Types 를요약하고보충한것입니다. http://msdn.microsoft.com/enus/library/ms173104(v=vs.100).aspx Types, Variables, and Values C# 은 type 에민감한언어이다. 모든

More information

152*220

152*220 152*220 2011.2.16 5:53 PM ` 3 여는 글 교육주체들을 위한 교육 교양지 신경림 잠시 휴간했던 우리교육 을 비록 계간으로이지만 다시 내게 되었다는 소식을 들으니 우 선 반갑다. 하지만 월간으로 계속할 수 없다는 현실이 못내 아쉽다. 솔직히 나는 우리교 육 의 부지런한 독자는 못 되었다. 하지만 비록 어깨너머로 읽으면서도 이런 잡지는 우 리

More information

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

제 1 절 복습 \usepackage{ g r a p h i c x }... \ i n c l u d e g r a p h i c s [ width =0.9\ textwidth ] { b e a r. j p g } (a) includegraphics 사용의일반적인유형 그림배치 이주용 [email protected] 2011 년 9 월 28 일 제 1 절 복습 \usepackage{ g r a p h i c x }... \ i n c l u d e g r a p h i c s [ width =0.9\ textwidth ] { b e a r. j p g } (a) includegraphics 사용의일반적인유형 (b)

More information

현대적 레이텍 활용 Modern Coding Conventions

현대적 레이텍 활용   Modern Coding Conventions 현대적레이텍활용 Modern Coding Conventions Nova De Hi KTUG/ 공주대학교문서작성워크숍 Fall/2014 입력 \usepackage[utf8]{inputenc} pdftex 에서유니코드를처리하기위해서쓰던코드 LuaTEX 이나 X TEX 에서는불필요 E \'{a} á ã \'{a} 와같이입력할필요없음 유니코드문자를직접입력한다. 기호문자도마찬가지.

More information

View Licenses and Services (customer)

View Licenses and Services (customer) 빠른 빠른 시작: 시작: 라이선스, 라이선스, 서비스 서비스 및 주문 주문 이력 이력 보기 보기 고객 가이드 Microsoft 비즈니스 센터의 라이선스, 서비스 및 혜택 섹션을 통해 라이선스, 온라인 서비스, 구매 기록 (주문 기록)을 볼 수 있습니다. 시작하려면, 비즈니스 센터에 로그인하여 상단 메뉴에서 재고를 선택한 후 내 재고 관리를 선택하십시오. 목차

More information

3. 다음은카르노맵의표이다. 논리식을간략화한것은? < 나 > 4. 다음카르노맵을간략화시킨결과는? < >

3. 다음은카르노맵의표이다. 논리식을간략화한것은? < 나 > 4. 다음카르노맵을간략화시킨결과는? < > . 변수의수 ( 數 ) 가 3 이라면카르노맵에서몇개의칸이요구되는가? 2칸 나 4칸 다 6칸 8칸 < > 2. 다음진리표의카르노맵을작성한것중옳은것은? < 나 > 다 나 입력출력 Y - 2 - 3. 다음은카르노맵의표이다. 논리식을간략화한것은? < 나 > 4. 다음카르노맵을간략화시킨결과는? < > 2 2 2 2 2 2 2-3 - 5. 다음진리표를간략히한결과

More information

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074> SIMATIC S7 Siemens AG 2004. All rights reserved. Date: 22.03.2006 File: PRO1_17E.1 차례... 2 심벌리스트... 3 Ch3 Ex2: 프로젝트생성...... 4 Ch3 Ex3: S7 프로그램삽입... 5 Ch3 Ex4: 표준라이브러리에서블록복사... 6 Ch4 Ex1: 실제구성을 PG 로업로드하고이름변경......

More information

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

Microsoft PowerPoint - chap03-변수와데이터형.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num %d\n", num); return 0; } 1 학습목표 의 개념에 대해 알아본다.

More information

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

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다. Eclipse 개발환경에서 WindowBuilder 를이용한 Java 프로그램개발 이예는 Java 프로그램의기초를이해하고있는사람을대상으로 Embedded Microcomputer 를이용한제어시스템을 PC 에서 Serial 통신으로제어 (Graphical User Interface (GUI) 환경에서 ) 하는프로그램개발예를설명한다. WindowBuilder:

More information

1809_2018-BESPINGLOBAL_Design Guidelines_out

1809_2018-BESPINGLOBAL_Design Guidelines_out 베스핀글로벌 디자인 가이드라인 베스핀글로벌은 경험과 기술을 바탕으로 고객에게 신뢰를 주는 기업이기를 지향합니다. 모든 서비스와 소통채널에서 우리의 가치를 일관되게 표현하도록 합니다. SIGNATURE SIGNATURE + SLGAN SIGNATURE [CHINA] SIGNATURE + SYMBL 2018년 1.ver 베스핀글로벌 디자인 가이드라인 디자인 가이드라인을

More information

Microsoft PowerPoint - chap06-2pointer.ppt

Microsoft PowerPoint - chap06-2pointer.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: [email protected] 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.

More information

ISP and CodeVisionAVR C Compiler.hwp

ISP and CodeVisionAVR C Compiler.hwp USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler http://www.avrmall.com/ November 12, 2007 Copyright (c) 2003-2008 All Rights Reserved. USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler

More information

슬라이드 1

슬라이드 1 Pairwise Tool & Pairwise Test NuSRS 200511305 김성규 200511306 김성훈 200614164 김효석 200611124 유성배 200518036 곡진화 2 PICT Pairwise Tool - PICT Microsoft 의 Command-line 기반의 Free Software www.pairwise.org 에서다운로드후설치

More information

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

Microsoft Word - windows server 2003 수동설치_non pro support_.doc Windows Server 2003 수동 설치 가이드 INDEX 운영체제 설치 준비과정 1 드라이버를 위한 플로피 디스크 작성 2 드라이버를 위한 USB 메모리 작성 7 운영체제 설치 과정 14 Boot Sequence 변경 14 컨트롤러 드라이버 수동 설치 15 운영체제 설치 17 운영체제 설치 준비 과정 Windows Server 2003 에는 기본적으로

More information

Windows Server 2012

Windows Server  2012 Windows Server 2012 Shared Nothing Live Migration Shared Nothing Live Migration 은 SMB Live Migration 방식과다른점은 VM 데이터파일의위치입니다. Shared Nothing Live Migration 방식은 Hyper-V 호스트의로컬디스크에 VM 데이터파일이위치합니다. 반면에, SMB

More information

이 장에서 사용되는 MATLAB 명령어들은 비교적 복잡하므로 MATLAB 창에서 명령어를 직접 입력하지 않고 확장자가 m 인 text 파일을 작성하여 실행을 한다

이 장에서 사용되는 MATLAB 명령어들은 비교적 복잡하므로 MATLAB 창에서 명령어를 직접 입력하지 않고 확장자가 m 인 text 파일을 작성하여 실행을 한다 이장에서사용되는 MATLAB 명령어들은비교적복잡하므로 MATLAB 창에서명령어를직접입력하지않고확장자가 m 인 text 파일을작성하여실행을한다. 즉, test.m 과같은 text 파일을만들어서 MATLAB 프로그램을작성한후실행을한다. 이와같이하면길고복잡한 MATLAB 프로그램을작성하여실행할수있고, 오류가발생하거나수정이필요한경우손쉽게수정하여실행할수있는장점이있으며,

More information

참을성 없는 초보자들을 위한 해법 2 1 참을성 없는 초보자들을 위한 해법 이 글의 제목에 마음이 끌렸다면 당신은 분명 매우 절박한 처지에 있을 것이다. 하지만 당신은 참을성이 없기 때문에 시간이 없다고 변명하겠지만 이 책에서 만족할 만한 아무런 해법도 얻지 못할 수

참을성 없는 초보자들을 위한 해법 2 1 참을성 없는 초보자들을 위한 해법 이 글의 제목에 마음이 끌렸다면 당신은 분명 매우 절박한 처지에 있을 것이다. 하지만 당신은 참을성이 없기 때문에 시간이 없다고 변명하겠지만 이 책에서 만족할 만한 아무런 해법도 얻지 못할 수 레이텍을 빨리 쓸 수 있는 방법 2009 이호재 * 차 례 1 참을성 없는 초보자들을 위한 해법...................... 2 1.1 텍 배포판의 선택과 구입........................ 3 1.2 설치................................... 3 1.3 참고서..................................

More information

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Function) 1. 함수의개념 입력에대해적절한출력을발생시켜주는것 내가 ( 프로그래머 ) 작성한명령문을연산, 처리, 실행해주는부분 ( 모듈 ) 자체적으로실행되지않으며,

More information

Raspbian 설치 라즈비안 OS (Raspbian OS) 라즈베리파이 3 Model B USB 마우스 USB 키보드 마이크로 SD 카드 마이크로 SD 카드리더기 HDM I 케이블모니터

Raspbian 설치 라즈비안 OS (Raspbian OS) 라즈베리파이 3 Model B USB 마우스 USB 키보드 마이크로 SD 카드 마이크로 SD 카드리더기 HDM I 케이블모니터 운영체제실습 Raspbian 설치 2017. 3 표월성 [email protected] cherub.sungkyul.ac.kr 목차 Ⅰ. 설치 1. 라즈비안 (Raspbian 설치 ) 2. 설치후, 설정 설정사항 Raspbian 설치 라즈비안 OS (Raspbian OS) 라즈베리파이 3 Model B USB 마우스 USB 키보드 마이크로 SD 카드 마이크로

More information

PowerPoint Presentation

PowerPoint Presentation 5 불대수 IT CookBook, 디지털논리회로 - 2 - 학습목표 기본논리식의표현방법을알아본다. 불대수의법칙을알아본다. 논리회로를논리식으로논리식을논리회로로표현하는방법을알아본다. 곱의합 (SOP) 과합의곱 (POS), 최소항 (minterm) 과최대항 (mxterm) 에대해알아본다. 01. 기본논리식의표현 02. 불대수법칙 03. 논리회로의논리식변환 04.

More information

*074-081pb61۲õðÀÚÀ̳ʸ

*074-081pb61۲õðÀÚÀ̳ʸ 74 October 2005 현 대는 이미지의 시대다. 영국의 미술비평가 존 버거는 이미지를 새롭 게 만들어진, 또는 재생산된 시각 으로 정의한 바 있다. 이 정의에 따르 면, 이미지는 사물 그 자체가 아니라는 것이다. 이미지는 보는 사람의, 혹은 이미지를 창조하는 사람의 믿음이나 지식에 제한을 받는다. 이미지는 언어, 혹은 문자에 선행한다. 그래서 혹자는

More information

한글 TEX 사용기 노바디 2006 년 3 월 2 일 차례 1 글머리에 기원 MiKTEX 의발견....

한글 TEX 사용기 노바디 2006 년 3 월 2 일 차례 1 글머리에 기원 MiKTEX 의발견.... 한글 TEX 사용기 노바디 2006 년 3 월 2 일 차례 1 글머리에......................................... 3 2 기원............................................ 3 3 MiKTEX 의발견..................................... 5 4 HL A TEX, pdf에주목하다.................................

More information

Microsoft Word - 3부A windows 환경 IVF + visual studio.doc

Microsoft Word - 3부A windows 환경 IVF + visual studio.doc Visual Studio 2005 + Intel Visual Fortran 9.1 install Intel Visual Fortran 9.1 intel Visual Fortran Compiler 9.1 만설치해서 DOS 모드에서실행할수있지만, Visual Studio 2005 의 IDE 를사용하기위해서는 Visual Studio 2005 를먼저설치후 Integration

More information

PowerPoint Template

PowerPoint Template JavaScript 회원정보 입력양식만들기 HTML & JavaScript Contents 1. Form 객체 2. 일반적인입력양식 3. 선택입력양식 4. 회원정보입력양식만들기 2 Form 객체 Form 객체 입력양식의틀이되는 태그에접근할수있도록지원 Document 객체의하위에위치 속성들은모두 태그의속성들의정보에관련된것

More information

1997 4 23 2000 9 5 2003 9 10 2008 2 20 2008 12 10 2011 7 1 2012 8 17 2014 9 19 2015 3 31 2015 6 30 2016 9 30 2017 6 30 2019 3 31 326 327 328 < >

More information

UI TASK & KEY EVENT

UI TASK & KEY EVENT 2007. 2. 5 PLATFORM TEAM 정용학 차례 CONTAINER & WIDGET SPECIAL WIDGET 질의응답및토의 2 Container LCD에보여지는화면한개 1개이상의 Widget을가짐 3 Container 초기화과정 ui_init UMP_F_CONTAINERMGR_Initialize UMP_H_CONTAINERMGR_Initialize

More information

글자가족 type family AG 안상수체 2012 ExtraLight AG안상수체2012 Light AG안상수체2012 Medium AG안상수체2012 Bold AG안상수체2012 ExtraBlod

글자가족 type family AG 안상수체 2012 ExtraLight AG안상수체2012 Light AG안상수체2012 Medium AG안상수체2012 Bold AG안상수체2012 ExtraBlod AG 글꼴미리보기 AG type overview AG 안상수체 2012 안상수체는 1985년안상수가디자인한탈네모틀글꼴이다. 한글쪽자는수직선, 수평선, 사선, 정원의기하학모양이며, 홀자기둥이받침의정가운데맞닿아있는것이특징이다. AG 안상수체 2012는기존안상수체에서로마자, 기호활자를다듬고굵기를판올림한것이다. 글자가족은아주가는 (EL), 가는 (L), 중간 (M),

More information

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

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우. 소프트웨어매뉴얼 윈도우드라이버 Rev. 3.03 SLP-TX220 / TX223 SLP-TX420 / TX423 SLP-TX400 / TX403 SLP-DX220 / DX223 SLP-DX420 / DX423 SLP-DL410 / DL413 SLP-T400 / T403 SLP-T400R / T403R SLP-D220 / D223 SLP-D420 / D423

More information

Chapter 05. 파일접근권한관리하기

Chapter 05. 파일접근권한관리하기 Chapter 05. 파일접근권한관리하기 00. 개요 01. 파일의속성 02. 파일의접근권한 03. 기호를이용한파일접근권한변경 04. 숫자를이용한파일접근권한변경 05. 기본접근권한설정 06. 특수접근권한 파일의속성을이해하고설명할수있다. 접근권한의종류와표기방법을이해하고설명할수있다. 접근권한을바꾸기위해기호모드에서원하는권한을기호로표기할수있다. 접근권한을바꾸기위해숫자모드에서원하는권한을숫자로표기할수있다.

More information

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음 프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음 CHAPTER 9 둘중하나선택하기 관계연산자 두개의피연산자를비교하는연산자 결과값은참 (1) 아니면거짓 (0) x == y x 와 y 의값이같은지비교한다. 관계연산자 연산자 의미 x == y x와 y가같은가? x!= y

More information

연구노트

연구노트 #2. 종이 질 - 일단은 OK. 하지만 만년필은 조금 비침. 종이질은 일단 합격점. 앞으로 종이질은 선택옵션으로 둘 수 있으리라 믿는다. 종이가 너무 두꺼우면, 뒤에 비치지 는 않지만, 무겁고 유연성이 떨어진다. 하지만 두꺼우면 고의적 망실의 위험도 적고 적당한 심리적 부담도 줄 것이 다. 이점은 호불호가 있을 것으로 생각되지만, 일단은 괜찮아 보인다. 필자의

More information

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

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자 SQL Developer Connect to TimesTen 유니원아이앤씨 DB 팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 2010-07-28 작성자 김학준 최종수정일 2010-07-28 문서번호 20100728_01_khj 재개정이력 일자내용수정인버전

More information

Microsoft Word - Armjtag_문서1.doc

Microsoft Word - Armjtag_문서1.doc ARM JTAG (wiggler 호환 ) 사용방법 ( IAR EWARM 에서 ARM-JTAG 로 Debugging 하기 ) Test Board : AT91SAM7S256 IAR EWARM : Kickstart for ARM ARM-JTAG : ver 1.0 ( 씨링크테크 ) 1. IAR EWARM (Kickstart for ARM) 설치 2. Macraigor

More information

Microsoft PowerPoint - kandroid_for_HI-CNU.ppt

Microsoft PowerPoint - kandroid_for_HI-CNU.ppt 온누리한글의유니코드 (Unicode) 적용방안연구 일시 : 00 년 0 월 일목요일, 한글날오후 시 장소 : 충남대학교인문대학문원강당 발표자 : 사이트관리자, 양정수 ( 들풀 ), [email protected],, 00,, 6 목차 문자집합과인코딩, 유니코드 한글코드표준의역사 유니코드와한글 한글 : 폰트파일과글자모양 한글 : 입력방식 (Input

More information

<BFACBDC0B9AEC1A6C7AEC0CC5F F E687770>

<BFACBDC0B9AEC1A6C7AEC0CC5F F E687770> IT OOKOOK 87 이론, 실습, 시뮬레이션 디지털논리회로 ( 개정 3 판 ) (Problem Solutions of hapter 9) . T 플립플롭으로구성된순서논리회로의해석 () 변수명칭부여 F-F 플립플롭의입력 :, F-F 플립플롭의출력 :, (2) 불대수식유도 플립플롭의입력 : F-F 플립플롭의입력 : F-F 플립플롭의출력 : (3) 상태표작성 이면,

More information

OCW_C언어 기초

OCW_C언어 기초 초보프로그래머를위한 C 언어기초 4 장 : 연산자 2012 년 이은주 학습목표 수식의개념과연산자및피연산자에대한학습 C 의알아보기 연산자의우선순위와결합방향에대하여알아보기 2 목차 연산자의기본개념 수식 연산자와피연산자 산술연산자 / 증감연산자 관계연산자 / 논리연산자 비트연산자 / 대입연산자연산자의우선순위와결합방향 조건연산자 / 형변환연산자 연산자의우선순위 연산자의결합방향

More information

Overleaf 에서 L A TEX 체험 nanim 2015 년 7 월 9 일 차례 Overleaf을통한 L A TEX 체험 사이트접속과사용자등록 프

Overleaf 에서 L A TEX 체험 nanim 2015 년 7 월 9 일 차례 Overleaf을통한 L A TEX 체험 사이트접속과사용자등록 프 Overleaf 에서 L A TEX 체험 nanim 2015 년 7 월 9 일 차례 Overleaf을통한 L A TEX 체험................................. 2 사이트접속과사용자등록.............................. 2 프로젝트만들기.................................... 4 한글문서로만들기...................................

More information

JDK이클립스

JDK이클립스 JDK 와이클립스설치 A. JDK 다운로드, 설치및환경설정 지금부터 JDK를다운로드받아설치하고 JDK를윈도우에서활용할수있도록환경을설정하는전과정을소개한다. 다운로드 www.oracle.com 사이트에접속하여 Downloads 메뉴를선택한후 [ 그림 1] 과같이 "Java for Developers" 를클릭한다. [ 그림 1] www.oracle.com 사이트

More information

Tcl의 문법

Tcl의 문법 월, 01/28/2008-20:50 admin 은 상당히 단순하고, 커맨드의 인자를 스페이스(공백)로 단락을 짓고 나열하는 정도입니다. command arg1 arg2 arg3... 한행에 여러개의 커맨드를 나열할때는, 세미콜론( ; )으로 구분을 짓습니다. command arg1 arg2 arg3... ; command arg1 arg2 arg3... 한행이

More information

MySQL-.. 1

MySQL-.. 1 MySQL- 기초 1 Jinseog Kim Dongguk University [email protected] 2017-08-25 Jinseog Kim Dongguk University [email protected] MySQL-기초 1 2017-08-25 1 / 18 SQL의 기초 SQL은 아래의 용도로 구성됨 데이터정의 언어(Data definition

More information

벤처연구사업(전동휠체어) 평가

벤처연구사업(전동휠체어) 평가 운영체제실습 Raspbian 설치 2019. 3 표월성 [email protected] cherub.sungkyul.ac.kr 목차 Ⅰ. 개요 1. 설치전준비시항 - H/W 및 S/W - Raspbian 이미지파일 2. 라즈비안 (Raspbian) 설치 - Destop 설치 ( 가상화시스템이용 ) - NOOBS를이용한설치 - Raspbian 이미지를이용한설치

More information

adfasdfasfdasfasfadf

adfasdfasfdasfasfadf C 4.5 Source code Pt.3 ISL / 강한솔 2019-04-10 Index Tree structure Build.h Tree.h St-thresh.h 2 Tree structure *Concpets : Node, Branch, Leaf, Subtree, Attribute, Attribute Value, Class Play, Don't Play.

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 C 프로그래밍프로젝트 Chap 14. 포인터와함수에대한이해 2013.10.09. 오병우 컴퓨터공학과 14-1 함수의인자로배열전달 기본적인인자의전달방식 값의복사에의한전달 val 10 a 10 11 Department of Computer Engineering 2 14-1 함수의인자로배열전달 배열의함수인자전달방식 배열이름 ( 배열주소, 포인터 ) 에의한전달 #include

More information

041~084 ¹®È�Çö»óÀбâ

041~084 ¹®È�Çö»óÀбâ 1998 60 1 1 200 2 6 4 7 29 1975 30 2 78 35 1 4 2001 2009 79 2 9 2 200 3 1 6 1 600 13 6 2 8 21 6 7 1 9 1 7 4 1 2 2 80 4 300 2 200 8 22 200 2140 2 195 3 1 2 1 2 52 3 7 400 60 81 80 80 12 34 4 4 7 12 80 50

More information

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 System call table and linkage v Ref. http://www.ibm.com/developerworks/linux/library/l-system-calls/ - 2 - Young-Jin Kim SYSCALL_DEFINE 함수

More information

C 프로그래밍 언어 입문 C 프로그래밍 언어 입문 김명호저 숭실대학교 출판국 머리말..... C, C++, Java, Fortran, Python, Ruby,.. C. C 1972. 40 C.. C. 1999 C99. C99. C. C. C., kmh ssu.ac.kr.. ,. 2013 12 Contents 1장 프로그래밍 시작 1.1 C 10 1.2 12

More information

소개 Mac OS X (10.9, 10.10, 10.11, 10.12) 와 OKI 프린터호환성 Mac OS X 를사용하는 PC 에 OKI 프린터및복합기 (MFP) 제품을연결하여사용할때, 최고의성능을발휘할수있도록하는것이 OKI 의목 표입니다. 아래의문서는 OKI 프린터및

소개 Mac OS X (10.9, 10.10, 10.11, 10.12) 와 OKI 프린터호환성 Mac OS X 를사용하는 PC 에 OKI 프린터및복합기 (MFP) 제품을연결하여사용할때, 최고의성능을발휘할수있도록하는것이 OKI 의목 표입니다. 아래의문서는 OKI 프린터및 OKI 프린터호환성 Mac OS X 와호환성 Ma(10.9) Ma(10.10) Ma(10.11) Ma(10.12) 버전 : 7.8 날짜 : 2017-05-10 소개 Mac OS X (10.9, 10.10, 10.11, 10.12) 와 OKI 프린터호환성 Mac OS X 를사용하는 PC 에 OKI 프린터및복합기 (MFP) 제품을연결하여사용할때, 최고의성능을발휘할수있도록하는것이

More information

[ 컴퓨터시스템 ] 3 주차 1 차시. 디렉토리사이의이동 3 주차 1 차시디렉토리사이의이동 학습목표 1. pwd 명령을사용하여현재디렉토리를확인할수있다. 2. cd 명령을사용하여다른디렉토리로이동할수있다. 3. ls 명령을사용하여디렉토리내의파일목록을옵션에따라다양하게확인할수

[ 컴퓨터시스템 ] 3 주차 1 차시. 디렉토리사이의이동 3 주차 1 차시디렉토리사이의이동 학습목표 1. pwd 명령을사용하여현재디렉토리를확인할수있다. 2. cd 명령을사용하여다른디렉토리로이동할수있다. 3. ls 명령을사용하여디렉토리내의파일목록을옵션에따라다양하게확인할수 3 주차 1 차시디렉토리사이의이동 학습목표 1. pwd 명령을사용하여현재디렉토리를확인할수있다. 2. cd 명령을사용하여다른디렉토리로이동할수있다. 3. ls 명령을사용하여디렉토리내의파일목록을옵션에따라다양하게확인할수있다. 학습내용 1 : 현재디렉토리확인 1. 홈디렉토리 - 로그인을한후, 사용자가기본으로놓이게되는디렉토리위치를홈디렉토리 (home directory)

More information

자연언어처리

자연언어처리 제 7 장파싱 파싱의개요 파싱 (Parsing) 입력문장의구조를분석하는과정 문법 (grammar) 언어에서허용되는문장의구조를정의하는체계 파싱기법 (parsing techniques) 문장의구조를문법에따라분석하는과정 차트파싱 (Chart Parsing) 2 문장의구조와트리 문장 : John ate the apple. Tree Representation List

More information

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할

저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할 저작자표시 - 비영리 - 변경금지 2.0 대한민국 이용자는아래의조건을따르는경우에한하여자유롭게 이저작물을복제, 배포, 전송, 전시, 공연및방송할수있습니다. 다음과같은조건을따라야합니다 : 저작자표시. 귀하는원저작자를표시하여야합니다. 비영리. 귀하는이저작물을영리목적으로이용할수없습니다. 변경금지. 귀하는이저작물을개작, 변형또는가공할수없습니다. 귀하는, 이저작물의재이용이나배포의경우,

More information

31. 을전개한식에서 의계수는? 를전개한식이 일 때, 의값은? 을전개했을때, 의계수와상수항의합을구하면? 을전개했을때, 의 계수는? 를전개했을때, 상수항을 구하여라. 37

31. 을전개한식에서 의계수는? 를전개한식이 일 때, 의값은? 을전개했을때, 의계수와상수항의합을구하면? 을전개했을때, 의 계수는? 를전개했을때, 상수항을 구하여라. 37 21. 다음식의값이유리수가되도록유리수 의값을 정하면? 1 4 2 5 3 26. 을전개하면상수항을 제외한각항의계수의총합이 이다. 이때, 의값은? 1 2 3 4 5 22. 일때, 의값은? 1 2 3 4 5 27. 를전개하여간단히 하였을때, 의계수는? 1 2 3 4 5 23. 를전개하여 간단히하였을때, 상수항은? 1 2 3 4 5 28. 두자연수 와 를 로나누면나머지가각각

More information

Microsoft PowerPoint - lect13-LaTeX사용법.ppt

Microsoft PowerPoint - lect13-LaTeX사용법.ppt 강의 13 : LaTeX 사용법 이도훈 부산대학교공과대학정보컴퓨터공학부 LaTeX 이란? Donald E. Knuth( 커누스 ' 라발음 ) 가수식이들어가는문서를쓰던도중, 여러가지문제점을접했다. 수식의위치라던가크기등을출력용으로컴퓨터로입력하기어려운부분이매우많았던것이다. 따라서수식을포함한문서인쇄용언어 TeX 를개발했다 (5년동안). 지금 TeX 의개발은종료된상태이다.

More information

1. 안드로이드개발환경설정 안드로이드개발을위해선툴체인을비롯한다양한소프트웨어패키지가필요합니다 툴체인 (Cross-Compiler) 설치 안드로이드 2.2 프로요부터는소스에기본툴체인이 prebuilt 라는이름으로포함되어있지만, 리눅스 나부트로더 (U-boot)

1. 안드로이드개발환경설정 안드로이드개발을위해선툴체인을비롯한다양한소프트웨어패키지가필요합니다 툴체인 (Cross-Compiler) 설치 안드로이드 2.2 프로요부터는소스에기본툴체인이 prebuilt 라는이름으로포함되어있지만, 리눅스 나부트로더 (U-boot) 1. 안드로이드개발환경설정 안드로이드개발을위해선툴체인을비롯한다양한소프트웨어패키지가필요합니다. 1.1. 툴체인 (Cross-Compiler) 설치 안드로이드 2.2 프로요부터는소스에기본툴체인이 prebuilt 라는이름으로포함되어있지만, 리눅스 나부트로더 (U-boot) 만별도로필요한경우도있어툴체인설치및설정에대해알아봅니다. 1.1.1. 툴체인설치 다음링크에서다운받을수있습니다.

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Chapter 05. 파일접근권한관리하기 00. 개요 01. 파일의속성 02. 파일의접근권한 03. 기호를이용한파일접근권한변경 04. 숫자를이용한파일접근권한변경 05. 기본접근권한설정 06. 특수접근권한 파일의속성을이해하고설명할수있다. 접근권한의종류와표기방법을이해하고설명할수있다. 접근권한을바꾸기위해기호모드에서원하는권한을기호로표기할수있다. 접근권한을바꾸기위해숫자모드에서원하는권한을숫자로표기할수있다.

More information

Windows 8에서 BioStar 1 설치하기

Windows 8에서 BioStar 1 설치하기 / 콘텐츠 테이블... PC에 BioStar 1 설치 방법... Microsoft SQL Server 2012 Express 설치하기... Running SQL 2012 Express Studio... DBSetup.exe 설정하기... BioStar 서버와 클라이언트 시작하기... 1 1 2 2 6 7 1/11 BioStar 1, Windows 8 BioStar

More information

gnu-lee-oop-kor-lec06-3-chap7

gnu-lee-oop-kor-lec06-3-chap7 어서와 Java 는처음이지! 제 7 장상속 Super 키워드 상속과생성자 상속과다형성 서브클래스의객체가생성될때, 서브클래스의생성자만호출될까? 아니면수퍼클래스의생성자도호출되는가? class Base{ public Base(String msg) { System.out.println("Base() 생성자 "); ; class Derived extends Base

More information

Microsoft Word - [2017SMA][T8]OOPT_Stage_2040 ver2.docx

Microsoft Word - [2017SMA][T8]OOPT_Stage_2040 ver2.docx OOPT Stage 2040 - Design Feesual CPT Tool Project Team T8 Date 2017-05-24 T8 Team Information 201211347 박성근 201211376 임제현 201411270 김태홍 2017 Team 8 1 Table of Contents 1. Activity 2041. Design Real Use

More information

로거 자료실

로거 자료실 redirection 매뉴얼 ( 개발자용 ) V1.5 Copyright 2002-2014 BizSpring Inc. All Rights Reserved. 본문서에대한저작권은 비즈스프링 에있습니다. - 1 - 목차 01 HTTP 표준 redirect 사용... 3 1.1 HTTP 표준 redirect 예시... 3 1.2 redirect 현상이여러번일어날경우예시...

More information

PowerPoint Presentation

PowerPoint Presentation Package Class 3 Heeseung Jo 목차 section 1 패키지개요와패키지의사용 section 2 java.lang 패키지의개요 section 3 Object 클래스 section 4 포장 (Wrapper) 클래스 section 5 문자열의개요 section 6 String 클래스 section 7 StringBuffer 클래스 section

More information

Microsoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드]

Microsoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드] Chapter 03 변수와자료형 2009 한국항공대학교항공우주기계공학부 (http://mercury.kau.ac.kr/sjkwon) 1 변수와자료유형 변수 프로그램에서자료값을임시로기억할수있는저장공간을변수 (variables) 변수 (Variables) 는컴퓨터의메모리인 RAM(Random Access Memory) 에저장 물건을담는박스라고생각한다면박스의크기에따라담을물건이제한됨

More information

Chapter ...

Chapter ... Chapter 4 프로세서 (4.9절, 4.12절, 4.13절) Contents 4.1 소개 4.2 논리 설계 기초 4.3 데이터패스 설계 4.4 단순한 구현 방법 4.5 파이프라이닝 개요*** 4.6 파이프라이닝 데이터패스 및 제어*** 4.7 데이터 해저드: 포워딩 vs. 스톨링*** 4.8 제어 해저드*** 4.9 예외 처리*** 4.10 명령어 수준

More information

Microsoft Word - PLC제어응용-2차시.doc

Microsoft Word - PLC제어응용-2차시.doc 과정명 PLC 제어응용차시명 2 차시. 접점명령 학습목표 1. 연산개시명령 (LOAD, LOAD NOT) 에대하여설명할수있다. 2. 직렬접속명령 (AND, AND NOT) 에대하여설명할수있다. 3. 병렬접속명령 (OR, OR NOT) 에대하여설명할수있다. 4.PLC의접점명령을가지고간단한프로그램을작성할수있다. 학습내용 1. 연산개시명령 1) 연산개시명령 (LOAD,

More information

지난시간에... 우리는 kernel compile을위하여 cross compile 환경을구축했음. UBUNTU 12.04에서 arm-2009q3를사용하여 간단한 c source를빌드함. 한번은 intel CPU를위한 gcc로, 한번은 ARM CPU를위한 gcc로. AR

지난시간에... 우리는 kernel compile을위하여 cross compile 환경을구축했음. UBUNTU 12.04에서 arm-2009q3를사용하여 간단한 c source를빌드함. 한번은 intel CPU를위한 gcc로, 한번은 ARM CPU를위한 gcc로. AR Configure Kernel Build Environment And kernel & root file system Build 2018-09-27 VLSI Design Lab 1 지난시간에... 우리는 kernel compile을위하여 cross compile 환경을구축했음. UBUNTU 12.04에서 arm-2009q3를사용하여 간단한 c source를빌드함.

More information

10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다

10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다 10 강. 쉘스크립트 쉘스크립트 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다른운영체제로이식되지않음 -스크립트언어를사용하면컴파일과정이없고인터프리터가소스파일에서명령문을판독하여각각의명령을수행

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 실습 1 배효철 [email protected] 1 목차 조건문 반복문 System.out 구구단 모양만들기 Up & Down 2 조건문 조건문의종류 If, switch If 문 조건식결과따라중괄호 { 블록을실행할지여부결정할때사용 조건식 true 또는 false값을산출할수있는연산식 boolean 변수 조건식이 true이면블록실행하고 false 이면블록실행하지않음 3

More information

MPAL-VI-Pneu_BES_V_ a_ k1

MPAL-VI-Pneu_BES_V_ a_ k1 MPAL-VI 755054 2017-07a [8073531] MPAL-VI MPAL-VI-KO TORX, IO-Link (). : :, : 1. / 2 Festo MPAL-VI-KO 2017-07a MPAL-VI... 7... 7... 8... 8... 8 1... 9 1.1... 9 1.2... 9 1.3... 9 1.3.1... 9 1.3.2... 10

More information

<B3EDB4DC28B1E8BCAEC7F6292E687770>

<B3EDB4DC28B1E8BCAEC7F6292E687770> 1) 초고를읽고소중한조언을주신여러분들게감사드린다. 소중한조언들에도불구하고이글이포함하는오류는전적으로저자개인의것임을밝혀둔다. 2) 대표적인학자가 Asia's Next Giant: South Korea and Late Industrialization, 1990 을저술한 MIT 의 A. Amsden 교수이다. - 1 - - 2 - 3) 계량방법론은회귀분석 (regression)

More information

FGB-P 학번수학과권혁준 2008 년 5 월 19 일 Lemma 1 p 를 C([0, 1]) 에속하는음수가되지않는함수라하자. 이때 y C 2 (0, 1) C([0, 1]) 가미분방정식 y (t) + p(t)y(t) = 0, t (0, 1), y(0)

FGB-P 학번수학과권혁준 2008 년 5 월 19 일 Lemma 1 p 를 C([0, 1]) 에속하는음수가되지않는함수라하자. 이때 y C 2 (0, 1) C([0, 1]) 가미분방정식 y (t) + p(t)y(t) = 0, t (0, 1), y(0) FGB-P8-3 8 학번수학과권혁준 8 년 5 월 9 일 Lemma p 를 C[, ] 에속하는음수가되지않는함수라하자. 이때 y C, C[, ] 가미분방정식 y t + ptyt, t,, y y 을만족하는해라고하면, y 는, 에서연속적인이계도함수를가지게확 장될수있다. Proof y 은 y 의도함수이므로미적분학의기본정리에의하여, y 은 y 의어떤원시 함수와적분상수의합으로표시될수있다.

More information

Microsoft PowerPoint - chap06-1Array.ppt

Microsoft PowerPoint - chap06-1Array.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-1 참고자료 배열 박종혁 Tel: 970-6702 Email: [email protected] 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 배열의선언과사용 같은형태의자료형이많이필요할때배열을사용하면효과적이다. 배열의선언 배열의사용 배열과반복문 배열의초기화 유연성있게배열다루기 한빛미디어

More information

PowerPoint Presentation

PowerPoint Presentation 웹과인터넷활용및실습 (Web & Internet) Suan Lee - 웹과인터넷활용및실습 (Web & Internet) - 04. CSS3 스타일속성기본 1 04. CSS3 스타일속성 04. CSS3 Style Properties - 웹과인터넷활용및실습 (Web & Internet) - 04. CSS3 스타일속성기본 2 CSS3 단위 1 CSS 는각각의스타일속성에다양한값을입력

More information

전자회로 실험

전자회로 실험 전자회로실험 2 조 고주현허영민 BJT의고정바이어스및 부품 * 실험목적 1) 고정바이어스와 회로의직류동작점을결정한다. 다이오드의특성 * 실험장비 계측장비 - Digital Multi Meter 부품 -저항 다이오드의특성 부품 - 트랜지스터

More information

16<C624><D22C><ACFC><D0D0> <ACE0><B4F1><BB3C><B9AC><2160>_<BCF8><CC45>.pdf

16<C624><D22C><ACFC><D0D0> <ACE0><B4F1><BB3C><B9AC><2160>_<BCF8><CC45>.pdf I I 02 03 04 05 06 II 07 08 09 III 10 11 12 13 IV 14 15 16 17 18 a b c d 410 434 486 656 (nm) Structure 1 PLUS 1 1. 2. 2 (-) (+) (+)(-) 2 3. 3 S. T.E.P 1 S. T.E.P 2 ) 1 2 (m) 10-11 10-8 10-5 C 10-2 10

More information

STARFIELD BRAND IDENTITY DESIGN GUIDELINES 2

STARFIELD BRAND IDENTITY DESIGN GUIDELINES 2 STARFIELD BRAND IDENTITY DESIGN GUIDELINES 1 STARFIELD BRAND IDENTITY DESIGN GUIDELINES STARFIELD BRAND IDENTITY DESIGN GUIDELINES 2 STARFIELD BRAND IDENTITY DESIGN GUIDELINES 3 STARFIELD BRAND IDENTITY

More information

국어 순화의 역사와 전망

국어 순화의 역사와 전망 전문용어의국어화 강현화 1. 들어가기 이해할 수 있는 쉬운 언어 사용의 전형을 만들고자 노력하고 있다. 따라서 본고는 전문 용어의 사용자가 전문가뿐만 아니라 일반인도 포 될 수 있다는 데에서 출발한다. 이러한 출발점을 시작으로 과연 전문 함 용어의 국어화가 어떻게 나아가야 하는지에 대해 고민해 보고자 한다. 2. 전문 용어 연구의 쟁점 2.1. 전문 용어

More information