LoginSignup
3
4

More than 3 years have passed since last update.

Atom+latexmkで卒論修論を爆速で仕上げる方法

Last updated at Posted at 2020-04-13

環境

WSL Ubuntu 18.04
Windows 10

概要

  • latexmkを用いてファイルの監視を行い、変更がある度自動でコンパイルを行いPDFを作成
  • Atomとlatexmkを紐づけることで、Atomの内部ビューワーでPDFの更新を確認しながらtexファイルを執筆できる

1. TeX Live(latexmk)のインストール

latexをコンパイルするためのもろもろをインストールします。
OSごとの詳しいインストール方法は TeX Wiki - TeX Live をご参照あれ。
自分の環境では、

$ wget http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz 
$ tar xvzf install-tl-unx.tar.gz
$ cd install-tl-yyyymmdd
$ sudo ./install-tl

PATHを通すため、~/.bash_profileに export PATH='/usr/local/texlive/20xx/bin/x86_64-linux:$PATH' を追記(20xxの部分はインストールした年によって違う)

Linuxの場合、パッケージ管理コマンド (aptなど) を使ってのインストールを紹介しているサイトも多いですが、かなり古いversionがインストールされる+バージョンのアップデートがうまくできないらしいので、非推奨。

latexmkについて

通常texファイルをpdfにコンパイルする際には、
uplatex → upbibtex → uplatex → uplatex → dvipdfmx
のように、複数回コマンドを打たねばならず、大変
コマンドについての詳細は Latexmkから学ぶPDF化までの処理の流れ が分かりやすい

latexmkは、この一連の流れをすべてまとめてやってくれるツール(コマンド)です。
TeX Liveをインストールすると自動でついてきます。
ただし、 .latexmkrc を作成し、コンパイラの設定をする必要があります(後述)

※latexmkを使わない場合は、Makeファイルでコマンドを定義しておくと楽
TeX Wiki - Make

2. Atomのダウンロード&インストール

こちらからダウンロード
コマンドラインから起動できるようにPATHを通しておくと良いかも(ただし起動は遅い)

3. Atomのパッケージをインストール

File → Settings → Installでパッケージ名を検索

パッケージ名  概要
latexer LateXスクリプトの自動補完
language-latex LaTeXのシンタックスハイライト
pdf-view Atomの内部PDF viewer

4. Atomの設定を変更

Atomの内部ビューワーでPDFを表示するため、File → Config からConfig.csonを開き、以下を追記

config.cson
latex:
    alwaysOpenResultInAtom: true

5. .latexmkrcを作成

コンパイルの設定を記述します。ホームディレクトリにおいてもOK(らしい)ですが、使用するスタイルファイルによってLateXエンジン等の設定を変えることがあるので、プロジェクトごとに作成してます。

設定例

.latexmkrc
#!/usr/bin/env perl

$latex                       = 'uplatex -synctex=1 -halt-on-error %O %S -kanji=utf8';
$bibtex                      = 'upbibtex -kanji=utf8 %O %B';
$dvipdf                      = 'dvipdfmx %O -o %D %S';
$makeindex                   = 'mendex -U %O -o %D %S';
$max_repeat                  = 5;
$pdf_mode                    = 3; # dvi → pdf

# 一時ファイルを出力する回数
$pvc_view_file_via_temporary = 0;

# pdf viewerの指定
#$pdf_previewer               = 'open -a /Applications/Skim.app';

詳細は割愛しますが、Atomのpdf viewerを使用したいので、$pdf_previewer はコメントアウトしています。

設定はこれで完了!

6. latexmkでファイル監視

LateXの編集開始時に、コマンドラインで、プロジェクトフォルダの直下で

latexmk -pvc hogehoge.tex

と入力するだけ!
-pvc オプションは、hogehoge.texの変更を監視する命令です。
これで、hogehoge.texが更新されるたびに自動的にコンパイル→PDFを更新してくれます。
画像や参考文献の更新・\input{}コマンドで読み込んだ別のtexファイルの更新時にも自動でコンパイルされます。
image.png

dvipdfmx:warningが出たら

dvipdfmx:warning: CMap has higher supplement number than CIDFont: Ryumin-Light
dvipdfmx:warning: Some chracters may not be displayed or printed.
dvipdfmx:warning: CMap has higher supplement number than CIDFont: GothicBBB-Medium
dvipdfmx:warning: Some chracters may not be displayed or printed.

PDFへの埋め込みフォントの警告。環境が変わってもPDFの和文が読み込めるよう、フォントを指定して埋め込みます。
現在の埋め込みの設定を sudo kanji-config-updmap-sys status で確認

CURRENT family for ja: noEmbed
Standby family : ipa
Standby family : ipaex

CURRENT family for ja: noEmbed が問題っぽい。

sudo kanji-config-updmap-sys auto

auto を指定することで、埋め込むフォントを自動的に指定する。

$ kanji-config-updmap-sys status
CURRENT family for ja: ipa
Standby family : ipaex
3
4
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
3
4