VScodeでLatexのコンパイルができない

VScodeでLatexのコンパイルができない

by T Y -
Number of replies: 10
VScodeでlatexの環境構築を試みています。
OSはWindows 11 Proです。
こちらの記事を参考に環境構築を試みたのですが、コンパイルがうまくできません。aux、logなどの一切のファイルが作成すらされません。
https://qiita.com/rainbartown/items/d7718f12d71e688f3573

エラーメッセージを調べてみても該当する物は見つけることができませんでした。

エラー出力
Cannot write file 'out/test.aux'
Initial Win CP for (console input, console output, system): (CP932, CP932, CP932)
I changed them all to CP932
Rc files read:
C:/Users/gene-/.latexmkrc
C:\texlive\2022\bin\win32\runscript.tlu:915: command failed with exit code 2:
perl.exe c:\texlive\2022\texmf-dist\scripts\latexmk\latexmk.pl -silent -outdir=out c:/Users/gene-/Documents/Latex/test

ソースコード
\documentclass[dvipdfmx]{jsarticle}
\begin{document}
\title{VSCode で \LaTeX}
\author{ame}
\date{\today}
\maketitle
\section{\LaTeX をインストール}
あいうえおかきくけこさしすせそ\\
\section{ \LaTeX を覚えよう}
\end{document}
In reply to T Y

Re: VScodeでLatexのコンパイルができない

by 和田 勇 -
ソースコードの置いてあるディレクトリに「out」というディレクトリがあるか確認してください。

その対処で解消しない場合は、お手数ですが settings.json を添付ファイルでアップロードしてください
In reply to 和田 勇

Re: VScodeでLatexのコンパイルができない

by T Y -
和田様、回答ありがとうございます。

setting.jsonにより「out」ディレクトリは自動生成されるようで、「out」ディレクトリは確認できますがコンパイルに失敗してしまいます。

setting.jsonと.latexmkrcを添付いたします。(.latexmkrcは別の返信にてお送りします。)
確認して頂ければ幸いです。
In reply to 和田 勇

Re: VScodeでLatexのコンパイルができない

by T Y -
.latexmkrcファイルになります。
In reply to T Y

Re: VScodeでLatexのコンパイルができない

by 和田 勇 -
macOS で提供された settings.json ~/.latexmkrc に置き換え、サンプルソースで試したところ問題はありませんでした。
以下の情報を提供してください

- .log ファイル

「 c:/Users/gene-/Documents/Latex」の「test.tex」をビルドしているようなので
 vscode でエラーになった test.log をウップロードしてください。


- コマンドプロンプトで latexmk test がそもそも通るか

 コマンドプロンプトで「c:/Users/gene-/Documents/Latex」に移動して以下のコマンドを実行したときの test.log
もほしいです。

   latexmk test

- TeXLive は最近インストールしたのでしょうか?

 - そのインストールログは C:\texlive\2022\install-tl.log なのですが、そのログも見せてほしいです。

PS 複数ファイルになる場合は zip などでアーカイブ圧縮して構いません。

In reply to 和田 勇

Re: VScodeでLatexのコンパイルができない

by T Y -
ありがとうございます。

-logファイル
logファイルすら作成されないです。

-コマンド実行
latexmk testの実行結果は以下の通りです。

Initial Win CP for (console input, console output, system): (CP932, CP932, CP932)
I changed them all to CP932
Rc files read:
C:/Users/gene-/.latexmkrc
Latexmk: This is Latexmk, John Collins, 18 Nov. 2022. Version 4.78, version: 4.78.
Cannot write file 'test.aux'
C:\texlive\2022\bin\win32\runscript.tlu:915: command failed with exit code 2:
perl.exe c:\texlive\2022\texmf-dist\scripts\latexmk\latexmk.pl test

-TexLiveのインストール
10月ごろに一度インストールしました。しかし、最近アンインストールし再度インストールをし直しました。
C:\texlive\2022\install-tl.logを添付いたします。

よろしくお願いいたします。
In reply to T Y

Re: VScodeでLatexのコンパイルができない

by 和田 勇 -

まだ、原因は特定できていません。

test.tex は vscode で書き込んだのですよね。 ですので vscode ではなく そのほかの texlive あるいは作業ディレクトリのアクセス権周りと推測しています。

いくつか、試していただきたいので、お手数ですが検証をお願いします。

  • 注目点

    -logファイル
    logファイルすら作成されないです。    ← .log が作成できていない
    
    -コマンド実行
    latexmk testの実行結果は以下の通りです。
    
    Initial Win CP for (console input, console output, system): (CP932, CP932, CP932)
    I changed them all to CP932
    Rc files read:
    C:/Users/gene-/.latexmkrc
    Latexmk: This is Latexmk, John Collins, 18 Nov. 2022. Version 4.78, version: 4.78.
    Cannot write file 'test.aux'   ← .aux が作成できない
    
  • 以上から、単純に想像するに ...

    • test.tex が置かれている場所の書き込み権がない
    • perl または、platex の書き込みアクセス権がない
  • 上記の検証方法

    • 作業ディレクトリの書き込み権は以下のコマンド実行後、aaa の有無で確認可能

      echo aaa > aaa
      
    • perl ... ここで対象となる perl は texlive 配布のものを使う

      C:\texlive\2022\tlpkg\tlperl\bin\perl.exe c:\texlive\2022\texmf-dist\scripts\latexmk\latexmk.pl test
      
    • platex

      platex test
      
    • 他のディレクトリで検証してみる

      上記でダメだったものを例えば「Desktop」に test.tex をコピーして検証してみる

In reply to 和田 勇

Re: VScodeでLatexのコンパイルができない

by T Y -
ありがとうございます。

・作業ディレクトリの書き込み権
ubuntuにおけるコマンド実行結果です。
[1] 1602
/mnt/c/Users/gene-/Documents/Latex
gt: error: neither tool nor script specified; option -help lists possible tools
[1]+ 終了 echo /mnt/c/Users/gene-/Documents/Latex
-bash: /mnt/c/Users/gene-/Documents/Latex: ディレクトリです

・perl
同様のエラーでした。
Initial Win CP for (console input, console output, system): (CP932, CP932, CP932)
I changed them all to CP932
Rc files read:
C:\Users\gene-/.latexmkrc
Latexmk: This is Latexmk, John Collins, 18 Nov. 2022. Version 4.78, version: 4.78.
Cannot write file 'test.aux'

・platex
作業ディレクトリにてビルドができました。
test.aux、test.dvi、test.logが作成されました。(添付いたします。platex)

・他のディレクトリで検証(latexmk test を実行)
ソースコードをDesktopにコピーして実行した結果、ビルドできpdfまで作成されました。(添付いたします。desktop)
作業ディレクトリごとDocumentsからDesktopにコピーしてもできました。
DocumentsとDesktopで何か違いがあるのでしょうか
In reply to T Y

Re: VScodeでLatexのコンパイルができない

by 和田 勇 -

おっ WSL との連携かな (現役の頃ちょっと使ったけどこの辺の知識はあまりないので自信はないです)

前回の検証依頼は、「コマンドプロンプト」を想定してのものだったのですが、 どのような環境で検証されたのかしら?可能であればスクリーンショット見せていただけますか?

なお、ディレクトリによってアクセス権を制御するのは、昨今では普通に行われますので Desktop と Documents では異なっていてもおかしくありません。

-「platex」がOK とのことですが、 windows のコマンドで where platex とすると何が表示されます?

  • ビルドのできる状況

    • ソースコードをDesktopにコピーして実行した結果はOK
    • 作業ディレクトリごとDocumentsからDesktop

    これから考えられるのは、Documents のアクセス権ですね。

    適切な調査コマンド が出てこないので、「Windows ディレクトリ アクセス権」などで調べてください。

In reply to 和田 勇

Re: VScodeでLatexのコンパイルができない

by T Y -
・WSLでのコマンド実行について
コマンドプロンプトでの実行結果は以下のようだったため、Ubuntuでの実行をしてみました。
echo C:\Users\gene-\Documents\Latex > C:\Users\gene-\Documents\Latex

C:\Users\gene-\Documents\Latex
'gt' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。

・platex
platexはここにあるようです。
where platex

C:\texlive\2022\bin\win32\platex.exe

・アクセス権について
ディレクトリアクセス権について色々と調査してみようと思います。
In reply to T Y

Re: VScodeでLatexのコンパイルができない

by 和田 勇 -
- 前回の報告でも「gt」がありましたが、どうやら私の投稿後の確認漏れのようですね。

 - 2022年 12月 14日(水曜日) 20:00 に投稿した内容が「 echo aaa > aaa 」になっていました。
  - 「  echo  aaa > 出力ファイル  」のような方法でファイルが作成できるか試したかったのです。

- お手数ですが再確認です。
  - texlive は WIndows のものを使用されたいのは理解しました。
  - vscode は Windows 側? それとも ubuntu側?
  - C:\Users\gene-\Documents\ 以下と ubuntu 側の関係は?
  - これらの関係次第で、設定次第で書き込みができなくなることは考えられます。