TeXstudioのショートカットをフル活用してTeX打ちを爆速にしよう

# はじめに

まずは以下の動画をご覧ください。

![Qiita_ショートカットキー解説.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3795757/6bbe6331-5d91-0968-f8d3-41db97f31dd9.gif)

かなり早いスピードでTeX打ちできているのがお分かり頂けると思います。
カラクリは単純で、よく使うTeXのコマンドを片っ端からショートカットキーに登録しまくっているのです。
この方法、単に早いというだけでなく、**誤入力が減る**という利点もあります。

皆さんは経験無いでしょうか。
コンパイルしたら謎のエラーが出た。
苦労して火元を探し出すと、コマンドを一文字だけ間違えていた、ただそれだけだったことが……。

そのような悩みとはもうおさらばです。
さあ、**ショートカットキーをフル活用してTeX打ちを爆速にしよう！**
一度慣れるとTeXworksやOverleafでチマチマ打っていたあの頃にはきっともう戻れない……！


# メリット

本記事で紹介する方法を使うと、例えば他にも以下のようなことが出来ます。

* Ctrl + B で一発ビルド
* 無駄に長い `\varepsilon` $\varepsilon$ を Alt + Shift + E で出せる
* スペルミスしやすい `\lambda` $\lambda$ を Alt + Shift + L で出せる

# 設定方法

本記事で説明するのは**TeXstudio**というエディタを用いた設定です。[^1]
このエディタ、ショートカットキーの拡張性がとても高いのです。
何行にもわたるコードを登録するのはもちろんのこと、何とその際のカーソルの位置まで指定できます！

[^1]: これからTeX用のエディタを導入するという方にはTeXStudioよりもVScodeをお勧めします。VScodeの場合はスニペットという補完機能が便利です。なお本記事でTeXstudioを扱うのは、単に筆者がかれこれ7年ほどTeXstudioを使い続けているという理由によります。

実際にショートカットキーを登録するには、右上の [オプション(O)] > [TeXstudioの設定(C)] で設定画面を開き、
* 「キーボードショートカット」の項目で、用意されているコマンドにショートカットキーを割り当てられます。
* 「メニュー」の項目で、新しいコマンドを定義できます。


# ショートカットキーの設定例

以下では私流に設定したショートカットキーを紹介します。

設定ファイルは [こちら](https://github.com/YuyaMurakamiMath/My_TeX_template/blob/main/TeXstudio%E8%A8%AD%E5%AE%9A%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB/TeXstudio_Murakami_setting.txsprofile) からダウンロードできます。
[オプション(O)] > [プロファイルの読み込み(P)] から読み込むことで使えるようになります。
是非ご活用ください。

以下で紹介するショートカットキーにはデフォルトで設定されているものもありますが、私オリジナルで改変・追加したものも多くあります。
量があるので覚えるのは大変ですが、慣れると非常に便利です。
約3年掛けて使い込み、なるべく分かりやすく・覚えやすくなるよう追加・修正を施しました。
とは言え筆者の好みがかなり反映されており、万人受けしないとは思います。
ともあれ、参考にして頂ければ嬉しいです。

それでは、以下でショートカットキーの設定例を紹介します。

## TeXの編集

| 効果 | ショートカットキー | 備考 | 
|:- | :- | :- | 
| ビルド | Ctrl + B | コンパイルやBiBTeXなどの一連の動作を行いPDFファイルを表示する。超便利。 |
| コメントアウト | Ctrl + T | カーソルのある行もしくは選択した行すべてに`%`を付けてコメントアウトする |
| コメントアウト解除 | Ctrl + U | カーソルのある行もしくは選択した行すべてに付いている`%`を消す |


## 汎用的な文書編集

TeXstudio以外の文書編集ソフトでも広く用いられているショートカットキー。

| 効果 | ショートカットキー | 備考 | 
|:- | :- | :- | 
| 保存 | Ctrl + S |  |
| 元に戻す | Ctrl + Z |  |
| やり直す | Ctrl + Y |  |
| コピー | Ctrl + C |  |
| 貼り付け | Ctrl + V |  |
| 検索 | Ctrl + F |  |
| 置換 | Ctrl + R |  |
| 全て選択 | Ctrl + A |  |
| ファイルを開く | Ctrl + O |  |

## エディタ

| 効果 | ショートカットキー | 備考 | 
|:- | :- | :- | 
| 文字サイズをリセット | Ctrl + 0 | 誤操作で文字サイズを変更したときに有用 |
| 次のタブに移る | Ctrl + Tab | Chromeと同じ |
| 前のタブに移る | Ctrl + Tab + Shift | Chromeと同じ |
| 次の単語に移る | Ctrl + → |  |
| 前の単語に移る | Ctrl + ← |  |
| 次の1文字を選択 | Shift + → |  |
| 前の1文字を選択 | Shift + ← |  |
| 次の1行を選択 | Shift + ↓ |  |
| 前の1行を選択 | Shift + ↑ |  |
| 次の単語までを選択 | Ctrl + Shift + → |  |
| 前の単語までを選択 | Ctrl + Shift + ← |  |

なお Ctrl + ↑ / Ctrl + ↓ / Ctrl + Shift + ↑ / Ctrl + Shift + ↓ にはそれぞれ `\cap` $\cap$ / `\cup` $\cup$ / `\bigcap` $\bigcap$ / `\bigcup` $\bigcup$ を割り当てています（[下項](#集合演算子)参照）。


## 便利なエディタ操作

ショートカットキーでは無いが非常に便利なTeXstudioのエディタ操作をここで紹介しておきます。

| 効果 | ショートカットキー | 備考 | 
|:- | :- | :- | 
| PDFファイルにジャンプ | Ctrl + カーソルでクリック | PDFファイルの対応する箇所にジャンプする |
| コマンドの定義元にジャンプ | Ctrl + カーソルでクリック | 例えば `\ref{thm:~~}` に Ctrl + クリック すると引用元の定理にジャンプする |
| 選択した行すべてをインデント | 選択 + Tab |  |


## 環境

| 出力 | ショートカットキー | 備考 | 
|:- | :- | :- | 
| `\begin{}`<br>  <br>`\end{}` | Ctrl + E | EはEnvironmentのE | 
| `\[`<br>  <br>`\]` | Ctrl + M | MはMath modeのM（たぶん） |
| `$  $` | Ctrl + Shift + M |  |
| `\begin{align}`<br>  <br>`\end{align}` | Ctrl + N | `align*`環境は用いない <br> NはMの隣にあるので採用 |
| `\begin{equation} \label{eq:}`<br>  <br>`\end{equation}` | Ctrl + Shift + N | `equation*`環境は用いない |
| `\begin{itemize}` <br> ` \item` <br>`\end{itemize}` | Ctrl + Alt + I | 番号無し箇条書き |
| `\begin{enumerate}` <br> ` \item` <br> `\end{enumerate}` | Ctrl + Alt + E | 番号付き箇条書き |
| `\begin{array}` <br>  <br>`\end{array}` | Ctrl + Alt + A | 表 |
| `\begin{figure}[htbp]` <br> `\centering` <br> <br> `\caption{}` <br> `\label{fig:}` <br> `\end{figure}` | Ctrl + Alt + F | 図 |
| `\begin{quote}`<br>  <br>`\end{quote}` | Ctrl + Alt + Q | 引用 | 

なお`equation*`環境や`align*`環境を用いないのは、これらの環境を用いずに参照した数式だけに自動で数式番号を付けるように設定できるためです。
このようにする方法は [amsmathの数式環境まとめ](https://qiita.com/t_kemmochi/items/a4c390b4967b13f3afb7#%E4%BB%98%E3%81%8D%E7%92%B0%E5%A2%83%E3%81%A8%E6%95%B0%E5%BC%8F%E7%95%AA%E5%8F%B7) が詳しいです。

## 参照

| 出力 | ショートカットキー | 備考 | 
|:- | :- | :- | 
| `\label{}` | Ctrl + Alt + L | ラベル付け |
| `\cref{}` | Ctrl + Alt + R | 賢い参照。 `ref` の上位互換。 `cleveref`パッケージで実装されている。超便利。 |
| `\cite{}` | Ctrl + Alt + C | 引用 |


## フォント

| 出力 | ショートカットキー | 備考 | 
|:- | :- | :- | 
| `\textbf{}` | Ctrl + Shift + B | 太字 |
| `\textsf{}` | Ctrl + Shift + A | サンセリフ体 <br> TeXstudioではデフォルトでCtrl + Shift + Aに設定されているが、なぜAを使うのかは不明 |
| `\textcolor{}` | Ctrl + Shift + C | 文字色変更 |
| `\text{}` | Ctrl + Shift + T | 数式内での通常テキスト |

`\mathrm{}`, `\mathcal{}`, `\mathfrak{}`などの数式用フォントにはショートカットキーを割り当てていません。理由は単に割り当てるキーが足りていないというのと、私の場合は`\mathrm{A}`, `\mathcal{A}`, `\mathfrak{A}`などに対して`\rmA`,`\calA`, `\frakA`などの短縮コマンドをプリアンブルで設定しているためです。


## 数式のアクセント

| 出力 | ショートカットキー | 備考 | 
|:- | :- | :- | 
| `\widetilde{}` | Ctrl + Alt + T | チルダ $\widetilde{a}$ |
| `\widehat{}` | Ctrl + Alt + H | ハット $\widehat{a}$ |
| `\overline{}` | Ctrl + Alt + O | 上に線 $\overline{a}$ |
| `\underline{}` | Ctrl + Alt + U | 下に線 $\underline{a}$ |

`\check{}`, `\widecheck{}` (チェック $\check{a}$)にはショートカットキーを割り当てていません。理由は Ctrl + Alt + C を `\cite{}`（引用）に割り当てているためと、使用頻度が少ないためです。


## 数式用コマンド

| 出力 | ショートカットキー | 備考 | 
|:- | :- | :- | 
| `\frac{}{}` | Ctrl + Shift + F | 分数 $\frac{a}{b}$ |
| `\sqrt{}` | Ctrl + Q | ルート $\sqrt{a}$ |
| `\left` | Ctrl + Shift + L | 左側の括弧 |
| `\right` | Ctrl + Shift + R | 右側の括弧 |
| `\quad` | Ctrl + Shift + Q | 空白（Mの横幅と同じ長さ） |
| `\\` | Ctrl + Enter | 改行 |


## 数学記号

| 出力 | ショートカットキー | 備考 | 
|:- | :- | :- | 
| `\dots` | Ctrl + . | 点々 $\dots$ |
| `\cdots` | Ctrl + Shift + . | 点々 $\cdots$ |
| `\colon` | Ctrl + * | コロン $\colon$ |
| `\emptyset` | Ctrl + Shift + E | 空集合 $\emptyset$ |
| `\infty` | Ctrl + Shift + I | 無限大 $\infty$ |
| `\partial` | Ctrl + P | 偏微分記号 $\partial$ |
<!-- | `\ell` | Ctrl + L | 手書き風の小文字エル $\ell$ <br> 使用はなるべく避けた方が良い（[参考](http://www.math.tohoku.ac.jp/tmj/oda_tex.pdf)） | -->


## 演算子

| 出力 | ショートカットキー | 備考 | 
|:- | :- | :- | 
| `\coloneqq` | Ctrl + Shift + - | $:=$ 定義するときのイコール <br> Shift + - で = が出力されることから採用 |
| `\otimes` | Ctrl + Shift + * | 積 $\times$ |
| `\sum_{}` | Ctrl + Shift + S | 総和 $\sum$ |
| `\prod_{}` | Ctrl + Shift + P | 総積 $\prod$ |
| `\wedge` | Ctrl + Alt + ↑ | ウェッジ積 $\wedge$ |

#### 注意点
* 本当は Ctrl + Shift + ; で `\oplus` $\oplus$ を出せるようにしたかったのですが、私の環境ではうまく設定できませんでした。
* Ctrl + Shift + I で `\int_{}` $\int$ を出せるようにしたかったのですが、このコマンドは `infty` $\infty$ に割り当てたため断念しました。
* `\wedge` $\wedge$ と対になる `\vee` $\vee$ に Ctrl + Alt + ↓ は割り当てず、より使用頻度が高い `\sqcup` $\sqcup$ に割り当てることにしました（[次項](#集合演算子)参照）。


## 集合演算子

| 出力 | ショートカットキー | 備考 | 
|:- | :- | :- | 
| `\subset` | Ctrl + Shift + 8 | 包含 $\subset$ <br> Shift + 8 で `(` が出力されることから採用 |
| `\supset` | Ctrl + Shift + 9 | 包含 $\supset$ <br> Shift + 9 で `)` が出力されることから採用 |
| `\cap` | Ctrl + ↑ | 共通部分 $\cap$ |
| `\cup` | Ctrl + ↓ | 和集合 $\cup$ |
| `\bigcap` | Ctrl + Shift + ↑ | 共通部分の大型演算子 $\bigcap$ |
| `\bigcup` | Ctrl + Shift + ↓ | 和集合の大型演算子 $\bigcup$ |
| `\sqcup` | Ctrl + Alt + ↓ | 非交和 $\sqcup$ |

#### 注意点
* `\subset`, `\supset` に Ctrl + ← / Ctrl + → / Ctrl + Shift + ← / Ctrl + Shift + → は割り当てていません。これらはエディタ操作に用いるためです（[上項](#エディタ)参照）。
* Shift + ↑↓←→ はエディタ操作に用いるため、集合演算子関係のショートカットキーには割り当てていません。

## 矢印

| 出力 | ショートカットキー | 備考 | 
|:- | :- | :- | 
| `\mapsto` | Ctrl + Alt + M | 集合の元の対応 $\mapsto$ |
| `\longrightarrow` | Ctrl + Alt + → | 右向きの長い矢印 $\longrightarrow$ |
| `\longleftarrow` | Ctrl + Alt + ← | 右向きの長い矢印 $\longleftarrow$ |


## ギリシャ文字の小文字

| 出力 | ショートカットキー | 備考 | 
|:- | :- | :- | 
| `\alpha` | Alt + Shift + A | $\alpha$ |
| `\beta` | Alt + Shift + B | $\beta$ |
| `\gamma` | Alt + Shift + G | $\gamma$ |
| `\delta` | Alt + Shift + D | $\delta$ |
| `\varepsilon` | Alt + Shift + E | $\varepsilon$ <br> なお `\epsilon` $\epsilon$ は使用頻度が低いので不採用 |
| `\zeta` | Alt + Shift + Z | $\zeta$ |
| `\eta` | Alt + Shift + H | $\eta$ <br> 一見E, I, Yのどれかに対応しそうに思えるが、実はHに対応する |
| `\theta` | Alt + Shift + Y | $\theta$ <br> 対応するアルファベットが無いので余っていたYを採用（キーボード上でTとHに近いので） |
| `\iota` | Alt + Shift + I | $\iota$ |
| `\kappa` | Alt + Shift + K | $\kappa$ |
| `\lambda` | Alt + Shift + L | $\lambda$ |
| `\mu` | Alt + Shift + M | $\mu$ |
| `\nu` | Alt + Shift + N | $\nu$ |
| `\xi` | Alt + Shift + X | $\xi$ |
| `\pi` | Alt + Shift + P | $\pi$ |
| `\rho` | Alt + Shift + R | $\rho$ |
| `\sigma` | Alt + Shift + S | $\sigma$ |
| `\tau` | Alt + Shift + T | $\tau$ |
| `\upsilon` | Alt + Shift + U | $\upsilon$ <br> まずほとんど使わない |
| `\varphi` | Alt + Shift + F | $\varphi$ <br> なお `\phi` $\phi$ はやや使用頻度が低いので不採用 |
| `\chi` | Alt + Shift + C | $\chi$ <br> Xに対応するが、Xは `\xi` $\xi$ に割り当てたので頭文字のCを採用 |
| `\psi` | Alt + Shift + V | $\psi$ <br> 対応するアルファベットが無いので余っていたVを採用（形がちょっとだけVに似てるので） |
| `\omega` | Alt + Shift + O | $\omega$ |

Alt + Shift + (対応するアルファベット) というキーを割り当てています。
押しにくいが慣れると便利です。

ここでは $\eta$, $\theta$ にそれぞれH, Yを割り当てていますが、数学ではしばしばYに対応するギリシャ文字として $\eta$ を用いるのでややこしいです。
（例えば $x, y, z$ に対応する変数として $\xi, \eta, \zeta$ を用いることがあります。）


## ギリシャ文字の大文字

| 出力 | ショートカットキー | 備考 | 
|:- | :- | :- | 
| `\Gamma` | Alt + G | $\Gamma$ |
| `\Delta` | Alt + D | $\Delta$ |
| `\Theta` | Alt + Y | $\Theta$ |
| `\Lambda` | Alt + L | $\Lambda$ 使用不可 |
| `\Xi` | Alt + X | $\Xi$ |
| `\Pi` | Alt + P | $\Pi$ |
| `\Sigma` | Alt + S | $\Sigma$ |
| `\Upsilon` | Alt + U | $\Upsilon$ |
| `\Phi` | Alt + F | $\Phi$ 使用不可 |
| `\Psi` | Alt + V | $\Psi$ 使用不可 |
| `\Omega` | Alt + O | $\Omega$ 使用不可 |

Alt + (対応するアルファベット) というキーを割り当てています。
しかしながら一部の文字はキーを割り当てても、私の環境では使用できませんでした。
これは Alt + F, Alt + E などの一部のキーではエディタ上部の「ファイル」「編集」などのパネルが反応してしまうためです。


# おわりに

本記事で紹介するショートカットキーの設定例は以上です。
皆さんも快適で楽しいTeXライフをお過ごしください！