Intellij IDEA で LuaLaTeX と Biber を扱うための環境構築

# なにこれ
基本的には表題の通り，Intellij IDEA で LuaLaTeX を扱うための環境構築についてまとめます．
Biber を用いた参考文献の記述環境の構築も取り扱います．

## 想定読者
+ Intellij IDEA の導入を済ませてある方
+ TeX ディストリビューションの導入を済ませてある方
+ TeX/LaTeX に関する基礎的な知識をお持ちの方

## 前提環境

### 基本環境
<table>
    <tr>
        <th>OS</th>
        <td>Windows 11 Pro 21H2</td>
    </tr>
    <tr>
        <th>エディタ / IDE</th>
        <td>Intellij IDEA Ultimate 2022.3 (新UI)</td>
    </tr>
     <tr>
        <th>TeX ディストリビューション</th>
        <td>TeX Live 2022</td>
    </tr>
</table>

### プラグイン
<table>
    <tr>
        <th>LaTeX / BibTeX サポート</th>
        <td><a href="https://plugins.jetbrains.com/plugin/9473-texify-idea">TeXiFy IDEA</a> 0.7.25.1</td>
    </tr>
    <tr>
        <th>PDFビューア</th>
        <td><a href="https://plugins.jetbrains.com/plugin/14494-pdf-viewer">PDF Viewer</a> 0.14.0</td>
    </tr>
</table>

# プラグインの導入
まず，Intellij IDEA へプラグインを導入していきます．

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2663103/da8a578f-31dc-06f9-1104-525a8909ba07.png)
ようこそ画面左側の<b>プラグイン</b>から，<b>TeXiFy</b> と検索し，ヒットする2つのプラグインをインストールします．
インストールが済んだら，Intellij IDEA を一旦再起動しましょう．

# プラグインの設定
次に，インストールしたプラグインの設定をしていきます．
基本的には画像の通りに設定すれば問題ありません．

## TeXiFy IDEA
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2663103/3c47170e-f11d-6622-c316-4699e3b4f120.png)
<b>カスタマイズ</b> から <b>すべての設定...</b> を選択し，設定ダイアログを開きます．

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2663103/b6a93000-2b72-88d1-3a85-557f344fd3d8.png)
<b>言語＆フレームワーク</b> → <b>TeXiFy</b> と進み，それぞれの項目について設定していきます．
各項目の意味は以下の wiki を参照して下さい．
https://github.com/Hannah-Sten/TeXiFy-IDEA/wiki/Global-settings

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2663103/0d629fa3-9342-307e-e2e6-39ac23652ef9.png)
続いて，<b>Conventions</b> を選択し，規則に関する設定をしていきます．
(私は **figure** と **table** にチェックを入れています．)
各項目の意味は以下の wiki を参照して下さい．
https://github.com/Hannah-Sten/TeXiFy-IDEA/wiki/Conventions

## PDF Viewer
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2663103/9549203c-e542-8b6f-9e78-f4c7e1205299.png)
**その他の設定** → **PDF Viewer** と進み，それぞれの項目について設定していきます．
各項目の意味は以下の通りです．
<dl>
    <dt>Reload document on change</dt>
    <dd>コンパイル時など，文書が更新された際に自動でリロードします．</dd>
    <dt>Default sidebar view mode</dt>
    <dd>デフォルトでサイドバーが表示する内容です．</dd>
    <dt>Use custom colors</dt>
    <dd>カスタムカラーを使用します．</dd>
</dl>

# プロジェクトの作成と設定

## プロジェクトの作成
それではいよいよプロジェクトを作成していきます．

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2663103/d2058b8a-ac0f-47a5-d1a9-62159fb21d56.png)
ようこそ画面右上の **新規プロジェクト** を選択し，プロジェクトを作成します．

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2663103/0ab80b27-37cc-3fb6-cd33-7c240d3d23d2.png)
左ペインから， **LaTeX** を選択し，必要に応じて **Configure with BibTeX support** にチェックを入れます．

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2663103/8eb12884-f1c4-5fbf-f2f5-81e0c21e8d02.png)
プロジェクト名と場所をお好みで設定します．
詳細設定は特に触らなくて大丈夫です．

## プロジェクトの基本構成
プロジェクトが作成されると，次のような画面になります．
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2663103/cf3ada8d-8c61-f0ac-8ae7-7172a8be9a8f.png)
``src``ディレクトリに``.tex``ファイルと``.bib``ファイルが配置されます．
成果物は``out``ディレクトリに出力されます．

## プロジェクトの設定
ここでは，LuaLaTeX および Biber を扱うので，それに関する設定を行っていきます．

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2663103/fb5ccb10-a8bc-dd17-65c9-9cc346405d6e.png)
**現在のファイル** から，**実行構成の編集...** を選択．

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2663103/723b5c07-3027-7b9e-24ad-7e5971cb2b77.png)
左ペインの **新規追加…** から **LaTeX** を選択．

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2663103/b6242d78-f159-8776-6744-68a4923ba007.png)
**名前(N):** に自由な名前を入れ，**Compiler:** に LuaLaTeX を指定，**PDF viewer:** には Built-in PDF Viewer を指定します．
そして，**Main file to compile:** にコンパイルしたい``.tex``ファイルのパスを指定します．
Biber を用いない文書を作成する場合は，これで設定完了です．

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2663103/30087228-74c0-5e06-4107-f59c5f50135e.png)
次に Biber を用いるための設定をしていきます．
左上の **＋** から， **BibTeX** を選択．

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2663103/fc6904ce-1f91-0f13-7e08-584b0348ed8e.png)
**名前(N):** に自由な名前を入れ，**Compiler:** に Biber を指定します．
そして，**Main file that includes bibliography:** に文献リストを挿入する``.tex``ファイルのパスを指定し，**Working directory for bibtex:** に``out``フォルダのパスを入力します．

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2663103/e4db935d-6003-3d6b-7114-2a205a783eca.png)
最後に，仕上げ処理を行うための構成を作成します．
先程作成した LaTeX の実行構成を選択し，左上のボダンでコピーします．

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2663103/8235fe7c-577d-3141-8164-c56af7a18b01.png)
**名前(N):** に自由な名前を入れ，**起動前(B)** の **＋** を選択します．

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2663103/7f9f89cc-f208-adb4-f476-ce56568748d3.png)![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2663103/c7f9d4d6-bdc6-ba77-5ffc-f333eab2f58f.png)
**別の構成を実行** から，最初に作った LaTeX の実行構成を選択します．

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2663103/f0fe0186-c4c3-564c-1ac7-b9e86c5d239e.png)
同様の手順を踏んで，Biber の実行構成も追加したら，プロジェクトの構築は終了です．

# ソースコードの例
最後に，簡単なソースコードの例を示します．(15分クオリティ注意)

```latex:main.tex
%! Author = NXVZBGBFBEN
%! Date = 2022/12/24

% Preamble
\documentclass{ltjsarticle}

% Packages
\usepackage{biblatex}
\usepackage{hyperref}
\usepackage{url}
\usepackage{dtk-logos}

\addbibresource{main.bib}
\DeclareFieldFormat{title}{#1}
\DeclareFieldFormat{title}{\mkbibquote{#1\adddot}}

% Document
\begin{document}
  \title{木更津高専 Advent Calendar 2022\\
  \huge{Intellij IDEAで\LuaLaTeX{}と\Biber{}を\\扱うための環境構築}}
  \author{木更津工業高等専門学校\\
    \begin{tabular}{rl}
      氏名   & NXVZBGBFBEN \\
      学科   & 限界エンジニア工学科  \\
      学籍番号 & 53{-}334
    \end{tabular}}
  \maketitle


  \section{\LuaLaTeX{}について~\cite{lualatex-whatis}}
  日本ではp\LaTeX{}やup\LaTeX{}とdvipdfmxを組み合わせて「\LaTeX{}ソースからDVI経由でPDFを作る」ケースが圧倒的に多いのが現状です。
  しかし海外に目を向けてみると，\pdfLaTeX{}を使って「\LaTeX{}ソースからPDFを直接出力する」ケースが主流です。
  この\pdfTeX{}を拡張してLuaという軽量スクリプト言語を利用できるようにしたのが\LuaTeX{}です。
  \LuaTeX{}は，いまのところ\pdfTeX{}の後継として位置づけられています。


  \section{Biberについて~\cite{biber-whatis}}
  \TeX{}と\LaTeX{}が別物であるように\BibLaTeX{}も\BibTeX{}とは別物です。
  前者の2つを区別するとほとんどの人は\TeX{}ではなく\LaTeX{}を使っているはずです。
  \BibTeX{}と\BibLaTeX{}の差はその差に匹敵するほどなので\BibTeX{}ではなく\BibLaTeX{}を使わない理由はありません。
  使い方の慣れを除けば\BibLaTeX{}は\BibTeX{}の上位互換といっていいです。\par
  正確には\BibLaTeX{}と\BibTeX{}は相反するものでは無く前者は\LaTeX{}のパッケージなので\BibLaTeX{}から\BibTeX{}を呼び出すこともできます。
  \texttt{.bib}を処理している\BibTeX{}の代わりとなるものは\Biber{}です。
  しかし実際は\BibLaTeX{}と\Biber{}はお互いを前提としているのでセットで使うのが普通です。

  \newpage
  \printbibliography[title=参考文献]
\end{document}
```
```bibtex:main.bib
%! Author = NXVZBGBFBEN
%! Date = 2022/12/24

@misc{lualatex-whatis,
    author = {\TeX{} Wiki},
    title = {発展編：最近の\LaTeX{}の動向},
    note = {\url{https://texwiki.texjp.org/}},
}
@misc{biber-whatis,
    author = {tm23forest},
    title = {\BibLaTeX{}+\Biber{}の始め方},
    note = {\url{https://tm23forest.com/contents/biblatex-biber-begin}},
}
```
このように，それぞれのファイルを書き終えたら，上の
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2663103/193c26cf-790c-1534-695b-15614663e95e.png)
から，最後に作成した実行構成を選択した状態で **実行** ボタンを押すことによって，全自動でコンパイルが回ります．
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2663103/967ed757-b485-fa5c-97e0-aa996c72989f.png)