LaTeXはMicrosoftのWordのような組版処理システム(文章を本等にまとめるソフト)で 物理、数学などの数式をきれいに文章中に組み込めるので、理系の学生は論文執筆などで使っていることが多い。 ここでは、そのLaTeXの導入としてインストール方法、使い方をまとめた。
macTeXをインストール
$ brew install mactex
TeXLiveをインストール
$ sudo apt install -y texlive
リンク: Overleaf
最近は自分で環境を構築しなくてもクラウド上で文書の作成、コンパイルを行えるOverleafというものがあるらしい。
自分ではあまり使ったことは無いが、テンプレートがたくさんあったり、 毎回コンパイルして確認しなくてもプレビューが常に表示されるなどかなり便利らしい。
ただ無料版はリンクを知っている人であればどんなひとでも中身を見ることができるらしいので、 秘匿性のある文書は無料版で作るべきではない。
こういう事もあって自分ではもっぱら自PCに環境を構築してコンパイルして書いている。
LaTeXをコンパイルするときに使えるエンジンは複数ある。 従来のplatex, uplatexは.tex→.div→.pdfと変換をするのに対し、次の世代のlualatexは.tex→.pdfに変換できる。
これらのエンジンはletliveまたは、mactexを導入すれば自然とついてくる。 世の中的にはlualatexに移行しつつあるらしいが、参考にできる日本語サイトが少ないので注意。
platex, uplatexとluatexでは使えるパッケージが異なるので、毎回パッケージを入れる際は調べてから使う。
Latexmkを使うと簡単にコンパイルできるらしい。
Latexmkを使うためにはホームディレクトリに.latexmkrcを作って、 以下のコードをコピペする。
#!/usr/bin/env perl
if ($^O eq 'MSWin32') {
$latex = 'uplatex %O -kanji=utf8 -no-guess-input-enc -synctex=1 -interaction=nonstopmode %S';
$pdflatex = 'pdflatex %O -synctex=1 -interaction=nonstopmode %S';
$lualatex = 'lualatex %O -synctex=1 -interaction=nonstopmode %S';
$xelatex = 'xelatex %O -synctex=1 -interaction=nonstopmode %S';
$biber = 'biber %O --bblencoding=utf8 -u -U --output_safechars %B';
$bibtex = 'upbibtex %O %B';
$makeindex = 'upmendex %O -o %D %S';
$dvipdf = 'dvipdfmx %O -o %D %S';
$dvips = 'dvips %O -z -f %S | convbkmk -u > %D';
$ps2pdf = 'ps2pdf.exe %O %S %D';
$pdf_mode = 3;
if (-f 'C:/Program Files/SumatraPDF/SumatraPDF.exe') {
$pdf_previewer = '"C:/Program Files/SumatraPDF/SumatraPDF.exe" -reuse-instance';
} elsif (-f 'C:/Program Files (x86)/SumatraPDF/SumatraPDF.exe') {
$pdf_previewer = '"C:/Program Files (x86)/SumatraPDF/SumatraPDF.exe" -reuse-instance';
} else {
$pdf_previewer = 'texworks';
}
} else {
$latex = 'uplatex %O -synctex=1 -interaction=nonstopmode %S';
$pdflatex = 'pdflatex %O -synctex=1 -interaction=nonstopmode %S';
$lualatex = 'lualatex %O -synctex=1 -interaction=nonstopmode %S';
$xelatex = 'xelatex %O -synctex=1 -interaction=nonstopmode %S';
$biber = 'biber %O --bblencoding=utf8 -u -U --output_safechars %B';
$bibtex = 'upbibtex %O %B';
$makeindex = 'upmendex %O -o %D %S';
$dvipdf = 'dvipdfmx %O -o %D %S';
$dvips = 'dvips %O -z -f %S | convbkmk -u > %D';
$ps2pdf = 'ps2pdf %O %S %D';
$pdf_mode = 3;
if ($^O eq 'darwin') {
$pvc_view_file_via_temporary = 0;
$pdf_previewer = 'open -ga /Applications/Skim.app';
} else {
$pdf_previewer = 'xdg-open';
}
}
コンパイルは様々なエンジンを使えるが、せっかくなのでlualatexを使う方法を説明する。 lualatexのコンパイルは以下のコマンドで行う。
$ latexmk -gg -pdflua <ファイル名>.tex
実行すると今の場所に<ファイル名>.pdfで出力される。
参考: Visual Studio Code/LaTeX - TeX Wiki
Visual Studio Code(VSCode)は様々な言語に対応しているテキストエディタだが、
もちろんLaTeXにも対応している。
VS Codeでは拡張機能としてLaTeX Workshopをインストールする。
インストールした後にsetting.jsonに以下を追加する。
setting.jsonはまず右下の歯車マークから設定→右上のOpen setting(JSON)から開ける。
macOS/Linux
"latex-workshop.latex.tools": [
{
"name": "latexmk",
"command": "latexmk",
"args": [
"-e",
"$lualatex=q/lualatex %O -synctex=1 -interaction=nonstopmode -file-line-error %S/",
"-e",
"$bibtex=q/upbibtex %O %B/",
"-e",
"$biber=q/biber %O --bblencoding=utf8 -u -U --output_safechars %B/",
"-e",
"$makeindex=q/upmendex %O -o %D %S/",
"-norc",
"-gg",
"-pdflua",
"%DOC%"
]
}
]