KTUGFaq

KTUG FAQ

로그인:
비밀번호:
가입
He is truly wise who gains wisdom from another's mishap.
FrontPage › DVI드라이버
TeX의 표준 출력 파일인 DVI를 처리해주는 유틸리티 프로그램.

PostScript 출력 드라이버

  1. dvips(k)
    가장 널리 쓰이는 DVI 드라이버. PostScript 인쇄기로 바로 출력할 수 있게 해준다. -o 옵션으로 파일로 쓰게 할 수도 있다. Karl Berry 씨가 만들었다. dvips(k)는 dvips를 kpathsea에 붙인 버전을 말하는 것인데, 지금은 dvips라고 하면 거의 언제나 dvips(k)를 가리킨다.

PDF 출력 드라이버

  1. PDFTeX
    PDFTeX은 DVI로 출력할 수도 있고 PDF로 바로 출력(DVI 없이)할 수도 있으므로, 컴파일러인 동시에 일종의 DVI드라이버라고 볼 수 있다.

  2. dvipdfm
    See DVIPDFm

  3. DVIPDFMx
    DVIPDFm을 조진환(ChoF) 님과 Shunsaku Hirata 님이 개선하였던 dvipdfm-cjk를 ChoF님이 발전시킨 extended 버전이다. See DVIPDFMx.

화면 출력 드라이버

  1. Yap
    MiKTeX에 포함되어 있는 Yet Another Previewer. Yap.

  2. xdvi
    XDvi는 유닉스 계열의 윈도 환경인 X Window 시스템을 위한 DVI 미리보기 프로그램이다. teTeX에 기본으로 포함되어 있다.

  3. windvi
    fpTeXTeXLive에 포함되어 있는 XDvi의 Windows 포팅판이다.

  4. dviout
    DviOut은 동경대학 수리과학연구과의 Toshio Oshima 박사가 만든 프로그램으로 일본에서는 MS-Windows 환경이라면 거의 대부분 이 프로그램을 사용한다고 할 정도로 많이 사용되고 있다. 특히 DviOut 프로그램의 About dviout 메뉴를 보면 얼마나 많은 사람들이 이 프로그램의 발전에 관심을 가지고 기여를 했는지 알 수 있다. 장점으로는 생각할 수 있는 거의 대부분의 기능(예를 들어 subfont를 이용한 트루타입 글꼴의 직접 처리)을 포함하고 있다는 것이고 반면 단점은 워낙 많은 기능들을 넣다보니 소스코드가 매우 읽기 힘들다는 것이다. Yap 이나 WinDvi 에 만족하지 못하는 사용자들이라면 꼭 한번 사용해 보길 추천한다. --ChoF

  5. DviWin

  6. kdvi
    KDE의 dvi 미리보기 프로그램

  7. xgdvi
    X 윈도우 시스템을 위한 TeX DVI 미리보기 프로그램. GTK+ 프론트엔드. EPS 그림과 일본어 DVI 파일도 처리한다.

  8. advi [http]http://pauillac.inria.fr/advi/
    DVI 미리보기 프로그램. 슬라이드 프리젠테이션 가능.

  9. dvilx, dvisvga, dvifb
    DVI 미리보기 프로그램.

  10. spawg, spawx11
    DVI 미리보기 프로그램. GTK+ UI.

기타

  1. TeXplus
    (주)셈틀로 미디어에 의해 개발된 DVI 뷰어/제작툴.

질문

DVI 드라이버란 "DVI를 모니터 또는 프린터로 출력하게 해주는 것"이라고 알고 있습니다. 그런데 이 정의는 또다른 문제를 안고 있습니다. 도대체 DVI 드라이버와 Yap이 어떻게 다르냐 하는 것이죠. Yap은 DVI viewer라고 하지 않습니까?
Yap은 여러 종류의 DVI드라이버 가운데 하나에 불과합니다. MiKTeX에서 채택한 독자적인 DVI드라이버지요. DVI Previewer라는 표현은 화면출력용 DVI드라이버를 가리키는 말입니다. --Karnes

그러면 제가 알고 있는 정의를 수정해서 "DVI에서 그래픽을 처리해주는 것"이라고 보면 되겠습니까?
DVI 파일 자체에는 그림이 들어 있지 않습니다. 다만 "이 위치에 얼마만한 크기로 어느 그림이 들어간다"는 것만 들어 있지요. 만약 우리가 어떤 새로운 화면출력용 DVI드라이버를 만든다고 생각해보면 그림이 있는 위치에 그냥 박스 하나만 그리고 그림 파일 이름만 보여주는 것도 얼마든지 만들 수 있습니다. 그렇지만 그런 것은 그다지 비주얼하지 못하겠네요. 그래서 대부분의 화면용 DVI드라이버들은 그림까지 화면에서 보여주는 기능을 갖추게 된 것입니다. "그래픽을 처리"하는 것은 DVI드라이버의 기능 중의 하나일 뿐이지 그 본질은 아니라고 생각합니다. 가장 성공적인 범용의 DVI드라이버dvips(k)는 그림이 EPS 포맷일 경우에 간단히 포함할 수 있었습니다. 어차피 dvipsPostScript 출력을 만드는 것이므로 EPS가 가장 적절했을 것은 당연한 일이겠습니다. PostScript 출력을 만든다는 말은 더 구체적으로 말하면 프린터로 보낸다는 뜻이었습니다. 오늘날은 프린터로 보내질 코드를 캡쳐해서 파일로 만들고 이 파일을 화면에서 보거나 수정하거나 하기 때문에 PostScript가 본래 프린터 제어 언어였다는 사실을 가끔 잊고 있지만요. 그 결과, 어떤 DVI드라이버들은 아주 특이한 그림도 포함하고 화면에 보여주거나 인쇄할 수 있는 경우가 있습니다. 예를 들어 DviWin이 WMF 그림을 디스플레이하고 인쇄할 수 있었던 것 같은 것이지요. 그림에 관한 한 어떤 그림을 어떻게 처리하느냐 하는 것은 전적으로 DVI드라이버의 능력에 달려 있습니다. 그러므로 TeX입력파일을 작성할 때 처음부터 특정한 DVI드라이버를 의도한다면 GIF/WMF/JPG 등의 그림도 사용할 수 있게 됩니다. 범용으로 쓰이는 dvipsEPS 친화적이기 때문에 "TeX에서는 EPS"가 하나의 상식이 되기는 했습니다만. Yap에서도 EPS외에 다른 그림 포맷을 사용할 수 있는 것으로 압니다.

이 정의가 맞다고 해도 계속 의문이 생기는데요. 그럼 dvips만 있으면 되지, 왜 ghostscript까지 필요한지 이해가 되지 않습니다. 만약 dvips가 라이브러리 형태로 되어 있어 그것을 실제로 삽입하는 게 아니라, 단지 그 방식을 이용하겠다고 선언해주는 것이라면, 말이 될 것 같긴 합니다.
\usepackage[dvips]{graphicx}
단순하게 보면, graphicx는 단지 그림을 삽입하고 크기를 조정하는 명령어만 정의되어 있는 거구요. dvips는 dvips라는 방식을 쓰겠다고 선언하구요. Yap은 dvips가 선언되어 있으니까 이걸 처리할 수 있는 놈을 불러야겠구나 생각하고 gswin32.exe를 불러서 그래픽 처리를 위탁하는 것이지요. 이런 식으로 이해하고 있는게 맞나요?
Yap은 파일을 변환하는 것이 아니라 "보여주는" 것이므로, EPS 그림을 처리하려면 외부의 유틸리티를 부르게 됩니다. 독자적인 PostScript 처리 루틴을 구현하는 것보다 이것이 훨씬 프로그램을 신뢰성있고 가볍게 할 것입니다. 이 때 쓰이는 것이 GhostScript라는 PostScript 처리 엔진인 것입니다. 위에 든 예는 정확하게 말하면 그림 처리 관련 명령을 포함하고 있는 graphicx 패키지를 dvips라는 DVI드라이버에 맞게 사용하겠다는 뜻이지요. dvipdfm 옵션이나 pdftex 같은 것들은 그 DVI드라이버에 알맞은 그래픽 처리 루틴을 별도로 구현해두었다는 뜻이라고 생각하시면 되겠습니다. graphicx 패키지에 yap 옵션이 (아직) 없는 이유는 Yap이 "범용으로" 쓰이는 DVI드라이버라기에는 아직 모자라고, 다른 DVI드라이버와 다른 별도의 기능을 특별히 많이 갖지 않았기 때문이고, dvips 옵션으로 만들어진 DVI 파일을 잘 처리할 수 있기 때문이라고 생각합니다. ---Karnes



^
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2008-04-12 01:41:04
Processing time 0.0499 sec