11
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

0からTeX環境を構築する

Last updated at Posted at 2020-05-20

環境

2020年5月20日
Windows 10 home
TeXLive2020

##目標
VScodeでLatexで文章を作れるようにする。

以下記録

1. TeXLive2020を入れる

tm23forestさんの「TeXLive2020をインストールしてLaTeXを始める」に従いながらインストールしました。1回目失敗し、2回目はインストールの時に我が家から物理的に一番近いミラーサイトを選び実行するとうまくインストール出来ました。

以下ではtm23forestさんの記事にある内容と全く同じ設定でTeXLive2020がインストールされているものと理解してください。

2. Latexmkの設定をする

そのままでも十分使えるのですが、TeXファイルをpdfにするときにコマンドを2回打たなくてはならないので、コマンド1つでpdfが出力されるようにしたいと思います。

TeXLive2020をbasicでダウンロードするとLatexmkは入っていないのでインストールする必要があります。Latexmkが入ってるかわからない時はpowershellでlatexmk -versionと打って、

Latexmk, John Collins, 17 Apr. 2020. Version 4.69a

と表示されればインストールされています。

Latexmkのインストール

TeX Live managerを開き、パッケージリストの状態を「すべて」に変更し、検索欄にlatexmkと入力します。
image.png
出てきたlatexmkにチェックをいれ、「選択項目をインストール」でインストールできます。powershellでlatexmk -versionと打ってバージョン情報が表示されれば成功です。

latexmkrcの作成

latexmkでどのような処理系を以てTeXファイルをpdfに変換するのかを規定するのが.latexmkrcというファイルです。環境変数HOMEが指定されている場所にこの名前のファイルを作成します。winodows powershellで以下を実行すればどこにこのファイルを作ればよいのか確認できます。

echo $HOME

latexmkrcの編集

TeX Wikiに中に何を書くのかの一般例があります。→Latexmk

以下がその内容ですが、何が何なのかわからないので1行ずつ見ていきたいと思います。

.latexmkrc
$latex = 'platex -synctex=1 %O %S';
$bibtex = 'pbibtex %O %B';
$dvipdf = 'dvipdfmx %O -o %D %S';
$makeindex = 'mendex %O -o %D %S';
$max_repeat = 10;
$pdf_previewer = '"C:\Program Files\SumatraPDF\SumatraPDF.exe" -reuse-instance %O %S';

一行目
どのlatexの処理系を使うかを決めるものです。TeXLiveを入れた段階でpLatexみたいなので、ここはplatexでよさそうです。
-synctexここに詳細があります。この記事もわかりやすい気がします。
つまり、TeXとPDFを交互に参照して編集するためには必要なようです。
その後の%O等は、本家サイト

%O はオプション,%D は出力ファイル,%B は拡張子無しのソースファイルに置き換えられます

とありますが、いまいち何のことかわかりませんでした。知っている方おられたら教えてください。

二行目
bibtexこの記事(BiBTeXとは)がわかりやすかったです。参考文献を自動でいい感じにしてくれるようです。

三行目
dvipdfはtexの処理系によって生成されるdviファイルからpdfファイルを生成するために何を使うのかの設定です。dvipdfmxが一般的なようです。

四行目
makeindexは索引に関する設定で、mendexは索引を自動で形成してくれるソフトのようです。詳細はこちら

五行目
repeat_maxはコンパイルの最大の回数を規定します。クロスリファレンス等でpdfの生成がうまくいかず、無限にコンパイルするのを防ぐためのようです。詳細は「ここ」の36pにありました。

六行目
pdfのプレビューをどれで見るかを規定します。edgeかacrobatにしようかと思っていたのですが、edgeは開かないし、acrobatはPDFをロックするからやめた方がいいとここに書いてあったので、おとなしくsmatraPDFをインストールして使うことにしました。ところがどっこいコンパイルしてもプレビューは起動しません。
わからないので諦めました(現段階ではなくても困らないので)。

これに加え、あった方がよさそうなものを追加していきます。
最終的なlatexmkrcは以下のような感じ。

.latexmkrc
$latex = 'platex  -halt-on-error -synctex=1 %O %S';
$latex_silent = 'platex -synctex=1 -halt-on-error -interaction=batchmode';
$bibtex = 'pbibtex %O %B';
$dvipdf = 'dvipdfmx %O -o %D %S';
$makeindex = 'mendex %O -o %D %S';
$max_repeat = 10;
$pdf_mode = 3;

この記事を参考に、自分の欲しいものだけを取りました。いまいちちゃんと動いてるのかはです。

3.VScodeの設定をする

TeX Workshopのインストール

左側のextentionsからTeX Workshopを検索し、インストールします。使用には再読み込みが必要なので再読み込みし、設定に移ります。

TeX Workshopの設定

「表示→」「コマンドパレット」」→「基本設定:設定(JSON)を開く」でsettings.jsonをひらきます。
そして以下の内容を書き込みます。

setting.json
{
    "latex-workshop.view.pdf.viewer": "tab",

    "latex-workshop.latex.tools": [
        {
            "name": "latexmk",
            "command": "latexmk",
            "args":[
                "%DOCFILE%"
            ]
          },
    ],

    "latex-workshop.latex.recipes": [
        {
            "name": "latexmk",
            "tools": ["latexmk"]
          },
    ],

    "latex-workshop.latex.autoClean.run": "onFailed"

}

LaTeX workshopではTeXファイルからPDFを作る(buildする)のにrecipeとtoolというのを設定します。
Build LaTeX projectRecipe: latexmkをクリックしてTeXファイルをbuildする際、LaTeX workshopはlatex-workshop.latex.recipesの中で定められているツールを使ってprojectをbuildします。そして呼び出されたlatex-workshop.latex.tools内のツールがビルドをするようです。今回はlatexmkを使うので以上のように書いています。argsの%DOCFILE%はVScodeで開いているTeXファイル名を受け渡すようです(@t_asa さんありがとうございますm(_ _)m)
image.png

####使ってみる
適当にTeXファイルを作成し、Build LaTeX projectRecipe: latexmkでビルド、View LaTeX PDF > View in VSCode tabで表示させます。
image.png
良い感じです(しらんけど)

終わり

以上で今回やったことはすべてです。TeX自体使ったことがないのでこの設定で不具合が出れば加筆しようかと思いますが、現状ではなんかいけてそうなのでこのままいきます。
ふと思ったんですけど、TeX、エラーが調べにくくないですか(出てくる情報が少ない気がする)。自分の知識があまりにもないってのはあるんですけど。

更新

  • settings.jsonの中で"%DOCFILE%"とすべきところでdouble quotationが抜けていました。(2020/5/29)
11
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?