장치 독립 파일 형식
Device independent file format| 파일 이름 확장명 | .dvi |
|---|---|
| 인터넷 미디어 유형 | application/x-dvi (iii) |
| 개발자 | 데이비드 R.푸흐스 |
| 형식 유형 | 문서화하다 |
장치 독립 파일 형식(DVI)은 David R이 설계한 TeX 형식 설정 프로그램의 출력 파일 형식이다.Fuchs 그리고 1982년에 Donald E. Knuth에 의해 시행되었다.[1]이러한 파일을 생성하는 데 사용되는 TeX 마크업 파일과 달리 DVI 파일은 사람이 읽을 수 있는 것이 아니며, 특정 이미지 형식, 디스플레이 하드웨어 또는 프린터에 의존하지 않는 방식으로 문서의 시각적 레이아웃을 설명하는 이진 데이터로 구성되어 있다.DVI 파일은 일반적으로 DVI 파일을 그래픽 데이터로 변환하는 두 번째 프로그램(DVI 드라이버라고 함)에 대한 입력으로 사용된다.예를 들어 대부분의 TeX 소프트웨어 패키지는 사용자의 컴퓨터 디스플레이에서 DVI 파일을 미리 보기 위한 프로그램을 포함하고 있다. 이 프로그램은 드라이버다.드라이버는 또한 DVI에서 인기 있는 페이지 설명 언어(예: PostScript, PDF)로 변환하고 인쇄하는 데 사용된다.
TeX 마크업은 최소한 DVI 파일에서 역설계될 수 있지만, 이 프로세스는 특히 원래 마크업에서 높은 수준의 TeX 확장자(예: LaTeX)를 사용한 경우 원래 마크업에 있는 것과 동일한 높은 수준의 구조물을 생산할 가능성이 없다.
DVI는 어떠한 형태의 글꼴 내장도 지원하지 않는다는 점에서 PostScript 및 PDF와 다르다. (PostScript와 PDF 형식 모두 글꼴을 문서 내부에 포함하거나 외부 글꼴을 참조할 수 있다.)DVI 파일을 인쇄하거나 제대로 미리 보려면 해당 파일이 참조하는 글꼴이 이미 설치되어 있어야 한다.PDF와 마찬가지로 DVI는 PostScript와 같은 튜링-완전한 프로그래밍 언어인 완전 종료 보증을 가진 제한된 종류의 기계 언어를 사용한다.
2004년 현재 DVI 드라이버가 "TUG DVI 드라이버 표준 위원회"[2]에 의해 구현해야 하는 사양의 편집이 있다.1992년부터 같은 이름의 투그보트 기사를 바탕으로 한 것으로 보이지만 훨씬 짧은 것이다.[3]이 문서들은 DVI 파일 자체를 들여다볼 수 있듯이 아무리 큰 엔디안인 엔디안인 엔디안성을 명시하지 않는다.
사양
DVI 형식은 컴팩트하고 쉽게 기계 판독이 가능하도록 설계되었다.이를 위해 DVI 파일은 크누스의 말로 "기계 같은 언어"를 형성하는 일련의 명령이다.[1]각 명령은 8비트 opcode로 시작하고, 그 뒤에 0바이트 이상의 파라미터가 따른다.예를 들어, 그룹의 opcode0x00을 통해0x7F(127조),set_char_i는 단일 문자를 입력하고 해당 문자의 너비 바로 옆에 있는 암시적 커서를 이동시킨다.대조적으로, opcode0xF7(247절)pre(DVI 파일의 첫 번째 opcode여야 하는 서문)은 최소 14바이트의 매개변수와 최대 255바이트의 선택적 주석을 사용한다.
더 넓은 의미에서 DVI 파일은 서문, 하나 이상의 페이지, 그리고 포스트암블로 구성된다.6개의 상태 변수는 서명된 32비트 정수의 튜플로서 유지된다:( z) h와 v는 왼쪽 상단 모서리에서 현재 수평 및 수직 간격띄우기(페이지 아래로 v 이동 증가), w와 x hold 수평 공간 값 y, z, 수직이다.
이 변수들은 스택으로 밀거나 스택에서 튀어나올 수 있다.또한 현재 글꼴 f는 정수 값으로 유지되지만, opcode가 있을 때 나머지 상태 변수와 함께 밀리지 않고 튀어 나온다.push또는pop맞닥뜨리다글꼴 간격 정보는 TFM 파일에서 로드된다.글꼴 자체는 DVI 파일에 포함되어 있지 않고 관련 항목에 정의된 정수 값만 참조함fnt_defiop. (이 작업은 로드된 각 글꼴에 대해 정확히 두 번 수행됨: 참조되기 전 한 번 및 포스트암블에 한 번 포함됨) f는 최대 4바이트의 정수 값을 포함하지만, 실제로는 TeX는 0 ~ 255 범위의 글꼴 번호만 출력한다.
마찬가지로 DVI 형식은 TFM 형식이 해당 범위로 제한되므로 0~255 범위만 일반적으로 보여도 최대 4바이트까지 문자 코드를 지원한다.DVI 파일의 문자 코드는 이를 처리하는 시스템이 아닌 현재 글꼴의 문자 인코딩을 말한다.이는 예를 들어, 동일한 글꼴이 설치된 경우 EBCDIC 기반 시스템이 ASCII 기반 시스템에서 생성된 DVI 파일을 처리할 수 있음을 의미한다.
특수 그래픽
DVI 형식은 가장 기본적인 흑백상자를 제외하고는 그래픽을 지원하지 않는다.대신 DVI는 특수(에 의해 표현됨)로 알려진 일반적인 탈출/확장 메커니즘을 가지고 있다.\special후 처리 필터에 그래픽(및 색상)을 디펜싱하는 TeX) 명령.수많은 DVI 스페셜이 있는데, 그중에서 가장 눈에 띄는 것은 포스트스크립트 스페셜이지만, tpic과 같은 다른 프로그램들은 그들만의 스페셜이 있다.[4]: 6, 17
DVI 버전
DVI 파일은 읽기 및 인쇄를 위해 PDF, PostScript 또는 PCL 형식으로 변환되는 경우가 많다.DVI 뷰어를 사용하여 직접 볼 수도 있다.
- DVI viewers: YAP (included in MiKTeX), xdvi, windvi, Evince, KDVI, Okular, dviout, dviwin, DView (included in the commercial BaKoMa TeX distribution), javaDVI, MDVI, and DVIWindo (of the now defunct commercial Y&Y TeX, which has been open-sourced).[5]
- DVI에서 사람이 읽을 수 있는 형식: dvitype(종류의 디스어셈블러)
- DVI-to-PDF 변환기: dvipdf, dvipdfm, dvipdfmx
- DVI-to-PS 컨버터: dvips는 사실상의 표준이다.CTAN은 드비톱스(DVIPSONE[6])와 같은 일부 오래된 제품들을 포함하고 있으며, 오래 전에 시장 점유율을 잃었다는 메모가 있다.[7]
- DVI-비트맵 변환기: dvipng(GIF 또는 PNG 생성) 또는 dvips 및 Ghostscript 사용
- DVI-to-SVG 컨버터: dvisvg,[4]: 13 dvisvgm,[4]: 13 dvi2svg;[4]: 13 [8] 2014년[update] 현재 CTAN에 포함되어 있으며 현재 활발하게 유지되고 있는 것은 dvisvgm뿐이다.[9]
LaTeX 문서의 화면 미리보기 및 수정이 가능한 첫 번째 DVI 미리보기는 아미가스에서 실행되었다.[10][11]
DVI-to-PDF 변환기
dvipdf는 DVI 파일(TeX에서 생성)을 PDF 파일로 변환하는 도구다.우분투와 같은 현재의 Linux 유통에서는 dvips와 Ghostscript를 중심으로 한 얇은 포장지로, Artifex Software(Gusterscript의 메이커)[12]에 저작권이 있다.같은 이름의 다른 프로그램(dvips의 변형판으로 설명됨)은 1990년대 후반 세르게이 레센코에 의해 발표되었지만,[13][14][15] 결코 공개되지 않았다.[16][17]
dvipdfm은 Mark A에서 개발한 DVI-to-PDF 번역기다.Wicks.dvipdfm의 초기 문서 특별히 dvipdfm 조성을 위한 이유로 Lesenko의 dvipdf의 제한된 가용성에 대해 언급한다.[18]dvipdfm, 북마크, 주석, 미리 보기, 그리고 dvips specials—a 기능 Encapsulated한 경우에는 PostScript(의 개입은 가능하게 만드는 등 PDF형식의 새로운 특별한 기능의 대부분을 지원한다.eps) MEASSOST 출력—JPEG 및 PNG 영상 포함; dvipdfm의 다른 기능에는 부분 글꼴 내장(파일 크기 감소) 및 내부 PDF 문서 트리의 밸런싱이 포함되어 대형 문서의 렌더링 속도를 향상시킨다.[4]: 798 이러한 기능들 중 많은 것(.eps[19] 파일에 대한 직접 지원을 제외하고)은 또한 PDFTeX로 TeX를 직접 PDF로 타이핑한다.2004년 LaTeX 가이드 4판은 다음과 같은 방법으로 이들을 비교한다.[20]
dvipdfm 프로그램은 모든 출력의 범용 중간 포맷으로 DVI를 사용하는 TEX의 원래 정신이다.청교도들은 이 이상을 존중하는 경향이 있을 것이다.결국, 아무도 TEX를 다시 써서 포스트스크립트 출력을 직접 생산할 생각은 하지 않았다.그렇기는 하지만, TEX는 아무도 그 분야를 지배하지 않던 시대에 발명되었다는 것을 고려해야 한다.오늘날, PDF는 프린터 형식보다 훨씬 더 많다; 그것은 문서를 전자적으로 표현하는 수단이다.그것만으로는 PDF를 선호하는 것이 정당화될 수 없다.DVI-to-PDF 컨버터를 통한 TEX, 처리 단계를 저장한다는 사실 또한 아니다. 결정적인 주장은 pdf이다.TEX는 신뢰할 수 있고, 강력하며, 융통성이 있는 것으로 자리매김했다.결국 어떤 프로그램이 더 편하고, 어떤 프로그램이 특정 사용자에게 더 좋은 결과를 주었는지가 문제일 것이다.
dvipdfmx는 dvipdfm DVI-to-PDF 변환기의 확장 버전으로, TeX Live 2014[21] 및 MiKTeX 2.9와 같은 현재 TeX 배포에 포함되어 있다.[22]dvipdfmx 프로젝트의 1차 목표는 동아시아 언어에 대한 멀티바이트 문자 인코딩과 CJK 문자 세트를 지원하는 것이다.[23]dvipdfmx도 XeTeX에 포함되어 있다([4]: 798 약간 수정된 형태로).
2008년 2월호 LaTeX Graphics Companion에서는 다음과 같은 워크플로우를 제안한다.[4]: 803
당신이 따라야 할 경로는 주로 당신이 포함하고자 하는 그래픽 자료에 따라 달라진다.대부분이 EPS 포맷인 경우 가장 쉬운 방법은 라텍스를 사용하는 것이고, 이어 dvips와 최종 ps2pdf가 뒤따른다.일부 JPEG 및 PNG 영상이 포함된 모든 그래픽 파일이 이미 PDF 형식인 경우 보다 직접적인 경로는 pdflatex를 실행하는 것이다.라텍스와 dvipdfmx 프로그램을 실행하여 두 가지 접근 방식을 모두 결합할 수도 있다.PSTricks를 많이 활용한다면 pst-pdf 패키지를 [...] 보아야 한다.
참조 및 참고 사항
- ^ a b Donald E. Knuth (December 1995). "DVItype" (WEB source code; extract full documentation using WEAVE). Version 3.6. Retrieved 2008-05-07.
- ^ TUG DVI Driver Standards Committee. "The DVI Driver Standard, Level 0" (PDF). ctan.org.
- ^ TUG DVI Driver Standards Committee (1992). "The DVI Driver Standard, Level 0" (PDF). TUGboat. 13: 54.
- ^ a b c d e f g Michel Goossens, Frank Mittelbach, Sebastian Rahtz, Denis Roegel, Herbert Voß (2008). The LaTeX Graphics Companion (2nd ed.). Addison-Wesley. ISBN 978-0-321-50892-8.
{{cite book}}: CS1 maint : 복수이름 : 작성자 목록(링크) - ^ "Y&Y Inc. -- DVIWindo". www.tug.org.
- ^ "Y&Y Inc. -- DVIPSONE". www.tug.org.
- ^ "CTAN: /tex-archive/dviware/dvitops". ctan.org.
- ^ https://www.tug.org/TUGboat/tb27-2/tb87frischauf.pdf[bare URL PDF]
- ^ "CTAN: /tex-archive/dviware". ctan.org.
- ^ 1986년 Tomas Rokicki는 Radious Eye Software의 AmigaTeX를 사용하는 QMS SmartWriter에 Amiga의 초기 DVI 프린터 드라이버인 dvisw와 함께 첫 페이지를 인쇄했다.이 외부 사이트에서는 LaTeX 역사의 이정표에 대한 유물 정보에 대한 링크를 이용할 수 있다.
- ^ Rokicki, Tomas (April 1988). "The Commodore Amiga: A Magic TeX Machine" (PDF). TUGboat. 9 (1): 40–41. Retrieved 2010-11-19.
- ^ "Archived copy". Archived from the original on 2015-09-09. Retrieved 2014-08-03.
{{cite web}}: CS1 maint: 타이틀로 보관된 사본(링크) - ^ https://www.tug.org/TUGboat/tb17-3/tb52lese.pdf[bare URL PDF]
- ^ https://www.tug.org/TUGboat/tb18-3/tb56lese.pdf[bare URL PDF]
- ^ http://tex.loria.fr/general/eurotex98/eurotex98-lesenko.ps.gz
- ^ Helmut Kopka; Patrick W. Daly (February 2008) [2004]. Guide to LaTeX (4th; 9th printing ed.). Pearson Education. § 13.2.2 the dvipdfm driver. ISBN 978-0-321-17385-0.
- ^ "Where art dvipdf? - comp.text.tex". compgroups.net.
- ^ Mark A. Wicks, Dvipdfm 사용자 설명서 웨이백 머신에 2015-07-06 보관, 버전 0.12.4 1999년 9월 19일 2페이지
- ^ "texfaq2html redirect emulating cgi-bin lookup on the original site". www.texfaq.org.
- ^ Helmut Kopka; Patrick W. Daly (February 2008) [2004]. Guide to LaTeX (4th; 9th printing ed.). Pearson Education. § 13.2.3 The pdfTEX program. ISBN 978-0-321-17385-0.
- ^ "Debian -- Details of package texlive-base in sid". packages.debian.org.
- ^ "MiKTeX Packages A-Z". miktex.org.
- ^ "The DVIPDFMx Project". project.ktug.org.
- Fuchs, David (October 1982). "The format of TeX's DVI files" (PDF). TUGboat. 3 (2): 13–19. Retrieved 2009-08-19.