IEEEtran.clsのConferenceの使い方

IEEEtran.clsを使ってConferenceを投稿したので備忘録

# 注意！
2024/02/17
TeX Liveユーティリティのレポジトリに上がってるtabularrayの2023Aがなんか壊れている
expl3周りの構文がおかしくてエラーを吐くので，以下から手動で2024Aをローカルに落とそう
https://github.com/lvjr/tabularray/blob/main/tabularray.sty

### 環境
+ M1 Mac Ventura
+ MacTeX 2023
    + homebrewで入手





# テンプレート入手
ieee.orgの配布ページ，https://www.ieee.org/conferences/publishing/templates.html
[LaTeX Template](https://www.ieee.org/content/dam/ieee-org/ieee/web/org/pubs/conference-latex-template_10-17-19.zip)と[BibteX Template](https://www.ieee.org/conferences/publishing/templates.html#:~:text=LaTeX%20Bibliography%20Files)があるので両方を入手する
もしくはTeXLiveの`ieeetran`に双方が入ってるはずのでそれを使う
いずれにせよ日本語に非対応，pdfLaTeXでコンパイルする，vscodeのlatexmkのデフォルトコマンドで動くかも



## つかうもの
+ `IEEEtran.cls`
    + クラスファイル，最低限これが必要
+ `IEEEabrv.bib`
    + IEEE関連の固有名詞を展開する
    + `IEEEfull.bib`だと全ての固有名詞が省略形ではなくなるらしい
+ `IEEEtranN.bst`
    + 文献リストのスタイルを決める
    + `plainnat`スタイルが使える
    + 普通は`IEEEtran.bst`を使う
+ `natbib`
    + `plainnat`を扱えるエンジン
    + `IEEEtranN.bst`を読み込む
    + 普通ならばTeXLiveに入ってる
+ `paper.tex`
    + 本体
+ `confs.sty`
    + パッケージ管理や自作スクリプトをまとめる
+ `biblio.bib`
    + 文献リスト





# 個人的テンプレート


```latex:paper.tex
\documentclass[conference]{IEEEtran}
\IEEEoverridecommandlockouts
\usepackage{confs} %confs.styで設定を管理する
\begin{document}

\title{
    %タイトル
    \thanks{} %カネの話をする
}

\author{
\IEEEauthorblockN{} %名前
\IEEEauthorblockA{
    \textit{} \\%分野
    \textit{} \\%所属
    \\%都市，国家
    %連絡先メアド
}
\and
\IEEEauthorblockN{} %名前
\IEEEauthorblockA{
    \textit{} \\%分野
    \textit{} \\%所属
    \\%都市，国家
    %連絡先メアド
}
}

\maketitle

\begin{abstract}
%概要
\end{abstract}
\begin{IEEEkeywords}
%キーワード
\end{IEEEkeywords}

\section{} %本文

\appendicies %複数の附録に対応
\renewcommand{\theequation}{\thesection.\arabic{equation}} %数式番号を再定義
\numberwithin{equation}{section} %数式番号の表示を再定義
\section{} %附録

\section*{Acknowledgment} %謝辞

\bibliographystyle{IEEEtranN} %文献リストのスタイルを召喚
\bibliography{IEEEabrv,biblio} %biblio.bibの文献リストをIEEEabrv.bibの補完を適用して召喚

\end{document}
```

```latex:confs.sty
\usepackage{textcomp} % 特殊文字シンボルを追加
\usepackage[numbers,sort&compress]{natbib} %IEEE仕様でnatbibを召喚
\renewcommand{\bibfont}{\fontsize{8pt}{10pt}\selectfont} %文献リストのフォントサイズを定義
\setlength{\bibsep}{0pt} %文献リストの間隔を圧縮
\makeatletter
\renewcommand{\@biblabel}[1]{[#1]\hfill} %文献リストの表示を定義
\makeatother
\usepackage{float} %図表の配置
\usepackage{here} %図表の強制配置（非推奨）
\usepackage{tabularray} %表ライブラリ
\SetTblrInner{rowsep=4pt,colsep=4pt} %tblr環境を見やすくする
\usepackage{stackengine} %いろんな場所で無理矢理に改行つきレイアウトを入れる
\usepackage{amsmath,amssymb,amsfonts,mathtools} %数学ライブラリ
\usepackage{autobreak} %数式の自動改行
\usepackage{empheq} %並列した数式を立てる
\usepackage{mleftright} %括弧等のスペースを詰める
\usepackage{bm} %ベクトル表現に使う
\usepackage{siunitx} %単位表現に使う
\usepackage{wrapfig} %周り込みで図を入れる
\usepackage{caption,subcaption} %図に2層のキャプションを入れる
\captionsetup{labelsep=period} %Fig.N:ExplainではなくFig.N.Explainみたいにする
\usepackage{graphicx} %図ツール
\usepackage{xcolor} %色操作ツール
```



## `natbib`を使う理由
推奨されている`IEEEtran.cls`と`cite`と`IEEEtran.bst`のコンビでは，一箇所に複数の文献を配置するとそのレイアウトが圧縮されない，`cite`の仕様としては圧縮されるべきところ`IEEEtran.cls`と一緒に使うと圧縮禁止オプションもなしに強制的にそうなってしまう，なぜならそれがIEEEのスタンダードスタイルらしいので
要するに[1][2][3][5]を[1-3,5]としたい時は`cite`ではなく`natbib`と`IEEEtranN.bst`を使いながら文献リストのスタイルを自力で修正する必要がある



## `appendices`の数式番号
`({セクション番号}.{メイン数式番号}({サブ数式番号}))`の形式を取る，A.1とかA.2aとかそんな感じになる