はじめに
たまに手持ちの Intel Macbook をリセットしたくなるときがあるので、そういうときにpython が実行できて LaTeX でレポートが書ける環境を作るために必要なことを書きます。
すること
- Homebrew のインストール
- MacTeX のインストール
- Miniconda のインストール
- vscode のインストール・設定
実行環境
- Macbook Pro 16-in. (2019) Intel コア
- macOS Monterey 12.6.2
注意事項
コマンドを実行しても上手くいかない場合は、とりあえずターミナルの再起動を試してください。
それでもダメだったらごめんなさい。
homebrew のインストール
いろんなものをインストールする際に Homebrew は必須です。
Homebrew のウェブサイトからコマンドを拾ってきて実行します。
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
XCode のコマンドラインツールのインストールを促される場合がありますが、言われるがままにインストールしましょう。
以下のように実行してバージョンが確認できれば成功です。
$ brew -v
Homebrew 3.6.15
MacTeX のインストール
TeX についてあまり詳しくありませんが、自分は MacTeX をインストールして LuaLaTeX を使うことにしています。
GUI は特に必要ないと思っているので mactex-no-gui をインストールします。GUI が必要ならば mactex をインストールします。
$ brew install --cask mactex-no-gui
途中、
Warning: No available formula with the name "libtiff". Did you mean libff?
と出てきてたので libff をインストールしようとすると
$ brew install libff
Error: Could not 'git stash' in /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core!
Please stash/commit manually if you need to keep your changes or, if not, run:
cd /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core
git reset --hard origin/master
...
などと言われます。言われるがままにして実行し直します。
$ cd /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core
$ git reset --hard origin/master
$ brew install --cask mactex-no-gui
...
🍺 mactex-no-gui was successfully installed!
無限時間かかりますが気長に待ちます。自分はワールドカップの決勝戦を見ていました。アルゼンチンおめでとう!
以下のようにバージョンが表示されれば成功のはずです。
$ lualatex -v
This is LuaHBTeX, Version 1.15.0 (TeX Live 2022)
Miniconda のインストール
python の仮想環境を Miniconda を使って構築します。
まずはインストールします。ウェブサイトから好きな方法でインストールします。
Miniconda にパスが通っていることを確認します。以下のよう miniconda を使う設定になっていれば成功です。
$ which python3
/Users/[usr_name]/opt/miniconda3/bin/python3
仮想環境の構成
conda 環境を使えば簡単に仮想環境が構築できます。好きな名前で以下の通りに作成します。
$ conda create -n env_name
できたか確認します。以下の通り名前とパスが出てくれば成功です。
$ conda info -e
# conda environments:
#
base * /Users/[usr_name]/opt/miniconda3
env_name /Users/[usr_name]/opt/miniconda3/envs/[envi_name]
デフォルトでは仮想環境にはほとんど何も入っていないので色々インストールします。
まずは仮想環境をアクティベートします。 これが一番大事です。
$ conda activate env_name
きちんと仮想環境の中に移動していることを確認してから、必要なパッケージをインストールしていきます。
ありがちなパッケージをまとめてインストールしてみます。
$ conda info
active environment : env_name
...
$ conda install numpy pandas matplotlib seaborn jupyter
以下のコマンドでパッケージがインストールできているか確認できます。
$ conda list
# packages in environment at /Users/[usr_name]/opt/miniconda3/envs/env_name:
#
# Name Version Build Channel
blas 1.0 mkl
bottleneck 1.3.5 py310h4e76f89_0
brotli 1.0.9 hca72f7f_7
...
使い終わったらディアクティベートできます。
$ conda deactivate env_name
VSCode のインストール・設定
VSCodeをダウンロードしてきて、インストールします。簡単にできるはずです。
種々のパッケージをインストールする
普通にインストールします。
- LaTeX Workshop
- Python
- Jupyter
- Quarto
- Marp for VS Code
上2つがあればとりあえずやっていけるはずです。
下2つについてはここで解説しませんが Markdown ベースの便利な文書作成システムです。
LaTeX Workshop の設定
Cmd + Shift + P
でパレットを開き、settings と入力して settings.json
ファイルを開きます。
ユーザーの方とデフォルトの方が出てきますが、ユーザーの方の settings.json
を編集します。
以下の内容を記述します。
{
// for build
"latex-workshop.latex.autoClean.run": "onBuilt",
"latex-workshop.latex.clean.fileTypes" :[
"*.aux",
"*.bbl",
"*.blg",
"*.idx",
"*.ind",
"*.lof",
"*.lot",
"*.out",
"*.toc",
"*.acn",
"*.acr",
"*.alg",
"*.glg",
"*.glo",
"*.gls",
"*.fls",
"*.log",
"*.fdb_latexmk",
"*.snm",
"*.synctex(busy)",
"*.synctex.gz(busy)",
"*.nav",
"*.vrb",
"*.xml"
],
"latex-workshop.latex.autoBuild.run": "onSave",
// pdf viewr
"latex-workshop.view.pdf.viewer": "tab",
// recipes
"latex-workshop.latex.recipes": [
{
"name": "LuaLaTeX",
"tools": [
"lualatex"
]
},
{
"name": "LuaLaTeX + biber",
"tools": [
"lualatex",
"biber",
"lualatex",
"lualatex"
]
},
{
"name": "Infinite LuaLaTeX",
"tools": [
"lualatex",
"lualatex"
]
},
],
"latex-workshop.latex.tools": [
{
"name": "lualatex",
"command": "lualatex",
"args": [
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"%DOC%",
]
},
{
"name": "lualatex=non-synctex",
"command": "lualatex",
"args": [
"-interaction=nonstopmode",
"-file-line-error",
"%DOC%",
]
},
{
"name": "biber",
"command": "biber",
"args": [
"%DOCFILE%"
]
},
]
}
-
autoClean.run
:.out
や.log
など、コンパイル時に pdf と一緒に生成されるファイルを削除するよう設定します。onBuilt
でコンパイル時に消すように設定でき、他にはonFail
でコンパイル失敗時に削除、never
で無効化します。 -
clean.fileTypes
" : どの拡張子を消すか選択します。デフォルトで以下のほぼ全てが消されるよう設定されていますが、LuaLaTex でコンパイル時に出てくる.run.xml
ファイルを消したいので追加しています。 -
autoBuild.run
: セーブ時に自動でコンパイルしてくれるように設定しています。onFileChange
やnever
も選択できます。 -
pdf.viewer
: VSCode 内のタブで生成した pdf を見せてくれるよう設定します。 -
recipes
: 下で設定した tools を用いてどういう手順でコンパイルするか決めます。基本的にはlualatex
で一度コンパイルすれば pdf が出てきますがbiber
が使いたい場合はLuaLaTeX + biber
を使い、参照が正しく表示されないと気はInfinite LuaLaTeX
を使うと上手くいきます。 -
tools
:lualatex
の設定はほぼデフォルト通りです。-synctex=1
を設定することで、⌘+クリックで pdf 上の位置を参照することができます。biber
は bibLaTeX を使うためのものです。特に細かい設定なしで動きます(texファイル内での使い方は割愛します。)
TeX ファイルを保存して pdf が出てくれば成功です。
LuaLaTeX の書き方にはまだ慣れないのでテストファイルを置いておきます。
上手く pdf が生成されれば成功です。
\documentclass[]{ltjsarticle}
\begin{document}
これは\LaTeX のサンプルです。
\[
u(\nu, T) = \frac{8\pi h \nu^3}{c^3} \frac{1}{\exp(\dfrac{hc}{\lambda k T}) - 1}
\]
\end{document}
Python の実行環境設定
まずは上で作成した仮想環境を実行環境に設定します。
右下に python のバージョンが書いてあるところをクリックするとインタープリタの選択肢が出てくるので使いたい仮想環境を選択します。
⌘ + Shift + P
から python interpreter などと検索すれば同じ設定が探せます。
実際の実行の仕方ですが、正直よくわかんないですがちょちょっと実行して計算する分には jupyter で十分だと思います。
Jupyter パッケージをインストールしておけば、あとは色々機能が使えます。
ファイル内に ##%
と記述するとそこから下を1つのセルと見なして実行ができるようになります。
自分はこれが便利でよく使っています。
おわりに
これで一通りの環境が構築できたはずです。
書きそびれたことがあったら追記する気がします。
おまけ
最近のおすすめ本
キネマの神様:学校をサボって映画を観る生活までもを肯定してもらえるような気持ちになります。これを読んで映画オタクになってください。
最近のおすすめ映画
恋人までの距離(原題 : Before Sunrise): ハラハラしないんだけど観終わると充足感のある、素敵な映画です。みてね。