spacemacs(Emacs ver27.1.50)での
LuaLaTeX文書をコンパイルすると
pdf作成まで実行されているのに
いつもの様にPDF表示まで遂行されず
TeX Output exited abnormally
with code 1 at Sat Aug 7 20:06:11
と言うメッセージが出ます。
TeXLive2020の時は順調にコンパイル後
PDFがSkim.appから表示されていました。
Emacs27.1.50の本体を使用する時は
\documentclass{article}
\usepackage{CJKutf8}
を使用しているので
ptex2pdfでコンパイルされるので
TeXLive2021で実行しても何ら問題は
出ていないのですが?
LuaLaTeXを使用しての問題点を
どの様に変更したら解決するのか?
お知恵を拝借願えれば幸甚です。若松久仁光拝
PS
使用環境はMac OS10.14.6 Mojave
TeXLive2021(mactex-20210328.pkgでインストール)
ISO 版でコンパイルしたTeXLive2021で同様の現象が
発生したので、sudo rm -rf /usr/local/texlive/2021を
一旦削除し、mactex-20210328.pkgからの環境を
再導入しました。
追伸
同様の現象がTeXworks(ver.0.6.5),
Visual Studio Code(ver.1.59.0)で
LuaLaTeXを使用するとコンパイルミスと
コメントされます。
TeXLive2020環境では
問題なく実行されます。
Emacs ではなくterminal.app で以下のコマンドで結果はどうなりますか?
-interaction=nonstopmode などのオプションは指定しないでください。 おそらくエラーメッセージが表示されると思います。cd 「Spacemacs2021.texが存在するディレクトリ」 lualatex Spacemacs2021
この問題は spacemacs には関係ないと思います
- TeXworks や VScode の設定にも関係しないと思います
- 再現するソースを開示していただいた方が良いかと思います。
添ログファイルには expl3.sty:77: LaTeX3 Error: Mismatched LaTeX support files detected. と表示されています。
上記をそのままインターネット検索すると以下がヒットします。表示されるメッセージも同じようです。参考にして対処して見てください。
https://tex.stackexchange.com/questions/576918/mismatched-latex-support-files-detected Mismatched LaTeX support files detected
色々ご指導有難うございます。
ソースファイルを提示したいのは山々でしたが
何せ個人的な書き込みが多いファイルなので
躊躇し添付をしませんでした。お許しください。
今考えれば、バッサリと内容をカットを実施して
プリアンブルなどの主要な部分のみを残して
アップすべきだったのでしょうね?
(本日、VS Code.appで試してみるつもりですが)
その前に愛用しているTeXworks(ver.0.6.5 r.649699a)で
LuaLaTeXのコンパイルがTeXLive2021では機能せず
(TeXLive2020では通常の全ての機能が実施される。)
此の不思議な現象について、問題の解決の糸口を
お教えいただければ幸甚です。
ソースファイルとコンパイルされた物、TeXLive2021で
吐き出されたlog(途中で止まってしまいましたが)を
zip-fileとして添付いたします。若松久仁光拝
追伸 Terminalでのテスト
このテストはTeXworks でのソースと同じですが
コンパイルの際の入力手打ちの手間を省くため名称を
「test.tex」に変えてあります。
lualatex test.tex
lualatex -interaction=nonstopmode test.tex
Terninalで実行してみたlogファイル等を
zipで添付いたします。若松久仁光拝
P.S
× Failed to load "fontloader" module "basics-gen".
ここを回避するにはどうの様な手立てを
実行すればよろしいのでしょうか?
ご指導のほどよろしくお願いいたします。
P.P.S
2021/texmf-dist/tex/luatex/luaotfload/luaotfload-init.lua:301:
system : no writeable cache path, quitingと表示されている場所
書き込み許可を施すには『何処から』手をつければ改善できる
のでしょうか?
viaTeXworks.zip に含まれている TeXWorks-LuaLaTeX-TeXLive2021errorLog.txt に LyX の時と同じメッセージが出ていますよ。
luaotfload | load : FATAL ERROR luaotfload | load : × Failed to load "fontloader" module "basics-gen". luaotfload | load : × Error message: luaotfload | load : × "...021/texmf-dist/tex/luatex/luaotfload/luaotfload-init.lua:301: system : no writeable cache path, quiting".
→ TeXworks から起動した lulatex でキャッシュを書き込みたいけど TeXworks の属性をひきづっているのでアクセス権がなく失敗
→セキュリティとプライバシで TeXworks のアクセス権を調整 →最悪 LyX と同様のアトリビュートクリアをおこう(こっちは強うだと思いますが)
ターミナルでも同様のエラーが起きていますね。ターミナルの方も同様のチェックは必要かな?
mactex-20210328.pkg でか ... ひょっとして lualatex もセキュリティとプライバシの設定が必要なのかな?
mactex の問題ではなく セキュリティとプライバシの設定の問題かな?
Mac OS10.14.6 MojaveでのTeXworks は
permission[drwxr-xr-x 755]です。
LyX: permission[dr-xr-xr-x 555]でした。
双方ともシステム環境設定でプライバシー >
アクセシビリティ&フルディスクアクセスは
登録済みです。permissionの変更を両方の
アプリ自身に施すべきでしょうか?
sudo xattr -rc /Applications/TeXworks.appを実施。 [2021/08/08 13:41:35]
TeXworks でのTeXLive2021を使用してのコンパイルには
進展がございませんでした。(logもほとんど同じです)
/usr/local/texlive/2021/bin/universal-darwin
permissionは[drwxr-xr-x 755]です。
lualatex -interaction=nonstopmode test1.tex
は矢張り
luaotfload | load : × "...021/texmf-dist/tex/luatex/luaotfload/luaotfload-init.lua:301:
system : no writeable cache path, quiting".
ですが、何故此処で「tex/luatex」を呼びだす?
「tex/lualatex」へは呼びに行けないのでしょうか?
日本語をコンパイルするのに「luatex>luatexja」と
辿るより「lualatex >」で実行する方が常識的と思うのですが?
これもThis is LuaHBTeX, Version 1.13.2 (TeX Live 2021) での
仕様なのでしょうか?若松久仁光拝
追伸
TeXLive2021のフォルダー其の物?
若しくは「bin/universal-darwin」をフルディスクアクセス
で登録することを考えるべきなのでしょうか?
PS
cache pathが書き込めない。
此の現象はどの様に理解すべきなのでしょうか?
指針を頂ければ幸甚です。
PPS
luaotfload-init.luaのパーミッションが
644ですので「755」に設定変更を実行
すれば『書き込みますでしょうか?』
なぜ emacs でコンパイルできてターミナルで NG なのか疑問が残るのですが
lualatex は、各種情報をキャッシュとして TEXMFVAR に書き込み・参照するので、そのディレクトリのオーナーパミッションは 7(rwx) であり、利用する emacs.app や ターミナル.app からもそこにアクセスできるようそれら app に当該ディレクトリのフルディスクアクセスなどが必要。
セキュリティとプライバシの設定は大丈夫とのことなので TEXMFVAR の調整をしてみようと思います。
kpsewhich -var-value TEXMFVAR で示されるディレクトリがあれば、リネームまたは削除して lualatex を実行したらどうなりますか?
通常は $HOME/Library/texlive/2021/texmf-config だと思いますが、うまくいかなければ $HOME/Library/texlive/2021 を同じようにリネームないし削除してみて検証して見てください。
書き込み権限が得られれば lualatex は、以下のメッセージでしばらく表示が止まります。この時キャッシュを TEXMFVAR に書き込み作業をしているようです。
luaotfload | db : Font names database not found, generating new one. luaotfload | db : This can take several minutes; please be patient.
$kpsewhich -var-value TEXMFVAR
/Users/kuni7/Library/texlive/2021/texmf-var
TEXMFVARでのluatex-cacheは
/usr/local/texlive/2021/texmf-var/luatex-cache
です。(画像を添付します)
$HOME/Library/texlive/2021/texmf-configにある
/usr/local/texlive/2021/texmf-config/tex/context/user/cont-sys.texは?
kpsewhich -var-value TEXMFVAR で示されるディレクトリ
「texmf-var」をリネームして試してみようと思います。
TeXLive>2021>texmf-var & texmf-config & texmf-dist
全て権限は[755]になっています。
リネームしたので念のため、一度Mac mini をrebootします。
[2021/08/08 17:26:38]
$lualatex test1.tex
This is LuaHBTeX, Version 1.13.2 (TeX Live 2021)
restricted system commands enabled.
kpathsea: Running mktexfmt lualatex.fmt
mktexfmt: mktexfmt is using the following fmtutil.cnf files (in precedence order):
mktexfmt: /usr/local/texlive/2021/texmf-dist/web2c/fmtutil.cnf
mktexfmt: mktexfmt is using the following fmtutil.cnf file for writing changes:
mktexfmt: /Users/kuni7/Library/texlive/2021/texmf-config/web2c/fmtutil.cnf
/usr/local/bin/mktexfmt: mkdir(/Users/kuni7/Library/texlive/2021/texmf-var/)
failed for tree /Users/kuni7/Library/texlive/2021/texmf-var/web2c:
Permission denied at /usr/local/texlive/2021/tlpkg/TeXLive/TLUtils.pm line 999.
I can't find the format file `lualatex.fmt'!
コメントが此の様に出てきました。若松久仁光拝
PS
/usr/local/texlive/2021/texmf-config/tex/context/user/cont-sys.tex
cont-sys.texはPermission[644]でした。
context/userまではPermission[755]ですが?
texmf-var1とリネームしたフォルダー以外
texmf-varのフォルダーは作成されませんでした。
/usr/local/texlive/2021/texmfcnf.luaの設定は
-- (Public domain.)
-- This texmfcnf.lua file should contain only your personal changes from the
-- original texmfcnf.lua (for example, as chosen in the installer).
--
-- That is, if you need to make changes to texmfcnf.lua, put your custom
-- settings in this file, which is .../texlive/YYYY/texmfcnf.lua, rather than
-- the distributed file (.../texlive/YYYY/texmf-dist/web2c/texmfcnf.lua).
-- And include *only* your changed values, not a copy of the whole thing!
return {
content = {
variables = {
TEXMFHOME = "~/Library/texmf",
TEXMFVAR = "~/Library/texlive/2021/texmf-var",
TEXMFCONFIG = "~/Library/texlive/2021/texmf-config",
},
},
}
のままです。若松久仁光拝
[2021/08/08 17:49:51]
此の後、何を実行すれば良いのでしょうか?
色々ご指導有難うございます。
$kpsewhich -var-value TEXMFVAR
/Users/kuni7/Library/texlive/2021/texmf-var
kuni7: ~ $kpsewhich -var-value TEXMFVAR
/Users/kuni7/Library/texlive/2021/texmf-var
kuni7: ~ $ ls -ld $(kpsewhich -var-value TEXMFVAR)
ls: /Users/kuni7/Library/texlive/2021/texmf-var: No such file or directory
と表示されました。 [2021/08/08 18:42:39]
初心に還ってコンパイル実施しました。
$lualatex test0.tex
This is LuaHBTeX, Version 1.13.2 (TeX Live 2021)
restricted system commands enabled.
kpathsea: Running mktexfmt lualatex.fmt
mktexfmt: mktexfmt is using the following fmtutil.cnf files (in precedence order):
mktexfmt: /usr/local/texlive/2021/texmf-dist/web2c/fmtutil.cnf
mktexfmt: mktexfmt is using the following fmtutil.cnf file for writing changes:
mktexfmt: /Users/kuni7/Library/texlive/2021/texmf-config/web2c/fmtutil.cnf
/usr/local/bin/mktexfmt: mkdir(/Users/kuni7/Library/texlive/2021/texmf-var/)
failed for tree /Users/kuni7/Library/texlive/2021/texmf-var/web2c: Permission
denied at /usr/local/texlive/2021/tlpkg/TeXLive/TLUtils.pm line 999.
I can't find the format file `lualatex.fmt'!
これが前回と同様に出されたlogです。 [2021/08/08 19:25:37]
『lualatex.fmt』が接続されるための対策を
お教えいただきたく存じます。若松久仁光拝
- 二つの投稿にまとめて回答しなおします。
2021年 08月 08日(日曜日) 17:44 - 若松 久仁光 の投稿 に対して
添付ファイル TEXMFVAR.zip は「2021年 08月 07日(土曜日) 20:39 - 若松 久仁光 の投稿」の最初の投稿のものなどが含まれていて、今回とは直接関係ないみたいです。
Archive: /Users/i-wada/Downloads/TEXMFVAR.zip Zip file size: 53252 bytes, number of entries: 5 -rw-r--r-- 2.1 unx 30827 bX defN 21-Aug-07 21:48 expl3-sty.pdf -rw-r--r-- 2.1 unx 34816 bX defN 21-Aug-07 21:54 SpacemacsLuaTeX-error.pdf 5 files, 67875 bytes uncompressed, 52432 bytes compressed: 22.8%
TEXMFVAR のfileパミッションであれば ls -ld $(kpsewhich -var-value TEXMFVAR) で表示されるもので結構ですが。
cont-sys.tex が突然質問に出てきて当惑中。若松さんのテーマ・関心のあることだと思いますが、、まずターミナルで lualatex がタイプセットできるようにしてからにしましょう。
お願い ベタがきだとどこが質問・疑問なのかわかりにくいです。「*」「-」「(1)」などを使い、各項を空行で分けるなど工夫していただけると助かります。
2021年 08月 08日(日曜日) 18:00 - 若松 久仁光 の投稿 に対して
texmf-varのフォルダーは作成されなかったとのことですが、以下のソースを lualatex でタイプセットはできたのですか?
\documentclass{ltjarticle} \usepackage{luatexja} % ltjclasses, ltjsclasses を使うときはこの行不要 \begin{document} \section{はじめてのLua\TeX-ja} ちゃんと日本語が出るかな? \subsection{出たかな?} 長い文章を入力するとちゃんと右端のところで折り返されるかな? 大丈夫そうな気がするけど.ちょっと不安だけど何事も挑戦だよね. \end{document}
やって欲しいこと を以下に示します。上記を test.tex とします。
- 途中でエラーになったらそれまで入力・出力された情報をコピペしダイルに書き込んで test.log と共に添付してください。カラーリングなどの操作は不要。
- 全部処理できたら、最後の二つのコマンドの結果をコピペして貼り付けてくdさい。
コマンド 記事 rm -rf $(kpsewhich -var-value TEXMFVAR) #念の為 latexmk -C test # .aux .log など不要なファイルを削除するため lualatex test ls -ld $(kpsewhich -var-value TEXMFVAR) # TEXMFVAR のパミッション grep -e '^luaotfload' test.log # cache 再構築作業行ってるかか
ご指示の通り実行致します。
1. ソースの lualatex はタイプセットができませんでした。
名称を統一して『test.tex』と致します。
2. $lualatex test.tex コンパイル実施しました。 [2021/08/08 20:21:32]
2 - A : 結果:$lualatex test.tex
This is LuaHBTeX, Version 1.13.2 (TeX Live 2021)
restricted system commands enabled.
kpathsea: Running mktexfmt lualatex.fmt
mktexfmt: mktexfmt is using the following fmtutil.cnf files (in precedence order):
mktexfmt: /usr/local/texlive/2021/texmf-dist/web2c/fmtutil.cnf
mktexfmt: mktexfmt is using the following fmtutil.cnf file for writing changes:
mktexfmt: /Users/kuni7/Library/texlive/2021/texmf-config/web2c/fmtutil.cnf
/usr/local/bin/mktexfmt: mkdir(/Users/kuni7/Library/texlive/2021/texmf-var/)
failed for tree /Users/kuni7/Library/texlive/2021/texmf-var/web2c: Permission
denied at /usr/local/texlive/2021/tlpkg/TeXLive/TLUtils.pm line 999.
I can't find the format file `lualatex.fmt'!
3.# TEXMFVAR のパミッション
$ls -ld $(kpsewhich -var-value TEXMFVAR)
結果:ls: /Users/kuni7/Library/texlive/2021/texmf-var: No such file or directory
4. # cache 再構築作業行ってるか
$grep -e '^luaotfload' test.log
結果:grep: test.log: No such file or directory
5. 結果:test.logは作成されませんでした。
以上が和田様の指示にしたがって実施した結果です。若松久仁光拝
P.S
Terminalでコンパイル時に表示されたものを
test-tex-logCopy.txtとして添付いたしました。
今私は何が何だかわからなくなってます。
「2021年 08月 07日(土曜日) 22:57 - 若松 久仁光 の投稿」での「指摘サイトでの解決策で全てが氷解」とは emacs での操作だけですか?
spacemacs に組み込まれたショートカットでタイプセトできるならターミナルでも同様だと思いますが ... (spacemacs は使用をやめたので、どうかんきょうのテストはできません)
違うとしたら emacs で環境変数 PATH やTEXMF シリーズのものを bash/zsh などの設定と変えていることくらいしか思いつかない。
ということで「質問です」
質問1 emacs(spacemacs) TeXworks VScode いずれかでタイプセットできるものはありますか?
質問2 昨夜「氷解」後、設定変更を行いませんでしたか?
テスト結果に関して ... 「エラーとは」との定義をしていませんでしたが、「Permission denied」「can't find」「No such file or directory」などいわゆる否定的なものが表示されたらそれはエラーと考えてください。
テスト結果に「I can't find the format file `lualatex.fmt'!」とありますが、以下のいずれかのコマンドで調べることができます。前者は自動でデータベース作成が行われていないと表示されません。
mdfind lualatex.fmt ← いくつか表示される場合 2021 のがあれば良いのですが
find /usr/local/texlive/tex* -iname lualatex.fmt ←これはないかもしれません
find /usr/local/texlive/2021 -iname lualatex.fmt ← これか上記で表示されなければ TeXlive install 失敗かもしれませんが ,,,
「I can't find the format file `lualatex.fmt'!」で調べると updmap-sys と mktexlsr で回復などの情報が見つかります。このことは「質問2」とも関係します。
ここまで問題がこじれた場合、途中の作業で何かを変更してしまったことなどが考えられます。今一度再インストールというのも一つの手段です。
状況が今ひとつ掴めないが故の提案です。悪しからず
「指摘サイトでの解決策で全てが氷解」とは spacemacs での操作だけです。
誤解を与えましたことお詫び申し上げます。
質問 1:答え:Spacemacs(ver.27.1.50)でコンパイルが通ります。
spacemacsは
$HOME=$HOME/spacemacs open -n -a /Applications/Emacs.app
で呼び出してluaLaTeXを使用しています。
sapcemacsで作成した書類一式をzipにして添付いたします。
質問 2:--------
Q01 mdfind lualatex.fmt
A01: $mdfind lualatex.fmt
/Users/kuni7/spacemacs/Library/texlive/2021/texmf-var/web2c/luahbtex/lualatex.fmt
/usr/local/texlive/2019/texmf-var/web2c/luatex/lualatex.fmt
/Users/kuni7/Library/texlive/2020/texmf-var/web2c/luahbtex/lualatex.fmt
/usr/local/texlive/2021/texmf-var01/web2c/luahbtex/lualatex.fmt
/usr/local/texlive/2020/texmf-var/web2c/luahbtex/lualatex.fmt
名称を変更している[texmf-var01]に「lualatex.fmt」があります。
/usr/local/texlive/2021/texmf-var01/web2c/luahbtex/lualatex.fmt
Q02:$find /usr/local/texlive/tex* -iname lualatex.fmt
A02:見つかりませんでした
Q03:find /usr/local/texlive/2021 -iname lualatex.fmt
A03:$find /usr/local/texlive/2021 -iname lualatex.fmt
/usr/local/texlive/2021/texmf-var01/web2c/luahbtex/lualatex.fmt
Q04:「I can't find the format file `lualatex.fmt'!」
A04:texmf-varを「texmf-var01」に変更した事が
該当しない原因のはずです
『若:質問』(Wを使用しようと思ったら貴君の方もWでした)
「texmf-var01」を『texmf-var』の名前に戻すと以前のエラー
luaotfload | load : × "...021/texmf-dist/tex/luatex/luaotfload/luaotfload-init.lua:301:
system : no writeable cache path, quiting".
が現れます。
これからどの様に対処ができるのか?
ご指導のほど宜しくお願いいたします。若松久仁光拝
追伸
TeXLive Utility(バージョン1.49 (1.49))の
バックアップの中にluaotfloadが存在するのですが
『バックアップ』を実施する必要は有りませんか?
妙な質問になりますが
必要ならTeXLive2021をISOからインストールしますが?
(mactex-20210328.pkgからインストールした環境と
TeXLive2021から直接インストールするのとでは
異なる事象は起き得ないのでしょうか?)
PS
貴君の書き込みは、じっくり明9日朝読ませていただきますのでご容赦を。
「HOME=$HOME/spacemacs open -n -a /Applications/Emacs.app」とのことに関して
この HOME を強制的に変更したことにより、emacs でタイプセットできても、ターミナルや VScode TeXworks と環境と異ならせているため、今回の障害を引き起こしていると思われます。
調べ方は emacs で 「M-x shell」あるいは「M-x eshell」でシェルインタフェースのバッファーを開き、以下のコマンドを実施
kpsewhich -var-value TEXMFVAR
- 若松さんの方法で emacs を起動し、上記コマンドを実行した結果は、以下の通り Library が spacemacs/Library として評価されています。
Welcome to the Emacs shell /Users/i-wada $ kpsewhich -var-value TEXMFVAR /Users/i-wada//Library/texlive/2021/texmf-var
VScode などでうまく動くようにするには、このような起動方法を続けるなら spacemacs の init.el などで HOME に関わる変数特に TEXMF で始まる変数を共通のものになるよう変更する必要があります。init.el で HOME は変えてはダメです。
その上でターミナルで動くようにしたほうが良いでしょう。
面倒であれば macktex を再インストールし、ターミナルで動くことを確認してから、他のセットアップをされると良いと思います。
ちょっと試行錯誤して見ました
open -a Emacs --args -q -l 「spaceemacsの init.el」としたいところですが、
これだと $HOME/.emacs.d/core の下を読みに行こうとしてしまう。
それ故 HOME を書き換えてはいるのだと思いますが。emacs に習熟していないのであれば通常の spacemacs になおした方が良いと思います。
今朝、拝読させていただきました。
色々細かいところまで検証いただき有難うございます。
『ターミナルや VScode TeXworks と環境と異ならせているため、
今回の障害を引き起こしていると思われます。』とのことですが
現在LaTeX環境でSpacemacsを利用しているのは、職業病なのか
フルート演奏に必要な「小指」が従心の歳を過ぎてから演奏の際に
激痛が走ります。此のため「小指」の健康保持のため、出来るだけ
Emacsそのものでの打ち込みを回避しております。
(ご存知の様に、Emacsでの小指の酷使が話題になるくらいですから)
従って、環境を整備するにあたり
是非にお知恵を拝借したい所は
Wish 01: Spacemacsを継続して利用したい
Wish 02: TerminalでのLuaLaTeXコンパイル実行(出来れば)
A.01 : Emacsで確認してみました。
kpsewhich -var-value TEXMFVAR
/Users/kuni7/Library/texlive/2021/texmf-var
と表示されました。
Q 01 : 現在、和田様の提案に従って名称変更して試験した
「texmf-var01」は元の名称『texmf-var』に
戻しておくべきですか?
/usr/local/texlive/2021/texmf-var01/web2c/luahbtex/lualatex.fmt
お忙しい所誠に申し訳がざいませんが、ご指導のほど
よろしくお願いいたします。若松久仁光拝
P.S
(VScodeは単に試用で使ったので、特に愛着はございません。)
Wish 01: Spacemacsを継続して利用したい。
しかし、此の設定とEmacsも同時に使いたい場合
Q01 : 分岐方法として
(("Emacs" . ((user-emacs-directory . "~/.emacs.d")))
("legacy" . ((user-emacs-directory . "~/.emacs.legacy")))
("plus28" . ((user-emacs-directory . "~/.emacs28.d")))
("spacemacs" . ((user-emacs-directory . "~/spacemacs/.emacs.d"))))
などの[.emacs-profiles.el]を使う方法は
一つの解法として利用できますか?
問題を複雑にしすぎていましたらご容赦ください。若松久仁光拝
ご指摘の通りでございます。色々お手数お掛け致しております。
『今の目標はターミナルで luatex で pdf 作成すること!!』
に専心いたします。
前回の質問での返答です。
(余分な、言い訳も書き込んでいますが、お許しください。)
A01 : Q01 : $echo $HOME
/Users/kuni7
A02 : /Users/kuni7/spacemacs には Library が有る?無い?どちらかしら
Q02 : Library とは「どれを意味するのでしょうか?」
TeXLiveのLibraryならTeXlive 2020、TeXlive2021が存在します。
Wish 01 の返答
$HOME/.emacs.d (だったかな)に spacemacs の設定を行う方が良いと思います。
Q3 :$HOME/spacemacs/.emacs.d"で指定すれば正解でしょうか?
Wish 02 の返答 #01
A02: /usr/local/texlive/2021/texmf-varをリネームして戻します。
Wish 02 の返答 #02
『リネームまたは削除して lualatex を実行したらどうなりますか?』
について誤解をしていなかったでしょうか?
$kpsewhich -var-value TEXMFVAR
/Users/kuni7/Library/texlive/2021/texmf-var
で出される場所での
/usr/local/texlive/2021/texmf-var/luatex-cache
此の「luatex-cache」をリネームすべきだった
のではないでしょうか?
Q4 :本来すべき『リネーム』の『場所』と『フォルダー名』は
何処で何れだったのでしょうか?
-- texliveとは関係ない話 --
Emacs org-roamを便利に使っています。
此の機能は捨てがたいので、
今迄一時使用していたAtomやVS codeに
此の機能を追加できるのであれば?
移行したいと思います。
SpacemacsはHybridのキーバインドで使用しています。
(vim系の使用率が高いか?)
Escや左ctrlは時折「薬指」代用、Karabiner-elementで
左ctrlに右ctrlを指定し「右小指+⚪︎⚪︎キー」の組み合わせで
何とか難を逃れています。
EmacsからSpacemacsへの完全移行が滞っています。
Spacemacsでまだ『deft』等での連携が
うまく機能してくれない。
此のため双方を利用し続けている次第です。
最終目標はTinderbox への完全移植ですが、
此のアプリの習得に難儀しています。5年経っても未だ
習得半ばまですら辿り着いていません。若松久仁光拝
PS
/usr/local/texlive/2021/texmf-var にリネームして戻しました。
[2021/08/09 13:25:20]
/usr/local/texlive/2021/texmf-varをリネームして戻し
terminalからlualatex をテストしました。
[$lualatex -interaction=nonstopmode test.tex]の方を
実施しました。
logには以前と同様の
× Failed to load "fontloader" module "basics-gen".
"...021/texmf-dist/tex/luatex/luaotfload/luaotfload-init.lua:301:
system : no writeable cache path, quiting".
等が出されます。
質問です。
Q00 : $lualatex -interaction=nonstopmode test.tex
以前、此の「 -interaction=nonstopmode 」を省いたもので
試したlogを送る様に指示をいただきましたが、
どの様な『コンパイル動作の違い』を探すのでしょうか?
Q01 : jfontが無い。ここの対処法は?
(/usr/local/texlive/2021/texmf-dist/tex/luatex/luatexja/ltj-base.sty)[\directlu
a]:1: attempt to index a nil value (field 'jfont')
Q02 : (log)L.l.75 \kanjiencoding{JY3}
! LaTeX Error: KANJI Encoding scheme `JY3' unknown.
KanjiFamily{JY3}とはどの様なフォントを指すのでしょうか?
Q03 : logのL.156 %non-Japanese と表示されていますが?
何らかの『プリアンブルでの指定』で解決する事柄なのでしょうか?
全く同じtest.texを使用しておりますので、
logファイルのみ添付いたします。若松久仁光拝
PS
和田様が中の確認を為さらなくても
log内容は変わりない事と存じますが。
一応ファイルを送付します。
設定を戻されてもエラーが発生するようなので、今までの設定変更による影響もあり、あそこを直せ、ここを治せと指示してもなかなか伝わらないので、お手数ですが、mactex-20210328.pkg を再インストールしてください。
それから、質問受付再開を行いたいと思います。
以下の四つのステップを行った結果を教えてください。
1) TeXLive 2021 (mactex ) の uninstall
2) mactex-20210328.pkg のinstall
3) /Users/kuni7/Library/texlive/2021/texmf-var が存在していたら削除
4) ターミナルで lualatex test.tex で pdf ができるか、否か
お忙しい中、手間ばかりをとらせてしまう事
お許しください。
以下の四つのステップを実行致します。
その前に誤解を避ける為の確認をさせてください。
1) TeXLive 2021 (mactex ) の uninstall
$ sudo rm -rf /usr/local/texlive/2021
これを使ってTeXLive2021ファイルを全て削除する。
2) mactex-20210328.pkg のinstall
Q2 -1 パッケージで表示される手順に従ってインストール実施。
Q2 -2 一度mac miniをrebootしておく。(or Q3-2で実行)
Q2 -3 通常のTeXLive2021(ISOが手元にあります)を
Installしなくても大丈夫でしょうか?
3) /Users/kuni7/Library/texlive/2021/texmf-var が存在していたら削除
Q3-1これはpkg のinstall後に直ぐ実施する事柄でしょうか?
exmf-varという名称の『フォルダー毎』削除する
Q3-2 Q2 -2では実施せずtexmf-var削除後にreboot ?
Q3-3 一度ディレクトリの再構築を実施します。
4) ターミナルで lualatex test.tex で pdf ができるか、否か
1) 2) 3) 実施後にコンパイルをいたします。
此の手順の実施内容で正しいでしょうか?若松久仁光拝
1) の回答(uninstall の対象)
今回は texlive だけで良いのはずなので /usr/local/texlive/2021 を削除すればすみそうですが、以下を参照してください
https://www.tug.org/mactex/uninstalling.html
上記URL に記載された削除内容概要 対象ディレクトリなど Uninstalling TeX /usr/local/texlive/2021 Uninstalling the GUI Applications /Applications/TeX Uninstalling the TeX Distribution Data Structure /Library/TeX Uninstalling Ghostscript https://blog.ikappio.com/how-to-uninstall-mactex/ 参照 2) の回答は YES
3 ) の回答 TEXMFVAR のディレクトリ削除について
- 削除するディレクトリは texlive 2021 が対象なので /Users/kuni7/Library/texlive/2021 に訂正変更してください
- A 3-1および 3-2 ... 今回の目標である lualatex で自動生成されるので、 lualatex を最初に実行する前であればいつでも良い
- A 3-3 ... TEXMFVAR は /Users/kuni7/Library/texlive がなくても /Users/kuni7/Library/texlive/2021/texmf-var 以下も含めて自動生成するので、手動で作成する必要はない
実行順序に関しては、害は発生しないと思われる少々の訂正がありましたが、実行してください。
お忙しい中、丁寧なご指示をありがとうございます。
『以下を参照してください』の記述で気になるところですが
Q01 :『/Applications/TeX』を削除するとTeXLiveUtilities.appも
無くなりますが?問題は出ない?
Q02 : /Library/TeX とはHDD直下の「システム」「ユーザ」等の
フォルダーと並んでいる「ライブラリ」>『TeX』というフォルダーの事ですね?
Q03 :『Uninstalling Ghostscript』は参考サイトの中の記事から
$sudo mv -v /usr/local/share/ghostscript ~/.Trash
で実行してみようと思います。
Q04: 2) mactex-20210328.pkg のinstall
これを実行した後に「/Users/kuni7/.bash_profile」の中に
「/usr/local/texlive/2021」を書き込む?
それとも、『必要はない』のでしょうか?
Q05 : 今ひとつ良く理解していない事柄が
『3 ) の回答 TEXMFVAR のディレクトリ削除について』の
記述のTEXMFVAR です。TEXMFVARとは
『/usr/local/texlive/2021/texmf-var』のフォルダー其の物
と理解していますが?認識は正しいでしょうか?
以前の遣り取りで、小生が勘違いしてしまった『元凶』と思う
場所なので、改めて確認させていただいています。
(ご容赦のほど)若松久仁光拝
お断り、流石にmactex を現環境にインストールすることはできないので、紹介したページの内容通りだと想定しています。
A 01 ... TeXLiveUtilities.app も対象になる → may-be YES
A 02 ... macOS は基本 ASCII 文字列のファイルパスですが、各国向けのユーザに向けてわかりやすいそれぞれの言語の名前で表示するケースがあるようです。なので、同じく may-be YES です。finder でなくターミナルで操作すると 「/Library/TeX」でアクセスできるところです。
A 03 ... /usr/local/share/ghostscript の処置はそれでも良い
/usr/local/bin にある ghostscript 関連のものは注意してください。
気になるのであれば、リネームや、保存フォルダーに退避するなども考慮してください。
A 04 ... .bash_profile に書き込むって PATH のこと? /usr/local/texlive/2021/bin/universal-darwin が入っていなければ先頭になるように入れると良いと思います。
A 05 ... 理解が間違ってると思います。kpsewhich -var-value TEXMFVAR で表示されるディレクトリです。若松さんの場合は、通常は /Users/kuni7/Library/texlive/2021/texmf-var になると思います。赤字で示したコマンドの表示結果で確かめてください。
$kpsewhich -var-value TEXMFVAR
/Users/kuni7/Library/texlive/2021/texmf-var
を確認いたしました。
『Library』の中の『texmf-var』を削除という事で、
理解いたしました。(初歩的な事柄のミスで済みません)
A03 : 『/usr/local/bin にある ghostscript 関連のものは注意してください。
気になるのであれば、リネームや、保存フォルダーに退避する』
先日「HiraginoーFont」使える様に、ghostscriptの設定で
『フォントを移植』していましたので『回避策』を巡らせます。
毎回毎回丁寧な説明を有り難うございます。Tinderbox Forumでの
質問の遣り取りでいつも丁寧に答えてくれている英国紳士
MarkAnderson氏と和田様の姿が今ダブってきています。
何から何までご指導有り難うございます。
明日の日中にTeXLive2021のアンインストールから順に
実施する予定にしております。若松久仁光拝
再インストール作業の前に読んでおいて欲しいこと
https://texwiki.texjp.org/?MacTeX を一読願います。
ghostscript を別途 homebrew で入れている場合は要注意です。
https://oversleptabit.com/archives/4701 も一読してください
「mactexのアンインストール」と
「手動で削除するファイルとディレクトリ」には
昨日提示した以外のものも削除対象についても書かれています。ただし複数バージョンの TeXLive をインストールしている場合は、
今回は 「~/Library/texlive/」を「~/Library/texlive/2021」と読み替えてください。
mactex に関して「mactex-20210328.pkg」と書かれていますが、
「brew install --cask mactex」でインストールされたもの?それとも https://mirror.ctan.org/systems/mac/mactex/MacTeX.pkg を
ダウンロードし手動でアイコンをクリックでインストールしたもの?後者の場合、「MacTeX.plg」だと普通かくのではないだろうか?
TeXLive 2021 のリリース日をわざわざ書いているのは、homebrew ではないかと心配になったので。手動でインストールした場合は、昨日の指示通りでお願いします。
homebrew 等であれば ghostscript がインストールされているなら要注意。
mactex-20210328,pkg は Ghostscript-9.53.3 をインストールしようとするようです。
mactexインストール時、それをインストールしないよう留意してください。
mactex 本体のアンインストールは「 brew uninstall cask mactex 」で実施してください
( brew cask uninstall mactex かのしれない)/usr/local/bin にghostscript 関連のものがあれば、退避ディレクトリに退避させておいてください。
手動で以下の3行を実施
sudo rm -r /usr/local/texlive/texmf-local/ rm -r ~/Library/texlive/2021 rm -r ~/Library/TeXShop/
- uninstall が終わったら、「brew install cask mactex」でインストール。
お忙しい中、痒いところにまで手が届く様な配慮のアドバイス
ありがたく承ります。
ご指摘の箇所注意深く読んでから実行に移します。
Q 01: https://texwiki.texjp.org/?MacTeX を一読願います。
A 01 : もう一度注意深く読んでみます
Q 02 : ghostscript を別途 homebrew で入れている場合は要注意です。
A 02 : homebrew でghostscriptをインストールしていますので
ここも注意書きなど検索して読んでおきます。
Q 03 : https://oversleptabit.com/archives/4701 も一読してください
A 03 : 注意深く読んでみます
Q 04-1 : mactex に関して「mactex-20210328.pkg」と書かれています が、
A 04-1 : https://mirror.ctan.org/systems/mac/mactex/MacTeX.pkg を
ダウンロードし手動、クリックでインストールしたものです
(ダウンローしたサイト場所は異なりますが)
Q 04-2 : 後者の場合、「MacTeX.plg」だと普通かくのではないだろうか?
A 04-2 : ダウンロードしたパッケージ其の物の名称をCopy&Paste
した為、「MacTeX.pkg」とは成っていなかったという事です。
ご心配をおかけして申し訳ございません。
Q 04ー3 :mactex.pkgでインストール時、それ(Ghostscript-9.53.3)を
インストールしないよう留意してください。
A 04-3 : 前回のインストールでは、此のことに失念していましたので
今回はオプション・インストールで(Ghostscript-9.53.3)を
インストールから『除外』いたします。
Q 05 :手動で以下の3行を実施
sudo rm -r /usr/local/texlive/texmf-local/
rm -r ~/Library/texlive/2021
rm -r ~/Library/TeXShop/
Q:A 05-1 : 此の手動での実施3項目は
mactex.pkgでインストール時でも同様に3項目実行する
という事でしょうか?
Q:A 05-2 : 以前「brew install cask mactex」でTeXLive2021を
インストールしていた場合だけ!のことでしょうか?
再度頂ける注意事項を熟読し、TeXLive2021のアンインストールから
順に実施致します。若松久仁光拝
A Q01 からQ03 ... 情報収集・作業把握のためお願いします
A Q04-1 ... はい、ミラーサイトなので同じことになります
A Q04-2 ... はい、了解
A Q04-3 .. この点が今朝ほど回答した一番の心配事でしたので「除外」してください
A Q05-1 ... 行ってください。特に今回あれこれ操作して思い通りに動かないので、初期状態に戻すため、考えられることは、全て行うというのが、鉄則だと思ってください。
A Q05-2 ... MaxTeX をどのように導入しようと、これらの三項目は、例えば lualatex のキャッシュなどを作成する場所ですから。
rm に「f」オプションがついていないので、手動入力でなくコピペで端末で実施した場合の「エラー」警告メッセージは無視してください。
その他、ghostscript は、「brew reinstall ghostscript」すれば、上書きされるので実施してください。いつやっても良いです。
返信有り難うございます。
Q 01: https://texwiki.texjp.org/?MacTeX を一読願います。
◦ A 01 : もう一度注意深く読んいましす! [2021/08/10 10:27:27]
◦ MacTeX をおすすめできる場合とそうでない場合(私見) | ラング・ラグー
ここで述べられている「パワーユーザー」では有りませんが、
• ターミナル(いわゆる「黒い画面」)を日常的に使う人
• Linux を利用している/利用したことがある人
• パッケージマネージャ(Homebrew や MacPorts など)を使用している人
の3つに該当する小生としては、
『MacTeX の代わりに TeX Live の(UNIX 全般向けの)公式インストーラを使用した方が
将来的にトラブルに見舞われる可能性が低く無難です.』と言う意見に同調してしまいます。
前回のインストールの件で「texlive2021-20210325.iso」を
すでにダウンロードして保存して持っていますが?と言う旨の
コメントを括弧付きで質問を致したのですが?
和田様からのお答えは(8月23日23:39分)
単に『2) の回答は YES』でしたが?
本当の気持ちは「texlive2021-20210325.iso」を使って
インストールする方が良いのだが?と言うことは
御座いませんか?小生自身、未だMacTeX.pkgからのInstallを
躊躇する気持ちが現段階でも残っています。
忌憚のないご意見をお聞かせいただければ幸甚です。
何時も、貴重なお時間を些細なことに使わせていること
心苦しい限りです。若松久仁光拝
追伸
2020からはTeXLive2020.isoを残していますので
通常のUNIX TeXLive2020をiso CD から
インストールしていたかもしれません。
今回もtexlive2021-20210325.isoからの
インストールは何の問題もございませんが?
PS
Q 03 : https://oversleptabit.com/archives/4701 も一読してください
A 03 : homebrew からのインストールは実行していないので
今後の参考として読んでいます。 [2021/08/10 10:50:04]
brew cask uninstall mactexで殆どが削除できるのは
便利だったのですね。インストールの時間が思った以上に
かかるので今までは此のやり方は避けていました。
P.P.S
TeXLive2020.isoからのインストール手順についても
関連記事を目下熟読中です。が?
1番にオススメのサイトは御座いませんか?
インストール作業を躊躇させてしまった感じがして申し訳ないです
「 2021年 08月 10日(火曜日) 10:57 の投稿」の主な質問内容はインストール方法はどれが良いかということだと思います。
→私の結論は ISO イメージからであればなんだっていいです。
ISO イメージかネットワークインストールか
最近のこのフォーラムの質問状況から ISO イメージ + tlmgr update --self --all が問題が少ないと感じています。
なので、ISO イメージを含んでいる MacTeX.pkg を手動でやろうと、brewinstall casj macktex でやろうと、問題が少ない方法だと思います。
MacTeX.pkg vs homebrew vs TeXLive ISO イメージ
- TeXLive 2021 ISOイメージは /usr/local/texlive/2021 に展開するだけで、
実行に必要な環境変数 PATH 設定はユーザに委ねられている - MacTeX.pkg でやれば、IDE 環境を /Application に追加してくれたり、
実行に必要な環境変数 PATH 設定などを /etc 以下に配置したりしてくれます。 - homebrew だと installl だけで uninstall も面倒見てくれる(みたい)
- TeXLive 2021 ISOイメージは /usr/local/texlive/2021 に展開するだけで、
A for P.P.S ... 2020 も 2021 も ISO イメージからのインストール方法は変わりないと思います。
嬉しい報告です!
Terminal からLuaLaTeXでPDFが作成されました!!
今までの和田様に煩わせた様々なことを考えると
mactex-20210328.pkgでインストール実施して問題が
発生したとしても、大した作業ではないと考えて、
全てのアン・インストール作業、再インストールを
(ghostscript を除いてのインストールです)
今夕 mactex-20210328.pkにて実行しました。
たった今、lualatex test.tex をTerminalから実施。
( [2021/08/10 19:26:38] コンパイル中)
全てが問題なくコンパイル実行され、
PDFも同一作業フォルダーの中に無事作成されました。
何から何まで有り難う御座います。
取り急ぎ、報告も兼ねて返信に書き込みます。
作業ファイル一式のzipも添付致します。若松久仁光拝
P.S
zip内容はtest.tex, test.log, test.pdf, test.auxです。
(logだけで良かったか?)
Terminal luaLaTeX で以前お送りするはずだった
Emacs系で作成していた抜粋のtexファイルのコンパイルで
Terminalが少しトラブっています。
logの中身を理解できていないので、
ご教授をよろしくお願いいたします。若松久仁光拝
今回の問題は、emacs でも TeXworks でも ターミナルでも発生する問題です。結論から言うと hyperref を lualatex で使う場合のケア不足によるものだと思います。
小言っぽいのであまり描きたくないですが ... うまなく行かなかったら の対処方法
log ファイルを error warning などで検索しましょう
emacs でログファイルを開き検索するか、ターミナルで以下のようにすれば取り出せます。
# ←入力コマンド ↓ 表示例 ! Package hyperref : Wrong DVI mode driver option `dvipdfmx', (hyperref) because pdfTeX or LuaTeX is running in PDF mode. See the hyperref package documentation for explanation.
多くの設定では軽微なエラーは多少は無視して突っ走って実行するオプション
-interaction=errorstopmode や -interaction=nonstopmode をつけてタイプセットしてしまいます。このオプションの意義は理解していますが、多くの方が、タイプセットできてpdf までできたけど、なんかおかしいと騒ぎます。
それは、多くの場合、エラーを検知した後も処理を続けるためら医療のログが出力され、エラーを見つけにくくしてしまうからだと感じています。
なので、ログを検索しましょう。
あるいは interaction オプションなど当面不要なオプションを外し
今回の場合であれば 「lualatex 2021Emacs28」でタイプセットできるエントリを IDE 環境に作成するか、
ターミナル等で手動で実行してみてください。
エラーストップしたところを適宜ブラウザにコピペして検索すると結構対策は見つかります。
気を取り直し、上記エラーメッセージ「Package hyperref Error: Wrong DVI mode driver option `dvipdfmx'」で検索したり、「hyperref lualatex」で検索した結果、とりあえず以下のようにするとエラーはなくなります。ただし多数の警告がでますが。diff にも書き込んでありますが、https://texwiki.texjp.org/?hyperref#za8c61cb を参考にしました。
--- a/2021Emacs28.tex +++ b/2021Emacs28.tex @@ -7,7 +7,9 @@ \usepackage[german,french,japanese]{babel} %\usepackage{booktabs} \usepackage{atbegshi} -\usepackage[dvipdfmx]{graphicx,color,hyperref} +\usepackage[dvipdfmx]{graphicx,color} +%% see as ... https://texwiki.texjp.org/?hyperref#za8c61cb +\usepackage[pdfencoding=auto]{hyperref} %% or \usepackage[luatex,pdfencoding=auto]{hyperref} %\input{fancysection.hva} %\usepackage{pxjahyper} \usepackage{footnotebackref}
提案です。今後のspacemacs with lualatex に関しては、別スレッドにしましょう
- A.01 の結果に疑問 ( echo $HOME も一緒に行って貰えばよかったと反省)
A.01 : Emacsで確認してみました。 kpsewhich -var-value TEXMFVAR /Users/kuni7/Library/texlive/2021/texmf-var
「HOME=$HOME/spacemacs open ... 」で emacs を起動しても上記のようになるということでしょうか?
spacemacs の設定で TEXMFVAR を変えているのかしら
/Users/kuni7/spacemacs には Library が有る?無い?どちらかしら
Q01 の texmf-var の処置(再確認するのを忘れたことを反省2 :-( )
- 私は、TEXMFVAR で示されるディレクトリのリネームないし削除操作をお願いしていたのですが /usr/local/texlive/2021/texmf-var を操作してしまったのですね。
もちろん元に戻してください
現時点では TEXMFVAR で示されるディレクトリは存在しないようです。
これは texlive がターミナルで動くようになれば自動で作成されます。
上記を踏まえれば、ターミナルで lualatex できるかもしれません。
- 私は、TEXMFVAR で示されるディレクトリのリネームないし削除操作をお願いしていたのですが /usr/local/texlive/2021/texmf-var を操作してしまったのですね。
Wish 01 の返答 (A.01 に対する和田の疑問にも関係するが)
- 「Spacemacsを継続して利用したい」のであれば、HOME=$HOME/spacemacs のような弊害を生みやすい利用でなく $HOME/.emacs.d (だったかな)に spacemacs の設定を行う方が良いと思います。
つまり、ランチャやドックアイコンから起動するようにしたらという提案。
Wish 02 の返答
- リネームした/usr/local/texlive/2021/texmf-var でターミナルで問題なくできると思います。(再現実験で確認しました)
以下は texlive の話ではないので、お忙しい方は読み飛ばされたし
また、私の個人的な思いれもあることをご承知おきください。
若松さんは spacemacs を emacs モードでなく vi モード で利用されていると推測します。
小指酷使防止だったら、vscode や atom の方が良いのでは?emacs ユーザより使用者が多い・多くなりつつあることだし。
おっしゃられる emacs の神話は、ある程度はまだありますが 小指の神話はかなり小さくなりつつあると感じています。私自身は Esc で疲れたら 左Alt を使ってます。
むしろマルチキーなものが多すぎて覚えきれないので「Esc」押して、うろ覚えばコマンド名を空白区切りでタブや矢印キーを利用し補完選択してますね。最近はもう少し便利な機能があると聞いています。
この辺の機能は spacemacs を導入すれば容易に得られ得るのですが、難点は色々な方法がありすぎます。