実現したいこと
・otfパッケージを使えるようになること
使用環境
Windows10/64bit版
TeXLive2021(インターネットインストーラを使用しました)
Visual Studio Code上でLaTeX Workshopという拡張機能を用いて書いています
問題・エラーコード
プリアンブルで\usepackage{otf}を含めた文書をビルドしようとするとエラーとなり、
Transcript written on Untitled-3.log. (guessed encoding: UTF-8 = utf8)(guessed encoding: UTF-8 = utf8)(guessed encoding: UTF-8 = utf8)(guessed encoding: UTF-8 = utf8)(guessed encoding: UTF-8 = utf8)(guessed encoding: ISO-2022-JP = jis)name = hminr-h, rootname = hminr-h, pointsize = mktexmf: empty or non-existent rootfile! kpathsea: Running mktexmf hminr-h.mf The command name is C:\texlive\2021\bin\win32\mktexmf Cannot find hminr-h.mf . I try ps2pk --> gsftopk --> ttf2pk --> hbf2gf. Current font seems to be a Japanese one. I give up to create a PK font. Untitled-3.dvi -> Untitled-3.pdf [1 kpathsea: Running mktexpk --mfmode / --bdpi 600 --mag 1+359/600 --dpi 959 hminr-h The command name is C:\texlive\2021\bin\win32\mktexpk kpathsea: Appending font creation commands to missfont.log. dvipdfmx:warning: Could not locate a virtual/physical font for TFM "hminr-h". dvipdfmx:warning: >> There are no valid font mapping entry for this font. dvipdfmx:warning: >> Font file name "hminr-h" was assumed but failed to locate that font. dvipdfmx:fatal: Cannot proceed without .vf or "physical" font for PDF output... No output PDF file written. ptex2pdf processing of c:/Users/UT/Downloads/LaTeX/Untitled-3 failed.
とでます。
上のエラーコードを確認する限り、フォント関連のファイルに問題があると思われるのですが、
hminr-h.mfについてどのような処置を施せばいいのかがわかりません。(既存のファイルの書き換えか、新たにファイルをとりこむのか、という話です)
ご教授ください。
情報不足失礼いたしました。添付ファイルにtex文書とlogを載せました。
settings.jsonは
{
// 設定: LaTeX Workshop
"latex-workshop.latex.tools":[
{
"command": "ptex2pdf",
"args": ["-l", "-ot", "-kanji=utf8 -synctex=1", "%DOC%"],
"name": "Step 1: ptex2pdf"
},
{
"command": "pbibtex",
"args": ["%DOCFILE%", "-kanji=utf8"],
"name": "Step 2: pbibtex"
},
{
"command": "ptex2pdf",
"args": ["-l", "-ot", "-kanji=utf8 -synctex=1", "%DOC%"],
"name": "Step 3: ptex2pdf"
},
{
"command": "ptex2pdf",
"args": ["-l", "-ot", "-kanji=utf8 -synctex=1", "%DOC%"],
"name": "Step 4: ptex2pdf"
},
{
"command": "ptex2pdf",
"args": ["-l", "-ot", "-kanji=utf8 -synctex=1", "%DOC%"],
"name": "ptex2pdf"
},
{
"name":"ptex2pdf (uplatex)",
"command": "ptex2pdf",
"args": ["-l","-u","-ot","-kanji=utf8 -synctex=1","%DOC%"]
},
{
"name": "bibtex",
"command": "bibtex",
"args": ["%DOCFILE%"],
}
],
"latex-workshop.latex.recipes": [
{
"name": "pt2p-pt2p",
"tools": [
"ptex2pdf",//タイプセットに使うtoolの名前
"ptex2pdf"
]
},
{
"name": "pt2p-bib-pt2p-pt2p",
"tools": [
"Step 1: ptex2pdf",
"Step 2: pbibtex",
"Step 3: ptex2pdf",
"Step 4: ptex2pdf"
]
}
],
"latex-workshop.latex.clean.fileTypes": [
"*.aux", "*.bbl", "*.blg", "*.idx", "*.ind", "*.lof", "*.lot", "*.out", "*.toc", "*.acn", "*.acr", "*.alg", "*.glg", "*.glo", "*.gls", "*.ist", "*.fls", "*.log", "*.fdb_latexmk", "*.synctex.gz",
// for Beamer files
"_minted*", "*.nav", "*.snm", "*.vrb",
],
"latex-workshop.view.pdf.viewer": "tab",
"latex-workshop.latex.autoClean.run": "onFailed",
"latex-workshop.latex.clean.enabled": true, //上とぶつからないかな?auxiliaryファイル削除
"latex-workshop.latex.autoBuild.run": "never",
"security.workspace.trust.untrustedFiles": "open",
}
で.latexmkrcファイルの設定は
!/usr/bin/env perl if ($^O eq 'MSWin32')
{ $latex = 'platex %O -kanji=utf8 -no-guess-input-enc -synctex=1 -interaction=nonstopmode %S'; $pdflatex = 'pdflatex %O -synctex=1 -interaction=nonstopmode %S';
$lualatex = 'lualatex %O -synctex=1 -interaction=nonstopmode %S';
$xelatex = 'xelatex %O -synctex=1 -interaction=nonstopmode %S';
$biber = 'biber %O --bblencoding=utf8 -u -U --output_safechars %B';
$bibtex = 'upbibtex %O %B'; $makeindex = 'upmendex %O -o %D %S';
$dvipdf = 'dvipdfmx %O -o %D %S';
$dvips = 'dvips %O -z -f %S | convbkmk -u > %D';
$ps2pdf = 'ps2pdf.exe %O %S %D';
$pdf_mode = 3; if (-f 'C:/Program Files/SumatraPDF/SumatraPDF.exe') { $pdf_previewer = '"C:/Program Files/SumatraPDF/SumatraPDF.exe" -reuse-instance'; }
elsif (-f 'C:/Program Files (x86)/SumatraPDF/SumatraPDF.exe')
{ $pdf_previewer = '"C:/Program Files (x86)/SumatraPDF/SumatraPDF.exe" -reuse-instance'; }
else { $pdf_previewer = 'texworks'; } }
else { $latex = 'uplatex %O -synctex=1 -interaction=nonstopmode %S'; $pdflatex = 'pdflatex %O -synctex=1 -interaction=nonstopmode %S';
$lualatex = 'lualatex %O -synctex=1 -interaction=nonstopmode %S';
$xelatex = 'xelatex %O -synctex=1 -interaction=nonstopmode %S';
$biber = 'biber %O --bblencoding=utf8 -u -U --output_safechars %B';
$bibtex = 'upbibtex %O %B';
$makeindex = 'upmendex %O -o %D %S';
$dvipdf = 'dvipdfmx %O -o %D %S';
$dvips = 'dvips %O -z -f %S | convbkmk -u > %D';
$ps2pdf = 'ps2pdf %O %S %D';
$pdf_mode = 3; if ($^O eq 'darwin') { $pvc_view_file_via_temporary = 0; $pdf_previewer = 'open -ga /Applications/Skim.app'; }
else { $pdf_previewer = 'xdg-open'; } }
です。
- texlive インストールは正常に終了しましたか?
- ネットワークインストールの場合、時々一部のパッケージのダウンロードに失敗することがあります
- その際には終了時、インストール再開の手順などが表示されるのでそれに従うことでインストールできます
- texlive インストール後に拡張子 .map のファイルを編集したり updmap-sys.exe とか updmap-user.exe に関わる操作はしませんでしたか?
- 通常は hminr-h.tfm と表示されるのが hminr-h.mf となっていたので、これに関する文字列は kanji.map にあるのでそれを編集されたか確認をしたいです
提示された settings.json で動きますか?
- json フォーマットに必要な 「{」「}」「:」「,」 が提示された setting.json にはありません。投稿することによって消えたのかな?
- ちょっとはしょたり冗長的なところを統合したりしてありますが、以下のように書き換えて動作することを確認しました
{ "latex-workshop.latex.tools": [ { "name": "ptex2pdf", "command": "ptex2pdf", "args": [ "-l", "-ot", "-synctex=1", "%DOC%" ], "env": {} }, { "name": "pbibtex", "command": "pbibtex", "args": [ "-kanji=utf8", "%DOC%" ], "env": {} } ], "latex-workshop.latex.recipes": [ { "name": "pt2p-pt2p", "tools": [ "ptex2pdf", "ptex2pdf" ] }, { "name": "pt2p-bib-pt2p-pt2p", "tools": [ "ptex2pdf", "pbibtex", "ptex2pdf", "ptex2pdf" ] } ] }
vscode を利用するのではなく cmd プロンプトや powershell ・ vscode のコンソールでまず texlive で OTF が使えるか試すため以下の コマンドラインで実行してください。
cd c:\Users\UT\Downloads\LaTeX ptex2pdf -l Untitled-3
- 上記でエラーになるのであれば、texlive インストール時の問題の可能性がありますので以下のコマンドの結果をファイルにリダイレクトして添付してください。(量が多いので、貼り付けには適していないので)
updmap-sys.exe
pdf が作成された場合は、おそらく settings.json の記述の問題と思いますので以下を参考に再検討してください
- https://texwiki.texjp.org/?Visual%20Studio%20Code%2FLaTeX
提示された .latexmkrc ですが、コピーする際の最初の「#」が選択範囲に入れ忘れたのでしょうか?
- 今回は latexmk を使わないのですが、今後利用されるのなら「!」で始めるのではなく「#!」とした方が良いでしょう
ログファイルの先頭部分が欠損しているように思いますが、今回は再送は不要です。また.latexmkrc などインデントされているファイルは、コピペで貼り付けるより、添付ファイルにしていただけると助かります。
丁寧なご返信ありがとうございます。プログラミングやコンピュータについての知識が乏しく、TeXについても詳しくは理解していないが故のお見苦しい点があったことをお詫びします。
texliveについては、正常にインストールが完了したと思われます。
以前pLaTeXで文書を作成していた際、と
The command name is C:\texlive\2021\bin\win32\mktexmf
Cannot find rml.mf . I try ps2pk --> gsftopk --> ttf2pk --> hbf2gf.
Current font seems to be a Japanese one.
I give up to create a PK font. dvipdfmx:warning: Couldn't open font map file "pdftex.map".
dvipdfmx:warning: Couldn't open font map file "kanjix.map". sample.dvi -> sample.pdf
といったエラーコードが出てしまい日本語を含む文書がコンパイルできませんでした。この時、
C:\texlive\2021\texmf-dist\dvipdfmx
のdvipdfmx.cfgのコード内で添付ファイルのdvipdfmx_changed.txtに書かれているように書き換えを行いました。確か、pdftex.mapとkanjix.mapの行頭に%を加えてコメントアウトしたと思います。これで(理由はよくわかっていないのですが)日本語文書をコンパイルできるようになりました。
settings.jsonの欠陥はペースト時の問題だと思われます。申し訳ありません。正常に動きます。
cd c:\Users\UT\Downloads\LaTeX ptex2pdf -l Untitled-3
- >texliveについては、正常にインストールが完了したと思われます。
- いくつか設定を変えているようなので、うまくいかないようであれば
texlive の uninstall して改めて install した方が早い解決になるかと
思います。
- 再インストールの際は作業中のダウンロード失敗に巻き込まれなくす
るためには ISO イメージからの作業も検討してください。
昨今のハードウェア環境では 30 分から 1 時間程度で終了します。
その後 tlmgr update --self --all でネットワークインストールと同じ
になります。
- 提供情報 updmap-sys-1.txt にある frenchtab.map のエラーを見
ると以下のような操作行っていませんか?
updmap-user -enable Map frenchtab.map
あるいは
updmap-sys -enable Map frenchtab.map
これが原因の一つかもしれません。この frenchtab.map は
https://www.ctan.org/pkg/musixtex の
https://mirrors.ctan.org/macros/musixtex.zip に含まれている
ものセットアップしたと思いますが、エラーのメッセージの最後に
「Did you run mktexlsr?」と書かれていますが 「mktexlsr」を
実施しましたか?
これを実施後「 kpsewhich frenchtab.map」でパスが表示される
ことを確認の上「updmap-sys.exe」を実行してみてください
- dvipdfmx.cfg の変更しても日本語が出力できるのならそれで良い
のですが、texlive 2021 インストール後、追加インストールしたも
のや設定変更を行なった作業は思い出せますか?その作業の中に何
か原因があるのかもしれません。
時間がかかるようでしたら、冒頭にも書きましたがさインストール
も検討してください。
- いくつか設定を変えているようなので、うまくいかないようであれば
texlive の uninstall して改めて install した方が早い解決になるかと
思います。
- 再インストールの際は作業中のダウンロード失敗に巻き込まれなくす
るためには ISO イメージからの作業も検討してください。
昨今のハードウェア環境では 30 分から 1 時間程度で終了します。
その後 tlmgr update --self --all でネットワークインストールと同じ
になります。
- 提供情報 updmap-sys-1.txt にある frenchtab.map のエラーを見
ると以下のような操作行っていませんか?
updmap-user -enable Map frenchtab.map
あるいは
updmap-sys -enable Map frenchtab.map
これが原因の一つかもしれません。この frenchtab.map は
https://www.ctan.org/pkg/musixtex の
https://mirrors.ctan.org/macros/musixtex.zip に含まれている
ものセットアップしたと思いますが、エラーのメッセージの最後に
「Did you run mktexlsr?」と書かれていますが 「mktexlsr」を
実施しましたか?
これを実施後「 kpsewhich frenchtab.map」でパスが表示される
ことを確認の上「updmap-sys.exe」を実行してみてください
- dvipdfmx.cfg の変更しても日本語が出力できるのならそれで良い
のですが、texlive 2021 インストール後、追加インストールしたも
のや設定変更を行なった作業は思い出せますか?その作業の中に何
か原因があるのかもしれません。
時間がかかるようでしたら、冒頭にも書きましたがさインストール
も検討してください。
- dvipdfmx.cfg を森さんと同じようにして 問題の Untitle-3 を
コンパイルしたのですが、エラーなど発生しませんでした
→ 他にもどこかを変更していると想定しています
--- C:\texlive\2021\texmf-dist\dvipdfmx\dvipdfmx.cfg.backup 2021-07-28 21:10:21.
+++ C:\texlive\2021\texmf-dist\dvipdfmx\dvipdfmx.cfg 2021-07-29 16:25:42
@@ -206,7 +206,7 @@
%% Font Map Files
%%
%% teTeX 2.x and TeX Live using updmap (pdfTeX format)
-f pdftex.map
+%% f pdftex.map
%% teTeX 2.x and TeX Live using updmap (DVIPDFM format)
%f dvipdfm.map
@@ -216,11 +216,11 @@
%f psfonts.map
%% Put additional fontmap files here (usually for Type0 fonts)
-%f cid-x.map
+f cid-x.map
% the following file is generated by updmap(-sys) from the
% KanjiMap entries in the updmap.cfg file.
-f kanjix.map
+%% f kanjix.map
% minimal example for Chinese and Korean users
% improvements please to tex-live@tug.org
f ckx.map
- > この後何をすれば
書いたつもりですが、伝わらなかったようなので追加も含めて ...
1. texlive 2021 インストール後に frenchtab.map などを配置など
追加変更の洗い出しとやり直し
- 変更したファイルや操作
- 参考にした 書籍やURL などの情報も必要になる場合もあります
- なぜ kanjix.map をコメントして cid-x.map を活かしたかの理由 ... のようなこと
- ...
2. 1. が困難であれば、一旦texlive2021を再インストール(早期解決ならこっちをお勧め)
- 変更するファイルは必ずバックアップを取る
- frenchtab.map のように追加する場合は各種情報を記録しておく
- 入手URL情報
- インストール・配置の手順
- ....
コンパイルしたのですが、エラーなど発生しませんでした
→ 他にもどこかを変更していると想定しています
--- C:\texlive\2021\texmf-dist\dvipdfmx\dvipdfmx.cfg.backup 2021-07-28 21:10:21.
+++ C:\texlive\2021\texmf-dist\dvipdfmx\dvipdfmx.cfg 2021-07-29 16:25:42
@@ -206,7 +206,7 @@
%% Font Map Files
%%
%% teTeX 2.x and TeX Live using updmap (pdfTeX format)
-f pdftex.map
+%% f pdftex.map
%% teTeX 2.x and TeX Live using updmap (DVIPDFM format)
%f dvipdfm.map
@@ -216,11 +216,11 @@
%f psfonts.map
%% Put additional fontmap files here (usually for Type0 fonts)
-%f cid-x.map
+f cid-x.map
% the following file is generated by updmap(-sys) from the
% KanjiMap entries in the updmap.cfg file.
-f kanjix.map
+%% f kanjix.map
% minimal example for Chinese and Korean users
% improvements please to tex-live@tug.org
f ckx.map
- > この後何をすれば
書いたつもりですが、伝わらなかったようなので追加も含めて ...
1. texlive 2021 インストール後に frenchtab.map などを配置など
追加変更の洗い出しとやり直し
- 変更したファイルや操作
- 参考にした 書籍やURL などの情報も必要になる場合もあります
- なぜ kanjix.map をコメントして cid-x.map を活かしたかの理由 ... のようなこと
- ...
2. 1. が困難であれば、一旦texlive2021を再インストール(早期解決ならこっちをお勧め)
- 変更するファイルは必ずバックアップを取る
- frenchtab.map のように追加する場合は各種情報を記録しておく
- 入手URL情報
- インストール・配置の手順
- ....
そのほうが早いと思います。
お節介な情報ですがオープンソースなものを扱うとき
git というものを最近よく聞くと思います。
これを利用すると、どこを修正したとか、削除したファイルや追加した
ファイルなどの情報が後から容易に取得できます。
なお latex / texlive とは直接は関係ないのでスルーしていただいて結構です。
初期手順
0. git のインストールはインターネット検索で調べてください
1. 管理者権限付きで cmd か powershell 起動
2. cd C:\texlive\2021
3. git init
4. git add .
5. git commit -am 'はじめの一歩'
以上の操作で mail address や名前に関する設定をしろという警告は
とりあえず無視して良いです
これで変更情報を調べる準備終了
いろいろ修正したら次の「 git status」「git diff 」で変更内容を確認
することができます。(いちいちバックアップを取得する必要ありません)
cd C:\texlive/2021
git status 変更されたファイルや削除・追加された情報が表示される
mktexlsr や updump-sys などで自動生成されるものも修正と表示されます
git diff 変更された差分情報の表示
ちょっと便利なところ
修正されたものは 「git checkout ファイルパス」とすることで
簡単にもとに戻せます。
後始末
C:\texlive\2021 に .git という隠しディレクトリが作成されています。
容量も相当数あるので、設定がうまくできたら削除してください
お節介な情報ですがオープンソースなものを扱うとき
git というものを最近よく聞くと思います。
これを利用すると、どこを修正したとか、削除したファイルや追加した
ファイルなどの情報が後から容易に取得できます。
なお latex / texlive とは直接は関係ないのでスルーしていただいて結構です。
初期手順
0. git のインストールはインターネット検索で調べてください
1. 管理者権限付きで cmd か powershell 起動
2. cd C:\texlive\2021
3. git init
4. git add .
5. git commit -am 'はじめの一歩'
以上の操作で mail address や名前に関する設定をしろという警告は
とりあえず無視して良いです
これで変更情報を調べる準備終了
いろいろ修正したら次の「 git status」「git diff 」で変更内容を確認
することができます。(いちいちバックアップを取得する必要ありません)
cd C:\texlive/2021
git status 変更されたファイルや削除・追加された情報が表示される
mktexlsr や updump-sys などで自動生成されるものも修正と表示されます
git diff 変更された差分情報の表示
ちょっと便利なところ
修正されたものは 「git checkout ファイルパス」とすることで
簡単にもとに戻せます。
後始末
C:\texlive\2021 に .git という隠しディレクトリが作成されています。
容量も相当数あるので、設定がうまくできたら削除してください
クローズしたのですが、git 利用に関して他のスレッド対応で判明したので備忘録として
今回、VMware Fusion 環境で c:\texlive\2021 以下をgit 管理して調べようとしました。(ホストは macOS です)
texlive の多くのファイルが CRLF の問題で警告を都度表示するので実用的な時間では処理できないとの判断をしました。
原因の一つは仮想環境もあるのですが、紹介した git を利用した方法は texlive 以下に収められているファイルの変更情報を把握するのには適さない ので取り下げします。 :-(
勿論対処方法はあるらしいのですが、手軽に利用できないことも取り下げの理由です。
みなさんが作成される latex のソース履歴管理には問題ないとは思います.