Macでのコンパイルエラーについて

Macでのコンパイルエラーについて

- 荻原 洋介 の投稿
返信数: 27
『美文書作成入門改訂第7版』のDVDからTeXをインストールしました.
TeX Shopを利用していますが,コンパイルの際に次のようなメッセージが出ることがあります.

This is ptex2pdf[.lua] version 20170622.0.
File cannot be found with kpathsea: Euclidean-algorithm.tex[.tex, .ltx]

Euclidean-algorithmは私の作成したファイル名です.

このメッセージや,突然書き込み権限が無くなったりします.
このようなエラーの後に,一度閉じて,再度開くとコンパイルができます.

OSをCatalinaにしてから出てきたエラーです.解消方法はありますでしょうか?

なお,Calalina以前の時には,第6版のものを利用していました.

ご助言お願いできればと思います.
荻原 洋介 への返信

Re: Macでのコンパイルエラーについて

- NISHITANI Jumpei の投稿
その文書のTeXファイル一式というかフォルダを、iCloud同期の対象になっていない場所に移動した上でコンパイルしたらうまくいくかもしれません。

iCloudで同期をしていて、最適化?をしていると、アイコンだけ残して片っ端から手元のパソコンからファイル本体が消えていく=クラウド化されちゃうので、TeXが利用できないことがあったりします。
NISHITANI Jumpei への返信

Re: Macでのコンパイルエラーについて

- 荻原 洋介 の投稿
ありがとうございます.
ファイルは全てUSBで行っているのですが,それもダメなのでしょうか?

初歩的な質問で申し訳ございません.

システム環境で,icloud同期を外しているつもりなのですが.
荻原 洋介 への返信

Re: Macでのコンパイルエラーについて

- 和田 勇 の投稿
■USB の内容をコピーするとどうなるのでしょうか

■コピペよりも的確な情報が得られそうなので敢えて内部で扱っている情報を取り出す方法で調べています。

「保存」した時のディレクトリの情報はターミナルで以下のコマンドを実行すると分かります。(警告メッセージが出たら $HOME/Documents のようですが)

  defaults read TeXshop NSNavLastRootDirectory

例えば以下のように表示されるのですが

NSNavLastRootDirectory = "~/Documents/test;

そのディレクトリに Euclidean-algorithm.tex はあるのですよね。
ターミナルでこのディレクトリに移動して

ptex2pdf Euclidean-algorithm

とやってみるとどうなりますか?


□■■□さて、今のところ憶測ですが ...

kpathsea も ptex2pdf も利用できているので texlive 自体はシステム設定のセキュリティ要件をパスしていると思います。

ちょっと横道にそれますが
emacs でもCatalina にしたらアチコッチのファイルが開けなくなり調べると ruby が影響していましたので、これを登録すると無事開けるようになりました。

本題に戻ると lua が同様に引っかかっている可能性が考えられます。
which lua したものをセキュリティ要件に加えると治るかもしれません。
が、この意見、私の環境ではパスしているようなのでまだ眉唾状態。



和田 勇 への返信

Re: Macでのコンパイルエラーについて

- 奥村 晴彦 の投稿
> ちょっと横道にそれますが
> emacs でもCatalina にしたらアチコッチのファイルが開けなくなり調べると ruby が影響していましたので、これを登録すると無事開けるようになりました。

そのあたりとても興味があります。そういえば私もCatalinaにしてからEmacsで新しいボリュームにアクセスしようとすると許可を求めるダイアログボックスが出たような記憶があります。OKすれば問題なく使えるので気にしていませんでした。/usr/bin/rubyは標準で入っていると思いますが,これを「登録する」というのはどういうことでしょうか?

なお,TeXは普通に使えているので元のご質問についてはよくわかりません。すみません。
奥村 晴彦 への返信

Re: Macでのコンパイルエラーについて

- 和田 勇 の投稿
情報源は https://emacs.stackexchange.com/questions/53026/how-to-restore-file-system-access-in-macos-catalina

確かに奥村さんがおっしゃるようにファインダーを emacs から起動するとオープンできるのですが、度重なるとその操作も面倒なので調べていたら上記の URL にたどり着きました。

#実はベータ版の時からこの動きはわかっていたのですが、対処方法がその時は見つからず、カタリナに移行するのを随分躊躇していましたが、この対処で解消して emacs を使っています。


簡単なのは

  open /usr/bin

  として /usr/bin をファインダーに表示させといて
  「セキュリティとプライバシ」→「フルディスクアクセス」をクリックして表示される右のパンに ruby をドラックアンドドロップする

でできます。
和田 勇 への返信

Re: Macでのコンパイルエラーについて

- 奥村 晴彦 の投稿
和田さま,ありがとうございます。

うちではEmacsからdiredで一覧したりC-x C-fで開いたりしているのですが,ちゃんとポップアップが出たと思います。3台くらい使っていますが特に問題ありません。不思議です。
奥村 晴彦 への返信

Re: Macでのコンパイルエラーについて

- 和田 勇 の投稿
回答とは別ですが私の方は
「ポップアップは多分出ないようにしている(多分 :-) )」
を好んでいるからカスタマイズしていないけど

 ns-open-file-using-panel

を引っ掛けていませんか?
こっちの情報は
https://blog.n-z.jp/blog/2019-11-06-catalina-emacs-permission.html

それに Prelude ベースに結構カスタマイズしていて
「foo bar」というように空白で区切って曖昧検索というか部分検索でファイル(だけじゃないけど)特定ができるようにしているのもあるし
ポップアップでマウス操作を強要されるのも嫌だというのもあるかな。
(この辺の検索とかに ruby が使われているのかなと思ったりしています :-) )
和田 勇 への返信

Re: Macでのコンパイルエラーについて

- 奥村 晴彦 の投稿
Emacsについてありがとうございます。私のほうはソースからビルドしたもので,今使っているのは昨年ビルドした26.1です。何のカスタマイズもしていないはずなのですが,不思議です。

元のご質問で気がついたのですが,USBメモリで作業するのはCatalinaでなくても怖いような気がしました。Catalinaについては,デスクトップや書類フォルダをiCloud Driveと同期するので,それらのフォルダでの作業もトラブルにつながりそうです(私は同期を切っています)。
奥村 晴彦 への返信

Re: Macでのコンパイルエラーについて

- 和田 勇 の投稿
■USBメモリ
そうですね、懸念されるようなことは考えられますね。

■iCloud 同期
iCloud ができた頃、アドレス帳が全部持っていかれ、そんなものネットワーク上にあるには嫌だなと思い基本切っていますが、今はメール・カレンダ・Safariくらいにとどめています。(重要なメールは都度ローカルに移動はさせてはいますが)

さて最近は大容量のストレージ搭載しているタイムカプセルを接続しそれををベースに rsync したり git でバックアップやバージョン作りながらいろいろやるように心がけるようにしています。

なので USBメモリを使うことは稀になりましいたね。

■ emacs find file
ちょっとまえに 27 がうまくコンパイルできなくなって別の用件もあったので今はプリコンパイルの 26.3 を使っています。(twitter ではうまくできるようになっているようなので休み中にリコンパイルしてみようかな)

さて ns-open-file-using-panel に関しては
$HOME/.emacs.d とか .emacs とか init.el とかを grep / rg してみないとなんともいえないですね。
和田 勇 への返信

Re: Macでのコンパイルエラーについて

- 奥村 晴彦 の投稿
ありがとうございます。init.elを検索しましたがns-*の類はまったく入っていませんでした。

年の瀬の雑談ついでに,私は性懲りもなくEmacsを使っているのですが,OverleafやCloud LaTeX,ローカルで編集する場合はVS Codeあたりをお薦めしていかないといけないのかなぁと思っています(美文書第8版も睨んで)。
奥村 晴彦 への返信

Re: Macでのコンパイルエラーについて

- 奥村 晴彦 の投稿
オフトピですが,Emacsからフォルダにアクセスしようとしたときに現れるもののスクショを添付しておきます。これに答えると,環境設定→プライバシーの「ファイルとフォルダ」のEmacsにチェックが付きます。
添付 emacsaccess.png
奥村 晴彦 への返信

Re: Macでのコンパイルエラーについて

- 和田 勇 の投稿
> Emacsからフォルダにアクセスしようとしたときに云々

これの出るタイミングが今ひとつわからないことと、アクセスしたいのは Documents
だけではなので、気になることもあり、調査結果と、現時点での私の見解ぽいものを述
べておきます。


■emacs を手動コンパイルしたものは問題なくファイルパスを辿って操作できる

 • URL を失念しましたが、 「手動コンパイルしたものは特段セキュリティと
  プライバシーの設定をせずとも、どこのフォルダもアクセスできる」というの
  を思い出し以下のことを実施したところ問題なく動作しました。

  • brew install emacs-head --HEAD --with-cocoa でコンパイル
  • セキュリティとプライバシの設定 の フルディスクアクセス からruby を
   取り除く

 • 逆にいえばダウンロードしたものは
  • 少なくとも以下の設定は必要
   「セキュリティとプライバシー」
   → 「一般」
   → 「ダウンロードしたアプリケーションの実行許可」
   →「 App Storeと確認済みの開発元からのアプリケーションを許可」にチェック
 • 現時点での和田の見解
  • 出現する環境は不明ですが「フォルダアクセス」に関するダイアログが表
   示されたら適切に処置する(奥村さんの報告)
  • TeXShop はどうやら「フルディスクアクセス」に設定しないとタイプセッ
   ト時に TeXLive のパスを辿れないようだ(荻原さんの報告)
  • アプリケーションによっては子プロセスとし起動されるアプリもフルディ
   スクアクセス登録が必要なことがある
   例えば emacs は/usr/bin/ruby を登録しないとファイルパスを辿ること
   ができない現象がある(和田の報告)


■brew install emacs-head –HEAD はオウンリスクですよ

 細部のつっこみは無しなのですがこの投稿を行うための下書きに使ってみての
 感想などなど
 • emacs 28.0.50 になっている
 • --with-cocoa 復活? --with-ns は使えなくなっていた
 • アイコンがいくつか指定できる様になったので modern-icon-pen にしてみた
 • 26.3 の Prelude の設定がそのまま使えた(多分 spaceman's もいけるかな)
 • find-file すると / になってしまう(対処方法はありそうだ)
 • ちょっとモソッとして遅い感じ何する
 • 一回クラッシュした

奥村 晴彦 への返信

Re: Macでのコンパイルエラーについて

- 和田 勇 の投稿
■ns-open-file-using-panel
コンパイルついでに ns-open-file-using-panel を調べてみました。

 lisp/term/ns-win.el
 134: (define-key global-map [?\s-o] 'ns-open-file-using-panel)

その上で https://kotaeta.com/53372185 をみたら奥村さんは emacs でファイルを開く時「⌘+O」(あるいは SuperKey + O)で操作しているのかしら???と思ったので emacs -q でデフォルトキーバインディングで実験したら 確かにファイル選択ダイアログウィンドウが出ますね。


私は 「C-x C-f」(find-file) を使っているので、噛み合わなかったみたい。

(私が現在使用している Prelude はどこかでこのグローバルマップをなくしているみたい)


■ VSCode
かなりよいですね。実際、他の方には結構薦めたりもしています。
ORG-mode をフルセットでインプリメントされたら浮気しそうです。:-) その意味では vim にも同じようにされても VSCode の方が良さそう。
和田 勇 への返信

Re: Macでのコンパイルエラーについて

- 奥村 晴彦 の投稿
> 私は 「C-x C-f」(find-file) を使っているので、噛み合わなかったみたい。

私もC-x C-fです。「⌘+O」は知りませんでした。
和田 勇 への返信

Re: Macでのコンパイルエラーについて

- 荻原 洋介 の投稿
どうもありがとうございます.

確定ではありませんが,defaults read TeXshop NSNavLastRootDirectory
で指示された場所にファイルを置くと,不具合は生じない(生じにくい?)ようです.

USBからのコンパイルに問題があるようです.(解消方法は不明です)

なお,TeX Live だと問題なく動きます.どうも,Catalinaに影響するようです.

ありがとうございます.

なお,which lua としても無反応でした.
荻原 洋介 への返信

Re: Macでのコンパイルエラーについて

- 和田 勇 の投稿
やっぱり、外部デバイスのものはやたらめったらのアプリに使わせては危険とされているようんですね。
これから
システム環境 セキュリティとプライバシ フルアクセス
で調べてはみたところ


https://support.apple.com/ja-jp/guide/mac-help/mchlp1203/mac
Macでファイル、フォルダ、またはディスクに対するアクセス権を変更する

で調整できませんか
和田 勇 への返信

Re: Macでのコンパイルエラーについて

- 荻原 洋介 の投稿
和田様
ご助言ありがとうございます.

defaults read TeXshop NSNavLastRootDirectory


defaults read TeXshop NSNavLastRootDirectory

~/Desktop/tex


となり,ここでコンパイルを試すと,今度はundefined control sequence となりました.
(普通にTeX Shop,TeX works でタイプセットすると出てこない)

私の技量では原因が不明のままです.TeX works で行うと問題がないのですが,細かいところは全く見当がつきませんでした.

せっかくご助言いただいているのに申し訳のない次第ですが,とりあえずの報告です.
荻原 洋介 への返信

Re: Macでのコンパイルエラーについて

- 和田 勇 の投稿
■状況再確認
> ここでコンパイルを試すと,今度はundefined control sequence と ....

このコンパイルとは「ターミナル」アプリのコンソールで実施されたとのことと思われますが
  コンソールに出力された情報
あるいは
  その時に作成される 拡張子 .log のつくログファイル
を添付して下さい。

それと一応こちらで試したソースなどを貼り付けておきます。

■サンプルソース
\documentclass{standalone}
\begin{document}
サンプル
\end{document}


■もしかしてセキュリティとプライバシに絡むのかな?
ご利用の「ターミナル」アプリを「フルディスクアクセス」に登録されているのかな
和田 勇 への返信

Re: Macでのコンパイルエラーについて

- 和田 勇 の投稿
> > ここでコンパイルを試すと,今度はundefined control sequence と ....

TeX Shop,TeX works で通るというのは、きっとエラーがあっても無理くりコンパイルしてしまおうとする -interaction オプションが入っているからかな?

なので TeX Shop,TeX works で行なった時のログをチェックされると良いと思います。

以下の一番最初のがとりあえずの参考。
https://texwiki.texjp.org/?TeX%20%E3%81%AE%E3%82%A8%E3%83%A9%E3%83%BC%E3%83%A1%E3%83%83%E3%82%BB%E3%83%BC%E3%82%B8

そこにあるように、ターミナルで 実行した際 「undefined control sequence」が表示された直後に使用された「未定義の制御綴り」の情報があり、さらにその次の行に原稿の何行目で発生しているか情報が表示されます。

なのでこの情報を提示していただかないとどうにも答えようがないです。

重複しますが今のところ必要な情報は以下のとおり
1 表示された undefined control sequence 以降の情報かログファイル
2 コンパイルしようとしている原稿ファイル(公にしてはまずいものは削除して下さい)」

> ■もしかしてセキュリティとプライバシに絡むのかな?

多分、こちらは関係ないと思いますのでとりあえず忘れましょう。
和田 勇 への返信

Re: Macでのコンパイルエラーについて

- 荻原 洋介 の投稿
和田様

tex shop を利用したコンソールでは次のように表示されます.
(コンパイルしようとすると,「書類を自動保存できませんでした.アクセス権がありません.」と出るため,logが作れませんが)
これについては,pngを貼り付けます.
なお,書き込みと読み込み権限はあります.

また,tex works で同じファイルをコンパイルしたlogファイルも添付します.

ターミナルからのエラーメッセージは次のようになります.

This is ptex2pdf[.lua] version 20170622.0.

Processing test.tex

This is pTeX, Version 3.14159265-p3.7.1 (utf8.euc) (TeX Live 2017) (preloaded format=ptex)

restricted \write18 enabled.

(./test.tex

! Undefined control sequence.

l.1 \documentclass

{standalone}

?

! Undefined control sequence.

l.2 \begin

{document}

?

[1] )

Output written on test.dvi (1 page, 292 bytes).

Transcript written on test.log.

ptex2pdf processing of test.tex failed.


階層の問題なのかエラーメッセージからではよくわかりませんが,最初の段階でエラーになります.インストールは古いものを全て消去した後に行いました.

このメッセージ等は,ターミナルとtex shopで出てくるもので,tex works では出ません.

根本的に同じ原因があるとは思います.


tex shopの不明点は,突然アクセス権がなくなることもあります.

やはり,OSに原因があるようには思いますが.


長文失礼いたしました.

添付 スクリーンショット_2020-01-04_17.40.26.png
荻原 洋介 への返信

Re: Macでのコンパイルエラーについて

- Akira Kakuto の投稿
> ターミナルからのエラーメッセージは次のようになります.
>
> This is ptex2pdf[.lua] version 20170622.0.
>
> Processing test.tex
>
> This is pTeX, Version 3.14159265-p3.7.1 (utf8.euc) (TeX Live 2017) (preloaded format=ptex)
>

plain pTeX で latex ソースを処理することはできません。
ptex2pdf に オプション -l (マイナス エル)
を与えると, platex を使うようになると思います:

ptex2pdf -l test.tex
荻原 洋介 への返信

Re: Macでのコンパイルエラーについて

- 和田 勇 の投稿
■「ターミナル」でのUndefined control sequence
解決できたようですが Mac で今後トラブルに出会った時の追跡方法を述べておきます。


defaults ってコマンドの使用例をちょっと紹介しましたが、何かうまくいかなければ「 defaults read TeXshop 」って実行すると TeXShop の「⌘,」で設定したものや規定の情報が得られます。特定の設定内容(今回の場合は TexCommand)のみであれば 「defaults read TeXshop LatexCommand」
などを使って調べることができます。

今回は後者の情報で ptex2pdf のオプションが得られると思いますのでターミナルで同じようにするには同じオプションを付与してあげる必要がありますので Kakuto さんの答えと同じようになります。

解決しなければ「 defaults read TeXshop 」を貼り付けていただくと解析しやすいです。


■tex shop を利用時の 「書類を自動保存できませんでした.アクセス権がありません.」

#念のため TeXShop を https://download.cnet.com/TeXShop/3001-2054_4-6112.html から改めてダウンロードしてテストしています。
#バージョンは 4.44 です。

さて、こちらも解決していなかったのかしら?
以前の回答を見ると

>確定ではありませんが,defaults read TeXshop NSNavLastRootDirectory
>で指示された場所にファイルを置くと,不具合は生じない(生じにくい?)ようです.

上記の「置く」とは、TeXShop で書き込んだのではなくターミナルとかファインダでということなのかな?
つまり TeXShop で新規に書き始めたり修正したのち「⌘S」で保存できないのかしら?

確かに TeXShop の原稿画面の window バー には「未保存」となっていますね。
こちらでは「編集済み」になります。
もちろん新規作成の場合タイプセットしようとするとどこに保存するか聞いてきますね。

試しにディレクトリの書き込み権限を取ると件のメッセージダイアログが出ますね。
ということですのでディレクトリの書き込み情報(以下のコマンドの出力結果)を教えて下さい。
test.tex のあるディレクトリで実行して下さい。

  find . -ls
和田 勇 への返信

Re: Macでのコンパイルエラーについて

- 和田 勇 の投稿
上記書き込み、再調査中です。
(また削除再確認を忘れてタイムアウトにつき削除権限がなくなってしまった :-( )
荻原 洋介 への返信

Re: Macでのコンパイルエラーについて

- 和田 勇 の投稿
■「ターミナル」でのUndefined control sequence
解決できたようですが Mac で今後トラブルに出会った時の追跡方法を述べておきます。


defaults ってコマンドの使用例をちょっと紹介しましたが、何かうまくいかなければ「 defaults read TeXshop 」って実行すると TeXShop の「⌘,」で設定したものや規定の情報が得られます。特定の設定内容(今回の場合は TexCommand)のみであれば 「defaults read TeXshop LatexCommand」
などを使って調べることができます。

今回は後者の情報で ptex2pdf のオプションが得られると思いますのでターミナルで同じようにするには同じオプションを付与してあげる必要がありますので Kakuto さんの答えと同じようになります。

解決しなければ「 defaults read TeXshop 」を貼り付けていただくと解析しやすいです。


■tex shop を利用時の 「書類を自動保存できませんでした.アクセス権がありません.」

#念のため TeXShop を https://download.cnet.com/TeXShop/3001-2054_4-6112.html から改めてダウンロードしてテストしています。
#バージョンは 4.44 です。

さて、こちらも解決していなかったのかしら?
以前の回答を見ると

>確定ではありませんが,defaults read TeXshop NSNavLastRootDirectory
>で指示された場所にファイルを置くと,不具合は生じない(生じにくい?)ようです.

上記の「置く」とは、TeXShop で書き込んだのではなくターミナルとかファインダでということなのかな?
つまり TeXShop で新規に書き始めたり修正したのち「⌘S」で保存できないのかしら?

考察1)確かに TeXShop の原稿画面の window バー には「未保存」となっていますね。
こちらでは「編集済み」になります。もちろん新規作成の場合タイプセットしようとするとどこに保存するか聞いてきますね。

考察2)test console と添付されたターミナルで実行時の情報を見ると
  Applications/TeXLive/Library/texlive/2017/texmf-dist/ ...
へのアクセスが TeXShop ではできない様ですね。

ということを考慮すると TeXShop にフルディスクアクセスを付与しなければいけないのかな?

#この辺は荻原さんと実行環境が違うかしらと思っています。
#私の方は /usr/local/texlive/2019 に TeXLive を置いていますし、TeXShop はダウンロードフォルダーに仮置きしたまま使っています。
#そのせいかわかりませんがフルディスクアクセス権を付与しなくてもファイルの保存もできますしタイプセットも可能です。

★お願い★
確定ではないのですが、下記URLを参考にフルディスクアクセスに TeXShop を登録してみていただけますか?
https://esupport.trendmicro.com/support/ivb/solution/ja-jp/1123416.aspx
「フルディスクアクセス」の設定方法

★(難易度高いので余裕があれば ...)
それからフルディスクアクセスの設定結果は以下の様にして確認することもできます。

設定内容はシステム用とユーザ用に sqlite3 のデータベースとして保存されています。

 "$HOME/Library/Application Support/com.apple.TCC/TCC.db"
 "/Library/Application Support/com.apple.TCC/TCC.db"

データベースの内容を調べるには例えばユーザ用であれば以下の様にして調べます。

  sqlite3 "$HOME/Library/Application Support/com.apple.TCC/TCC.db" 'SELECT service, allowed, client from access;' | sort

解決できなければコマンドの実行結果を見せて下さい。
和田 勇 への返信

Re: Macでのコンパイルエラーについて

- 荻原 洋介 の投稿
和田様

フルディスクアクセスを実行してみたところ,今のところ不具合が生じませんし,「編集済み」になります.
これで暫くやってみます.

色々とご助言ありがとうございます!