久しぶりにlatex 関係の情報を調べたら、ptex の拡張であるuptexを知った。早速設定してみた。
Fedora 31ではtexliveのパッケージがあるため、特に追加インストールがなくてもコンパイル 、PDF変換ができるが、なぜか付属のxdviでは日本語を表示させることができないため、pxdviを導入する必要がある。
1.以下のサイトからpxdvi.tar.xz、pxdvi.x86 _64-linux .tar.xz をダウンロードし、解凍しておく。
https://texlive.texjp.org/current/tltexjp/archive/
2.以下のようにファイルをローカルにインストールする。(->の後ろはインストール後のフルパス)
(ちなみに、Linux のインストールでは
install -m インストール後のファイルモード 元ファイルのフルパス インストール先のフルパス
のコマンドで実施可能(要root権限 ))
2-1) pxdvi.tar.xz の解凍ファイル
texmf-dist/xdvi/xdvi-ptex .map.sample -> /usr/share/texlive/texmf-dist/xdvi/xdvi-ptex .map.sample
texmf-dist/xdvi/pxdvi.cfg -> /usr/share/texlive/exmf-dist/xdvi/pxdvi.cfg
texmf-dist/fonts/map/pxdvi/xdvi-ptex .map -> /usr/share/texlive/texmf-dist/fonts/map/pxdvi/xdvi-ptex .map
2-2) pxdvi.x86 _64-linux .tar.xz の解凍ファイル
bin/x86 _64-linux /pxdvi -> /usr/share/texlive/bin/pxdvi
bin/x86 _64-linux /pxdvi-xaw -> /usr/share/texlive/bin/pxdvi-xaw
3.以下のような追加作業を実施する(要root権限 )
3-1) texmf.cnf リンク作成
ln -s /etc/texlive/web2c/texmf.cnf /usr/share/texlive/bin/
3-2) /usr/share/texlive/bin/pxdvi を修正(最後の行を変更)
変更前:
exec pxdvi-xaw $NAMEOPT ${1+"$@"}
変更後:
exec $(dirname $0)/ pxdvi-xaw $NAMEOPT ${1+"$@"}
3-3) xdvi-ptex .map ファイルの修正
/usr/share/texlive/texmf-dist/fonts/map/pxdvi/xdvi-ptex .map に以下の行を追加(/usr/share/texlive/texmf-dist/fonts/map/dvipdfmx/updmap/kanjix.map から取得)
% uptex-ko-baekmuk.map uphygt-h UniKS-UTF16-H dotum.ttf %!PS Baekmuk-Dotum uphygt-v UniKS-UTF16-V dotum.ttf %!PS Baekmuk-Dotum uphysmjm-h UniKS-UTF16-H batang.ttf %!PS Baekmuk-Batang uphysmjm-v UniKS-UTF16-V batang.ttf %!PS Baekmuk-Batang % uptex-sc-arphic .map upstht-h UniGB-UTF16-H gkai00mp.ttf %!PS GBZenKai-Medium upstht-v UniGB-UTF16-V gkai00mp.ttf %!PS GBZenKai-Medium upstsl-h UniGB-UTF16-H gbsn00lp.ttf %!PS BousungEG-Light-GB upstsl-v UniGB-UTF16-V gbsn00lp.ttf %!PS BousungEG-Light-GB % uptex-tc-arphic .map upmhm-h UniCNS-UTF16-H bkai00mp.ttf %!PS ZenKai-Medium upmhm-v UniCNS-UTF16-V bkai00mp.ttf %!PS ZenKai-Medium upmsl-h UniCNS-UTF16-H bsmi00lp.ttf %!PS ShanHeiSun-Light upmsl-v UniCNS-UTF16-V bsmi00lp.ttf %!PS ShanHeiSun-Light
3-4) mktexlsrを実行
sudo mktexlsr
(必ずroot権限で実行 )
4.以下の追加設定を実施(root権限不要)
4-1) xdvi スクリプト を追加
~/bin/xdvi を追加し、実行権限を付ける。中身は以下のようにする。
#! /bin/sh
/usr/share/texlive/bin/pxdvi "$@"
4-2) .bashrc を編集して、以下の行を追加
export TEXMF=/usr/share/texlive/
5.動作確認
5-1) helloj.tex (一番基本なtex ファイル)
以下の内容をUTF-8 エンコーディング で保存する。
\documentclass{ujarticle} \begin{document}
こんにちは, \TeX !
\end{document}
以下のコマンドを実行する。
# tex のコンパイル
uplatex helloj
# dviファイルの表示
xdvi helloj
pxdviの画面
# PDFファイル作成 dvipdfmx helloj
# PDFファイルを表示(好きなPDFビューワーを使う)
atril helloj.pdf
atrilの画面
5-2) cjk.tex (https://texwiki.texjp.org/?upTeX%2CupLaTeX#p5e56276 にあるCJKサンプルファイル)
以下の内容をUTF-8 エンコーディング で保存する。
\documentclass{ujarticle} % CJK fontの設定 \DeclareFontFamily{JT2}{jpnrm}{} \DeclareFontFamily{JY2}{jpnrm}{} \DeclareFontFamily{JT2}{schrm}{} \DeclareFontFamily{JY2}{schrm}{} \DeclareFontFamily{JT2}{tchrm}{} \DeclareFontFamily{JY2}{tchrm}{} \DeclareFontFamily{JT2}{korrm}{} \DeclareFontFamily{JY2}{korrm}{} \DeclareFontShape{JT2}{jpnrm}{m}{n}{<->s*[0.962216]upjpnrm-h}{} \DeclareFontShape{JY2}{jpnrm}{m}{n}{<->s*[0.962216]upjpnrm-h}{} \DeclareFontShape{JT2}{schrm}{m}{n}{<->s*[0.962216]upschrm-h}{} \DeclareFontShape{JY2}{schrm}{m}{n}{<->s*[0.962216]upschrm-h}{} \DeclareFontShape{JT2}{tchrm}{m}{n}{<->s*[0.962216]uptchrm-h}{} \DeclareFontShape{JY2}{tchrm}{m}{n}{<->s*[0.962216]uptchrm-h}{} \DeclareFontShape{JT2}{korrm}{m}{n}{<->s*[0.962216]upkorrm-h}{} \DeclareFontShape{JY2}{korrm}{m}{n}{<->s*[0.962216]upkorrm-h}{} \DeclareFontShape{JT2}{jpnrm}{bx}{n}{<->ssub*jpnrm/m/n}{} \DeclareFontShape{JY2}{jpnrm}{bx}{n}{<->ssub*jpnrm/m/n}{} \DeclareFontShape{JT2}{schrm}{bx}{n}{<->ssub*schrm/m/n}{} \DeclareFontShape{JY2}{schrm}{bx}{n}{<->ssub*schrm/m/n}{} \DeclareFontShape{JT2}{tchrm}{bx}{n}{<->ssub*tchrm/m/n}{} \DeclareFontShape{JY2}{tchrm}{bx}{n}{<->ssub*tchrm/m/n}{} \DeclareFontShape{JT2}{korrm}{bx}{n}{<->ssub*korrm/m/n}{} \DeclareFontShape{JY2}{korrm}{bx}{n}{<->ssub*korrm/m/n}{} \DeclareRobustCommand\jpnrm{\kanjifamily{jpnrm}\selectfont} \DeclareRobustCommand\schrm{\kanjifamily{schrm}\selectfont} \DeclareRobustCommand\tchrm{\kanjifamily{tchrm}\selectfont} \DeclareRobustCommand\korrm{\kanjifamily{korrm}\selectfont} \begin{document} \section{日本語} \jpnrm すべての人間は、生まれながらにして自由であり、かつ、尊厳と権利とについて平等である。 人間は、理性と良心とを授けられており、互いに同胞の精神をもって行動しなければならない。 \section{中国語・簡体字 {\schrm 简体中文}} {\schrm 人人生而自由,在尊严和权利上一律平等。 他们赋有理性和良心,并应以兄弟关系的精神相对待。 } \section{中国語・繁体字 {\tchrm 繁體中文}} {\tchrm 人人生而自由,在尊嚴和權利上一律平等。 他們賦有理性和良心,並應以兄弟關係的精神相對待。 } \section{韓国語 {\korrm 한국어}} {\korrm \xkanjiskip=.1zw plus 1pt minus 1pt 모든 인간은 태어날 때부터 자유로우며 그 존엄과 권리에 있어 동등하다. 인간은 천부적으로 이성과 양심을 부여받았으며 서로 형제애의 정신으로 행동하여야 한다. } \end{document}
以下のコマンドを実行する。
# tex のコンパイル
uplatex cjk
# dviファイルの表示
xdvi cjk
pxdviの画面
# PDFファイル作成 dvipdfmx cjk
# PDFファイルを表示(好きなPDFビューワーを使う)
atril cjk.pdf
atrilの画面