Size: 15507
Comment:
|
Size: 13436
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 130: | Line 130: |
== Ghostscript (gs) の最新版への更新と日本語対応 == Tex Live 2020 から、dvipdfmx / dvips での日本語フォント埋込の既定値が「IPAex フォント」から[[https://github.com/trueroad/HaranoAjiFonts|「原ノ味フォント」]]に変更された。 Ghostscriptもこのため最新版に更新し、cjk-gs-integrate スクリプトを実行する必要がある。 |
== Ghostscript (gs) の日本語対応 == Tex Live 2020 から、dvipdfmx / dvips での日本語フォント埋込の既定値が「IPAex フォント」から[[https://github.com/trueroad/HaranoAjiFonts|「原ノ味フォント」]]に変更された。Ghostscript もこれに対応する必要がある。[[https://oku.edu.mie-u.ac.jp/tex/mod/forum/discuss.php?d=2795|参考]] |
Line 141: | Line 140: |
}}} CentOS 8.3 には Ghostscript 9.25 (2018-09-13)がインストールされているが、これは古くてTex Live 2021 の日本語環境には対応しない。([[https://oku.edu.mie-u.ac.jp/tex/mod/forum/discuss.php?d=2795|20200307.0 以降]]のバージョンが必要:最新版が望まれる) まず [[https://www.ghostscript.com/|Ghostscript(gs)]] を最新版 (9.54.0 以降) にupdate する。 [[https://www.ghostscript.com/download/gsdnld.html|https://www.ghostscript.com/download/gsdnld.html]] から、最新版のGhostscript の Source for all platforms を Download、展開し、configure, make, make install する。(Default の /usr/local/bin/ にインストールする) {{{ # wget https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs9540/ghostscript-9.54.0.tar.gz # tar xf ghostscript-9.54.0.tar.gz # cd ghostscript-9.54.0 # ./configure : # make : # make install : }}} これで最新版(Ghostscript 9.54.0 (2021-03-30))の gs が /usr/local/bin にインストールされた。 環境がCentOS 7, Scientific Linux 7 の場合、ghostscript 9.54.0 ではコンパイルエラーが出てmakeできない場合、少し前の version {{{ wget https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs9533/ghostscript-9.53.3.tar.gz }}} を使用すれば make, make installできる。 念のため aliase も定義しておく {{{ # ln -s /usr/local/bin/gs /usr/local/bin/ghostscript }}} 今回インストールしたgsがPATHの最上位にあることの確認のため gs -help を実行すると {{{ $ gs -help GPL Ghostscript 9.54.0 (2021-03-30) Copyright (C) 2021 Artifex Software, Inc. All rights reserved. |
|
Line 178: | Line 142: |
%rom%Resource/Init/ : %rom%lib/ : /usr/local/share/ghostscript/9.54.0/Resource/Init : /usr/local/share/ghostscript/9.54.0/lib : /usr/local/share/ghostscript/9.54.0/Resource/Font : /usr/local/share/ghostscript/fonts : /usr/local/share/fonts/default/ghostscript : /usr/local/share/fonts/default/Type1 : /usr/local/share/fonts/default/TrueType : /usr/lib/DPS/outline/base : }}} とかと出力される。次にCJK fontsをGhostscriptに組み込むため[[https://www.ctan.org/pkg/cjk-gs-integrate|cjk-gs-integrate]] スクリプトを[[https://oku.edu.mie-u.ac.jp/tex/mod/forum/discuss.php?d=2795|実行]]する {{{ # cjk-gs-integrate --link-texmf --cleanup --force |
/usr/share/ghostscript/Resource/Init : /usr/share/ghostscript/lib : /usr/share/ghostscript/Resource/Font : /usr/share/ghostscript/fonts : /usr/share/fonts/urw-base35 : /usr/share/fonts/google-droid : /usr/share/ghostscript/conf.d/ : /usr/share/fonts }}} CentOS 8.3 には Ghostscript 9.25 (2018-09-13) がインストールされている。 Ghostscript を日本語フォント「原ノ味フォント」に対応するために [[https://www.ctan.org/pkg/cjk-gs-integrate|cjk-gs-integrate]]スクリプトを実施する。 {{{ # cjk-gs-integrate --link-texmf --cleanup --force |
Line 194: | Line 155: |
cjk-gs-integrate: going to clean up /usr/local/share/ghostscript/9.54.0/Resource | cjk-gs-integrate: going to clean up /usr/share/ghostscript/Resource |
Line 211: | Line 172: |
cjk-gs-integrate: output is going to /usr/local/share/ghostscript/9.54.0/Resource | cjk-gs-integrate: output is going to /usr/share/ghostscript/Resource |
Line 226: | Line 187: |
(cjk-gs-integrate と gs の挙動について調査中) ## ちなみに、さらに ## {{{ ## # cjk-gs-integrate --link-texmf --force ##}}} ## を実行すると、ps2pdf などでエラーが出るので、上記は実行しない。(調査中) |
これで Ghostscript (gs) の日本語化の設定が行われた。 |
Tex Live 2021 on CentOS 8
このアーカイブを参考にCentOS 8 にTex Live 2021 (日本語対応)をインストールする。CentOS 7 / Scientific Linux (SL) 7でも同様。
使用可能なコマンド
以下のコマンドが使える。
日本語と英語に対応しているコマンド |
||||
コマンド |
動作 |
使い方 |
入力ファイル |
出力ファイル |
platex |
TeX ファイルのコンパイル |
$ platex test.tex |
test.tex |
test.dvi |
dvipdfmx |
DVI から PDF ファイルを直接作成 |
$ dvipdfmx test.dvi |
test.dvi |
test.pdf |
dvipdf |
DVI から PDF ファイルを直接作成 |
$ dvipdf test.dvi |
test.dvi |
test.pdf |
dvips |
DVI から PS ファイルを作成 |
$ pdvips test.dvi |
test.dvi |
test.ps |
ps2pdf |
PS から PDF ファイルを作成 |
$ ps2pdf test.ps |
test.ps |
test.pdf |
pdf2ps |
PDF から PS ファイルを作成 |
$ pdf2ps test.pdf |
test.pdf |
test.ps |
pxdvi |
DVI ファイルビューワ |
$ pxdvi test.dvi |
test.dvi |
- |
evince |
PS/PDF ファイルビューワ |
$ evince test.ps |
test.ps |
- |
gv |
PS/PDF ファイルビューワ |
$ gv test.ps |
test.ps |
- |
gs |
Ghostscript インタプリタ |
$ gs test.ps |
test.ps |
misc. |
英語のみに対応しているコマンド |
||||
コマンド |
動作 |
使い方 |
入力ファイル |
出力ファイル |
latex |
TeX ファイルのコンパイル |
$ latex test.tex |
test.tex |
test.dvi |
xdvi |
DVI ファイルビューワ |
$ xdvi test.dvi |
test.dvi |
- |
ここで、test.ps は PostScript (PS) ファイル、test.pdf は PDF (Portable Document Format) ファイル、 test.dvi は DVI(DeVice-Independent file format) ファイルを表す。
TeX Live 2021 のインストール
1. まず ISO イメージを保存するディレクトリ (どこでも良い) に移動し、wget コマンドで TeX Live 2021 の ISO イメージを近くのミラーサーバからダウンロードする。
$ cd "ISO イメージを保存するディレクトリ" $ wget http://ftp.riken.jp/tex-archive/systems/texlive/Images/texlive2021-20210325.iso
2. 同じディレクトリに、ISO イメージをマウントするディレクトリを作る。
$ mkdir texlive2021
3. ISO イメージのマウントとインストーラの実行には管理者権限が必要なので、su コマンドで root ユーザになる。
4. ISO イメージとマウントディレクトリがあるかを確認したら、ISO イメージをマウント。
# ls texlive2021 texlive2021-20210325.iso # # mount -o loop -t iso9660 texlive2021-20210325.iso texlive2021
5.マウントディレクトリ内の install-tl を実行。Enter command: に対して I を入力するとインストールがスタートする。速いPCだと 12分くらいでインストールできる。
# ./texlive2021/install-tl ... Enter command: I ...
6.インストール終了後、インストーラが出力したメッセージの最後を見ると、以下のように表示されている。このメッセージに従い PATH の設定をする。
Add /usr/local/texlive/2021/texmf-dist/doc/man to MANPATH. Add /usr/local/texlive/2021/texmf-dist/doc/info to INFOPATH. Most importantly, add /usr/local/texlive/2021/bin/x86_64-linux to your PATH for current and future sessions.
7. platex がインストールされているか確認。試しに platex のバージョンを確認してみる。
$ platex -v e-pTeX 3.141592653-p3.9.0-210218-2.6 (utf8.euc) (TeX Live 2021) kpathsea version 6.3.3 ptexenc version 1.3.9
8.アップデートを実行しておく。少し時間がかかる。
# tlmgr update --self # tlmgr update --all
pxdvi のインストール
ここを参考に pxdviをインストールする。 (2021.5.24時点で current(2021)版のpxdvi はまだないので2020 版をインストール)
# wget https://texlive.texjp.org/tltexjp-key.asc # tlmgr key add tltexjp-key.asc # tlmgr repository add http://texlive.texjp.org/2020/tltexjp tltexjp # tlmgr pinning add tltexjp '*' # tlmgr install pxdvi # tlmgr path add # cd /usr/local/texlive/2021 # ln -s texmf-dist texmf
gv のインストール
EPELから gv をインストールする。
# dnf -y install epel-release # dnf -y install gv
Ghostscript (gs) の日本語対応
Tex Live 2020 から、dvipdfmx / dvips での日本語フォント埋込の既定値が「IPAex フォント」から「原ノ味フォント」に変更された。Ghostscript もこれに対応する必要がある。参考
CentOS 8.3 にプリインストールされている gs の バージョンを調べる。
$ gs -help GPL Ghostscript 9.25 (2018-09-13) Copyright (C) 2018 Artifex Software, Inc. All rights reserved. Search path: /usr/share/ghostscript/Resource/Init : /usr/share/ghostscript/lib : /usr/share/ghostscript/Resource/Font : /usr/share/ghostscript/fonts : /usr/share/fonts/urw-base35 : /usr/share/fonts/google-droid : /usr/share/ghostscript/conf.d/ : /usr/share/fonts
CentOS 8.3 には Ghostscript 9.25 (2018-09-13) がインストールされている。
Ghostscript を日本語フォント「原ノ味フォント」に対応するために cjk-gs-integrateスクリプトを実施する。
# cjk-gs-integrate --link-texmf --cleanup --force cjk-gs-integrate: reading font database ... cjk-gs-integrate: searching for Ghostscript resource cjk-gs-integrate: going to clean up /usr/share/ghostscript/Resource cjk-gs-integrate: cleaning up all links, snippets and cidfmap.local ... cjk-gs-integrate: removing cidfmap.local from cidfmap file ... cjk-gs-integrate: removing snippets and cidfmap.aliases for font aliases ... cjk-gs-integrate: removing cidfmap.aliases from cidfmap file ... cjk-gs-integrate: running mktexlsr ... mktexlsr: Updating /usr/local/texlive/2021/texmf-config/ls-R... mktexlsr: Updating /usr/local/texlive/2021/texmf-dist/ls-R... mktexlsr: Updating /usr/local/texlive/2021/texmf-var/ls-R... mktexlsr: Updating /usr/local/texlive/texmf-local/ls-R... mktexlsr: Done. cjk-gs-integrate: finished # # cjk-gs-integrate --link-texmf --force cjk-gs-integrate: reading font database ... cjk-gs-integrate: checking for files ... cjk-gs-integrate: searching for Ghostscript resource cjk-gs-integrate: output is going to /usr/share/ghostscript/Resource cjk-gs-integrate: generating links and snippets for CID fonts ... cjk-gs-integrate: generating links, snippets and cidfmap.local for non-CID fonts ... cjk-gs-integrate: adding cidfmap.local to cidfmap file ... cjk-gs-integrate: generating snippets and cidfmap.aliases for font aliases ... cjk-gs-integrate: adding cidfmap.aliases to cidfmap file ... cjk-gs-integrate: running mktexlsr ... mktexlsr: Updating /usr/local/texlive/2021/texmf-config/ls-R... mktexlsr: Updating /usr/local/texlive/2021/texmf-dist/ls-R... mktexlsr: Updating /usr/local/texlive/2021/texmf-var/ls-R... mktexlsr: Updating /usr/local/texlive/texmf-local/ls-R... mktexlsr: Done. cjk-gs-integrate: finished #
これで Ghostscript (gs) の日本語化の設定が行われた。
日本語対応のテスト
Tex Live 2021 が日本語対応になっているかどうか、簡単にテストする。 以下のファイル jtest.tex を作成する。
\documentclass{jarticle} \begin{document} こんにちは世界 \end{document}
これを platex でコンパイル
$ platex jtest.tex This is e-pTeX, Version 3.141592653-p3.9.0-210218-2.6 (utf8.euc) (TeX Live 2021) : Output written on jtest.dvi (1 page, 308 bytes). $ Transcript written on jtest.log.
X11 windows 環境下で
$ pxdvi jtest.dvi
を実行すると xdvik のウインドウが開いて日本語テキストが表示されればOK。 また
$ dvipdfmx jtest.dvi jtest.dvi -> jtest.pdf [1] 4821 bytes written $
などのコマンドでpdfが作成でき、この pdf ファイルを X windows下で evince を実行すると
$ evince jtest.pdf
日本語テキストが表示され、さらに Properties の Font メニューで
HaranoAjiMincho-Regular-Identity-H Type 1C (CID) Encoding: Identity-H Enbedded subset CMR10 Type 1C Encoding:Builtin Enbedded subset
と、日本語フォント(原ノ味フォント)が埋め込まれていることを確認できればOK.
参考: コマンドがインストールされる/設定されるタイミング
このアーカイブから表を引用する。
|
Step 0 |
Step 1 |
Step 2 |
Step 3 |
コマンド |
CentOS 8.3 |
TeX Live 2021 |
pxdvi, gv |
Ghostscript |
platex |
- |
J/E |
J/E |
J/E |
dvipdfmx |
- |
J/E |
J/E |
J/E |
dvips |
- |
J/E |
J/E |
J/E |
pxdvi |
- |
- |
J/E |
J/E |
gv (for PS) |
- |
- |
E |
J/E |
gv (for PDF) |
- |
- |
E |
J/E |
evince (for PS) |
E |
E |
E |
J/E |
evince (for PDF) |
J/E |
J/E |
J/E |
J/E |
gs |
E |
E |
E |
J/E |
dvipdf |
X |
E |
E |
J/E |
ps2pdf |
E |
E |
E |
J/E |
pdf2ps |
E |
E |
E |
J/E |
latex |
- |
E |
E |
E |
xdvi |
- |
E |
E |
E |
凡例 |
ただし、日本語フォントが埋め込まれている PS, PDF に対しては、gs コマンドの日本語設定が行われていなくても、gv, evince, gs, dvipdf, ps2pdf, pdf2ps コマンドは正しく動作するようである。
参考: コマンドのメモ
このアーカイブから表を引用する。コマンドに対するメモは以下の通り(間違いがあるかも)。
コマンド |
gs コマンド |
フォントの埋め込み |
備考 |
platex |
|
|
|
dvipdfmx |
|
行う |
英語のフォントは埋め込んでいる? |
dvips |
|
行う |
フォントを埋め込むことも出来る? |
pxdvi |
|
|
|
gv (for PS) |
使用 |
|
PS を表示する際、gs を使う。 |
gv (for PDF) |
使用 |
|
DF を表示する際、pdf2ps コマンドを |
evince (for PS) |
使用 |
|
PS を表示する際、gs を使う。 |
evince (for PDF) |
|
|
|
gs |
使用 |
行う? |
下記参照 |
dvipdf |
使用 |
行う |
dvips と ps2pdf を呼んでいる |
ps2pdf |
使用 |
行う |
gs のラッパー |
pdf2ps |
使用 |
行う |
gs のラッパー |
latex |
|
|
|
xdvi |
|
|
|
gs について
- 入力ファイルにフォントが埋め込まれていない場合、gs は設定に従いフォントを参照する。入力ファイルに日本語フォントが埋め込まれていない場合、gs の日本語の設定が正しくされていないと、エラーとなったり、出力結果が文字化けする。gs の出力ファイルには、設定に従ったフォントが埋め込まれる。入力ファイルにフォントが埋め込まれている場合、特に問題は起きないようだ。