Help us understand the problem. What is going on with this article?

最速で最小構成のLaTeX環境をVSCodeに構築する

More than 1 year has passed since last update.

はじめに

僕の研究室では毎週のミーティングで前週の進捗報告をLaTeXで作成して提出しています。
理系なら少なくとも卒論などで触るでしょう。
最近エディタをAtomからVSCodeに変えたのですが、LaTeX環境をVSCode上に構築するのに手こずったので「明日進捗報告しなきゃいけないのに!」とか「家で卒論書きたい!」という人のために記事にします。
目指すのはVSCodeでtexファイルを編集するとコンパイルが行われ、別タブ内で最新のPDFが表示される状態です。

前提

  • macOS(おそらくWindowsでも変わらずできますので安心して下さい。)
  • VSCodeがインストールされている
  • upLaTeXを使う(理由についてはこちらを参照)
    • テンプレートが古い場合、platexで無いと動かないのでこちらの記事を参考に進めてください。

手順

1.TeX Liveのインストール

https://texwiki.texjp.org/?TeX%20Live#w628bee6
OSに合ったTeX Liveをインストールして下さい。

2.VSCodeの拡張機能インストール

拡張機能の「LaTeX」を検索してインストールして下さい。

3.setting.jsonに追記

setting.jsonを開き以下を追記して下さい。

setting.json
  "latex-workshop.latex.tools": [{
      "name": "ptex2pdf (uplatex)",
      "command": "ptex2pdf",
      "args": [
        "-l",
        "-u",
        "-ot",
        "-kanji=utf8 -synctex=1",
        "%DOC%"
      ]
    },
  ],
  "latex-workshop.latex.recipes": [
    {
      "name": "ptex2pdf (uplatex) *2",
      "tools": [
        "ptex2pdf (uplatex)",
        "ptex2pdf (uplatex)"
      ]
    },
  ],
  "latex-workshop.synctex.afterBuild.enabled": true,
  "latex-workshop.view.pdf.viewer": "tab"

これで環境は整いました。

使い方

テンプレート

report.tex
\documentclass[uplatex]{jsarticle}
\usepackage[dvipdfmx]{graphicx}
\title{進捗報告}
\author{テスト}
\date{11月 23日}
\begin{document}
\maketitle
\begin{itemize}
  \item 進捗
  \begin{itemize}
    \item 起床した
    \item 朝ごはんを食べた
    \item 歯磨きをした
    \item 歯医者に行った
    \item お昼ご飯を食べた
    \item 研究室に出社した
    \item データを取った
  \end{itemize}
  % \item 今後の予定
  %   \begin{itemize}
  %   \item 実験の方針を決める
  %   \end{itemize}
\end{itemize}
\end{document}

documentclassuplatexを指定する必要があります。

コンパイル

texファイルからpdfファイルへのコンパイルは保存するだけで自動で行ってくれます。
試しに上のテンプレートを保存してみて下さい。
同じフォルダに他のファイルができたと思います。その中にpdfファイルがあります。
ただ、pdfファイルをVSCodeで直接開くとtexファイルが閉じられるので右上の虫眼鏡マークから開いて下さい。
Image from Gyazo
別のタブでPDFが開かれるはずです。
これでtexファイルを変更して保存するたびにPDFが同期して最新のものにコンパイルして表示されるようになりました。
お疲れ様でした。

geek_shanshan
Rails/Vue.js/HTML/CSS/JavaScript
http://shanshan.hatenadiary.jp
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした