Texshop2018 日本語がpdf変換できない

Texshop2018 日本語がpdf変換できない

- わた の投稿
返信数: 5
初めて質問させていただきます。
macOS High Sierra(バージョン10.13.6)にTexshop2018をインストールしたのですが、以下のようなエラーが発生してdviからpdfに変換できません。


p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px 'Hiragino Sans'; color: #000000}

\documentclass[uplatex]{jsbook}

\begin{document}

初めてのTex

\end{document}


タイプセットすると、

p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Menlo; color: #000000} p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Menlo; color: #000000; min-height: 14.0px}

This is ptex2pdf[.lua] version 20181212.0.

Processing hajimete-tex3.tex

This is e-upTeX, Version 3.14159265-p3.8.1-u1.23-180226-2.6 (utf8.uptex) (TeX Live 2018) (preloaded format=uplatex)

restricted \write18 enabled.

entering extended mode

(./hajimete-tex3.tex

pLaTeX2e <2018-12-01u02> (based on LaTeX2e <2018-12-01>)

(/usr/local/texlive/2018/texmf-dist/tex/platex/jsclasses/jsbook.cls

Document Class: jsbook 2018/12/11 jsclasses (okumura, texjporg)

(/usr/local/texlive/2018/texmf-dist/tex/platex/jsclasses/jslogo.sty))

(./hajimete-tex3.aux) [1] (./hajimete-tex3.aux) )

Output written on hajimete-tex3.dvi (1 page, 352 bytes).

SyncTeX written on hajimete-tex3.synctex.gz.

Transcript written on hajimete-tex3.log.

hajimete-tex3.dvi -> hajimete-tex3.pdf

[1

kpathsea: Running mktexpk --mfmode / --bdpi 600 --mag 0+555/600 --dpi 555 uprml-h

mktexpk: don't know how to create bitmap font for uprml-h.

mktexpk: perhaps uprml-h is missing from the map file.

kpathsea: Appending font creation commands to missfont.log.


dvipdfmx:warning: Could not locate a virtual/physical font for TFM "uprml-h".

dvipdfmx:warning: >> There are no valid font mapping entry for this font.

dvipdfmx:warning: >> Font file name "uprml-h" was assumed but failed to locate that font.

dvipdfmx:fatal: Cannot proceed without .vf or "physical" font for PDF output...


Output file removed.

ptex2pdf processing of hajimete-tex3.tex failed.



となります。
英語だとpdfは作成されました。

ちなみに、
http://doratex.hatenablog.jp/entry/20180501/1525144736
を参考にして、ヒラギノフォントの埋め込みはやっております。
また、似たようなエラーが出ている質問はいくつかあり、
https://okumuralab.org/tex/mod/forum/discuss.php?d=2267&parent=13345
を参考にして、IPAexに埋め込むフォントを変更してみたのですが特に変わりませんでした。



何か解決策があれば、ご教授願います。

わた への返信

Re: Texshop2018 日本語がpdf変換できない

- 和田 勇 の投稿
なんとなく sudo mktexlsr すれば良いのかと思いつつも手順を再検証してみました。

> http://doratex.hatenablog.jp/entry/20180501/1525144736
Mojave で TeXShop そのものを使っていないのですが。上記の手順を行ってみましたが、問題なく PDF 作成できました。

以下の情報を提示していただけますか?

dvipdfmx -v hajimete-tex3

これの先頭行にフォントマップファイルのパス情報が表示されていますのでそのファイルの中から uprml-h に関する行を示してください。
dvipdfmx -v の結果に kanji x.map があればそこに記述されているとは思いますが。

現在の私の場合は kanjix.map の中に以下のように記述されています。

   uprml-h UniJIS2004-UTF16-H :0:HiraginoSerif.ttc %!PS HiraMinProN-W3

この場合、dvipdfmx が実際に参照するファイルは HiraginoSerif.ttc ですので TeXLive で利用できるかどうか以下のコマンドで調べてください。

kpsewhich HiraginoSerif.ttc

これでフォントのパス情報が表示されなければ、設定に誤りがありますので上記のコマンドの結果などを提示してください。

また、参照したページの手順を実行した際、エラーなどがでていないか再確認してください。
和田 勇 への返信

Re: Texshop2018 日本語がpdf変換できない

- わた の投稿
ご回答いただき有難うございます!
結論から言うと、日本語でもpdf変換できるようになりました。

行った作業を順を追って説明すると、


まず言われた通りにフォントマップファイルのパス情報を表示してみたら、

p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000; background-color: #ffffff} span.s1 {font-variant-ligatures: no-common-ligatures}

<FONTMAP:/Users/watashima/Library/texlive/2018/texmf-var/fonts/map/pdftex/updmap/pdftex.map><FONTMAP:/Users/watashima/Library/texlive/2018/texmf-var/fonts/map/dvipdfmx/updmap/kanjix.map><FONTMAP:/usr/local/texlive/2018/texmf-dist/fonts/map/dvipdfmx/ckx.map>hajimete-tex -> hajimete-tex.pdf


と出てきました。

ここで、Library内のkanjix.mapをみてみると、uprml-hに関する記述がありません。しかも、以下のようにヒラギノフォントではないものが記述されてました。


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


ここで、


/usr/local/texlive/2018/texmf-var/fonts/map/dvipdfmx/updmap/kanjix.map


上記のusrの中にもkanjix.mapを見つけていたので中身を見てみると、


uprml-h UniJIS-UTF16-H :0:HiraginoSerif.ttc %!PS HiraMinProN-W3


回答者様と少し違いますが、ヒラギノフォントを指名しているのが分かりました。

そこから、Library内のkanjix.mapではなく、usr内のkanjix.mapをフォントマップファイルに組み込めば作動するのではないかと考えました。そして、

https://texwiki.texjp.org/?texmf.cnf%20%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB

のサイトを参考にして、texmf.cnf内をいじってみることにしました。


texmf.cnf内の後半部分が、


TEXMFHOME = ~/library/texmf

TEXMFVAR = ~/library/texlive/2018/texmf-var

TEXMFCONFIG = ~/library/texlive/2018/texmf-config


となっていたのを、


TEXMFHOME = /usr/local/texmf

TEXMFVAR = /usr/local/texlive/2018/texmf-var

TEXMFCONFIG = /usr/local/texlive/2018/texmf-config


と変更。


その後マップファイルもusr内のkanjix.mapを参照にしているのを確認し、

タイプセットすると、無事pdfが出力されました!



library内のkanjix.map内が別のフォントを指名している原因としては、

macOSをアップデートせずにmacTex2018をインストールしていたので再インストールしたのですが、その際にtexliveのファイルを削除しなかったことが関係するのかな?くらいしか今の所思いつきません。


texmf.cnf内を上のように変更したのが正しい解決策か分かりませんが、とりあえずpdf変換ができたので、ひとまず卒論が書けると安心しております。

回答者の和田様、ご丁寧に有難うございました。


何か追加で明示した方が良いことがあれば、お伝え下さい。

わた への返信

Re: Texshop2018 日本語がpdf変換できない

- 和田 勇 の投稿
タイプセットができるようになって何よりです。

さて杞憂に終われば良いのですが ...
卒論が終了したらでも良いと思いますが、わた さんが $HOME/Library/ や $HOME//library/texlive/2018 を設置し、kanjimapx.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

以前は繁体字などのドキュメントをタイプセットしていたのでしょうか?
もし今後も繁体字などを使う必要があればその対処は必要かと思います。
和田 勇 への返信

Re: Texshop2018 日本語がpdf変換できない

- わた の投稿
返信いただき有難うございます。

今回初めてタイプセットに成功したため、繁体字を使ったことはありません。

今まで不具合を直そうと色々とターミナルでいじって、何かインストールした気がします。
何かしら原因が分かればまた投稿したいと思います。
わた への返信

Re: Texshop2018 日本語がpdf変換できない

- Yamamoto Munehiro "munepi" の投稿
(現状、動作しているのを良しとするか、
per-user wide settings を system wide settings で上書きを許すという条件をもつシステムを是とするか、
標準的に per user wideと system wide settings を分けたシステムに直すかにより、
思想や考え方で色々とあると思います。
以下のコメントでは標準的な TeX Live のシステムを是とするとして、)
以下の変数は、ユーザごとの設定(per-user wide settings)を収めるディレクトリです。
下記の設定を行うと、「ユーザごとの設定をシステム設定(system wide settings)とする」としています。

TEXMFHOME = /usr/local/texmf
TEXMFVAR = /usr/local/texlive/2018/texmf-var
TEXMFCONFIG = /usr/local/texlive/2018/texmf-config

ここからは推察ですが、「いわゆる、MacTeX 2018のヒラギノフォントの設定が未完了のまま、一度 updmap-user コマンドを実行なさった」のではないかと思われます。
updmap-user コマンドで構築されたユーザごとの設定は、自分で実行して更新しないかぎり、システム設定に追従されませんので、
システム設定側にいわゆるヒラギノフォントの設定ができていたとしても、システム設定を見に行きません。
特別な理由がないかぎり、システム設定にTeX Liveに収録されていないパッケージやフォントなど入れることにして、 updmap-sys コマンドでシステム設定を更新なさるほうが賢明だと思います。

もしユーザごとの設定を使っていないのであれば、
/usr/local/texlive/2018/texmf.cnf
に行った上記の設定を削除(or  コメントアウト)なさって、

* ~/library/texmf/
* ~/library/texlive/2018 (もしくは、 ~/library/texlive/)

を find コマンドで自分が導入したパッケージなどが存在しないことを確認した上でディレクトリを削除なさってよいです。

これにより、お手元の TeX Live 環境はすべてシステム設定を見に行きます。おそらくお手元のシステム設定は以下のようになっているはずです。

* TEXMFLOCAL : /usr/local/texlive/texmf-local
* TEXMFSYSVAR : /usr/local/texlive/2018/texmf-var
* TEXMFSYSCONFIG : /usr/local/texlive/2018/texmf-config

上記の変数の値は、以下のようにそれぞれ得ることができます。
$ kpsewhich --var-value=TEXMFLOCAL
$ kpsewhich --var-value=TEXMFSYSVAR
$ kpsewhich --var-value=TEXMFSYSCONFIG

以上、ご参考になれば幸いです。