vs codeの拡張機能LaTeX Workshop でビルドができない

vs codeの拡張機能LaTeX Workshop でビルドができない

- matushiro 97 の投稿
返信数: 14

texWorksからvscodeにエディターを変更しようとしています.

拡張機能としてLaTeX Workshop をインストールしました.

添付のtest-latexWorkshop.texをビルドしようとするとエラーメッセージがでて失敗します.このファイルはtexWorksでコンパイルできます.

どうすればいいでしょうか.

環境情報は次のとおりです.texLiveは2024です.

OS:

エディション    Windows 11 Home
バージョン    22H2
インストール日    ‎2023/‎03/‎03
OS ビルド    22621.3880
エクスペリエンス    Windows Feature Experience Pack 1000.22700.1020.0

vsCode:

バージョン: 1.91.1 (user setup)
コミット: f1e16e1e6214d7c44d078b1f0607b2388f29d729
日付: 2024-07-09T22:06:49.809Z
Electron: 29.4.0
ElectronBuildId: 9728852
Chromium: 122.0.6261.156
Node.js: 20.9.0
V8: 12.2.281.27-electron.0
OS: Windows_NT x64 10.0.22621

Latex Workshop:

v10.1.0

エラーメッセージ:

Latexmk: Sometimes, the -f option can be used to get latexmk
  to try to force complete processing.
  But normally, you will need to correct the file(s) that caused the
  error, and then rerun latexmk.
  In some cases, it is best to clean out generated files before rerunning
  latexmk after you've corrected the files.
Initial Win CP for (console input, console output, system): (CP932, CP932, CP932)
I changed them all to CP932
Rc files read:
  NONE
Latexmk: This is Latexmk, John Collins, 31 Jan. 2024. Version 4.83.
Latexmk: Nothing to do for 'c:/cloudLinkFold/�������/Lib/Idea/���ۉ��l�_�p��/�}�X�^�C�v�ɂ��Tex�Z���ς݁�������g��/���ۉ��l�_v08b01�̉��H�t�@�C��/����/test-latexWorkshop.tex'.
Latexmk: All targets (test-latexWorkshop.pdf) are up-to-date
Collected error summary (may duplicate other messages):
  pdflatex: gave an error in previous invocation of latexmk.

C:\texlive\2024\bin\windows\runscript.tlu:921: command failed with exit code 12:
perl.exe c:\texlive\2024\texmf-dist\scripts\latexmk\latexmk.pl -synctex=1 -interaction=nonstopmode -file-line-error -pdf -outdir=c:/cloudLinkFold/�������/Lib/Idea/���ۉ��l�_�p��/�}�X�^�C�v�ɂ��Tex�Z���ς݁�������g��/���ۉ��l�_v08b01�̉��H�t�@�C��/���� c:/cloudLinkFold/�������/Lib/Idea/���ۉ��l�_�p��/�}�X�^�C�v�ɂ��Tex�Z���ς݁�������g��/���ۉ��l�_v08b01�̉��H�t�@�C��/����/test-latexWorkshop
***ここまでエラーメッセージ
文字化けはフォルダー名の日本語表示と思われます.完全なフォルダー名は以下のとおりです
C:\cloudLinkFold\文献情報\Lib\Idea\国際価値論英訳\マスタイプによるTex校正済み←これを使う\国際価値論v08b01の加工ファイル\質問.
 
よろしくお願いします.
 
matushiro 97 への返信

Re: vs codeの拡張機能LaTeX Workshop でビルドができない

- matushiro 97 の投稿
フォルダー名に日本語のないところに移しましたが,やはりエラーです.
新しいログ
Latexmk: Sometimes, the -f option can be used to get latexmk
to try to force complete processing.
But normally, you will need to correct the file(s) that caused the
error, and then rerun latexmk.
In some cases, it is best to clean out generated files before rerunning
latexmk after you've corrected the files.
Initial Win CP for (console input, console output, system): (CP932, CP932, CP932)
I changed them all to CP932
Rc files read:
NONE
Latexmk: This is Latexmk, John Collins, 31 Jan. 2024. Version 4.83.
Latexmk: Nothing to do for 'd:/chatGptWork/test-latexWorkshop.tex'.
Latexmk: All targets (test-latexWorkshop.pdf) are up-to-date
Collected error summary (may duplicate other messages):
pdflatex: gave an error in previous invocation of latexmk.

C:\texlive\2024\bin\windows\runscript.tlu:921: command failed with exit code 12:
perl.exe c:\texlive\2024\texmf-dist\scripts\latexmk\latexmk.pl -synctex=1 -interaction=nonstopmode -file-line-error -pdf -outdir=d:/chatGptWork d:/chatGptWork/test-latexWorkshop
matushiro 97 への返信

Re: vs codeの拡張機能LaTeX Workshop でビルドができない

- 和田 勇 の投稿
気になる点ですが、 settings.json でカスタマイズされましたか?
カスタマイズされていれば settings.json を開示してください。

以下は LaTeX workshop のデフォルト設定を想定して回答します。

「C:\cloudLinkFold\文献情報\Lib\Idea\国際価値論英訳\マスタイプによるTex校正済み←これを使う\国際価値論v08b01の加工ファイル\質問」に
関して、vscode より「信頼できるか云々」の警告メッセージで「信頼」と答えましたか?
こしないと確か書き込みもできないのですが、書き込めていそうなので「信頼」としているものと思います。

懸念されている日本語のパス名に関しては問題なく処理できています。
(LaTeX workshop のログでは文字化けはしていませんでした)

添付画像を参考に LaTeX workshop のメニュー画面と同ログを表示した状態のスクリーンショットをアップロードしてください。

なお、当初は NG でしたが、途中「Clean up aucialiry files 」のボタンを押した以降はビルドできるようになったので
参考にしてみてください。
添付 スクリーンショット 2024-07-15 15.21.01.png
和田 勇 への返信

Re: vs codeの拡張機能LaTeX Workshop でビルドができない

- matushiro 97 の投稿
*setting.jasonです.
{
"workbench.colorTheme": "GitHub Light Default"
}
{
"latex-workshop.latexindent.enabled": true,
"latex-workshop.latexindent.modifyLineBreaks": true,
"editor.formatOnSave": true
}
 
*スクリーンショットです.
image.png
 
**上のフォルダーのパスを表示というのはやり方がわかりません.
 
 
matushiro 97 への返信

Re: vs codeの拡張機能LaTeX Workshop でビルドができない

- 和田 勇 の投稿
>Latexmk: Sometimes, the -f option can be used to get latexmk
> to try to force complete processing.
> But normally, you will need to correct the file(s) that caused the
> error, and then rerun latexmk.
> In some cases, it is best to clean out generated files before rerunning
> latexmk after you've corrected the files.

このエラーメッセージがとても気になります。
一番上の行をコピペして検索すると、「.aux ファイルがビルドしようとしている
ディレクトリ情報と違う場合云々」などの記事があるので、
試しに Desktop でビルドした .aux を持ってくると、ビルドエラー。

よくよくエラーメッセージを読み進むと「it is best to clean out generated files before rerunning latexmk」
とのこと。

その指示にしたがい補助ファイルを削除するとビルドできるようになりました。

ですので、前回の私の回答にちょこっと書いたつもりですが、「補助ファイルをクリア」の処理してから
ビルドを今一度試していただけませんか?
和田 勇 への返信

Re: vs codeの拡張機能LaTeX Workshop でビルドができない

- matushiro 97 の投稿

補助ファイルをクリアーして再度ビルドしましたが失敗しました.以下がログです.よろしくお願いします.

****ログ

Latexmk: Sometimes, the -f option can be used to get latexmk
  to try to force complete processing.
  But normally, you will need to correct the file(s) that caused the
  error, and then rerun latexmk.
  In some cases, it is best to clean out generated files before rerunning
  latexmk after you've corrected the files.
Initial Win CP for (console input, console output, system): (CP932, CP932, CP932)
I changed them all to CP932
Rc files read:
  NONE
Latexmk: This is Latexmk, John Collins, 31 Jan. 2024. Version 4.83.
Latexmk: Nothing to do for 'd:/chatGptWork/test-latexWorkshop.tex'.
Latexmk: All targets (test-latexWorkshop.pdf) are up-to-date
Collected error summary (may duplicate other messages):
  pdflatex: gave an error in previous invocation of latexmk.

C:\texlive\2024\bin\windows\runscript.tlu:921: command failed with exit code 12:
perl.exe c:\texlive\2024\texmf-dist\scripts\latexmk\latexmk.pl -synctex=1 -interaction=nonstopmode -file-line-error -pdf -outdir=d:/chatGptWork d:/chatGptWork/test-latexWorkshop
**ここまでログ
**スクリーンショット
image.png
matushiro 97 への返信

Re: vs codeの拡張機能LaTeX Workshop でビルドができない

- 和田 勇 の投稿
いくつか腑に落ちないものがありますが、「pdflatex」や「612」というエラーの数から
考えると、「レシピ:latexmk」を選択してビルドされていませんか?

「レシピ:latexmk(lualatex)」でビルドされるとどうなりますか?

うまくいかない場合ですが、以下のファイルがありましたら、添付でアップロードしてください。

1)  %APPDATA%\Code\User\settings.json
2)  %USERPROFILE%\.latexmkrc
3) カレントディレクトリの .latexmkrc または latexmkrc
    カレントディレクトリとは以下のいずれか
  - C:\cloudLinkFold\文献情報\Lib\Idea\国際価値論英訳\マスタイプによるTex校正済み←これを使う\国際価値論v08b01の加工ファイル\質問
  - d:/chatGptWork
4) カレントディレクトリの「test-latexWorkshop.log」
和田 勇 への返信

Re: vs codeの拡張機能LaTeX Workshop でビルドができない

- matushiro 97 の投稿

和田様

ありがとうございます.

「レシピ:latexmk(lualatex)」でビルドされるとどうなりますか?

→レシピ:latexmk(lualatex)をWORDクリックすればいいのですね.エラーになります.

2が見つかりません.他をアップします.

よろしくお願いします.

matushiro 97 への返信

Re: vs codeの拡張機能LaTeX Workshop でビルドができない

- 和田 勇 の投稿
カレントの latexmkrc 、settings.json ともに影響のあるようなカスタマイズなし。

c:/cloudLinkFold/文献情報/Lib/Idea/国際価値論英訳/マスタイプによるTex校正済み←これを使う/国際価値論v08b01の加工ファイル/質問/test-latexWorkshop.tex
をコンパイルされた時生成された test-latexWorkshop.log も正常に処理され PDF は作成されています。
よって、「レシピ:latexmk(lualatex)」のメニューを選択すれば正常に処理されていると判断しています。

なので、エラーとおっしゃる原因がどこにあるのか皆目検討がつきません。

「エラー」と判断された根拠は?ビルド時に下部に「問題」「出力」「デバッグコンソール」
「ターミナル」などがタブ表示で「問題」の横に 612 とかの数字が表示されているのでしょうか?

和田 勇 への返信

Re: vs codeの拡張機能LaTeX Workshop でビルドができない

- matushiro 97 の投稿
和田様
おっしゃるとおりPDFは作成されておりました.
最初に実行したときに,ポップウインドウのようなものいエラーメッセージがでました.
texworksでコンパルしたときは成功するとPDFがポップアップするので,workShopも同じと思いこんでいたため,何度やってもPDFがポップアップしないのでエーラで落ちたと誤解しました.

お騒がせしました.

Latexworkshopの操作方法をきちんと理解せずに,なんとはなしに使っていることに原因があるを痛感しました.

Latexworkshopの操作方法をきちんと理解できるお勧めの資料がありましたら,ご教示いただければ幸いです.

実は現在,長文のtexファイルのデバッグをやっており,texWorksではエラー箇所を特定するのが難しく困っております.
vsCodeはエラー箇所の特定がtexWorksよりも楽になるのではないかと期待して,vsCodeに挑戦しているところです.
matushiro 97 への返信

Re: vs codeの拡張機能LaTeX Workshop でビルドができない

- 和田 勇 の投稿
>ビルドしたあと PDF がポップアップされない云々

添付画像は vscode で LaTeX Workshop を利用した時の、私が感じたちょっと便利なボタンの動作についてのものです。
参考になればと思います。

>長文のtexファイルのデバッグ ... vsCodeはエラー箇所の特定がtexWorksよりも楽 ...

個人的な感想ですが、TeXWorks や VScode LaTeX Workshop は、
既定オプションが多少のエラーは無視してなんとか PDF を作成しようとします。
これはこれでも良いのですが、長大な tex ファイルのデバッグにはあまり適切な利用方法では無い思います。

エラーがエラーを新たに誘引したり、同様のエラーがあちこちで発生するので、
どのエラーから手をつけて良いかわからなくなりがちです。

なので長大な既存ファイルのデバッグというのであれば、
GUI にたよらず、コマンドラインで実行し
最初のエラーで止めて、それを fix していく地道な作業の積み重ね作業の方が確実だと思います。

>Latexworkshopの操作方法をきちんと理解できるお勧めの資料

今のところ私には持ち合わせはありません。
かつては、レシピなどの記述方法などを解説したページもありましたが
なんか最近は latexmk に特化した設定のような感じを受けますので。
ですので .latexmlrc の記述次第だと思います。

PS
質問に対する回答漏れがあれば指摘してください。
添付 スクリーンショット 2024-07-18 22.08.03.png
和田 勇 への返信

Re: vs codeの拡張機能LaTeX Workshop でビルドができない

- matushiro 97 の投稿

貴重な情報ありがとうございます.操作方法のスクリーンショットは大いに助かります.これまでは,ドタ感でらしいアイコンを押していただけでした.
色々と教えていただきたいことがあるのですが,本来の目的の処理を完結させたいので,そちらを教えていただけると助かります.

添付ファイル'all_content_translated_03_work.tex'が本番用の論文ですが,コンパイルしてPDFに出力しようとしているのですがPDFが出力できません.
texWorksではPDFがに出力できます.何が,悪いのでしょうか.
添付ファイルの内容は次のとおりです.環境を再現するために全部アップしました.

all_content_translated_03_work.tex    :本番用の論文
preamble.tex                    :all_content_translated_work_03.texが最初に読み込むpreambleファイル.同じフォルダーに置いてください.
image.zip                         :all_content_translated_03._worktexが読み込む画像ファイルです.サブフォルダーimageをつくり,その中に展開してください.
vxCode_LatexWorkshop.log        :コンパイルしたときのログです.成功しているように見えます.ただ,texWorkではコンパイルによって同じフォルダー内に補助ファイルのようなものが新に規作成されるのですが,それらが同じフィルダーに見当たりません.どこか別の作業フォルダーを利用しているのでしょうか.
test-latexWorkshop2Pdf.log        :右上のアイコン'LaTexPDFを表示アイコン'を押したときのログです.'Active document is not a TeX file’と怒られます.texファイルに間違いがないのですが.
LaTexPDFを表示直後.png:右上のアイコン'LaTexPDFを表示アイコン'を押した直後のSSです.

お手数ですがよろしくお願いします.

添付 LaTexPDFを表示直後.png
matushiro 97 への返信

Re: vs codeの拡張機能LaTeX Workshop でビルドができない

- 和田 勇 の投稿

Table of Contents

  1. はじめに
  2. 添付ファイルの作成方法について
  3. all_content_translated_03_work vs preamble.tex
  4. label ref に関するエラー
  5. その他の警告
  6. 暫定修正したものを添付します

はじめに

新たな問題は別スレッドにて質問してください

一つの質問の解決が解決したら一旦そのスレッドはクローズし、 新たなスレッドを起こして質問してください。

TeXworks vscode

私は、TeXworks も vscode も普段は使っていないので 不適切な表現があるかもしれないことをお含みおきください。

また、以下のような症状があることは承知していますが、 対策不明なので、無視しています。

  • ソース編集、保存後、ビルドボタンを押すと大量の「^^@^^@^^@^^@」が表示される

    既定では保存すると「ビルド」処理が起動されるようですが、大量の 文字化けのような表示が LaTeX Compiler の window に多数表示されてしまいます。

 原因不明ですが、 LaTeX Compiler のウィンドウ下部を表示して PDF が作成されたら良しとしています。

添付ファイルの作成方法について

image ディレクトリを zip でアーカイブしたように、再現に必要なディレク トリを作成して、そこで作業し、その結果作成される .log なども一緒にアー カイブしていただいた方が良いかと思います。

もちろんスクリーンショットなども重要な情報の証がある場合もございますが、 それよりも重要なものは、テストされた .tex とそれを使って生成され る .log を拠り所に検証を行うためです。

また、他の投稿でのログファイルを見ると、なぜか 4096 バイトの境界と思わ れる、途中までのものがあります。これはおそらくコンピュータがファイルへ 出力する際の delay write など影響かと思います。通常は(とりあえず「分」 のオーダで良いと思いますが)一定時間経過すれば、残りも吐き出されるはず ですが、なぜそうなるのか今の所原因不明です。

お手数ですが、vscode などのテキストエディタでファイルの末尾を確認して いただけると幸いです。

できれば TeXworks や vscode などの GUI 環境ではなく、コマンドプロンプ トで実行していただければ、確実に .log が書き込まれますので、ご検討くだ さい。今回のケースであればそのコマンドは latexmk -lualatex all_content_translated_03_workです。

all_content_translated_03_work vs preamble.tex

試してみた限り vscode は documentclass が記述されている(多分) 一番最初のファイル名、今回であれば preamble.tex を root ファイルとみ なすようですね。以下ようにすると対処可能なようです。

diff --git a/all_content_translated_03_work.tex b/all_content_translated_03_work.tex
index ab3881b..b76b70a 100644
--- a/all_content_translated_03_work.tex
+++ b/all_content_translated_03_work.tex
@@ -1,3 +1,4 @@
+\documentclass[a4paper, 11pt, twoside]{ltjsarticle}% ← 追加挿入
 \input{preamble.tex}

 \begin{document}

diff --git a/preamble.tex b/preamble.tex
index 98d03ab..ce0ac66 100644
--- a/preamble.tex
+++ b/preamble.tex
@@ -1,4 +1,4 @@
-\documentclass[a4paper, 11pt, twoside]{ltjsarticle}
+% \documentclass[a4paper, 11pt, twoside]{ltjsarticle}% ← コメントアウト

 % パッケージの読み込み
 \usepackage{amsmath, amssymb, amsthm} % 数式関連のパッケージ

label ref に関するエラー

上記の処置を施した上で、 vscode の「レシピ:latexmk(lualatex)」でビルドした際の、 最後に表示される警告メッセージです。

Latexmk: ====Undefined refs and citations with line #s in .tex file:
  Label `prop:UpperLimitOnNumberOfGeneralTypeLinkageGroups' multiply defined
  Reference `eq:1.1.4' on page 6 undefined on input line 100
  Reference `sec:QualifiedTechnicalSurface,PositiveRegionOfValue,PriceAndWageSurfaces' on page 11 undefined on input line 358
  Reference `item:cover' on page 11 undefined on input line 400
  Reference `item:intersection-of-facets' on page 13 undefined on input line 495
  Reference `item:intersection-of-facets' on page 15 undefined on input line 587
  Reference `prop:PriceCostEqualityConditionsForEachGoods' on page 22 undefined on input line 853
 And 39 more --- see log file 'all_content_translated_03_work.log'
Latexmk: Getting log file 'all_content_translated_03_work.log'
Latexmk: Examining 'all_content_translated_03_work.fls'
Latexmk: Examining 'all_content_translated_03_work.log'
Latexmk: Log file says output to 'all_content_translated_03_work.pdf'
Latexmk: Summary of warnings from last run of *latex:
  Latex failed to resolve 45 reference(s)
  Latex found 1 multiply defined reference(s)
Latexmk: All targets (all_content_translated_03_work.pdf) are up-to-date

おそらくは、TeXworks でも表示されていると思います。

なお、「問題」の数は 105 くらいになると思います。

  • 警告内容は …
    • ラベルの二重定義 … 5 + 39 以上あります
      • 参照ラベル名の誤記
      • 未定義
  • 参照ラベル名の誤記 … 以下の修正が必要です。
    • \ref{productive-but-non-elligible} → \ref{item:productive-but-non-elligible}
    • (\ref{eq:10.5.8)} → (\ref{eq:10.5.8})
  • 未定義 … 以下の \label の記述が必要です。適切なところで定義してください。
    • \label{eq:1.1.4}
    • \label{eq:1.11}
    • \label{eq:7.2.9}
    • \label{eq:7.2.10}
    • \label{eq:7.2.11}
    • \label{eq:7.4.21}
    • \label{eq:10.1.6}
    • \label{eq:10.1.8}
    • \label{eq:10.2.1}
    • \label{eq:10.5.6}
    • \label{eq:10.5.12}
    • \label{eq:13.1.3}
    • \label{eq:14.1.6}
    • \label{eq:14.1.7}
    • \label{eq:14.1.8}
    • \label{eq:14.2.4}
    • \label{eq:16.2.1}
    • \label{fig:another-three-dim-good-boundary}
    • \label{fig:price-rev-wt-tax}
    • \label{fig:grahamconnection-of-2con3goods-face}
    • \label{fig:one-dim-wage-price-face}
    • \label{fig:set-Of-TecNumGoodNum}
    • \label{fig:three-dim-good-enlarge}
    • \label{fig:three-dim-tec-face-goods}
    • \label{fig:two-dim-good-shrink}
    • \label{fig:two-dim-wage-boundary}
    • \label{item:cover}
    • \label{item:intersection-of-facets}
    • \label{item:r-dim-row-submatrix}
    • \label{item:rank-of-labor-embodied-matrix}
    • \label{item:rank-of-productive-technology-face}
    • \label{item:rank-of-remaining-matrix}
    • \label{sec:QualifiedTechnicalSurface,PositiveRegionOfValue,PriceAndWageSurfaces}
    • \label{prop:PriceCostEqualityConditionsForEachGoods}
    • \label{prop:facetとcomplete general-type linkageの関係 その1(complete general-type linkageの sufficient condition)}

その他の警告

上記の対応を施しても、「問題」は60 件余あります。

それらや、ざっと pdf をみた限りでは …

  • 小さな文字を表示しようとしていますが、29 箇所で警告メッセージが表示されています。 (無視は可能ですが、念の為チェックは必要かと思います)
  • tabularray の 8つのテーブル表記において行幅を超えています。いくつかはページ右端を超えてます。
  • 下線処理した文字列が、行幅をはみ出しているものあります。

暫定修正したものを添付します

今回の暫定修正したソースとコンパイルに必要なファイル一式他を添付します。

今回の暫定修正した内容の概要情報は以下の通り。

1   7a72536 不要な空白の除去
2   81459b6 vscode 対策
3   cc4f621 未定義 label の仮定義
4   e23aaca label 二重定義
5   660a4ae 参照名タイポ修正

git 環境そのまま送りますが、git 操作に不慣れな場合もあるので 上記修正内容ごとにパッチファイルも添付します。(z-patch-で始まるファイルです)

和田 勇 への返信

Re: vs codeの拡張機能LaTeX Workshop でビルドができない

- matushiro 97 の投稿

和田様

詳細に分析していただき感謝の言葉もありません.
今後は,「新たな問題は別スレッドにて質問」,「添付ファイルの作成方法」の通りにします.

ファイルall_content_translated_03_workは,日本語論文のtexファイルをopenAIのAPIを使って翻訳したものです.
翻訳する際に,数式部分はホルダーに置き換えて保護していたのですが,環境定義ブロックや相対参照コマンド\ref{}は未保護のままAPIに入力したので,以下のことが発生したようです.

1.一部の環境定義ブロックの丸ごとの削除(ラベルの未定義の原因).また,label{item:productive-but-non-elligible}とは異なるlabel{productive-but-non-elligible}を図環境に定義していたのですが,その図環境が丸ごと削除されたようです.そのため\ref{productive-but-non-elligible} の参照先がなくなりました.今後は,図を参照するラベル名は'fig:'で開始します

2.相対参照の文字列の書き換え→(\ref{})が(\ref{)}に変化した原因.

3.日本語ファイルでは「tabularray の 8つのテーブル表記において行幅を超えています」も「下線処理した文字列が、行幅をはみ出している」もなかったのですが(気が付かないだけかもしれませんが),英文化した結果だともいます.英語ファイルを校正しつつ場所を確認し,解決策について別のスレッドで質問させていただくかもしれません.

AIが環境の一部だけを書き換えた場合は,コンパイルエラーがでるので気が付き全て修正したのですが(このときに日本語の論文からコピペするときに間違った場所をコピーしたところがあり,それが二重定義を引き起こしました),環境をまるまる削除したものはコンパイルエラーが出ないので気が付きませんでした.英文の校正前なので,これほど丸ごと削除されているとは知りませんでした.
未定義項目があるという警告は一回目のコンパイルでは必ずでるので気にせず,2回コンパイルしてPDFが出力されていればエラーがないと思い込み,この種の問題に気が付きませんでした.


日本語のtexファイル(これは一字一句校正しましたので間違はありません)と比較しつつ,和田様から頂いた情報も参考しながら,英文ファイルを校正します.

今後,新しい質問があるときは別のスレッドを建てますが,このスレッドを閉じる前に,理解できないところを(前回分も含めて)質問させてください.

1.「vscode などのテキストエディタでファイルの末尾を確認」→末尾がどうなっていることを確認すればいいのでしょうか.

2.「preamble.tex を root ファイルとみ なす」→root ファイルの意味を理解していないのですが(ググるとルートディレクトリにあるシステム起動に必要なファイルとあります),preamble.tex内の'\documentclass[a4paper, 11pt, twoside]{ltjsarticle}'をそっくり'diff --git a/all_content_translated_03_work.tex b/all_content_translated_03_work.tex'から'+% \documentclass[a4paper, 11pt, twoside]{ltjsarticle}% ← コメントアウト'までに置き換えればいいのでしょうか.

3.「小さな文字を表示しようとしていますが、29 箇所で警告メッセージが表示されています。」→何を見ればファイルの行番号がわかるでしょうか.

4.diffファイルを使ったことがないのですが,diffファイルを動かすアプリをインストールする必要がありますか.その場合,お勧めのアプリを教えて下さい.


5.「7a72536 不要な空白の除去」ですが,不要な空白はどこを見ればわかるでしょうか.正規表現で検索できるならば,削除しようと思います.

6.前回のご回答「長大な既存ファイルのデバッグというのであれば、GUI にたよらず、コマンドラインで実行し最初のエラーで止めて、それを fix していく地道な作業の積み重ね作業の方が確実だと思います。」ですが,「コマンドラインで実行し最初のエラーで止めて」とは,DOS窓で「latexmk -lualatex all_content_translated_03_work」を実行することでしょうか?

7.「私は、TeXworks も vscode も普段は使っていない」とのことなので,的はずれな質問かもしれませんが,TeXworksに比べてvscodeを使うときのメリットがあれば,定説でもいいので教えて下さい.私は,充実した補完リストの表示,ドキュメントのフォーマット(タブ揃え)が地味に便利,くらいは理解できるのですが,他にも魅力的なメニュー項目が多数あり,それらを理解するための資料がないのが残念です.

以上よろしくお願いします.

matushiro 97 への返信

Re: vs codeの拡張機能LaTeX Workshop でビルドができない

- 和田 勇 の投稿

Table of Contents

  1. .log ファイルが 4096 バイトバウンダリーかチェックする方法
  2. 「root ファイル」という用語
  3. 「小さな文字を表示…」の警告メッセージはどこに書かれている
  4. diffファイルを動かすアプリをインストールする必要あるか?
  5. 不要な空白の除去
  6. 「コマンドラインで実行し最初のエラーで止めて云々」
  7. TeXworks vs vscode
    1. vscode の方が個人的には良いと思っている点
    2. vscode の他にも魅力的なメニュー項目が多数あり,それらを理解するための資料がないのが残念

.log ファイルが 4096 バイトバウンダリーかチェックする方法

  • vscode は .tex ファイルだけでなく様々なテキストファイルを開くことができますので、 「ファイル」→「開く」や「エクスプローラ(vscode の)」で開いて、ファイル末まで移動し 最終行が途中で終わっているかいなかでチェックする。

    通常処理が行われれば、最後の数行のブロックには、 「Here is how much …」で始まる処理に要したリソース状況など表示されています。

  • dir などのコマンドでファイルのサイズを調べ 4096 で割り切れるかいなかで判断

「root ファイル」という用語

間違ってるかもしれませんが、「LaTeX ワークショップメッセージを表示」で 表示される LaTeX Workshop のメッセージのなかに時々利用されている用語で す。私は、これを 「documentclass」が記述されているファイル、すなわち、 これから処理する根幹(root) となるファイルだと理解しています。

「小さな文字を表示…」の警告メッセージはどこに書かれている

基本的には、.log ファイルを拠り所にします。 残念ながら該当のファイルの行数は即座にはわからないと思います。

latex は、イメージを作成する際、.log ファイルに エラーや警告メッセージ、読み込んだファイル名などの他に、 「[123]」のようなページ番号情報も以下のように記録します。

1176:[44]
... snip ..
1189:LaTeX Font Warning: Font shape `OT1/cmr/m/n' in size <3.5> not available
... snip ..
1228:[45<./image/move-to-upperface-crop.pdf>]

上記は、.log ファイルを vscode で開き、虫眼鏡アイコンで「検索」に 「Font Warning」で検索した一部をクリックしたものと同等のものです。

この情報から「44ページ目」での警告メッセージは、「45ページ目」と して読み込まれる 「move-to-upperface-crop.pdf」を手がかりに 該当箇所を探す必要があります。

なので all_content_translated_03_work.tex で「move-to-upperface-crop.pdf」 を取り込んでいるちょっと前が探索範囲になります。

なお、この情報は、「問題」のところにも表示はされるのですが、リンク先は 補助ファイルの方に飛んでいるので、上記のような面倒な作業が必要です。

とはいえ、この種の処理はほぼ似た記述が起因するものなので、一つ、二つ処理すれば 大体検討はつくと思います。

diffファイルを動かすアプリをインストールする必要あるか?

なくても良いですが、あると便利です。 今から入れるなら、git を入れれば付随すると考えて良いでしょう。

vscode は git 対応しているので、修正した内容も事前に確認できます。

難点は、修正した内容を都度都度コミットしなければならないことですが、 慣れれば、「試し修正して、NG だったら元に戻す」というような 作業もできるようになります。

git を導入するインストーラはいくつかあります。「git on bash(確かこんな 名称だった気がする)」もありますが、私は Windows のパッケージ管理に scoop を利用しています。これはこのツール自体が git を利用しているので もれなく git が入ります。

本来の diff を入れたければ scoop で確か diff-utils とかで入れることも できたと思いますが、git 管理という手間はありますが、git diff の方がカ ラフルで便利かと思います。

不要な空白の除去

私は、emacs を通常使っていて、ファイルの先頭や最後の空行、行末の空白を 保存時に削除するようにカスタマイズしています。

類似の機能は 「VS Codeで行末やファイル末尾の空白文字を削除するには」 にあるようなので参考にしてください。

「コマンドラインで実行し最初のエラーで止めて云々」

簡単に行うには、エラーになるように例えば「\ref{...}」を「\TOBEERROR{...}」 と書き変えて 「lualatex all_content_translated_03_work」とコマンド プロンプトか vscode のターミナルで実行してみてください。

「エラーだけどどうするの?」のようなメッセージで止まります。

表示された内容から、該当のファイル名や行番号を読み取ります。

記述エラーであることがわかったら「x」を入力すれば latex の処理は終了します。

ポイントは、行番号はあくまで目安。エラーはその直前の記述にあるので、 数行前までチェックする必要があります。

この時、git 環境にしておけば、vscode 変更内容等が把握しやすくなると思います。 もちろん、ターミナル等で git diff だけでも記述ミスは見つかると思います。

TeXworks vs vscode

TeXworks もカスタマイズできるらしいけど、本格的に使うことはないのでその知見なし状態です。

vscode の方が個人的には良いと思っている点

  • TeXworks は latex のみだと思うけど vscode では perl/python/ruby/shell などのスクリプトをはじめとするいわゆるテキストファイル全般を扱える
  • 検索の機能
  • git に対応してる
  • ブロックの折りたたみ機能
  • 「構造」で section とかのブロックを管理しやすい

vscode の他にも魅力的なメニュー項目が多数あり,それらを理解するための資料がないのが残念

vscode も私のメインエディタではないのであまりお役に立ちそうな情報はありませんが …

  • 気になるアイコンの上にマウスをしばらく放置しておけば、ヒントが出ます
  • インターネット検索

どんなアプリも最初はとっつきにくい物です。 習うより慣れろだと思います。