この記事の執筆後,同じことをより簡単に実現する方法が見つかりました。改訂版記事が「Overleaf + XeLaTeX + Noto CJK JP フォントによる和文多書体の実現」として公開されています。
卒論シーズンになり,LaTeX と格闘しておられる方も多いのではないでしょうか。昨今は LaTeX をローカル環境に構築しなくても,オンラインのクラウド環境で LaTeX 環境が使えるようになっています。また,クラウド環境ならではのメリットとして,共同執筆者とのコラボレーション(複数人同時編集,レビューコメント付与,GitHub連携など)が容易という点も見逃せません。今年は,オンライン LaTeX 環境の代表格である Overleaf に関して,日本語による初めての解説書が出版されました(ステマ)。
インストールいらずのLATEX入門 ―Overleafで手軽に文書作成
- 作者: 坂東慶太,奥村晴彦,寺田侑?
- 出版社/メーカー: 東京図書
- 発売日: 2019/05/13
- メディア: 単行本
- この商品を含むブログを見る
現在,Overleaf 上では TeX Live 2018 が動いています。TeX Live 2018 には,標準で IPA(ex) フォントが搭載されていますので,和文文書作成のための準備は整っています。pLaTeX / upLaTeX を使用するには若干準備が必要ですが,XeLaTeX / LuaLaTeX ならば比較的容易に Overleaf 上で和文文書執筆を開始できます。詳細な手順は以下の記事にまとめてあります。
ただし,実際に使ってゆくにつれて,デフォルトの IPAex フォントの品質に満足できず,より高品質なフォントを,より多書体で使いたいという願望も湧いてくるでしょう。ただし,macOS や Windows のバンドルフォントなど商用フォントを Overleaf のサーバ上にアップロードして使用するというのは,ライセンス上問題があります。そこで,Overleaf ではオープンソースフォントを上手く活用するとよいでしょう。
昨今,Adobe による源ノ明朝 (Source Han Serif) / 源ノ角ゴシック (Source Han Sans) 公開のおかげで,オープンソース和文フォントをめぐる環境は急速に良くなっています。ここでは,TrueRoadさんが源ノフォントを Adobe-Japan1 準拠に組み直してくださった原ノ味フォントを使うことを考えます。原ノ味フォントは TeX エンジンから扱いやすい素直なフォントですので,例えば pLaTeX からでも otf パッケージを経由して全グリフを呼び出すことができます。また,本家の源ノフォントに比べファイルサイズも抑えられており,オンラインで取り扱う上で好都合です。
今回は,Overleaf 上の XeLaTeX + bxjsarticle で原ノ味フォントを4種類(明朝2書体,ゴシック2書体)併用してみることにしましょう。
準備:原ノ味フォントのアップロード
原ノ味フォントの各 otf ファイルのうち使いたいものを,Overleaf のプロジェクト内にアップロードしておきます。
書体選択
ここでは使用する和文フォントとして,次のように4書体を選ぶことにします。お好みに応じて適当なウェイトの書体を選んでください。
- ノーマル明朝体 :原ノ味明朝 Regular
- ボールド明朝体 :原ノ味明朝 Bold
- ノーマルゴシック体:原ノ味ゴシック Regular
- ボールドゴシック体:原ノ味ゴシック Bold
プロジェクトの設定
Overleaf の Menu の文書設定において,Compiler
の設定をデフォルトの pdfLaTeX
から XeLaTeX
に変更しておきます。
文書のプリアンブル設定
プリアンブルを次のようにしておけば,上記4書体を使用できます。
\documentclass[xelatex,ja=standard]{bxjsarticle} \setCJKmainfont[BoldFont=HaranoAjiMincho-Bold.otf]{HaranoAjiMincho-Regular.otf} \setCJKsansfont[BoldFont=HaranoAjiGothic-Bold.otf]{HaranoAjiGothic-Regular.otf}
使い方
\mcfamily\mdseries
,\textmc{\textmd{...}}
:原ノ味明朝 Regular\mcfamily\bfseries
,\textmc{\textbf{...}}
:原ノ味明朝 Bold\sffamily\mdseries
,\textsf{\textmd{...}}
:原ノ味ゴシック Regular\sffamily\bfseries
,\textsf{\textbf{...}}
:原ノ味ゴシック Bold
となります。ゴシック体は \gtfamily
/ \textgt
でもよいですが,\sffamily
/ \textsf
だと欧文文字も連動してサンセリフ体になるので調和します。
注意点
Overleaf でのBMP外文字
Overleaf のオンラインエディタの制約により,「𠮷」のようなBMP外文字を入力できません(入力すると文字化けします)。XeTeX の \Uchar
プリミティブを使って Unicode のコードポイントで指定することで回避しましょう。
\Uchar"20BB7 野家 % 「𠮷野家」の代わり
XeTeX 上で欧文文字扱いされる文字
bxjsarticle から呼ばれる xeCJK パッケージのデフォルト設定では,①
,⑵
,Ⅲ
,☃
のように,「upTeX や LuaTeX-ja のデフォルトでは和文扱いされる文字が XeTeX では欧文扱いされる」文字が色々あります。そのような文字をソース中に入力すると,XeTeX エンジンはそれを欧文フォントで出力しようとし,しかし欧文フォントにそのグリフがないため文字が欠ける,という動きをしてしまいます。それを防ぐには,次のようにして個別に和文文字扱いの登録をしておきましょう。すると期待通り和文フォントのグリフが出力されます。
\xeCJKDeclareCharClass{CJK}{`①,`⑵,`Ⅲ,`☃}