KTUGFaq

KTUG FAQ

로그인:
비밀번호:
가입
If it pours before seven, it has rained by eleven.
FrontPage › JadeTeX
DocBook 문서를 변환한 .tex 파일을 처리하는 TeX

목차

1 DocBook SGML 변환
1.1 개요
1.2 JadeTeX과 EUC-KR 한글
1.3 CygWin에서 한글 SGML 파일의 TeX 변환
2 JadeTeX을 이용한 매뉴얼 PDF 출력
3 DocBook
4 질문

1 DocBook SGML 변환

1.1 개요

MiKTeX-KTUG가 설치된 이후의 과정에 대해 설명하겠습니다.

  1. [http]DownLoad합니다.
  2. [http]페이지의 내용대로 따라합니다.

너무 간단한가요? 이렇게 하니 DocBook의 문서를 PostScriptPDF로 출력할 수 있었습니다.

1.2 JadeTeX과 EUC-KR 한글

다음 글에 의하면 hcharacters.sty를 이용하여 한글을 표현할 수 있다고 한다. cf. http://docbook.kldp.net/stuff/using-docbook/pstransform.html Uploads:hcharacters.zip

[http]SP_ENCODING의 환경을 euc-kr로 한 경우에는 hcharacters.sty가 필요하다. 한글 rtf와 html을 만들기 위해서는 export SP_ENCODING=euc-kr을 설정해야 한다.

단지 tex로 변환 후 PDF만 만들 경우 SP_ENCODING을 export하지 않고 OpenJade/openSP 1.3.1(4)를 사용하면 한글이 clean 8-bit로 들어가므로 hcharacters.sty가 필요하지 않다.

1.3 CygWin에서 한글 SGML 파일의 TeX 변환

1. CygWin 상에서 OpenJade/OpenSP를 설치한다. 2. 환경변수를 설정한다.
  • /etc/profile에서 다음이 있는지 확인한다.
for i in /etc/profile.d/*.sh ; do
  if [ -f $i ]; then
    . $i
  fi
done
  • '/etc/profile.d'로 가서 sgml-base.sh를 확인한다.
export SGML_CATALOG_FILES="/etc/sgml/catalog"
  • '/etc/postinstall' 의 sgml-base.sh, openjade.sh, docbook-sgml.sh, docbook-dsssl.sh를 실행한다.
  • cygwin을 재실행후 다음과 같이 출력되는지 확인한다.
$ env | grep SGML
SGML_CATALOG_FILES=/etc/sgml/catalog

  • <!> RTF, HTML 변환을 위해서 SP_ENCODING 환경을 설정한다. 이 설정을 해주면 한글 처리를 위한 hcharacters.sty가 필요하다. /etc/profile에 다음을 추가한다.
SP_ENCODING=euc-kr;export SP_ENCODING

3. test.sgml을 만든다.
<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V4.1//EN">
   <article lang="ko">
     <articleinfo>
       <title>아름다운 글쓰기</title>
       <author>
         <surname></surname>
         <firstname>길동</firstname>
         <affiliation>
           <orgname>KTUG</orgname>
           <orgdiv>Documentation Project Team</orgdiv>
           <address>
             <email>gildong@honggildong.net</email>
           </address>
         </affiliation>
       </author>
     </articleinfo>

     <abstract>
       <para>
         글쓰기 환경에 혁명적 변화가 예상되는 시점이다. DocBook의 등장으로
         Mark-up 글쓰기가 보편화되었다.
       </para>
     </abstract>

     <section>
       <title>워드 프로세서의 문제점</title>
       <para>
         워드 프로세서는 컴퓨터를 친숙하게 만들어주는 중요한(킬러) 프로그램임에
         틀림없다. 그러나 직관에 호소하는 위지위그방식이란 결국 사용자를 게으르게
         만들고 자신이 문서를 통제한다는 느낌을 가질 수가 없는 것이다.
       </para>
       <para>
         그래서 일찍부터 컴퓨터를 익히는 그 순간부터, 마크업 글쓰기에 익숙해질
         필요가 있다. 현재 마크업 글쓰기 방법으로는 hardcore-TeX 접근법과
         DocBook을 이용하는 방법이 있다.
       </para>
     </section>

     <section>
       <title>DocBook의 좋은 점</title>
       <para>
         하드코어 텍 접근법은 다른 훌륭한 장점에도 불구하고 유연성의 문제가
         없지 않다. TeX을 출력 back-end로 쓰면서 다양한 문서 포맷으로 출력할
         수 있게 하는 DocBook 접근법은 무엇보다 유연성의 면에서 TeX을 능가한다.
       </para>
       <para>
        그럼에도 불구하고, TeX은 여전히 살아남을 것이다. TeX의 강점을
        살리면서 DocBook과 연결하는 방법을 생각해보자.
       </para>
     </section>
  </article>

4. OpenJade로 tex 변환
#> onsgmls -s test.sgml
이 결과가 아무것도 나오지 않으면 다음으로 진행한다.
#> openjade -t tex -d /usr/share/sgml/docbook-dsssl/print/docbook.dsl test.sgml
여기서 test.tex이 생겨나 있을 것이다.
#> cat > testout.tex
\RequirePackage{hfont}
[Ctrl-D]
#> cat test.tex >> testout.tex
<!> 만약 SP_ENCODING 환경변수를 설정한 상태라면
#> cat > testout.tex
\RequirePackage{hfont}
\usepackage{hcharacters}
[Ctrl-D]
#> cat test.tex >> testout.tex


testout.texJadeTeX을 실행한다.
#> jadetex testout
#> dvipdfmx testout
이제 출력물인 testout.pdf를 볼 수 있다.


위에 예시된 방법은, 만들어진 test.tex 파일을 열고 맨 처음에 다음 한 줄을 추가하는 것이다.
\RequirePackage{hfont}
또는
\RequirePackage{hfont}
\usepackage{hcharacters}

그런 다음 JadeTeX을 실행하면 원하는 결과를 얻을 수 있다.
<!> HLaTeX을 이용하여 한글을 표현할 수 있지만, 현재는 EUC-KR 문자밖에 사용할 수 없다.

2 JadeTeX을 이용한 매뉴얼 PDF 출력


문제상황 : http://d-i.alioth.debian.org/manual/ 에 있는 한글화된 설치 매뉴얼을 PDF로 변환하는 것.

WkPark 님의 Hangul-ucs를 이용한 해결책:
요약하면, 설치할 것
  • TeX관련: ttf2pk, unttf, dhucs, po2xml(kdesdk에 포함된 놈 사용)
  • docbook관련
  • d-i/manual 다운받음

아래는 테스트 과정이므로, build.sh,buildone.sh 스크립트를 실행하는 것 대신에 다음과 같이 하는 것임

ko/*.xml 만듦
  • cd debian-installer/manual/build
  • mkdir -p build.po/ko
  • cp ../po/*.po build.po/ko/
  • export PO_USEBUILD="1"
  • (cd ..;sh scripts/create_xml ko) ??
  • ls ../ko/ (한글 xml이 얻어졌는지 확인)

build.tmp/install.ko.profiled.xml 만들기
  • buildone.sh를 편집해서 마지막 부분에 build.tmp 디렉토리 지우는 부분을 주석처리해둠
  • buildone.sh i386 ko html: xml파일과, 이게 제대로 만들어질 경우 html도 잘 만들어지고 그것을 살펴보면 한글이 맞는지 알 수 있다.

pdf 만듦
  • buildone_ng.sh는 ProfiledXML 부분이 실행안되고 에러를 내서
    (이 문제를 찾기 귀찮아서), 위의 짧게 줄인 스크립트로 테스트함. (위의 짧은 스크립을 mybuild.sh로 함
  • sh mybuild.sh하면 install.ko.new.tex이 얻어짐
  • latex install.ko.new.tex 실행하면 곳바로 pdf가 얻어짐 (pdftex이 실행된 듯)
  • dvipdfmx를 이용하면 텍스트 검색 추출이 가능한 PDF를 얻을 수 있음

첨부파일 : @driver.ko.xsl.zip (538 Bytes)

DohyunKim 님의 해결책:
시도해보았습니다. 이미 데비안에 설치돼있는 uhc폰트를 이용하기로 했습니다.

하지만 현재의 데비안 패키지만 가지고 해결하는 법을 찾지는 못했고 다음을 texmf 아래 디렉토리 구조에 맞게 설치해야 합니다. (이거 없이 가능한 방법을 찾으면 좋겠는데 xml, docbook에 대해 무지한 저로서는 모르겠더군요. openjade가 euc-kr코드를 출력해 주면 좋은데...)


cvs로 받으려면

cvs -d :pserver:anonymous@cvs.ktug.or.kr:/home/cvsroot login cvs -d :pserver:anonymous@cvs.ktug.or.kr:/home/cvsroot co hangul-ucs/fonts-uhc-unicode

적절한 texmf아래 설치하고 mktexlsr 명령을 실행해둡니다.

첨부파일을 받아서 그 내용을 buildone.sh i386 ko ps 명령으로 생성되는 install.ko.tex(이거 안 지워지게 buildone.sh에 관련 부분을 미리 주석처리해 두어야 합니다)의 시작부분에 복사해 넣습니다. @ucshanjadetex.tex (2.61 KB)

그러면

jadetex install.ko.tex; dvips install.ko.dvi; ps2pdf install.ko.ps

명령으로 ps와 pdf를 얻을 수 있습니다.

문제는 font-uhc-unicode를 설치해야 한다는 점, 첨부파일 내용을 자동으로 tex파일 앞에 끼워 넣는 방법을 제가 모른다는 점 정도입니다.
파일 합치기(drssay):
cat attach.tex install.ko.tex > install.ko.new.tex
JadeTeX EUC-KR 출력(cwryu):
간단히 openjade의 -b utf-8 옵션을 -b euc-kr로 바꿔주면 됩니다.
한글 검색·북마크 가능한 방법을 테스트해 보았습니다. @ucshanjadetex-test_20060829.tar.gz (202.31 KB)

3 DocBook

DocBook에 관심있으신 분은 [http]Documentation페이지의 [http]Tutorials의 문서를 읽어보시기 바랍니다.

4 질문

JadeTeX는 주로 XML이나 SGML 같은 것을 만들어주는 것인가요? 통사(syntax)는 LaTeX과 동일한가요? --hoze
XML이나 SGML을 만들어주는 것이 아니라 SGML로 작성된 문서를 인쇄하기 위해서 TeX 엔진을 인쇄기로 사용하는 방법입니다. 즉, SGML을 tex으로 출력하고, 그렇게 해서 얻어진 TeX 파일을 컴파일해주는 도구라고 보아야겠지요. 당연히 LaTeX과는 별 상관 없습니다. --Karnes
[http]XML_SGML_PUB
전체 Processing에 대한 내용입니다. [http]DocBook 한국 프로젝트페이지를 보시면 금방 이해가 되실겁니다. --hermian



^
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2006-08-29 11:46:57
Processing time 0.0762 sec