*xdvi [#s73ab198]
*xdvi (非推奨) [#s73ab198]

&size(30){xdvi は現在,非推奨です!};
xdvi は X Window System 上で動作する DVI ビューアです。

日本語が表示されないなどの問題が発生する場合があります.[[古い情報>古い情報#je1d5241]]もご覧ください.
現在は DVI ではなく PDF でのプレビューが推奨されています.
X Window System には [[X.Org:https://www.x.org/]] などのオープンソースの実装があり Cygwin, macOS, Linux などで動作します。

以下の情報はアーカイブとして残しておきます.
極力削除はお控えください.[[forum:1013]] の''「削除は原則禁止」''の合意事項に基づきます.
xdvi を使用すると,日本語が表示されないといった問題が発生する場合があります([[古い情報>古い情報#je1d5241]]もご覧ください)。

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

''目次''
-[[MyTeXpert:xdvi]]
----
#contents
----


*[[xdvik:http://xdvi.sourceforge.net/]] → 日本語が表示されないなどの問題が発生する場合は PDF ファイルで出力して [[Evince]], [[Okular]], [[zathura]], [[qpdfview]], [[TeXworks]], [[TeXstudio]] などでプレビューする &aname(xdvik); [#s47919ef]
*[[xdvik:http://xdvi.sourceforge.net/]] (非推奨) &aname(xdvik); [#s47919ef]

**xdvik とは [#de90c407]

xdvik は DVI プレビューアです.
xdvi を Kpathsea ライブラリに対応させたものです.
[[CJK-LaTeX/BXcjkjatype>LaTeX-CJK]] を使用すれば日本語化されていない xdvik でも日本語が表示できます.
xdvik は DVI プレビューアです。
xdvi を Kpathsea ライブラリに対応させたものです。

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

**動作環境 [#y90c90d1]

X Window System

**ChangeLog [#p61511cc]

-[[SourceForge.net Repository - [xdvi] Contents of /xdvik/texk/xdvik/CHANGES:http://xdvi.cvs.sourceforge.net/viewvc/xdvi/xdvik/texk/xdvik/CHANGES?view=markup]]

-[[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]]
-https://www.freshports.org/print/tex-xdvik/
-http://pkgsrc.se/print/tex-xdvi

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

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

 $ xdvi --version
 xdvik version 22.87 (Xaw toolkit)
 Libraries: kpathsea version 6.2.0, freetype version 2.5.3

**注意点 [#mfca3e3a]

***xdvi で DVI ファイルを表示するとコンソールに Warning: Cannot convert string ... が表示される → /usr/local/texlive/????/texmf-dist/xdvi/XDvi を修正する [#l9a6d5b3]
***xdvi で DVI ファイルを表示するとコンソールに Warning: Cannot convert string ... が表示される  [#l9a6d5b3]

xdvi で DVI ファイルを表示するとコンソールに Warning: Cannot convert string ... が表示されることがあります.
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

OS X の場合
 $ 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 で保存します.
以下の様な文書を作成して hoge.tex という名前で UTF-8 で保存します。

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

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

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

 \end{document}

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

 $ latex -synctex=1 hoge

[[CJK-LaTeX/BXcjkjatype>LaTeX-CJK]] を使用すれば日本語化されていない xdvi でも日本語が表示できます.
[[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]

-http://xdvi.cvs.sourceforge.net/viewvc/xdvi/xdvik/texk/xdvik/main.c?view=markup
-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 を行うことができます.
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#tlptexlive]] → 日本語が表示されないなどの問題が発生する場合は PDF ファイルで出力して [[Evince]], [[Okular]], [[zathura]], [[qpdfview]], [[TeXworks]], [[TeXstudio]] などでプレビューする &aname(pxdvi); [#s1b173bb]
*print/tex-xdvik (非推奨) &aname(print_tex-xdvik); [#l6d2c61a]

**pxdvi とは [#e137631f]
print/tex-xdvik は日本語対応 DVI プレビューアです。

pxdvi は (e-)(u)pTeX で出力された DVI ファイルに対応した DVI プレビューアです.
pxdvi は xdvik を (e-)(u)pTeX に対応させたものです.
-https://www.freshports.org/print/tex-xdvik/
-https://cgit.freebsd.org/ports/tree/print/tex-xdvik
--https://cgit.freebsd.org/ports/log/print/tex-xdvik
-[[FreeBSD: その他のメモ:http://takeno.iee.niit.ac.jp/~shige/FreeBSD/fbsd-omemo.html]]
-[[UNIX に関するメモ等:http://takeno.iee.niit.ac.jp/~shige/unix/memo/unix-memo.html]]
-[[Cygwin の xdvi で日本語を表示する:http://proglab.blog.fc2.com/blog-entry-26.html]]
-[[xdvik 日本語化パッチ整理プロジェクト:http://xdvi.osdn.jp/]]
-[[MLアーカイブ: users - xdvi-jp-cleanup - OSDN:https://ja.osdn.net/projects/xdvi/lists/archive/users/]]

-[[tlptexlive>TeX Live#tlptexlive]]
-[[xdvik 日本語化パッチ整理プロジェクト:http://xdvi.sourceforge.jp/]]
-[[MLアーカイブ: users - xdvi-jp-cleanup - SourceForge.JP:http://sourceforge.jp/projects/xdvi/lists/archive/users/]]
-[[pxdvi の使用用途について:http://oku.edu.mie-u.ac.jp/tex/mod/forum/discuss.php?d=731]]
*xdvik-ja (非推奨) &aname(xdvik-ja); [#vab2aa47]

**ChangeLog [#y0777637]
xdvik-ja は日本語対応 DVI プレビューアです。

-https://github.com/norbusan/tlptexlive-root/commits/master
-https://github.com/norbusan/build-tlptexlive/commits/master
//-https://twilog.org/uwabami/search?word=xdvik-ja
-https://salsa.debian.org/uwabami/xdvik-ja
--https://salsa.debian.org/uwabami/xdvik-ja/commits/master
-https://launchpad.net/debian/+source/xdvik-ja
-[[[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]]

**インストール &aname(pxdviinstall); [#cce5d1ed]
% 最後のリンクについて,これだけを書き込むのがよくわかりませんが,どういう意図なのでしょうか? -- kmaeda (2016/07/02)

pxdvi は [[tlptexlive>TeX Live#tlptexlive]] からインストールできます.
*pxdvi (非推奨) &aname(pxdvi); [#s1b173bb]

 $ pxdvi --version
 xdvik version 22.85 j1.41-ptexlive (Xaw toolkit)
 Libraries: kpathsea version 6.1.1dev, T1lib version 5.1.2, FreeType version 2.4.11, Fontconfig version 2.9.0
**pxdvi とは [#e137631f]

***TeX Live 公式パッケージ (OS X) の場合 [#r20c1e45]
pxdvi は (e-(u))pTeX で出力された DVI ファイルに対応した DVI プレビューアです。
pxdvi は xdvik を (e-(u))pTeX に対応させたものです。

 $ sudo tlmgr update --self --all
 $ sudo tlmgr repository add http://www.tug.org/~preining/tlptexlive/ tlptexlive
 $ sudo tlmgr pinning add tlptexlive '*'
 $ sudo tlmgr install pxdvi
 $ sudo tlmgr update --all
 $ cd /usr/local/texlive/????
 $ sudo ln -s texmf-dist texmf
 $ 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
tltexjp リポジトリが削除されたので pxdvi は配布終了しました。([[pxdvi, ptex-ngを削除 · Issue #5 · texjporg/tltexjp · GitHub:https://github.com/texjporg/tltexjp/issues/5]]を参照)

***TeX Live 公式パッケージ (Linux) の場合 [#ud34ec40]
-https://github.com/texjporg/tltexjp
-[[pxdvi の使用用途について:https://okumuralab.org/tex/mod/forum/discuss.php?d=731]]

 $ sudo tlmgr update --self --all
 $ sudo tlmgr repository add http://www.tug.org/~preining/tlptexlive/ tlptexlive
 $ sudo tlmgr pinning add tlptexlive '*'
 $ sudo tlmgr install pxdvi
 $ sudo tlmgr path add
 $ sudo tlmgr update --all
 $ cd /usr/local/texlive/????
 $ sudo ln -s texmf-dist texmf
 $ 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
**ChangeLog [#y0777637]

***TeX Live/Arch Linux (x86_64) の場合 [#p7bf914d]
-[[xdviで日本語が表示できない.:http://oku.edu.mie-u.ac.jp/tex/mod/forum/discuss.php?d=1120]]
-https://github.com/texjporg/tltexjp/commits/master

tlptexlive から pxdvi をダウンロード・展開して
pxdvi-xaw, pxdvi.cfg, xdvi-ptex.map, texmf.cnf などを適切な場所に配置して
/usr/share/texmf-local/web2c/texmf.cnf に XDVIINPUTS を設定します.
**インストール &aname(pxdviinstall); [#cce5d1ed]

 $ mkdir pxdvi
 $ cd pxdvi
 $ curl -O http://www.tug.org/~preining/tlptexlive/archive/pxdvi.tar.xz
 $ curl -O http://www.tug.org/~preining/tlptexlive/archive/pxdvi.x86_64-linux.tar.xz
 $ tar xvf pxdvi.tar.xz
 $ tar xvf pxdvi.x86_64-linux.tar.xz
 $ sudo cp -p bin/x86_64-linux/pxdvi-xaw /usr/bin
 $ sudo ln -s /usr/bin/pxdvi-xaw /usr/bin/pxdvi
 $ sudo cp -pR texmf-dist/xdvi /usr/share/texmf-dist/pxdvi
 $ sudo cp -pR texmf-dist/fonts/map/pxdvi /usr/share/texmf-dist/fonts/map/pxdvi
 $ sudo mkdir -p /usr/share/texmf-local/web2c
 $ sudo cp /usr/share/texmf-dist/web2c/texmf.cnf /usr/share/texmf-local/web2c
pxdvi の配布は終了しました。tltexjp 先生の次回作にご期待ください。

/usr/share/texmf-local/web2c/texmf.cnf に XDVIINPUTS を追加します.
**注意点など [#uca9d6da]
[[xdvik>xdvi#s47919ef]] と同様です。コマンド名は xdvi ではなく pxdvi です。

 $ printf '\n%% pxdvi\nXDVIINPUTS = /usr/share/texmf-dist/pxdvi\n' | sudo tee -a /usr/share/texmf-local/web2c/texmf.cnf
 $ tail /usr/share/texmf-local/web2c/texmf.cnf
 ...
 % pxdvi
 XDVIINPUTS = /usr/share/texmf-dist/pxdvi

XDVIINPUTS に /usr/share/texmf-dist/pxdvi が設定されていることを確認します.

 $ kpsewhich -var-value XDVIINPUTS
 /usr/share/texmf-dist/pxdvi

**注意点 [#jd5a94be]

***pxdvi で DVI ファイルを表示するとコンソールに Warning: Cannot convert string ... が表示される → /usr/local/texlive/????/texmf-dist/xdvi/XDvi を修正する [#ha5f0016]

pxdvi で 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

以下の作業を行います.
 $ cd /usr/local/texlive/????/texmf-dist/xdvi
 $ sudo cp XDvi XDvi.org

OS X の場合
 $ 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 の場合
 $ sudo sed 's/\(^\*font:\)\(.*\)helvetica\(.*\)/\1\2\*\3-\*/' -i XDvi
 $ sudo sed 's/\(^\*statusline\.font:\)\(.*\)helvetica\(.*\)/\1\2\*\3-\*/' -i XDvi

**使い方 [#o73d19d8]

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

 \ifdefined\kanjiskip
   \documentclass[uplatex]{jsarticle}
 \else
   \documentclass{scrartcl}
   \usepackage[whole]{bxcjkjatype}
 \fi
 \begin{document}
 
 吾輩は猫である。名前はまだ無い。
 
 どこで生れたかとんと見当がつかぬ。
 何でも薄暗いじめじめした所で
 ニャーニャー泣いていた事だけは記憶している。
 吾輩はここで始めて人間というものを見た。
 
 \end{document}

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

 $ uplatex -synctex=1 hoge

または

 $ latex -synctex=1 hoge

を実行します.

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

DVI ファイルを表示するには

 $ pxdvi -nofork -unique -watchfile 1 'hoge.dvi' &

または

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

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

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

または

 $ pdflatex -synctex=1 hoge

を実行します.

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

-http://xdvi.cvs.sourceforge.net/viewvc/xdvi/xdvik/texk/xdvik/main.c?view=markup

**SyncTeX [#i441324e]

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

***forward search [#ucabcddf]

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

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

または

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

のように実行します.

詳細については

 $ synctex help view

を参照してください.

***inverse search [#z6a539bd]

[[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

を参照してください.