*xdvi (非推奨) [#s73ab198]

xdvi は X Window System 上で動作する DVI ビューアです。

X Window System には [[X.Org:https://www.x.org/]] などのオープンソースの実装があり Cygwin, macOS, Linux などで動作します。

xdvi を使用すると,日本語が表示されないといった問題が発生する場合があります([[古い情報>古い情報#je1d5241]]もご覧ください)。

このため,''現在は DVI ではなく PDF でのプレビューが推奨されています。''

-[[MyTeXpert:xdvi]]
----
#contents
----


*[[xdvik:http://xdvi.sourceforge.net/]] &aname(xdvik); [#s47919ef]

**xdvik とは [#de90c407]

xdvik は DVI プレビューアです。
xdvi を Kpathsea ライブラリに対応させたものです。

-[[Xdvik Homepage:http://xdvi.sourceforge.net/]]
-[[xdvi:https://math.berkeley.edu/~vojta/xdvi.html]]

**動作環境 [#y90c90d1]

X Window System

**ChangeLog [#p61511cc]

-[[xdvik / Code (main) / [HEAD] /trunk/xdvik:https://sourceforge.net/p/xdvi/code/HEAD/tree/trunk/xdvik/]]
--[[log:https://sourceforge.net/p/xdvi/code/log/]]
-[[[texlive] Index of /trunk/Build/source/texk/xdvik:http://www.tug.org/svn/texlive/trunk/Build/source/texk/xdvik/]]
--[[log:http://www.tug.org/svn/texlive/trunk/Build/source/texk/xdvik/?view=log]]
--[[CHANGES:http://www.tug.org/svn/texlive/trunk/Build/source/texk/xdvik/CHANGES?view=markup]]
--[[ChangeLog:http://www.tug.org/svn/texlive/trunk/Build/source/texk/xdvik/ChangeLog?view=markup]]
-http://pkgsrc.se/print/tex-xdvi

**インストール [#jfa6e6ec]

xdvik は [[TeX Live]] に含まれています。

**注意点 [#mfca3e3a]

***xdvi で DVI ファイルを表示するとコンソールに Warning: Cannot convert string ... が表示される  [#l9a6d5b3]

xdvi で DVI ファイルを表示するとコンソールに Warning: Cannot convert string ... が表示されることがあります。

 Warning: Cannot convert string "-*-helvetica-medium-r-*-*-12-*-*-*-*-*-*" to type FontStruct
 Warning: Cannot convert string "-*-helvetica-medium-r-*-*-10-*-*-*-*-*-*" to type FontStruct

ターミナルから以下の作業を行います。

macOS の場合
 $ cd /usr/local/texlive/????/texmf-dist/xdvi
 $ sudo cp XDvi XDvi.org
 $ brew install gnu-sed
 $ sudo gsed 's/\(^\*font:\)\(.*\)helvetica\(.*\)/\1\2\*\3-\*/' -i XDvi
 $ sudo gsed 's/\(^\*statusline\.font:\)\(.*\)helvetica\(.*\)/\1\2\*\3-\*/' -i XDvi

Linux の場合
 $ cd /usr/local/texlive/????/texmf-dist/xdvi
 $ sudo cp XDvi XDvi.org
 $ sudo sed 's/\(^\*font:\)\(.*\)helvetica\(.*\)/\1\2\*\3-\*/' -i XDvi
 $ sudo sed 's/\(^\*statusline\.font:\)\(.*\)helvetica\(.*\)/\1\2\*\3-\*/' -i XDvi

**使い方 [#m5b0a3d2]

以下の様な文書を作成して hoge.tex という名前で UTF-8 で保存します。

 \ifdefined\kanjiskip
   \documentclass[uplatex]{jsarticle}
 \else
   \documentclass{scrartcl}
   \usepackage[whole]{bxcjkjatype}
 \fi
 \begin{document}

 吾輩は猫である。名前はまだ無い。

 どこで生れたかとんと見当がつかぬ。
 何でも薄暗いじめじめした所で
 ニャーニャー泣いていた事だけは記憶している。
 吾輩はここで始めて人間というものを見た。

 \end{document}

hoge.tex を LaTeX で処理します。

 $ latex -synctex=1 hoge

[[CJK-LaTeX/BXcjkjatype>LaTeX-CJK]] を使用すれば日本語化されていない xdvi でも日本語が表示できます。

DVI ファイルを表示するには
 $ xdvi -nofork -unique -watchfile 1 'hoge.dvi' &

または

 $ xdvi -nofork -unique -watchfile 1 "hoge.dvi" &
を実行します。

PDF ファイルに出力する場合は

 $ ptex2pdf -u -l -ot "-synctex=1" hoge

または

 $ pdflatex -synctex=1 hoge

を実行します。

***コマンドラインオプション [#ce42827f]

-https://sourceforge.net/p/xdvi/code/HEAD/tree/trunk/xdvik/texk/xdvik/main.c
-http://www.tug.org/svn/texlive/trunk/Build/source/texk/xdvik/main.c?view=markup

**SyncTeX [#g4e4f193]

xdvi は [[SyncTeX]] には対応していませんが synctex コマンドを使用して forward and inverse search を行うことができます。

***forward search [#ic1815e4]

TeX ファイルの 30 行目に対応する DVI ファイルの該当するページにジャンプしたい場合は

 $ synctex view -i '30:0:hoge.tex' -o 'hoge.dvi' -x 'xdvi -nofork -unique -watchfile 1 +%{page+1} "%{output}"' &

または

 $ synctex view -i "30:0:hoge.tex" -o "hoge.dvi" -x "xdvi -nofork -unique -watchfile 1 +%{page+1} '%{output}'" &

のように実行します。

詳細については

 $ synctex help view

を参照してください。

***inverse search [#wcff3889]

[[TeXstudio]] で DVI ファイルの 30 ページ目の x 座標 0, y 座標 0 に対応する TeX ファイルの該当する行にジャンプしたい場合は

 $ synctex edit -o '30:0:0:hoge.dvi' -x 'texstudio -line %{line} "%{input}"'

または

 $ synctex edit -o "30:0:0:hoge.dvi" -x "texstudio -line %{line} '%{input}'"

のように実行します。

詳細については

 $ synctex help edit

を参照してください。

*[[pxdvi>TeX Live#tltexjp]] &aname(pxdvi); [#s1b173bb]

**pxdvi とは [#e137631f]

pxdvi は (e-(u))pTeX で出力された DVI ファイルに対応した DVI プレビューアです。
pxdvi は xdvik を (e-(u))pTeX に対応させたものです。

-[[tltexjp:https://texjp.org/#tltexjp]]
-[[UNIX に関するメモ等:http://takeno.iee.niit.ac.jp/~shige/unix/memo/unix-memo.html]]
-[[xdvik 日本語化パッチ整理プロジェクト:http://xdvi.osdn.jp/]]
-[[MLアーカイブ: users - xdvi-jp-cleanup - OSDN:https://ja.osdn.net/projects/xdvi/lists/archive/users/]]
-[[pxdvi の使用用途について:http://oku.edu.mie-u.ac.jp/tex/mod/forum/discuss.php?d=731]]
-[[Cygwin の xdvi で日本語を表示する:http://proglab.blog.fc2.com/blog-entry-26.html]]
-[[[debian-devel:19159] Orphan jtex-base, multex-base, xdvik-ja:http://lists.debian.or.jp/debian-devel/201606/msg00008.html]], [[[debian-devel:19164]:http://lists.debian.or.jp/debian-devel/201606/msg00013.html]]

% 最後のリンクについて,これだけを書き込むのがよくわかりませんが,どういう意図なのでしょうか? -- kmaeda (2016/07/02)

**ChangeLog [#y0777637]

-https://github.com/texjporg/tltexjp/commits/master
-https://salsa.debian.org/uwabami-guest/xdvik-ja
--https://salsa.debian.org/uwabami-guest/xdvik-ja/commits/master
-https://launchpad.net/debian/+source/xdvik-ja/22.87.03+j1.42-1
-https://svnweb.freebsd.org/ports/head/print/tex-xdvik/files/
--https://svnweb.freebsd.org/ports/head/print/tex-xdvik/files/?view=log

**インストール &aname(pxdviinstall); [#cce5d1ed]

pxdvi は [[tltexjp:https://texjp.org/#tltexjp]] からインストールできます。

**注意点など [#uca9d6da]
[[xdvik>xdvi#s47919ef]] と同様です。コマンド名は xdvi ではなく pxdvi です。