サーカムフレックスの後に空白が出力されない問題
LaTeX では、\textasciicircum という命令を使うことで、記号のサーカムフレックス (^) を出力することができる。
ただし、LaTeX のソースコードで \textasciicircum の後に空白(スペース)を入れても、その空白はうまく出力されない。つまり、3 \textasciicircum 5 のように「3、空白、サーカムフレックス、空白、5」と入力したとしても、“3 ^5”のようにサーカムフレックスと5の間に空白がない状態になってしまう。
波括弧の追加による問題解決
ここでの空白をしっかり出力するためには、\textasciicircum の後に {} (波括弧)を付ける。つまり、\textasciicircum{} とするのだ。例えば、3 \textasciicircum{} 5 とすれば、“3 ^ 5”のようにサーカムフレックスと5の間の空白がしっかりと表示される。
他の命令の使用
そもそも \textasciicircum を使わないという手もある。その場合、\verb や \mytt という命令を使う。これらの命令でも、しっかりとサーカムフレックスの後の空白を出すことができる。ただし、基本的にタイプライター体で出力されるので注意が必要である。とは言え、サーカムフレックスをわざわざ出力しなくてはならない状況は、コードを示すときぐらいだろうし、そういった場合はタイプライター体で表示することにだろうから、問題になることはあまりないだろう。
さて、\verb という命令は、入力した文字通りに出力するための命令である。これを使えば、\verb|3 ^ 5| と入力するだけで、3 ^ 5と出力される。
また、okumacro パッケージには、タイプライター体で出力するための \mytt という命令が含まれている。これはタイプライター体を出すために通常用いられる \texttt にいくつかの改善を加えたものである [1] 。なお、この命令を使うには、プリアンブルで \usepackage{okumacro} を宣言して、okumacro パッケージを読み込んでおく必要がある。
パッケージを読み込みさえすれば、{\mytt 3 ^ 5} と入力するだけで、3 ^ 5 と出力される。なお、\mytt{3 ^ 5} でなく、{\mytt 3 ^ 5} となることに気をつけよう。\texttt とは違い、括弧の中に \mytt を入れるのだ。
比較のために、出力例を挙げておく。
個人的には、\mytt が空白が間延びせず、一番すっきり出力できると思う。
本記事の内容を LaTeX で出力した「LaTeX でサーカムフレックス (^) の後の空白をしっかり出力する」というPDFファイルを用意したので、必要がある方は参考にしていただければ幸いである。
- 例えば、ピリオドの後の空白が余計に広がることがなくなる。 [↩]