| [ KAIST ] in KIDS 글 쓴 이(By): chess (채승병) 날 짜 (Date): 2002년 11월 9일 토요일 오전 03시 08분 37초 제 목(Title): Re: [Q] TeX or DocBook ? DocBook 이랑 TeX/LaTeX 은 출발점이 많이 다릅니다. TeX 은 원래 과학기술 분야의 여러 기호/수식이 잔뜩 들어간 문서를 깔끔한 인쇄물로 얻기 위해 Knuth 가 개발한 조판용 언어(typesetting language) 입니다. 그런데 문서요소 배열에 너무 신경을 써야 하고 일반 사용자가 쓰기 어렵기 때문에 Knuth 의 plain TeX 을 기반으로 Lamport 가 여러 매크로를 추가하여 LaTeX 을 만들고, 현재는 독일의 Mittelbach 등등의 사람들이 더 발전된 개념의 LaTeX3 프로젝트를 진행하고 있습니다. 그래서 TeX/LaTeX 은 과학기술관련 출판계에서 널리들 쓰이고 있고 과학기술계 논문들도 LaTeX 포맷으로 많이 받습니다. 반면 DocBook 은 XML/SGML 기술을 기반으로 주로 CS 쪽에서 온라인 매뉴얼 같은 문서들을 형식화하기 위해 만든 vocabulary 입니다. 그래서 XML/SGML DTD/스키마 형태로 현재 배포되고 있지요. DocBook 자체로는 문서 데이터의 표준 형식화만 할 뿐입니다. XML 기술에 대해 좀 아신다면 쉽게 이해할 수 있으실텐데, DocBook 문서 그 자체로는 프리젠테이션 기능이 전혀 없습니다. 단지 XML 문서일 뿐이므로 적절한 XSLT 스타일시트를 통해 여러 다른 포맷의 문서(HTML, PDF,...)로 변환을 해야 우리가 깔끔한 형태로 볼 수 있습니다. Walsh 가 이를 위한 스타일시트를 많이 내놓고 있으며, 실제로 꽤 많은 컴퓨터 관련 온라인 도큐먼트들이 이 DocBook 문서로 작성되어 Walsh 판에 기반한 스타일시트로 변환되어 HTML 로 올라와있는 것을 확인할 수 있습니다. (kldp.org 같은데만 가봐도...) 그런데 출발점은 이렇게 많이 틀린데도 TeX/LaTeX 문서는 구조적으로 markup language 로 변환하기 쉽게 짜여져 있어서 XML 로의 이식이 쉽고, 개념 또한 TeX 과 LaTeX 의 관계는 HTML 과 DocBook 의 관계와 유사합니다. TeX/HTML이 프리젠테이션 부분을 담당하고, LaTeX 의 클래스파일/XSLT 가 변환 부분을 담당하고, LaTeX/DocBook 이 문서 데이터 형식화 부분을 담당한다고나 할까요. 그래서 DocBook 문서를 TeX 문서로 변환하는 것은 어렵지 않게 가능합니다. 반면 거꾸로 변환하는 것은 가능하긴 하지만 TeX 문서는 그 자체로 조판에 관련된 정보를 다 내포하고 있으므로, 변환 과정에서 이러한 정보는 상당한 부분이 손실됩니다. 개인적으로 둘다 다뤄본 경험으로는, 일반 사용자로서는 목적에 따라 적절하게 선택하시면 됩니다. 수식이 많이 들어가는 논문작성이 목적이라면 LaTeX 이나 배우시면 됩니다. DocBook 에서는 수식을 MathML 로 작성해야 하는데 MathML 같은 경우 코딩하는게 그리 쉽지 않습니다. 차라리 TeX 포맷으로 수식편집해서 MathML 자동변환기로 갖다붙이는게 훨씬 빠를 겁니다. 반면 수식같은거 별로 없고 표준화된 온라인 매뉴얼이나 도큐먼트 만들고 싶으시면 DocBook 배우는 것이 좀 더 낫습니다. 특히 simplified DocBook 같은 경우는 배우는데 정말 금방입니다. 하지만 DocBook 만 배워서 TeX/LaTeX 을 대체한다는 아이디어는 무리입니다. TeX/LaTeX 형식으로 배포되는 클래스파일들과 매크로 등은 DocBook 레벨에서 건드릴 수 없는 것들이기 때문입니다. 굳이 필요하다면 둘 다 알아야 합니다. LaTeX 이건 DocBook 이건 데이터 형식에 치중한 것들이라, 세세한 도큐먼트 컨트롤에 관심이 있다면 XSL 과 plain TeX 을 본격적으로 건드려야 할텐데 거기서부터는 테크니컬하게 상당히 자질구레한 부분이기 때문에 시간이 많이 남거나 그쪽으로 밥 벌어먹으실 것이 아니라면 말리고 싶습니다. ^^ |