質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

ビルド

ソースコードを単体で実行可能なソフトウェアへ変換する過程をビルド(build)と呼びます

LaTeX

LaTeXは、レスリー・ランポートが開発したテキストベースの文書整形システムです。 電子製版ソフトウェアである「TeX」にマクロパッケージを組み込む形で構成されており、 通常のTeXより扱いやすくなっているのが特徴です。

TeX

フリーの組版システムで、字や図版などの要素を紙面に配置するという作業をコンピュータで行います

Q&A

解決済

2回答

2580閲覧

VSCodeにおける基本的な環境構築の道筋について

Uranwed

総合スコア2

JSON

JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

ビルド

ソースコードを単体で実行可能なソフトウェアへ変換する過程をビルド(build)と呼びます

LaTeX

LaTeXは、レスリー・ランポートが開発したテキストベースの文書整形システムです。 電子製版ソフトウェアである「TeX」にマクロパッケージを組み込む形で構成されており、 通常のTeXより扱いやすくなっているのが特徴です。

TeX

フリーの組版システムで、字や図版などの要素を紙面に配置するという作業をコンピュータで行います

0グッド

0クリップ

投稿2021/07/23 15:30

編集2021/07/26 09:52

質問

VSCodeでLaTeXの環境構築を行おうと思っているのですが、当方プログラミングやコンピュータについて知識が乏しいため設定に苦労しています。
現時点でやったことは
texlive2021のインストール(今まではTeXWorksで書いていました)
VSCodeのインストール
VSCodeの拡張機能として,LaTeX WorkshopとJapanese Language Packのインストール
Perl Strawberryのインストール
です. しかし,.latexmkrcなどもわからず,settings.jsonについては全く理解できていません.
どのようにすれば基本的な環境を構築できるのでしょうか?

追記
pLaTeXをVSCodeで使うためのsettings.jsonのコードを知りたいという話です. ネット上に載っているsettings.jsonのコードが具体的に何をしているのかがわかっていません. もしこれがsettings.jsonに対する固有の問題ではなく私のプログラミングに対する一般的な知識不足であると思われる場合, 参考文献の紹介をしてくださると助かります.
OSはWindows10/64bit版です。

補足
ctrl+alt+bでbuildを試みると

BUILD command invoked.
The document of the active editor: file:///c%3A/Users/%E5%A4%A7%E5%AD%A6/Documents/LaTeX/Untitled-1.tex
The languageId of the document: latex
[22:53:34] Current workspace folders: undefined
[22:53:34] Current workspaceRootDir:
[22:53:34] Found root file from active editor: c:\Users\大学\Documents\LaTeX\Untitled-1.tex
[22:53:34] Keep using the same root file: c:\Users\大学\Documents\LaTeX\Untitled-1.tex
[22:53:34] Building root file: c:\Users\大学\Documents\LaTeX\Untitled-1.tex
[22:53:34] Build root file c:\Users\大学\Documents\LaTeX\Untitled-1.tex
[22:53:34] outDir: c:/Users/大学/Documents/LaTeX
[22:53:34] Recipe step 1: latexmk, -f,-gg,-pv,-xelatex,-synctex=1,-interaction=nonstopmode,-file-line-error,c:/Users/大学/Documents/LaTeX/Untitled-1
[22:53:34] Recipe step env: undefined
[22:53:34] cwd: c:\Users\大学\Documents\LaTeX
[22:53:34] LaTeX build process spawned. PID: 21164.
[22:53:34] LaTeX fatal error: spawn latexmk ENOENT, 'latexmk' �́A�����R�}���h�܂��͊O���R�}���h�A
����”\�ȃv���O�����܂��̓o�b�` �t�@�C���Ƃ��ĔF������Ă��܂���B
. PID: 21164.
[22:53:34] Does the executable exist? PATH: undefined
[22:53:34] The environment variable $SHELL: undefined
[22:53:36] Manager.fileWatcher.getWatched: {"c:\Users\大学\Documents\LaTeX":["Untitled-1.tex"]}
[22:53:36] Manager.filesWatched: ["c:\Users\大学\Documents\LaTeX\Untitled-1.tex"]

となります。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hon.ki

2021/07/24 02:55

Macなのかwinなのかlinux環境かでもsetting.jsonの値は変わる気がします。 同ファイルはvscode の環境変数?みたいなイメージでおります。 〇〇の環境で〇〇のsetting.jsonファイルでこんなエラーで動きません、くらい具体的だとお答えしやすいきがします。 当方latexすら使ったことなく、一撃で答えられずすみません。
Uranwed

2021/07/24 03:16

情報不足失礼しました。補足します。
guest

回答2

0

ベストアンサー

質問文について、順に気付いた点を挙げていきます。


texliveのインストール(今まではTeXWorksで書いていました)

TeXworksはLaTeX(とその他の)ファイルを編集するためのエディタです。これそのものはLaTeX処理系ではないので、TeXworksだけでLaTeX文書のコンパイルはできない、というのが私の認識です。したがってTeXworksで文書をしたためていた際には、既に何らかのLaTeX処理系がインストールされていたと考えます。

一方でTex Liveをインストールされたとのことですので、これ以降はTeX Liveに含まれるLaTeX処理系が用いられているものと仮定します。

VSCodeの拡張機能として,LaTeX WorkshopとJapanese Language Packのインストール

です.

LaTeX WorkshopはVSCodeのLaTeX向けの拡張機能です。この拡張機能のリポジトリのWikiにインストール方法があります。基本的に公式の情報が第一ですので、英語を読むのが億劫でもこちらを参照するのが一番の近道です。

なお、Japanese Language Pack for Visual Studio Codeは本問に無関係と思われるためここでは措きます。

しかし,.latexmkrcなどもわからず,settings.jsonについては全く理解できていません.

C言語のコンパイル手順などを記述する際に使われる Makefile はご存知ですか? その文脈で言うところの Latexmk は、 LaTeX 界のGNU Makeみたいなものです。 .latexmkrcMakefile に対応します。Latexmkの用法はこちらを参照してください。

settings.json はVSCodeの設定ファイルです。拡張機能の動作をカスタマイズする目的でこれを編集するとなると、その拡張機能のドキュメントに変更方法が記されていることが多いです。拡張機能の公式ドキュメント・マニュアルを参照してください。

pLaTeXをVSCodeで使うためのsettings.jsonのコードを知りたいという話です. ネット上に載っているsettings.jsonのコードが具体的に何をしているのかがわかっていません.

LaTeXの処理系にはpLaTeXを使用されるのですね。学会から指定されたテンプレートがpLaTeX限定であるなど、やむを得ずpLaTeXを使うのでなければ、upLaTeXやLuaLaTeXなどのより現代的なLaTeX処理系を使用されることをお勧めします。

pLaTeX向けのLatexmkの設定はやはりLatexmkのマニュアルを参照することになります。ネット上で散見される設定が常にそのまま適用できるとは限らないですし、どのような意味の設定であるのか理解していなければ、安全上、引き写すことは推奨されません。


ありものの設定をそのままコピペして使えるとお手軽なのは確かにそうなのですが、実際にその設定が現時点で現環境で有効な設定であるかどうかの保証はしかねます。したがって私から設定の共有はできません。繰り返しになりますが、公式の文書から自分の目的意識に合った設定を模索することが、長い目で見て一等です。

追記

ビルド時のエラーについて気になる点は以下です。

log

1[22:53:34] Recipe step 1: latexmk, -f,-gg,-pv,-xelatex,-synctex=1,-interaction=nonstopmode,-file-line-error,c:/Users/大学/Documents/LaTeX/Untitled-1

-xelatex オプション(節Definitions of options and arguments)で文書のコンパイルが行われています。今使いたいのはpLaTeXですから、うまく .latexmkrc が読み込まれていないのではないかと疑われます。
ただ、たとえLatexmkが選択している処理系がXeLaTeXでも、XeLaTeXが使える状態であるならば、日本語の文字が表示されるかどうかはともかく、コンパイルはエラーなく進む可能性があります。

log

1[22:53:34] Does the executable exist? PATH: undefined

エラー文が化けてしまっているので詳細は不明ですが、その直後のこの文から、実行プログラムのパスが通っていないことが示唆されています。私はWindowsのパスの仕組みを知らないのですが、たぶんWindowsにもシェル相当のものがあって、「パスを通す」は「シェルにプログラムが置かれている場所を知らせておく」という意味で通じるでしょう。
つまり、シェルがLatexmk(もしくはLaTeX処理系か処理系の生成物を最終的な成果物に変換するツール)の場所を見つけられていないのではないかと予想されます。

投稿2021/07/24 02:56

編集2021/07/24 15:32
gemmaro

総合スコア358

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Uranwed

2021/07/24 05:03

御丁寧な回答感謝いたします。TeXworksではhttps://texwiki.texjp.org/?TeXworks%2F設定 を用いてpLaTeXを使っていましたがこのサイトの指示通りに操作をしただけでして何をやっているのかはさっぱり...という感じです。私はCについてもほぼ無知のため.latexmkrcの文献を紹介してくださり助かります。最後に、今まではpLaTeXしか選択肢になかったのでupLaTeXやLuaLaTeXを紹介してくださりありがとうございます。pLaTeXはそんなに古いものだったのですね。
Uranwed

2021/07/24 13:36

追加の質問なのですが、Perlをインストールした後、先ほどlatexmkrcの設定を行ってホームディレクトリにそのファイル(テキストエディタ)を置いたのですが、いざVS CodeでコンパイルしようとするとRecipe terminated with fatal error: spawn latexmk ENOENT. と出てしまいます。これはどこに問題があるのでしょうか?
Uranwed

2021/07/24 13:55

連投すみません。エラーが含まれると思しき部分を補足したので確認してくださると大変ありがたいです。
gemmaro

2021/07/24 15:41

追記されたエラーログを確認しました。Windowsを使われているのですね。残念ながら当方手元にWindowsを使える環境になく、またOverleaf上でもそれらしいエラーを再現することは難しそうです。 今ある情報で気付いた点について回答案に追記しました。 Windowsのインストール方法についても、TUGで日本語訳されたTeX Liveガイド (https://www.tug.org/texlive/doc/texlive-ja/texlive-ja.pdf) が読めます。インストール手順についてはこちらで確認するとよいでしょう。 ただ、以下の記述 (https://www.tug.org/texlive/doc/texlive-ja/texlive-ja.pdf#page=22) (3.4.1 Unix 系における環境変数の設定)にあるように、Windowsでパスの設定で誤ることがあるのかは疑問ですが…… > Windows ではインストーラが行うので気にする必要はありません
Bull

2021/07/25 12:38 編集

こちら (https://teratail.com/questions/315881 ) の状況に似ているような気がしますが、コマンドラインから latexmk を使用して、タイプセットができますか?
Uranwed

2021/07/26 09:25

お二人ともご丁寧にありがとうございます。 gemmaro様 texliveは自動でパスを通してくれるはずで、実際環境変数の設定で確認したところ確かに大丈夫だった気がするのでよくわかっていません。 (C:\texlive\2021\bin\win32 とされています) Bull様 確かにエラーメッセージとコードが似ています。コマンドプロンプトのホームディレクトリでlatexmkと打ってみましたが、 'latexmk' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。 と表示されました。初歩的なところだと思われますが、どのようにしてこれを解決できるのでしょうか?.latexmkrcファイルはホームディレクトリにあり、なおかつホームディレクトリは C:\Users\大学 というふうにパスを通してあるのですが......
Uranwed

2021/07/26 09:49 編集

.latexmkrcファイルはwindows10にデフォルトで入っているテキストエディタのメモ帳上で作成した後、".latexmkrc."という名前で保存しています。(latexmkrcファイルという名前になっています) ホームディレクトリで"latexmkrc"ではなく".latexmkrc"と打ったところ反応はしましたがlatexmkrcファイルとして認識されており開くことができませんでした。
Uranwed

2021/07/26 09:42

Bull様へ 連投ご容赦ください。 https://teratail.com/questions/315881 の方と状況は似てると思われるのですが、こちらの方とは違って私のほうでは [18:37:31] Current workspace folders: undefined [18:37:31] Current workspaceRootDir: という風になっています。これも致命的なエラーなのでしょうか?
Bull

2021/07/26 12:14

まず、TeX Live のパスに関しては問題ないようです。 私は TeX Live 2020 をインストールしているので、"C:\texlive\2020\bin\win32" にパスが通っていますが、2021 なのでそれでいいと思います。 latexmk コマンドが起動できないのが、正常にタイプセットできない原因だと思われます。 当方の環境では "C:\texlive\2020\bin\win32" に "latexmk.exe" があるのですが、TeX Linve をインストールした時に一緒にインストールされているはずなので、ちょっとよく分かりません。 Windows でしたら、メニューに "TeX Live Manager" が登録されるいると思いますので、latexmk がインストールされているかどうか確認できます。また、後からインストールもできたように思います。 TeXworks では正常にタイプセットできるようなので、その他のコマンドは問題ないと思いますが、念のため、コマンドプロンプトで platex --version とやってみて、バージョンが表示されるか確認してみてください。
Uranwed

2021/07/26 23:21 編集

Bull様 ご回答ありがとうございます。一旦、TeXLiveをアンインストールしてPathも消した後、再インストールすることにしました。明日再インストールが完了した後もう一度TeX Live Managerで確認し、コマンドプロンプトでもplatex --versionを試してみます。
Uranwed

2021/07/26 23:58

コマンドプロンプトでplatex --versionと打ったところちゃんとバージョン情報が返ってきました。また、latexmkについても"latexmk --help"と打つと同じくコマンドの列挙が返ってきたのでこちらも問題ないと思われます。.latexmkrcファイルに問題があるのでしょうかね。.latexmkrcファイルはwindows10にデフォルトで入っているテキストエディタのメモ帳上で作成した後、".latexmkrc."という名前で保存しています(latexmkrcファイルという名前になっています)が、この作り方に異常はありますか?
Bull

2021/07/27 01:47

latexmkrc ファイルは、ホームディレクトリ (C:/Users/(user name)/) に置く場合は ".latexmkrc" (先頭にピリオドが付く) という名前になり、カレントディレクトリに置く場合は "latexmkrc" と先頭にピリオドがつきません。(拡張子もなしです) そのようにメモ帳で保存すると、ファイル名が ".latexmkrc..txt" となることがあります。 エクスプローラーで、拡張子を表示するようにして、間違った拡張子が付いてないか確認してみてください。
Uranwed

2021/07/27 04:02 編集

大変ありがとうございます。無事ビルドができるようになったのですが、今度は日本語がおそらく使えないようです(フォント関連の問題かと思われます)。 \documentclass{jsarticle} \begin{document} あああ \end{document} と打つとエラーとなり (guessed encoding: UTF-8 = utf8)(guessed encoding: UTF-8 = utf8)name = rml, rootname = rml, pointsize = mktexmf: empty or non-existent rootfile! kpathsea: Running mktexmf rml.mf The command name is C:\texlive\2021\bin\win32\mktexmf Cannot find rml.mf . I try ps2pk --> gsftopk --> ttf2pk --> hbf2gf. Current font seems to be a Japanese one. I give up to create a PK font. dvipdfmx:warning: Couldn't open font map file "pdftex.map". dvipdfmx:warning: Couldn't open font map file "kanjix.map". sample.dvi -> sample.pdf [1 kpathsea: Running mktexpk --mfmode / --bdpi 600 --mag 0+555/600 --dpi 555 rml The command name is C:\texlive\2021\bin\win32\mktexpk kpathsea: Appending font creation commands to missfont.log. dvipdfmx:warning: Could not locate a virtual/physical font for TFM "rml". dvipdfmx:warning: >> There are no valid font mapping entry for this font. dvipdfmx:warning: >> Font file name "rml" was assumed but failed to locate that font. dvipdfmx:fatal: Cannot proceed without .vf or "physical" font for PDF output... などと返ってきます。どのようにすればpdftex.mapやkanjix.mapを開けるようになるのでしょうか?調べてみたのですがいまいちわからなかったり、w32texの話だったりと混乱しております。 \documentclass{jsarticle} \begin{document} $ \displaystyle \lim_{x \to \infty}x^2=\infty $ \end{document} では正常にビルドされ、pdfも見れたのですが...
Bull

2021/07/27 04:53 編集

最初の質問とは状況が変わってきています。 質問に追記するか、別に質問することをお勧めします。
Uranwed

2021/07/27 05:42

それはそうですね。御回答大変感謝いたします。
guest

0

setting.jsonについての一般的な解説のリンクを共有します。なにかの参考になれば。
https://www.atmarkit.co.jp/ait/spv/1708/23/news026.html

投稿2021/07/24 03:09

hon.ki

総合スコア157

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Uranwed

2021/07/24 05:04

ありがとうございます。参考になります!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問