Overleaf に BXcoloremoji パッケージを導入し,日本語対応 LaTeX エンジンでコンパイルして,絵文字入りの和文文書を作成してみましょう。(Overleaf のエディタ上にはBMP外絵文字の直接入力ができないこともあり,ちょっと面倒です。)
準備:Overleaf で日本語 LaTeX 文書を作成する準備を整える
まずは,次に記事を参考にして,Overleaf 上に新規プロジェクトを作成し,日本語 LaTeX 文書を作成する準備を整えてください。
ここでは,日本語 LaTeX エンジンとして upLaTeX + dvipdfmx のワークフローを採用することにしましょう。
BXcoloremoji パッケージをダウンロードする
ZRさんの BXcoloremoji パッケージをローカルにダウンロードします。
必要ファイルをアップロードする
bxcoloremoji.sty
bxcoloremoji-names.def
の2つが最低限必要なファイルです。これを Overleaf プロジェクト内にアップロードし,main.tex
と同じトップ階層に収納してください。
現状,Overleaf のプロジェクト内のトップ階層はこうなっているはずです。
補足:Overleaf のサブ階層以下にスタイルファイルを収録する方法
latexmkrc
ファイル内に
$ENV{TEXINPUTS} = './/:'
と記述しておけば,main.tex
以下のサブ階層内のスタイルファイルが再帰的にサーチされるようになります。(//
の部分が「再帰的に」を意味します。)
入力したい絵文字のコードポイントを特定する
Overleaf のエディタは,☃ (U+2603) のようなBMP内絵文字は入力できるのですが,🍣 (U+1F363) のようなBMP外絵文字は入力できません。ローカルの LaTeX エディタ・コンパイラを使うのならば \coloremoji{🍣}
のような入力ができて便利なのですが,Overleaf のエディタに入力するならばコードポイント指定で,\coloremoijcode{1F363}
と入力せねばなりません。
そこで,入力したい絵文字のコードポイントを特定しましょう。入力文字のコードポイントを表示してくれる機能のあるテキストエディタを使うとよいです。ここでは,macOS 用のテキストエディタである CotEditor の文字情報表示パネル(文字選択 → Command + Shift + I)を使ってみます。VScode の Unicode Code Point という拡張機能でも同様のことができます。
CotEditor の場合,絵文字を入力して選択して Command + Shift + I を押すと,次のように表示されます。
VScode + Unicode Code Point 拡張の場合,カーソル位置の次の文字のコードポイントがステータスバーに表示されます。
\coloremoijcode
の引数にコードポイントを入れる
そうやって発見した絵文字のコードポイントを,\coloremoijcode{1F363}
のようにして \coloremoijcode
の引数に入れます。
ただし,複数コードポイントからなる結合絵文字の場合,次のような翻訳が必要です。
- 基本は複数コードポイントを空白区切りで並べる
- U+200D (ZERO WIDTH JOINER) は
+
に変換する - U+FE0F(絵文字スタイルセレクタ)は除去する
この結果,たとえば次のようになります。
- 🙋🏾 (U+1F64B, U+1F3FE (Skin Tone Selector)) →
\coloremojicode{1F64B 1F3FE}
- 4人家族絵文字 →
\coloremojicode{1F468 + 1F469 + 1F467 + 1F467}
- NGサイン絵文字 →
\coloremojicode{1F645 1F3FB + 2642}
必要な画像ファイルを特定し,Overleaf 上の適切な場所に配置する
この引数のコードポイント列をもとに,必要な画像ファイルを特定します。BXcoloremoji パッケージの emoji_images/twemoji-png
ディレクトリの中にある絵文字画像ファイルの中から,必要なファイルを特定します。引数の中の +
は 200D
に読み替えてください。たとえば,1F645 1F3FB + 2642
ならば twemoji-1F645-1F3FB-200D-2642.png
が該当するファイルとなります。
Overleaf 上に emoji_images/twemoji-png
ディレクトリを作成し,BXcoloremoji パッケージのディレクトリツリーを再現します。そして,その中に必要な画像ファイルを投入します。つまり,次のような階層構造となります。
main.tex
で BXcoloremoji パッケージを呼び出す
これで準備完了です。いざ,BXcoloremoji パッケージを呼び出してコンパイルしてみましょう!
ソース
\documentclass[dvipdfmx,uplatex]{jsarticle} \usepackage{graphicx} \usepackage[twemoji-png]{bxcoloremoji} \begin{document} Overleafで日本語と絵文字\coloremojicode{2603}\coloremojicode{1F60A}\coloremojicode{26F7}\coloremojicode{1F363}\coloremojicode{1F371}\coloremojicode{1F647}\coloremojicode{1F64B 1F3FE}\coloremojicode{1F46A}\coloremojicode{1F468 + 1F469 + 1F467 + 1F467}\coloremojicode{1F645 1F3FB + 2642}\coloremojicode{1F97A}の共存! \end{document}
コンパイル結果
サンプル Overleaf プロジェクト
今回作成したサンプル Overleaf プロジェクトはこちらです。