----
(1) そもそも PDF に日本語フォントを埋め込めない
(2) 日本語のファイル名がコンパイルできない
の2段階の問題がある。
----
さて,まずは (1) から解決しましょうか。
> ターミナルで
> $ sudo kanji-config-updmap-sys status
> とすると、
> ----------------
> Cannot find ptex-fontmaps-data.dat, skipping!
> Cannot find ptex-fontmaps-macos-data.dat, skipping!
> Candidate list is empty, cannot proceed!
> ----------------
とのことなので,まずは
[1] ターミナルで
$ which platex
とすると何が出ますか?
[2] TeXShop の「内部設定」のパスはどうなっていますか?
※ 添付画像を参照。赤枠の部分です(この画像は MacPorts で TeX を入れた場合の設定例)
> [2] (pdf)TeXが、/Library/TeX/texbin
お書きになった結果は,複数の TeX Live がインストールされていることを示しています。
新しい方は恐らく「MacTeX-2018」でしょうから,[2] を採るべきだと思います。まずは
「TeXShop が見つけているのと同じ MacTeX-2018 の platex を,ターミナルからも呼べるように」
してください。つまり,ターミナルから
$ which platex
で
/Library/TeX/texbin/platex
が帰ってくるように,パスの設定を変えてください。
(ホームディレクトリの .bashrc という隠しファイルを編集すればいいのだと思いますが,
これは環境によって違うかもしれないので調べてください。)
念のため:上のコメントはまだ,
> (1) そもそも PDF に日本語フォントを埋め込めない
という問題に対する解決策ではなく,まだその手前の準備段階です。
■ 環境変数 PATH の中に /opt/local/bin がどこで記述・設定されるか
1) 対象ファイルを探す ... 何度か利用する可能性があるのでシェル変数に取り込みます。
設定は「全ユーザ共通」「個人」の順に設定ファイルを読み込み行われます。
1-a) 全ユーザ共通
通常 /etc/paths と /etc/paths.d/* のファイルを取り込みますので以下のようなコマンドで対象ファイルを探します。
$ etctargets=$(find /etc/paths /etc/paths.d -type f)
1-b) 個人
bash とのことなので対象ファイルの候補は、ホームディレクトリの .bashrc 場合によっては .bash_prifile や .profile です。
$ usertargets=$(find ~ -maxdepth 1 -name .bashrc -o -name .bash_profile -o -name .profile)
2) どのファイルに記述されているか調べ対策検討・対処
$ grep -e PATH -e /opt/local/bin -e $etctargets $usertargets
ここで見つかったファイルの該当行にある /opt/local/bin を /Library/TeX/texbin に書き換えます。
不安であれば 上記 grep コマンドの結果を提示してください。
■ ホームディレクトリに .bashrc というファイルが無い場合は、必要であれば作成しましょう。
今回の場合だと以下のようなイメージです。$PATH を展開しないようにシングルクォートを使ってください。
$ echo 'export PATH=/Library/TeX/texbin:$PATH' | tee -a ~/.bashrc
#念の為、追加書き込みで書き込んでいます。必要であれば事前にコピーなどでバックアップしてください。
etctargets=$(find /etc/paths /etc/paths.d -type f)
usertargets=$(find ~ -maxdepth 1 -name .bashrc -o -name .bash_profile -o -name .profile)
grep -e PATH -e /opt/local/bin -e $etctargets $usertargets
上記三行の結果はどうなりますか?
#うまく行かなければターミナルで「打ち込んだ内容」表示された内容」をコピペで示してください。難しければ写メなどでも可。
Last login: Wed Mar 13 15:45:05 on ttys000
[iMacA:~] aiMac1% etctargets=$(find /etc/paths /etc/paths.d -type f)
Illegal variable name.
[iMacA:~] aiMac1% usertargets=$(find ~ -maxdepth 1 -name .bashrc -o -name .bash_profile -o -name .profile)
Illegal variable name.
[iMacA:~] aiMac1% grep -e PATH -e /opt/local/bin -e $etctargets $usertargets
etctargets: Undefined variable.
[iMacA:~] aiMac1%
–––––––––––––––––––––––––––––––
ps
とだけ打ち込むと現在利用している shell がなんなのかわかります。
csh に対応したものもなんとか思い出しながら書くこともできるのですが、検証などを含めると時間がかかるので要点を書きます。
/etc/paths と/etc/paths.d の下にあるファイルが対象です。
またホームディレクトリは .cshrc あるいはドットで始まり cshrc がつくファイルが対象にないます。
上記二つの対称群から /opt/local/bin および関連事項のPATH を探して対処してください。
不明であれば、対称群のファイルリストと、そのファイルの内容を示してください。
#コマンドは一応 csh 系で試しています。
/etc/paths.d の下にあるファイル名から懸念の設定は /etc 以下にはないようですが、念の為 find コマンドを利用して確認してください。記述されている内容が表示されます。
find /etc/paths /etc/paths.d -type f | xargs head -999
個人側の設定は ~/.*rc と ~/.*profile を対象に調べます。
grep -e PATH -e /opt/local/bin ~/.*rc ~/.*profile
このコマンドを実行するとファイル名マッチングができない旨の警告が出る場合があります。
これで懸念の /opt/local/bin が検索できればそのファイルの内容を /Library/TeX/texbin に書き換える必要があります。
解決できなければ、上記 grep コマンドの結果とログインシェルを知りたいので ps だけのコマンドの結果を教えてください。
# cshとtcshは i-node が同じなので実体は同じです。
ls -li $(which csh tcsh)
98686233 -rwxr-xr-x 1 root wheel 375824 3 1 17:15 /bin/csh
98686283 -rwxr-xr-x 1 root wheel 375824 3 1 17:15 /bin/tcsh
#ユーザ追加してみましたがデフォルトのlogin shell は bash(sh) のようです。ターミナルだと「設定 ⌘, 」でも切り替えられますね。
なので finger $user でなく ps コマンドの結果で判定したいです。
This is ptex2pdf[.lua] version 20181212.0.
Processing 試験.tex
This is e-pTeX, Version 3.14159265-p3.8.1-180226-2.6 (utf8.euc) (TeX Live 2018) (preloaded format=platex)
restricted \write18 enabled.
entering extended mode
(./è
pLaTeX2e <2018-12-01> (based on LaTeX2e <2018-12-01>)
(/usr/local/texlive/2018/texmf-dist/tex/platex/base/jarticle.cls
Document Class: jarticle 2018/10/25 v1.8a Standard pLaTeX class
(/usr/local/texlive/2018/texmf-dist/tex/platex/base/jsize12.clo))
No file è
[1] (./è
Output written on è
SyncTeX written on è©Šéš.synctex.gz.
Transcript written on è
試験.dvi -> 試験.pdf
[1
kpathsea: Running mktexpk --mfmode / --bdpi 600 --mag 1+93/600 --dpi 693 rml
mktexpk: don't know how to create bitmap font for rml.
mktexpk: perhaps rml 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 "rml".
dvipdfmx:warning: >> There are no valid font mapping entry for this font.
dvipdfmx:warning: >> Font file name "rml" 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 試験.tex failed.
------------------------
> dvipdfmx:warning: Could not locate a virtual/physical font for TFM "rml".
というログがあるので、じゃ今どうなっているかですが、ヒラギノなどフォント関係のカスタマイズとかされていますか?
以下は、デフォルトでのままですが 。。。。参照しようとするフォントのありかを探すための手順ですが、チェックしてみてください。
1)kanji.map はフォントはどこにあるか?
% kpsewhere kanjix.map
/usr/local/texlive/2018/texmf-var/fonts/map/dvipdfmx/updmap/kanjix.map
/usr/local/texlive/2018/texmf-dist/fonts/map/dvipdfmx/updmap/kanjix.map
2)rml どうのこうのと言われたけど何に関係づけられているか
% grep rml /usr/local/texlive/2018/texmf-var/fonts/map/dvipdfmx/updmap/kanjix.map
rml H ipaexm.ttf %!PS IPAexMincho <=この行に注目
rmlv V ipaexm.ttf %!PS IPAexMincho
.. 以下省略 ..
3)ipaexm.ttf はどこにあるのかな?
% kpsewhere ipaexm.ttf
/usr/local/texlive/2018/texmf-dist/fonts/truetype/public/ipaex/ipaexm.ttf
4)実際にあるかな
% ls -l /usr/local/texlive/2018/texmf-dist/fonts/truetype/public/ipaex/ipaexm.ttf
-rw-r--r-- 1 root wheel 7776964 11 26 2016 /usr/local/texlive/2018/texmf-dist/fonts/truetype/public/ipaex/ipaexm.ttf
> ヒラギノなどフォント関係のカスタマイズとかされていますか?
たぶんそれ以前に,
「マップを定義したデータベース (.dat) を kanji-config-updmap-sys が見つけられていない」
というのが最大の問題だと思っています。現に,最初の投稿に
> Cannot find ptex-fontmaps-data.dat, skipping!
> Cannot find ptex-fontmaps-macos-data.dat, skipping!
> Candidate list is empty, cannot proceed!
が出ているからです。
今の状態だと,初期状態である「ipaex 埋め込み」に戻すことすら出来ないはずです。
私は,その原因が「複数の TeX 関連パスが混在していること」に起因すると推測しています。
まずはパスを一つに絞らないと,kpsewhich などの結果を見てもわからないのではと危惧しています。
まずはこれを先にやったほうが良いでしょう。
・直近の目標としては,ターミナルからのパス設定を /Library/TeX/texbin を優先させたい。
・でも,Saisho Yasumasa さんご自身は,パス設定方法がわからない。
そういうわけで,パス設定方法を探るところから取り掛かったわけです。
先日貼り付けていただいた実行結果を拝見すると
>Last login: Wed Mar 13 15:45:05 on ttys000
> [iMacA:~] aiMac1%
のように % が表示されていたので,これは csh か tcsh に見える。
↓
Saisho Yasumasa さんは「シェルの変更などめっそうもありません」とのことなので,
何かの拍子に tcsh にしてしまったんじゃないか。
↓
まずは元の(購入直後のデフォルトである)bash に戻しましょう,ということになった。
そういうわけで,
chsh -s /bin/bash
をターミナルで実行してください。
その後いったんターミナルを閉じて開き直してみてください。
正常に bash に戻れば
Last login: Wed Mar 20 19:28:26 on ttys001
aminophen-no-MBP:~ aminophen $
のように $ が表示されるはずです。
「Saisho Yasumasa さんの環境には少なくとも 3 つの TeX 環境がインストールされている」
ということでしょうね…。
・たった今お答えいただいた /usr/local/bin
・TeXShop が認識している /Library/TeX/texbin
・もうひとつのシェル (tcsh) が認識していた /opt/local/bin
一番新しいものを使えるようにしたいので,もう一度
確認させてください。
[A] TeXShop でコンパイルしようとすると,ログに
> This is e-pTeX, Version 3.14159265-p3.8.1-180226-2.6 (utf8.euc) (TeX Live 2018)
のように「TeX Live 2018」と表示される。
[B] TeXShop の設定はこのコメントの通り
> (pdf)TeXが、
> /Library/TeX/texbin
>
> Distillerが
> /usr/local/bin
である。
という状態で正しいですよね? もし両方とも「はい」なら,
昨日述べた直近の目標のとおり /Library/TeX/texbin を最新とみなして,
これをターミナルから呼べるようにする方法をご説明します。
さて、動いたのでそれでよしとするのであれば以下は無視してください。
三つもLaTeX 環境がある件ですが /opt/local のものは macports で/usr/local のものは homebrew でインストールしたのではと想像しています。ストレージ領域を4G 超えの領域を占有している以外は通常は害がないので気にしないのであれば良いのですが。。。
また途中で .bash_profile を調整しましたが内容が一部重複しています。
これも当面は影響はないと思いますが、整理したければ以下のように直すと良いでしょう。
export PATH=/Library/TeX/texbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin
# PATH 環境変数は 主にコマンドライン環境で platex のようにコマンド名で実行しようとした際にそのコマンドと同じファイルがあるディレクトリ検索を行うためのの優先順位つけされたリストです。今回のように /Library/TeX/texbin を最後に指定された場合、以前インストールした/opt/local/bin や /usr/local/bin のフォント切り替えのプログラムが実行されていたのです。この辺は which などのコマンドで調べていたところです。ちなみに現状では which -a platex と行うと四つ表示されると思います。