LyX のエラーについて

LyX のエラーについて

- 中坊 久行 の投稿
返信数: 13
LyX をインストールしDVIで閲覧しようとすると「LyX: LaTeXが失敗しました
外部プログラム
upplatex-no-guess-input-enc-kanji=utf8-svnctex=1がエラーを出して終了しました。
外部プログラムのエラーの原因を取り除いてください。」と出てきます。
LyXのフォルダーは、C:\Program Files\LyX20\bin にあり、TeX類は C:\w32TeX にあり問題無く動作していますが、LyX の対策は、設定等を入れても、手が出ません。
少しでも使い勝手をと思いましたが、上記のエラーについて見つけることができませんでした。もう頭が固くなっていますので、どなたか手ほどきをお願い出来ないでしょうか。
中坊 久行 への返信

Re: LyX のエラーについて

- S T の投稿
LyXを使っていないので、外したら申し訳ありません。
エラーメッセージから推測すると、
LyXの設定で
「uplatex -no-guess-input-enc -kanji=utf8 -synctex=1」とすべきところを「uplatex-no-guess-input-enc-kanji=utf8-synctex=1」と設定してしまっているのではないですか?
確認してみてください。
LaTeXに限らず、一般的にコンピュータの命令において、半角空白には重要な意味があります。
S T への返信

Re: LyX のエラーについて

- 中坊 久行 の投稿
ご親切にお返事くださり有り難うございます。ご指摘の通りに設定しますと通りました。ですが、platexのエラーで "! Class jsarticle Error: You are running upLaTeX.
(jsarticle) Please use pLaTeX instead, or add 'uplatex' to (jsarticle) the class option list." と出てきます。 DVI からは、 "l.232 {\@ehc} Try typing <return> to proceed. If that doesn't work, type X <return> to quit. font file over: c:\w32tex\share\texmf-dist\fonts\vf\uptex-fonts\jis\upjisr-h.vf" のエラーです。
「uplatex」はC:\w32tex\share\texmf-dist\tex\uplatex や C:\w32tex\bin\uplatex.exe 等に入っております。 これらを lyx のフォルダーにコピーする必要があるのでしょうか… このフォルダーは、元lyx16 フォルダーで上書しております。 こうなるともうお手上げです。 申しわけありませんが、もう少しご教授くださるでしょうか。
中坊 久行 への返信

Re: LyX のエラーについて

- 前田 一貴 の投稿
> platexのエラーで "! Class jsarticle Error: You are running upLaTeX.
(jsarticle) Please use pLaTeX instead, or add 'uplatex' to (jsarticle) the class option list." と出てきます。

書いてある通りです.
「あなたは upLaTeX を実行しています.pLaTeX を使うか 'uplatex' をクラスオプションに加えて下さい.」

タイプセットしようとしている原稿が

\documentclass[...]{jsarticle}

から始まっていると思いますが,

\documentclass[uplatex,...]{jsarticle}

のように uplatex オプションを追加して下さい.
前田 一貴 への返信

Re: LyX のエラーについて

- 前田 一貴 の投稿
そういえば LyX なんでしたね.
設定の uplatex を platex に変更した方が手っ取り早いかもしれません.

後半の DVI が云々は私にはよくわかりません.
前田 一貴 への返信

Re: LyX のエラーについて

- 中坊 久行 の投稿
前田様、ありがとうございます。少し意味が分かるようになりました。uplatex をクラスオプションに追加すると、jsarticle で l.232 {\@ehc} が出てストップします。div のみならず 他でも出るようです。これは、他の項目で質問するべきことなのでしょうか。
簡単のつもりがだんだん深入りしているようで…。
中坊 久行 への返信

Re: LyX のエラーについて

- 前田 一貴 の投稿
細かいことがよくわかりませんが,l.232 {\@ehc} というのはおそらく jsarticle.cls の232行目にある
{\@ehc} のことではないかと思います.
uplatex オプションがない場合のエラーです:

! Class jsarticle Error: You are running upLaTeX.
(jsarticle) Please use pLaTeX instead, or add 'uplatex' to
(jsarticle) the class option list.

See the jsarticle class documentation for explanation.
Type H for immediate help.
...

l.232 {\@ehc}

?

これはクラスオプションに uplatex を正しく追加できていれば出ないのではないかと思います.
出続けている場合はオプションの追加が正しくできていません.

"font file over: ..." というのは,DVI のエラーとおっしゃっているのが
dviout が出すエラーメッセージのことならば,おそらく
https://texwiki.texjp.org/?dviout#wadc9abf
に従うとよいのではないかと思います.
前田 一貴 への返信

Re: LyX のエラーについて

- 中坊 久行 の投稿
ご親切に分かりやすく教授くださり感謝に堪えません。もう少し、お聞かせくださるでしょうか。DVI は通るようになりましたが、jsarticle では、やはり同じエラーが出ます。
”Document Class: jsarticle 2016/12/13 okumura, texjporg
! Class jsarticle Error: You are running pLaTeX.
(jsarticle) Please use upLaTeX instead, or remove 'uplatex' from
(jsarticle) the class option list.
See the jsarticle class documentation for explanation.
Type H <return> for immediate help....
l.241 {\@ehc}”
ですが、jarticle では、問題ありません。フォルダーの内容や書き込みは再確認しております。簡単なつもりが、ここまでお世話になり恐縮に存じます。

中坊 久行 への返信

Re: LyX のエラーについて

- 前田 一貴 の投稿
もしかして,
> pLaTeX を使うか 'uplatex' をクラスオプションに加えて下さい.
の両方を実行したのでしょうか?
これはどちらか片方だけを行うのです.
つまり,

・コマンドを platex として,クラスオプションに uplatex を含めない
・コマンドを uplatex として,クラスオプションに uplatex を含める

の2択です.コマンドとオプションが整合していないとエラーになります.
エラーメッセージから察するに,現在の中坊さんの設定は

・コマンドを platex として,クラスオプションに uplatex を含める

となっているのだと思います.
前田 一貴 への返信

Re: LyX のエラーについて

- 中坊 久行 の投稿
前田様 お返事くださり有り難うございます。この浅識な者のために色々と教授くださることに恐縮しております。その後、幾つか試してみましたが、結果は同じでした。
1.\documentclass[a4paper,12pt,twoside]{jsarticle}
2.\documentclass[a4paper,12pt,twoside]{jarticle}
3.\documentclass[uplatex]{jarticle}
4.\documentclass[uplatex,a4paper,12pt,twoside]{jsarticle}
1~3は通りますが、4は "l.241 {\@ehc}" とエラーが出ます。uplatex は、abtexinst にて最新となっており、入ってることだと思いますが、それ以上のことはわかりません。教授いただいたことで、問題点が見えてきたので少しは明るくなったような気がします。




中坊 久行 への返信

Re: LyX のエラーについて

- 前田 一貴 の投稿
1から3はOKなのですね.つまり,platex は問題なく動くようだが,uplatex が使いたいということでよいですか?
最初の S T さんのアドバイス通りに設定したときは uplatex が動いていたわけですから,
もう一度その設定をやり直せば4が通るはずです.
(今は外部プログラムの設定が uplatex ではなく platex になっているはず.)

先に私が書いた通り,uplatex が動くように設定すると,今度は1から3は通らなくなるはずです.
(3の jarticle は uplatex 未対応ですので,uplatex オプションを渡しても意味はないです.)
前田 一貴 への返信

Re: LyX のエラーについて

- 中坊 久行 の投稿
>つまり,platex は問題なく動くようだが,uplatex が使いたいということでよいですか?
lyx を使うために uplatex が出てきたわけですが、jsarticle で十分なのです。それで、STさんのアドバイスに従い書き直しましたが、やはり、{\@ehc} 出てきます。それを、DVI へ「とにかく出力表示」にすれば、DVIでは、
"(A)bort Automatic Font Generation for this file?
(R)etry it for the investigation by executing GEN_TMP.BAT?
(I)gnore this font?"
のエラーで出てきます。
表現も十分できなくて申し訳ございません。
{\@ehc} って何なのでしょう。
lyx の使い方を基本的に間違っているように思います。


中坊 久行 への返信

Re: LyX のエラーについて

- 北見 けん の投稿
> {\@ehc} って何なのでしょう。
に対する説明です。

LaTeX では、動作中にエラーメッセージを出すときに、
生の TeX のエラーメッセージがユーザーに見えないように、
TeX のエラーメッセージシステムに細工をして表示しています。
こうするのは、わたしが想像するに、
LaTeX の内部構造を知らないユーザーに生のエラーメッセージを見せても
混乱のもとになるという配慮からでしょう。

それで、いくつかの状況で使えるエラーメッセージやエラーの際に表示する
ヘラ―ヘルプメッセージを何パターンか保存していて、それを使いまわしています。
\@ehc というのは、Error Help C という意味合いで、
他に \@eha や \@ehb なども用意されています。

その上で、 LaTeX は何とか生の TeX のエラーメッセージを隠そうとするのですが、
どうしても隠し切れずに見えてしまったのが
次のようなエラー例の最後の「l.232 {\@ehc}」です。
LaTeX のエラーとしては、その上の「! Class jsarticle Error:」から始まるものが
肝心のエラーメッセージなので、そこを読んで対処するのがよいと思います。
この例の場合は jsarticle.cls が出しているエラーということになるので、
jsarticle.cls のマニュアルをよく読むのがよいでしょう。
最後の「l.232 {\@ehc}」は、jsarticle.cls の中身を読み解きたいのでもない限り、
気にしない方がよろしいかと。(その場合は、ソースファイルの頭に \errorcontextlines=20
などと入れておいて LaTeX の隠ぺい工作を無効化すると良いでしょう。)

! Class jsarticle Error: You are running upLaTeX.
(jsarticle) Please use pLaTeX instead, or add 'uplatex' to
(jsarticle) the class option list.

See the jsarticle class documentation for explanation.
Type H for immediate help.
...

l.232 {\@ehc}

中坊 久行 への返信

Re: LyX のエラーについて

- 前田 一貴 の投稿
uplatex が使いたいわけではないのですか?
それならば,platex で既に動いているのだからよいのではないかと思うのですが,
何か uplatex でなければならない理由があるのですか?

とは言うものの,私は LyX を使っていないので今まで
uplatex 使用上の一般的な話を書いていたのですが,
どうにも話が通じないようなので,
http://qiita.com/Tats_U_/items/b7d207f6c453899fe29e
を見ながら Windows 8.1 で試してみました.
感想なのですが,設定を変更しようとするとかなり煩雑ですね.

uplatex を使う設定に変更するうえでの注意点ですが,
・ツール>設定 の ファイル処理>変換子 から LaTeX (pLaTeX) -> DVI の変換子と追加フラグを
platex から uplatex に変更するが,変更後は「修正」ボタンを押してから「保存」ボタンを
押さなければ反映されない.
・文書>設定 で「文書クラス」を「日本語Article (jsarticle)」に,
「クラスオプション」を「uplatex」に,「言語」を「日本語」に,
それぞれ変更するが,変更後は「文書の既定値として保存」を押さないと
その文書には反映されない.

とはいえ,中坊さんは一度 uplatex を走らせることがうまくできているので,
この辺りはできないことはないのだろうと思います.
dviout の設定は面倒くさかったので,とりあえず PDF の出力ができる
ところまでは確認しました.