\'e と打てば é、\"o と打てば ö。LaTeX のアクセント記号——アキュート、ウムラウト、チルダ、ハーチェク——の命令は、名前が たった一文字、しかもその一文字が ' や " という記号そのものだという、ほかに例のない書式をしています。これは é を直接打てないキーボードしかなかった時代の設計で、実体は Knuth が plain TeX に書いた \accent プリミティブです。このページは、16 個のテキスト用アクセント命令、アクセントではない文字(\ss・\ae・\oe・\aa・\l)、点のない \i・\j、そして数式用の \hat・\bar・\vec・\dot が それぞれ何を出すか を引くための一覧です。あわせて、表には出てこない話——fontenc を T1 にするかどうかで、出せる記号だけでなく アクセント付きの単語がハイフネーションされるかどうかまで変わる ——も実測で示します。
16 個のアクセント命令と、それぞれが出す字
テキストモードのアクセントは 16 種類あり、すべて 一文字を引数に取る命令 です。\'o のように直接続けても、\'{o} のように中括弧で囲んでも同じ字が出ます。上に乗る 11 個(アキュート、グレイブ、サーカムフレックス、ウムラウト、チルダ、マクロン、上点、ブレーヴェ、ハーチェク、ダブルアキュート、リング)は Knuth の plain TeX にそのまま入っていて、\accent プリミティブで組まれます。下に付く \c(セディーユ)・\d(下点)・\b(下線)と、二文字にまたがる \t(タイ)、そして \k(オゴネク)だけが別系統です。
| 命令 | 出る字 | 名前 | 備考 |
|---|---|---|---|
\'o | ó | アキュート(鋭音) | OT1・T1 とも可 |
\`o | ò | グレイブ(重音) | バックスラッシュ+バッククォート |
\^o | ô | サーカムフレックス(曲折) | フランス語の â ê î ô û |
\"o | ö | ウムラウト/トレマ | ドイツ語 ä ö ü、フランス語 ë ï |
\~n | ñ | チルダ(波記号) | スペイン語 ñ、ポルトガル語 ã õ |
\=o | ō | マクロン(長音符) | ローマ字の長音、辞書の発音表記 |
\.o | ȯ | 上点 | ポーランド語 ż、リトアニア語 |
\u o | ŏ | ブレーヴェ(短音符) | ルーマニア語 ă、韻律記号 |
\v c | č | ハーチェク(カロン) | チェコ語 č š ž |
\H o | ő | ダブルアキュート | ハンガリー語 ő ű。「ハンガリアン・ウムラウト」 |
\r o | o̊ | リング(上丸) | \r a は å。\aa と同じ字 |
\c c | ç | セディーユ(下) | フランス語 ç、トルコ語 ç ş |
\d o | ọ | 下点 | 合成で作られ、フォントの一字ではない |
\b o | o̲ | 下線(バー) | 同じく合成。転写や音声表記に |
\t oo | o͡o | タイ(二字にまたがる弧) | 唯一 TS1/OML から取る。二文字を引数にする |
\k a | ą | オゴネク(下の尾) | T1 でのみ使える。ポーランド語 ą ę |
% braces are optional for a single letter, required for a command
r\'esum\'e, na\"ive, se\~nor, G\"odel, \c{c}a va, \H{o}r\'an
% two-letter argument: the tie accent
t\t{oo}kCommand \k unavailable in encoding OT1. と言われたら
このエラーは、要求したアクセントが いま使っている文字エンコーディングに存在しない ことを意味します。pdfLaTeX の既定は 1980 年代の OT1 エンコーディングで、\k(オゴネク)はそこにありません。直し方は一行、プリアンブルに \usepackage[T1]{fontenc} を足すだけです。OT1 で同じエラーになる命令はほかにもあり、TeX Live 2024 で実際に試すと \dj・\DJ(クロアチア語の đ)、\th・\TH(アイスランド語の þ)、\dh・\DH(ð)、\ng・\NG(ŋ)がすべて同じ文言で止まります。
\documentclass{article}
\usepackage[T1]{fontenc} % without this, \k \dj \th \dh \ng all error
\begin{document}
Polish: j\k{e}zyk. \quad Croatian: \dj\ \quad Icelandic: \th\ \dh
\end{document}ただし本当の代償は、エラーになる記号ではなく エラーにならない記号のほう です。OT1 には é の一字がないので、LaTeX は \accent で「アキュートを e の上に置く」という合成を組みます。ところが \accent は TeX にとって、そこで連綴(リガチャ・カーニング)の連鎖が切れる区切りです。実測すると、OT1 で AV は 13.8889pt、\'AV(Á のあと V)は 15.00003pt——A と V のあいだの 1.11113pt の詰めが丸ごと消えています。T1 では Á が一字のグリフなので、AV も \'AV も同じ 13.8855pt に収まります。
ハイフネーションではもっとはっきりします。\showhyphens{universit\'e r\'esum\'e} を走らせると、OT1 では uni-ver-sité résumé と出て、résumé には分割点がひとつも立ちません。同じ入力を T1 でコンパイルすると uni-ver-sité ré-sumé になります。アクセント付きの語が多い文書——フランス語、ポーランド語、チェコ語、あるいは人名だけ欧文の英語論文——で行末が不格好に空くとき、原因はたいていここです。逆に言えば、pdfLaTeX で欧文を組むなら \usepackage[T1]{fontenc} は装飾ではなく必需品ということになります。
点なしの \i・\j が本当に要るのは、16 命令のうち 7 つだけ
結論から言うと、\"{\i} と書く必要はほとんどありません。ot1enc.def と t1enc.def を読むと、アキュート・グレイブ・サーカムフレックス・ウムラウト・上点の 5 つについては、LaTeX が引数の i を自動で点なし i に差し替える 宣言(\DeclareTextComposite/\DeclareTextCompositeCommand)が入っています。実際 TeX Live 2024 で \"i と \"{\i} を組むと、どちらも幅 3.33252pt でまったく同じ ï になります。手で \i を書かないといけないのは、残りの \~・\=・\u・\v・\H・\r・\k の 7 つです。
% the dot is removed automatically for these five
na\"ive \quad \'idem \quad \`ile \quad \^ile \quad \.i
% here you must ask for the dotless letter yourself
\v{\i} \quad \u{\i} \quad \={\i} \quad \~{\i} \quad \H{\j}\i と \j はアクセントの一部ではなく、それ自体が一つの文字 です。OT1 では 16 番・17 番、T1 では 25 番・26 番の位置にあり、単独で \i と書けば ı(点なし i)が出ます。トルコ語のように点なし i が独立した文字として存在する言語では、これは装飾ではなく綴りの一部になります。なお数式モードで同じことをしたいときの命令は \imath・\jmath で、名前も別、モードも別です。
\ss \ae \oe \o \aa \l ——アクセントではなく「文字」
この一群は引数を取りません。ß や æ、ø、ł はアクセント付きの母音ではなく、それぞれの言語で 独立した一文字 だからです。大文字版は先頭を大文字にするだけ(\AE・\OE・\O・\AA・\L)。ただし \SS だけは例外で、TeX Live 2024 の OT1 でも T1 でも ß の大文字ではなく「SS」の二文字が出ます(latex.ltx の既定が \DeclareTextCommandDefault{\SS}{SS})。ドイツ語の大文字エスツェット ẞ が欲しいときは、その文字を持つフォントを Unicode エンジンで使うのが確実です。
| 命令 | 出る字 | 使う言語 | 備考 |
|---|---|---|---|
\ss | ß | ドイツ語 | \SS は ẞ ではなく SS の 2 文字 |
\ae | æ | デンマーク語・古英語 | 大文字は \AE |
\oe | œ | フランス語 | cœur、sœur。大文字は \OE |
\o | ø | デンマーク語・ノルウェー語 | 大文字は \O。数式の \emptyset とは別物 |
\aa | å | スウェーデン語・ノルウェー語 | \r a と同じ字。大文字は \AA |
\l | ł | ポーランド語 | OT1 では作画。T1 で初めて本物の一字になる |
\dj | đ | クロアチア語・ベトナム語 | T1 が必要。大文字は \DJ |
\th | þ | アイスランド語 | T1 が必要。\dh は ð、\ng は ŋ |
\ij | ij | オランダ語 | ij の合字。大文字は \IJ |
\l の扱いは、この章で唯一 PDF の中身にまで響く 差です。OT1 の \l は本物の ł ではなく、l の上に短い斜線を重ねて描いた合成で、TeX Live 2024 で組んだ PDF を pdftotext に通すと ただの l として抽出されます。T1 なら 170 番に本物の ł があるので、検索もコピーも正しく通ります。同じことは下付きの \d・\b にも起こり、\d o(ọ)は o. として抜けてきます。論文の本文なら見た目が合っていれば済みますが、書誌データや検索対象になる語では効いてきます。
本文に \hat{x} と書くと ! Missing $ inserted. ——数式アクセントは別系統
テキスト用と数式用のアクセントは、名前も実装も完全に別です。境界を越えると両方向でエラーになり、しかも文言が違うので原因の切り分けに使えます。本文に \hat{x} と書けば ! Missing $ inserted.、逆に数式のなかに $\'e$ と書けば ! Please use \mathaccent for accents in math mode. が出ます(いずれも TeX Live 2024 で確認)。前者は TeX が親切に数式モードを開こうとして失敗しているだけ、後者は「そのアクセントはテキスト用だ」と名指しで教えてくれています。
| 命令 | 見た目 | 典型的な用途 | 備考 |
|---|---|---|---|
\hat{x} | 山形(サーカムフレックス) | 推定量、単位ベクトル | 幅に伸びる版は \widehat |
\tilde{x} | 波 | 近似値、変換後の量 | 伸びる版は \widetilde |
\bar{x} | 短い横棒 | 標本平均、複素共役 | 式全体に渡すなら \overline |
\vec{v} | 小さな右向き矢印 | ベクトル量 | \vec{AB} は伸びない。\overrightarrow を使う |
\dot{x} | 点 1 つ | 時間微分(1 階) | ニュートン以来の力学の記法 |
\ddot{x} | 点 2 つ | 時間微分(2 階) | 加速度 |
\dddot{x} | 点 3 つ | 時間微分(3 階) | amsmath が必要。\ddddot は点 4 つ |
\acute{x} | アキュート | 言語学、まれに数式 | テキストの \' と同じ形 |
\grave{x} | グレイブ | 言語学、まれに数式 | テキストのグレイブと同じ形 |
\check{x} | v 字(ハーチェク) | 幾何・代数の記号付け | Čech コホモロジーの Č など |
\breve{x} | 椀形(ブレーヴェ) | 幾何・代数の記号付け | \check と対にして使うことが多い |
\mathring{x} | 小さな丸 | 幾何の記号、内部(開核) | \r の数式版にあたる |
\usepackage{amsmath} % \dddot, \ddddot
\[
\dot{x}, \quad \ddot{x}, \quad \bar{x}, \quad \hat{p},
\quad \tilde{a}, \quad \vec{v}, \quad \check{s}, \quad \mathring{r},
\quad \hat{\imath}, \quad \vec{\jmath}
\]実務上の注意が二つあります。第一に、\hat{\vec{x}} のようにアクセントを二段重ねると、上の印が浮いたり中心からずれたりして、きれいには積み上がりません。点を増やしたいだけなら \ddot/\dddot/\ddddot を使い、本当に重ねたいなら次ページの \overset で明示的に組むほうが安全です。第二に、amsmath の \dddot は 添字のなかで縮みません。実測すると $x^{\ddot a}$ が 10.55292pt なのに対し $x^{\dddot a}$ は 16.21565pt で、三点が本文サイズのまま上付きに載っています。この症状に当たったら mathdots パッケージを読み込むと直ります。
\'e と打つか、é と直接打つか
T1 を読み込んでいるなら、どちらでも出力は同じです。 実測でも \'e・\'{e}・直接入力の é は三つとも幅 4.44336pt で、同じ一字のグリフに落ちます(LaTeX は 2018 年から UTF-8 入力を既定にしたので、inputenc の指定も要りません)。読みやすい原稿を書きたいなら直接入力が有利です。それでも命令記法が残るのは、主に三つの場面です——ASCII でのやり取りを求める投稿規定、.bib ファイルの人名、そして tabbing 環境。tabbing では \' が「タブ位置に戻る」命令に奪われているため、アクセントには専用の \a' を使います(\a を前に付けるだけです)。
% inside tabbing, \' means "go to a tab stop" — use \a' for the accent
\begin{tabbing}
caf\a'e \= au lait \\
th\a'e \> vert
\end{tabbing}- pdfLaTeX で欧文を組むなら
\usepackage[T1]{fontenc}を必ず入れる。 ハイフネーション・カーニング・PDF の検索性がまとめて直る - 本文は直接入力、
.bibは投稿先の規定に合わせる。 一つのプロジェクトのなかで両方式を混ぜないこと \iを書くのは\~\=\u\v\H\r\kの 7 つだけ。 残りの 5 つは LaTeX が自動で処理する\SSは ẞ ではなく SS。 大文字エスツェットが要るなら Unicode エンジンとそれを持つフォントへ\hatは数式、\^はテキスト。 エラー文言(! Missing $ inserted.か! Please use \mathaccent …か)でどちら側にいるか判別できる