もちろん今はUnicode TeX(XeTeX/LuaTeX)の時代で、当然Unicode(TU-encoding)ならエスペラントに対応できる。現状のTeX LiveのUnicode TeXではエスペラントを完全な形で分綴する態勢が整っていて、LaTeXならBabelでフツーに言語指定するだけで有効になる🙂#TeX #TeXLaTeX #テフライブ
— 某ZR(ざんねん🙃) (@zr_tex8r) 2025年10月19日
この辺りの話をもう少し詳しく解説しておく。
フツーにエスペラントするコツ
LaTeXでエスペラントを含む文書をフツーに作りたいという場合に絶対に把握しておくべきポイントがあります。それは
ということです。つまり、フツーにエスペラントしたかったらLuaLaTeXまたはXeLaTeXを使う必要があるわけです。
その理由は明確で、エスペラントでは割と独特の(他の西欧語では見かけない)アクセント付き文字が使われるからです。
Ĉĉ Ĝĝ Ĥĥ Ĵĵ Ŝŝ Ŭŭ
一方でレガシーなLaTeXで通常使われる文字コードはOT1やT11であり、これでエスペラントを書こうとすると明らかに文字が不足しています。


ここで「でもLaTeXではアクセント付き文字は合成で作れるから別に問題ないんじゃないの」と思ったかもしれませんが、それは違います。LaTeXの重要な機能の一つに「行分割の際に自動的に単語を分綴(ハイフンを付けて分割)する」ことがありますが、分綴処理では「単語を文字列として扱う」ことが前提になるため“本物の文字”が必要となるのです。
一方で、エスペラントの文字は当然Unicodeでは全てサポートされているため、Unicode LaTeXであれば分綴の問題は解決されています。実際、現在のTeX LiveのLuaLaTeX・XeLaTeXではエスペラントを扱うための準備が整えられています2。だからエスペラントをフツーに扱いたければ、当然エスペラントをフツーに扱えるLaTeXを選ぶべきなのです。
フツーにエスペラントする例
「LuaLaTeXかXeLaTeXを使う」ということさえ解っていれば、後の話は簡単3です。フランス語やドイツ語の文書を作る場合と同様で、Babel(やPolyglossia)をフツーに読み込んで“文書の言語”をフツーにエスペラントに設定するだけです。もしさらに文書を素敵⛄にしたいのであれば、フツーにscsnowmanパッケージを読み込みましょう(素敵😊)
ここではLuaLaTeX+Babelを利用することにします。
[example1.tex]
% LuaLaTeX-a dokumento, en UTF-8 \documentclass[a4paper,twocolumn]{article} \usepackage[svgnames]{xcolor} \usepackage{scsnowman,bxcoloremoji} % Esperantu! \usepackage[main=esperanto]{babel} % Dokumentaj informoj \title{Ni Esperantu!} \author{S-ro Iu Iea\coloremoji{🙃}} \date{\today} \begin{document} \maketitle \section{Mi Estas Kato\coloremoji{🐱}} Mi estas kato. Mi ankoraŭ ne havas nomon. Mi tute ne scias, kie mi naskiĝis. Mi memoras nur, ke mi miaŭis en iu obskura kaj malseka loko. Tie mi unuafoje vidis tion, kion oni nomas homoj. Kaj krome, kiel mi poste eksciis, ĝi estis studento, laŭdire la plej kruela raso inter la homoj. Oni diras, ke tiu studento foje kaptas nin kaj boligas kaj manĝas. Sed en tiu tempo mi havis nenian penson, do mi ne aparte timis. Kiam li min levis sur la manplato, nur mi sentis min leĝere ŝvebanta. \newpage \section{Konkludo} Neĝhomo estas mirinda!\coloremoji{😊} % Esenco😍 \begin{center} \scsnowman[scale=12, hat=Green, muffler=Red, arms=Brown, snow=SkyBlue, buttons=RoyalBlue] \end{center} % La Fino🙂 \end{document}
この文書ファイルはフツーにlualatexコマンドでタイプセットできます。
lualatex example1.tex

カンタン😍
日本語文書でフツーにエスペラントする例
ご存じの通り、LuaLaTeXでは日本語を扱えるため、「LaTeXでエスペラントが混じった日本語文書」も作れます。フツーにBabelの多言語用の設定(基底言語が日本語、追加言語がエスペラント)をするだけです。
[example2.tex]
% LuaLaTeX文書; UTF-8 \documentclass[paper=a5]{jlreq} \usepackage{bxcoloremoji} % メインは日本語, 時々エスペラント \usepackage[esperanto,main=japanese]{babel} \newcommand*{\cEo}{\foreignlanguage{esperanto}} \newcommand*{\cE}{\coloremoji}%絵文字 \newcommand*{\cLineSkip}{\par\vspace{\baselineskip}}%1行空き % 文書情報 \title{エスペラントの本質的\cE{☃}な話} \author{某ZR} \date{あさって} \begin{document} \maketitle \section{「ゆきだるま\cE{☃}」の表現} エスペラントで「ゆきだるま」を表す単語はいくつかありますが、 最も一般的なのは“\cEo{neĝhomo}”です。 これは英語のsnowmanと同様に “\cEo{neĝ}-”(雪)と“\cEo{hom}-”(人)からなる合成語です。 「ゆきだるま」はイタリア語では“\mbox{pupazzo di neve}”、 つまり「雪の人形」といいますが、 これと同様の構成で “\cEo{neĝ}-”(雪)と“\cEo{pup}-”(人形)からなる “\cEo{neĝpupo}”という単語もあります。 \cLineSkip \begin{quote} \cEo{Grupo da neĝhomoj flugas en la ĉielo.}\\ 雪だるまの群れが空を飛んでいます。 \cLineSkip \cEo{Mia neĝpupo apenaŭ iam enterigas \cE{🙃}.}\\ うちの雪だるまは滅多に\cE{🙃}を埋めません。 \end{quote} \end{document}
この文書もフツーにlualatexでタイプセットできます。

カンタン😍
まとめ
というわけで、LaTeXでエスペラントしたい場合は、難しいことは一切考えずにフツーにカンタン😍な手段を選びましょう!💁
- 標準的なLaTeXの構成でサポートされているラテン文字のエンコーディングはOT1やT1の他にもありますが、エスペラントのアルファベットの全ての文字を含むものはありません。「新たにエンコーディングを定義すること」も可能ですが、その場合その新たなエンコーディングに基づく(TeXの意味での)フォント一式も用意する必要があり、膨大な手間がかかります。↩
- Unicodeに基づくエスペラント用の分綴パターンは既に組み込まれていますし、またUnicode LaTeXの既定の欧文フォント(Latin Modern)はエスペラントの文字を全てサポートしています。↩
- もちろん、これまでにLuaLaTeXやXeLaTeXを使った経験がない場合は、新しいLaTeXの使い方を修得するのに相応の手間がかかるわけですが……。↩