1
0

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 1 year has passed since last update.

MacでVSCodeを使ってtexを編集する環境構築をしてみたよ

Last updated at Posted at 2024-04-15

VSCodeを使ってLateXを使えるようになりたい。今までは、OverleafCloud Latexのオンラインエディターを使ってLatexを書いていていました。Overleafは共同編集ができて便利なのですが、なにぶんデータサイズが大きくなるとコンパイルがtime outするようになって限界を感じました。仕方なく自分のPCにTex環境を作ることにしました。

MacにTex環境を構築する方法はたくさん解説があります。自分も最初は下記の記事を参考に進めてみました。しかし、自分の環境では次の記事の通りに実行してエラーで止まる箇所があってこの記事の通りにやるのは諦めました。結局、MacTeXを使わずにVSCodeでLateXを編集できるようになったみたいなので、そのやり方をまとめます。

目標

・VSCodeでLateXを編集できる
・MacTeXを使わずにbasictexのみでLatexを動かす
・VSCode上で.texを保存するとpdfが自動更新される
→MacにTex環境を構築する王道はMacTeXだと思うのですが、MacTeXは4GBくらい容量を食うそうなのでできれば入れずにできると嬉しい

-まだできてないこと
・コンパイルはpdfLatexでやっているので日本語対応できてないです、pLateXやLuaLaTeXの日本語対応のLateXを使えるようにしたい

環境

OS: macOS Monterey Version 12.7.3
Processor: 1.6 GHz Dual-Core Intel Core i5

・Homebrew、VSCodeは既にインストール済み

うまくいった実施事項

(1) Homebrewのアップデート

brew update && brew upgrade && brew cleanup

(2) BasicTeXのインストール

brew install --cask basictex

ここで、/usr/local/texlive/2024basic/bin/universal-darwin内にtlmgrがインストールされるので確認しましょう。2024basicがBasicTeXのバージョンに対応して変わるみたいです。

(3) tlmgrのアップデート

export PATH=$PATH:/usr/local/texlive/2024basic/bin/universal-darwin
sudo tlmgr update --self --all

最初はtlmgrのPATHが通ってないのでエラーが出ます。最初にexportでPATHを通し、tlmgrのupdateをします。

(4) latexmkのエイリアスを設定

alias latexmk='/usr/local/texlive/2024basic/bin/universal-darwin/latexmk'

ここで、コンパイルしたいtest.texを用意して次のコマンドを実行するとpdfを作成してくれるはずです。

latexmk -pdf hoge.tex

(5) latexmkrcの作成

touch ~/.latexmkrc

これでまず、ホームディレクトリに.latexmkrcを作ります。この.latexmkrcをVSCodeで開いて次を書き込みます

# 最大のタイプセット回数
$max_repeat = 5;
# DVI経由でPDFをビルドすることを明示
$pdf_mode = 3;

# pdfLaTeXを使う
# -halt-on-error:初めのエラーで終わらせる
$latex = 'pdflatex %O %S -halt-on-error';

# pBibTeXを使う(参考文献)
$bibtex = 'bibtex %O %S';

# Mendexを使う(索引)
$makeindex = 'mendex %O -o %D %S';

# DVIからPDFへの変換
$dvipdf = 'dvipdfmx %O -o %D %S';

基本的に参考の記事と同じですが、latex = 'pdflatex %O %S -halt-on-error';のところが、platexをpdflatexに置き換えています。

(6) VSCodeの設定 その1 〜LaTeX Workshopのインストール〜

  1. アクティビティバーの拡張機能マークをクリック(四角が4つあるマーク)
  2. LaTeX Workshopと検索
  3. LaTeX Workshopのインストールをクリック
  4. cmd + shift + Pでコマンドパレットを表示.
  5. LaTeX Workshop: Build with recipe > latexmk を選択

(7) VSCodeの設定 その2 〜settings.jsonの設定〜
settings.jsonを開いて、次を貼り付けます。参考の記事ほぼそのままですが、"latex-workshop.latex.tools""args""-interaction=nonstopmode"を追加しています。これによりコンパイル中にエラーで止まってしまうことを回避します。他の設定が既にある場合は、{}で全体を括り、最後以外の全ての設定の後ろに,を忘れずに打ちます。

{
    //----other settings----

    //----latex settings----
    //viewerをタブで開く
    "latex-workshop.view.pdf.viewer": "tab",
    //intellisenseを有効にする
    "latex-workshop.intellisense.package.enabled": true,
    //生成ファイルを格納するディレクトリ名
    "latex-workshop.latex.outDir": "",
    //自動でPDFを更新
    "latex-workshop.latex.autoBuild.run":"onFileChange",
    //生成ファイルで削除するファイル
    "latex-workshop.latex.autoClean.run": "onBuilt",
    "latex-workshop.latex.clean.fileTypes": [
        "*.aux","*.bbl","*.blg","*.dvi","*.fdb_latexmk","*.fls","*.synctex.gz","*.toc"
    ],
    //ビルドの動作
    "latex-workshop.latex.recipes": [
        {
            "name": "latexmk",
            "tools": ["latexmk"]
        },
    ],
    //ビルドのコマンド
    "latex-workshop.latex.tools": [
        {
            "name": "latexmk",
            "command": "latexmk",
            "args": [
                "-interaction=nonstopmode",
                "-l",
                "%DOC%",
            ]
        },
    ]

    //----other settings----
}

以上で一回VSCodeを再起動します。それでVSCode上で.texを保存するとpdfが自動更新されるようになりました。

うまくいかなかった実施事項

途中までは参考の記事を参考にして進めたので、その際のエラーを列挙します。

(0) MacTeXのインストール

brew install --cask mactex-no-gui 

ここで下記のエラーが出ました。

-エラー1: Failed to download resource "openjpeg"
mactexをインストールするときいろんな物も一緒にインストールするんですが、そのうちのopenjpegがインストールできないとのこと。次のようにbrewでopenjpegを別個にインストールすることで次に進みました。

brew install openjpeg

-エラー2: Failed to download resource "ghostscript"
openjpegと同様にghostscriptがインストールできないとのこと。これも、次のようにbrewで別個にインストールすることで次に進みました。

brew install ghostscript

-エラー3: Cask 'mactex-no-gui' conflicts with 'basictex'.
basictexとmactex-no-guiが競合するというので、次のようにbasictexを一回アンインストールしました。するとこのエラーは消えます。

brew uninstall basictex

-エラー4: No space left on device - fcopyfile

"Instaling Cask mactex-no-gui"を実行中にストレージの容量がいっぱいになって止まりました。いらないファイルを消してきれいにして続けました。

その他参考にしたサイト

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?