読者です 読者をやめる 読者になる 読者になる

ダウンロードしたTexworksにおけるフォントエラーの直し方

最近買ったデスクトップパソコンでもレポートが書けるように

TeXインストーラ 3からTEXファイルをダウンロードし、Texworksを使ってレポートを書こうとしましたが、プログラムをpdfに変換する際にフォントに関するエラーが発生しました。何とか試行錯誤の末直すことができたのですが、このエラーについて一発で直し方が書いてあるサイトが無く、直していて非常に辛かったので一応自分でやった直し方とその試行錯誤を書いておきます。

エラーの症状

まず、今回エラーが起きた文章はTEXwikiのサンプル文章である

\documentclass{jsarticle}
\begin{document}

吾輩は猫である。名前はまだ無い。

どこで生れたかとんと見当がつかぬ。
何でも薄暗いじめじめした所で
ニャーニャー泣いていた事だけは記憶している。
吾輩はここで始めて人間というものを見た。

\end{document}

 です。文章は何でも良いのですが、documentclassがjsarticleの場合にエラー起こり、それを直したため、ほかのdocumentclassでは治らないかもしれません。

そして発生したエラーメッセージが

This is e-pTeX, Version 3.14159265-p3.7-150805-2.6 (utf8.sjis) (TeX Live 2015/W32TeX) (preloaded format=platex)
restricted \write18 enabled.
entering extended mode
(./TeX文書 1.tex
pLaTeX2e <2006/11/10> (based on LaTeX2e <2015/10/01> patch level 2)
Babel <3.9m> and hyphenation patterns for 79 languages loaded.
(c:/w32tex/share/texmf-dist/tex/platex/jsclasses/jsarticle.clsname = cmr8, rootname = cmr, pointsize = 8
mktexmf: empty or non-existent rootfile!

kpathsea: Running mktexmf cmr8.mf

The command name is C:\w32tex\bin\mktexmf
Cannot find cmr8.mf.

Document Class: jsarticle 2014/02/07 okumura
! Font OT1/cmr/m/n/8=cmr8 at 8.0pt not loadable: Metric (TFM) file not found.
<to be read again>
relax
l.760 {\footnotesize
\global\setlength\footnotesep{\baselineskip}}
?

というものだと思います。※正直これはエラーを直した後、もう一度元の状態に近づけた時に発生したエラーメッセージなのでもしかしたら違うかもしれません。

試行錯誤

※ここの文章は「どうしてそういう直し方になったのか」の過程を書いているだけなので、直し方が早く知りたい人は読み飛ばしてください。

 

エラーメッセージの太字の部分がエラーの原因だと思い、それを読み解くと、

C:\w32tex\bin\mktexmfの内部にあるcmr8.mfというファイル(青い部分から推察するにフォントのファイル)が存在しないためpdf表示できません

というものだと思いC:\w32tex\binのフォルダを見ると、mktexmfのフォルダがありませんでした。なので、新しくmktexmfというフォルダを作成し、cmr8.mfをダウンロードしてそのフォルダ内に保存しましたが、全く効果がありませんでした。

・cmr8.mfはhttp://www.ctan.org/tex-archive/fonts/cm/mfで入手できます

しばらくtex フォント エラーで検索していると

W32Tex や Asymptote の導入(インストール)に成功するまで経緯(1) ( ソフトウェア ) - wabin氏 の ブログ - Yahoo!ブログ

というサイトにcmr8.mfファイルは

C:\w32tex\share\texmf-local\fonts\source\public\cm\mf

の様に定めたフォルダに保存したと書いてあったため、自分のtexファイルにおいて似た場所に保存しようと考え、texmf-localにはREADMEファイルしかなかったため、texmf-distフォルダにおいて、同じようなPATHを辿ると、

f:id:thinkingichthyostega:20151107233602p:plain上の画像のような分岐でcmフォルダがないためPATHが分からなくなります。

そこで、cmr8.mfが保存されているフォルダはcmのついたファイルがたくさんあるに違いないと思い、それぞれのフォルダを虱潰しに捜したところ、gothicフォルダにcmのついたファイルがたくさんあったため、「多分cmr8.mfはゴシックフォントのファイルなんだろう」と思いそこに保存しました。そして、texworksをもう一度起動すると、

f:id:thinkingichthyostega:20151107235038p:plain

若干進展してる!

次は「cmbaseが足りない」と書いてあるためcmbase.mfをまたcmr8.mfのある

C:\w32tex\share\texmf-dist\fonts\source\public\gothicフォルダに保存しtexworksを起動、

すると同じようにcmr10.mf、roman.mf、romanu.mfも要求されるため、また

C:\w32tex\share\texmf-dist\fonts\source\public\gothicフォルダに保存しtexworksを起動。

・cmbase.mf、cmr10.mf、roman.mf、romanu.mfはどれもcmr8.mfと同じサイトで入手できます

すると、エラーログファイルが

This is e-pTeX, Version 3.14159265-p3.7-150805-2.6 (utf8.sjis) (TeX Live 2015/W32TeX) (preloaded format=platex)
restricted \write18 enabled.
entering extended mode
(./TeX文書 1.tex
pLaTeX2e <2006/11/10> (based on LaTeX2e <2015/10/01> patch level 2)
Babel <3.9m> and hyphenation patterns for 79 languages loaded.
(c:/w32tex/share/texmf-dist/tex/platex/jsclasses/jsarticle.cls
Document Class: jsarticle 2014/02/07 okumura
) (./TeX文書 1.aux) [1] (./TeX文書 1.aux) )
Output written on "TeX文書 1.dvi" (1 page, 548 bytes).
SyncTeX written on "TeX���� 1.synctex.gz"
Transcript written on "TeX文書 1.log".
(guessed encoding: Shift_JIS = sjis)(guessed encoding: ISO-2022-JP = jis)TeX���� 1 -> TeX���� 1.pdf
[1
dvipdfmx:fatal: Could not find encoding file "H".

Output file removed.

となり、青色の文字の部分はよくtexファイルがpdf変換されたときに見るものなので、一応texファイルが出力されたことが分かります。

しかし、実際にはその下の赤文字でOutput file removedと書いてあるようにpdfファイルは削除されてしまい、見ることはできません。

多分問題は赤太字の行に書いてある

dvipdfmx:fatal: Could not find encoding file "H".

であると思い、これで検索してみると割とたくさんの日本語ページがヒットします。

なので、情報がたくさんあり、今までより楽に調べることができます。

調べてみると、

【LaTeX】「dvipdfmx:fatal: Could not find encoding file “H”.」エラーについて調査メモ

というサイトにその原因が

  • C:\w32tex\share\texmf-dist\fonts\cmapフォルダにadobemappingフォルダが存在しない
  • 旧式のインストーラーにおいてweb2c-lib.tar.xzファイルが抜けている

のどちらかであると、書いており、自分のフォルダーを調べるとadobemappingフォルダが抜けていたため、前者が原因であることが分かりました。

・web2c-lib.tar.xzファイルC:\w32tex\downloadフォルダに保存されていたため、もしweb2c-lib.tar.xzファイルが抜けていた場合そこに保存してください

よってadobemappingフォルダをダウンロードし、C:\w32tex\share\texmf-dist\fonts\cmapフォルダ(下の画像の場所)に保存する

・adobemappingフォルダはhttp://www.ctan.org/pkg/adobemappingでダウンロードできます

f:id:thinkingichthyostega:20151108003331p:plain

そしてtexworksを起動させると、エラーメッセージが

This is e-pTeX, Version 3.14159265-p3.7-150805-2.6 (utf8.sjis) (TeX Live 2015/W32TeX) (preloaded format=platex)
restricted \write18 enabled.
entering extended mode
(./TeX文書 1.tex
pLaTeX2e <2006/11/10> (based on LaTeX2e <2015/10/01> patch level 2)
Babel <3.9m> and hyphenation patterns for 79 languages loaded.
(c:/w32tex/share/texmf-dist/tex/platex/jsclasses/jsarticle.cls
Document Class: jsarticle 2014/02/07 okumura
) (./TeX文書 1.aux) [1] (./TeX文書 1.aux) )
Output written on "TeX文書 1.dvi" (1 page, 548 bytes).
SyncTeX written on "TeX���� 1.synctex.gz"
Transcript written on "TeX文書 1.log".
(guessed encoding: Shift_JIS = sjis)(guessed encoding: ISO-2022-JP = jis)TeX���� 1 -> TeX���� 1.pdf
[1
dvipdfmx:fatal: Unable to find TFM file "cmr10".

Output file removed.

 となっておりさっき

dvipdfmx:fatal: Could not find encoding file "H".

だった場所が

dvipdfmx:fatal: Unable to find TFM file "cmr10".

に置き換わっています。

このcmr10.tfmファイルは検索するとなんか英語の掲示板の

http://latex-community.org/forum/viewtopic.php?f=48&t=5570

というサイトに

http://www.ctan.org/tex-archive/fonts/cm/ps-type1/bakoma/tfm

でダウンロードできると書いてあるためそこでダウンロードし、

下の画像の場所にtfmフォルダがあるため

f:id:thinkingichthyostega:20151108004853p:plain

そこからcmr8.mfと同じように\public\gothicと進むと下の画像

f:id:thinkingichthyostega:20151108005242p:plain

の場所に移動し、ここにcmr8.tfmが存在するためcmr10.tfmを保存します。

そしてtexworksを起動すると

f:id:thinkingichthyostega:20151108005427p:plain

やっとpdfファイルを出力することができました。

 

試行錯誤(その後)

ここに載せるためのtexworksのエラー文章を出すために、これまでに出てきたファイルやフォルダをいろいろいじってみたのですが、実は

C:\w32tex\share\texmf-dist\fonts\source\public\gothicフォルダ内の

cmr8.mf, cmr10.mf, cmbase.mf, roman.mf, romanu.mfファイルを削除してもちゃんとtexworksが作動しました。よってadobemappingフォルダとcmr8.tfmとcmr10.tfmが存在すればちゃんと動作するみたいです。

また、adobemappingフォルダはcmr8.mfファイルが存在するとき、cmr8.tfmファイルを

C:\w32tex\share\texmf-dist\fonts\tfm\public\gothic

に作成してくれるみたいです。しかし、cmr8.mfファイルが存在しない場合は作成してくれないため、cmr8.mfファイルまたはcmr8.tfmファイルを用意しましょう。

 

対処法

その1

cmr8.tfmとcmr10.tfmファイルを

http://www.ctan.org/tex-archive/fonts/cm/ps-type1/bakoma/tfm

からダウンロードしてC:\w32tex\share\texmf-dist\fonts\tfm\public\gothic に保存する。

 

その2

adobemappingフォルダを

http://www.ctan.org/pkg/adobemapping

からダウンロードして解凍しC:\w32tex\share\texmf-dist\fonts\cmap に保存する

 

多分これで同じ問題を抱えていた人はtexworksを利用できるようになったと思います。

(できませんでした。詳しくはその②

ダウンロードしたTexworksにおけるフォントエラーの直し方 その② - 午後のイクチオステガ

を見てください・・・)

 

わざわざこんな長文を読んでいただきありがとうございます。