ロゴ(\TeX など)

\TeX\LaTeX といった命令は、ただの文字列ではなく、字を上下にずらして詰めた ロゴ(組み文字) を組みます。覚えておきたい勘どころは三つ。標準の LaTeX が用意するロゴは \TeX\LaTeX\LaTeXe三つだけ で、XeTeX や LuaTeX などのエンジン名ロゴには パッケージが要る こと。たくさんのエンジンロゴを一貫した形でそろえたいなら **hologo が便利なこと。そして、これらは数式ではなく テキストモードの命令** で、直後の空白を食べてしまうという落とし穴があることです。

ロゴはどう組まれているか

TeX のロゴは、ふつうに「TeX」と打ったものとは違います。\TeX と書くと、真ん中の E が少し下げられ(ベースラインより低い位置に置かれ)、その前後の字間も詰められて、独特の形に組まれます。これは作者クヌースが TeX 自身の組版機能を使ってデザインした「商標」のようなもので、文章中で TeX に言及するときは生の "TeX" ではなくこの命令を使うのが慣例です。

\LaTeX も同じ発想です。\TeX の前に 小さな A を持ち上げて(上付きぎみに上げて) 置き、「La」と続けたうえで TeX ロゴをつなげます。つまり 持ち上げた小さい A + 下げた E が LaTeX ロゴの見た目を決めています。さらに \LaTeXe は、この LaTeX ロゴの後ろに 下げたギリシャ文字 ε(イプシロン) を添えたもので、現行の LaTeX を指す「LaTeX2ε」のロゴになります(2 と ε で「バージョン 2e」を表す)。

仕組みとしては、\raisebox(箱を持ち上げ下げする命令)と、字間を詰める カーニング の組み合わせで作られています。だから出力されるロゴの正確な形は使うフォントに依存し、フォントを変えると字の食い込み具合がずれることがあります。その間隔を調整できるようにしたのが、後で触れる metalogo パッケージです。

標準で使えるのは三つだけ

ここが最初の関門です。**素の LaTeX が定義しているロゴ命令は \TeX\LaTeX\LaTeXe の三つだけ**で、パッケージなしで使えます。\XeTeX\LuaTeX\pdfTeX\BibTeX といったエンジン名・ツール名のロゴは標準には 入っていません。そのまま書くと「未定義の命令」エラーになるので、次節のパッケージを読み込む必要があります。

latex
% 標準 LaTeX だけで使える三つ(プリアンブル不要)
\TeX% TeX ロゴ(E が下がる)
\LaTeX% LaTeX ロゴ(小さい A が上がり E が下がる)
\LaTeXe% LaTeX2e ロゴ(末尾に下がった ε)

なお、amsmathamstex を読み込むと AMS のロゴ \AmS(独特の字形で「AMS」と組む)が使え、\AmS-\LaTeX と書けば「AMS-LaTeX」のロゴになります。MetaFont・MetaPost のロゴは mflogo パッケージの \MF\MP が定番です。

エンジンロゴ — metalogo と hologo

XeTeX・LuaTeX などのロゴを出す方法は大きく二つあります。一つは **metalogo** パッケージ。\usepackage{metalogo}\XeTeX\XeLaTeX\LuaTeX\LuaLaTeX が使えるようになります。XeTeX ロゴの目印である 左右反転した E(Ǝ のような形)もこれで組まれます。metalogo は字間を細かく調整できるのが持ち味で、\setlogokern{Te}{...} のようにペアごとのカーニングや、\LaTeX の持ち上げ A の高さなどをフォントに合わせて微調整できます(XeLaTeX で多様なフォントを使う人向けの設計です)。

もう一つが **hologo** パッケージで、こちらが本ページの推しです。\usepackage{hologo} を読み込み、\hologo{XeTeX} のように ロゴ名を引数に渡す 一つの命令で、多数のエンジン・ツールのロゴを 一貫した規則で 組めます。文頭などで先頭を大文字にしたいときは \Hologo{...}(先頭文字を大文字化)を使います。\hologo{pdfTeX}\hologo{LuaTeX}\hologo{BibTeX}\hologo{ConTeXt}\hologo{KOMAScript} のように、個別の命令を覚えなくても名前で引けるのが利点です。

latex
\usepackage{hologo}
% ...
% 名前を渡すだけで多数のロゴが一貫して組める
\hologo{pdfTeX}, \hologo{XeTeX}, \hologo{LuaTeX}\hologo{TeX} の後継エンジンです。\hologo{BibTeX} で文献を、
\hologo{ConTeXt} は別系統のフォーマット。
% 文頭などで先頭を大文字に
\Hologo{pdfLaTeX} を使います。

hologo が扱えるロゴは非常に多く、日本語環境でおなじみの \hologo{pLaTeX}\hologo{upLaTeX}\hologo{pTeX}\hologo{upTeX} も含まれます。多くのエンジン名を本文に書く解説記事やマニュアルでは、表記を統一できる hologo が特に向いています。逆に、本文に出てくるのが \LaTeX 程度なら標準命令だけで十分で、パッケージは要りません。

ロゴ命令の早見表

主なロゴ命令を、出力されるロゴ名と必要なパッケージとともにまとめます(「命令」は実際に書くソース、「ロゴ」は組まれる文字列、右端が必要なパッケージ)。hologo 列のものは \hologo{XeTeX} のように名前を渡す形でも書けます。

命令ロゴ / パッケージ
\TeXTeX(E が下がる)標準(不要)
\LaTeXLaTeX(小 A が上がる)標準(不要)
\LaTeXeLaTeX2ε(末尾に下がった ε)標準(不要)
\AmSAMS(独特の字形)amsmath / amstex
\XeTeXXeTeX(反転した E)metalogo
\XeLaTeXXeLaTeXmetalogo
\LuaTeXLuaTeXmetalogo
\LuaLaTeXLuaLaTeXmetalogo
\hologo{pdfTeX}pdfTeXhologo
\hologo{XeTeX}XeTeX(反転した E)hologo
\hologo{LuaTeX}LuaTeXhologo
\hologo{BibTeX}BibTeXhologo
\hologo{ConTeXt}ConTeXthologo
\hologo{KOMAScript}KOMA-Scripthologo
\hologo{pLaTeX}pLaTeXhologo
\hologo{upLaTeX}upLaTeXhologo
\MFMETAFONTmflogo
\MPMETAPOSTmflogo

同じロゴが metalogo でも hologo でも出せる場合があります(\XeTeX\hologo{XeTeX} など)。両方を同時に読み込むと \XeTeX などの定義がぶつかることがあるので、どちらか一方に統一 するのが無難です。多くのエンジンロゴを使うなら hologo、\LaTeX の見た目をフォントに合わせて細かく詰めたいなら metalogo、という使い分けになります。

実用上の注意 — 空白とモード

最大の落とし穴は 直後の空白を食べる ことです。\TeX\LaTeX のような英字綴りの命令は、命令名の区切りとして直後の空白を吸収します。そのため \LaTeX is great と書くと出力は「LaTeXis great」となり、ロゴと次の語がくっついてしまいます。これを防ぐには、命令の後ろに **空の波括弧 {} を置く か、バックスラッシュ+空白 \ (制御綴の空白)** を入れます。

latex
% 悪い例:空白が食われて「LaTeXis」になる
\LaTeX is great.
% 良い例:空の波括弧で区切る
\LaTeX{} is great.
% 良い例:バックスラッシュ+空白(制御綴の空白)
\LaTeX\ is great.
% 直後が句読点ならそのままでよい
\LaTeX, \TeX.

直後がカンマやピリオドなどの記号なら空白を食う問題は起きないので、そのまま書けます。xspace パッケージを使って後続の空白を自動で補う流儀もありますが、誤動作の余地があり作者自身も推奨をやめているため、まずは {}\ で明示するのが堅実です。

もう一つの注意は これらがテキストモードの命令 だということです。\TeX\LaTeX は本文中にそのまま書く命令で、数式モード($...$)の中で使うものではありません。数式の中に登場させたいときは \text{\LaTeX} のようにテキストへ戻してから書きます。なお、見出しや脚注など 可動引数 の中でロゴ命令を使うとエラーになる場合がありますが、現代の LaTeX ではこれらは堅牢(robust)化されているため、通常は気にせず使えます。