LaTeXで作る資料の見出しを、もう少し楽しくしたい。
そこで、「けいふぉんと!」を導入して、文字色・縁取り・影を変えてみました。 フォントを替えるだけでも雰囲気が変わりますが、白い縁取りと右下の影を足すと、かなり見出しらしくなります。
まずは出来上がり。日本語と英字を混ぜて、4パターンを比較しました。
この記事では、フォントの読み込みから、縁取り、影の順に説明します。最後に、比較図を作れるコード全文も載せています。
試した環境と、使うもの
もともとは2026年10月11日に、MacTeXへけいふぉんと!を導入しました。色・縁取り・影の見本はLuaLaTeXとXeLaTeXで組版を確認しています。この記事の再現コードはLuaLaTeX用にまとめ直し、TeX Live 2026でコンパイルを確認しました。
使うのは次のパッケージです。
| パッケージ | 役割 |
|---|---|
luatexja-fontspec |
日本語用・欧文用のフォントを指定する |
xcolor |
文字や縁取りの色を指定する |
contour |
文字の輪郭に縁取りを付ける |
tikz |
影になる文字をずらして重ねる |
フォント選択にはLuaTeX-jaとfontspec、縁取りにはcontourを使います。
1. けいふぉんと!を用意する
作者の配布ページ「すもももじ」から通常版をダウンロードし、展開した keifont.ttf を使います。今回の例では、.tex ファイルと同じフォルダーに置きます。
keifont-demo/
├── keifont.ttf
└── main.tex
配布元では、けいふぉんと!をApache License 2.0のもとで使用できると案内しています。利用時には配布ページと同梱の説明も確認してください。配布元の利用条件
まずは、書体を変えるだけ
以下を main.tex として保存し、LuaLaTeXでコンパイルします。
\documentclass{ltjsarticle}
\usepackage{luatexja-fontspec}
\usepackage{xcolor}
\newjfontfamily\keijfont[Path=./,JFM=prop]{keifont.ttf}
\newfontfamily\keialphabet[Path=./]{keifont.ttf}
\newcommand{\keifont}{\keijfont\keialphabet}
\begin{document}
いつもの本文です。
{\keifont\fontsize{36}{44}\selectfont\color{magenta}
けいふぉんと! LaTeX\par}
また、いつもの本文に戻ります。
\end{document}
ターミナルからなら、上のフォルダーで次を実行します。エディターを使う場合も、コンパイル設定をLuaLaTeXにします。
lualatex main.tex
ポイントは、日本語用と欧文用のフォントを両方指定することです。\newjfontfamily が日本語、\newfontfamily が英字や数字を担当します。2つをまとめた \keifont を使うと、混在した見出しの書体をそろえられます。
JFM=prop は、日本語側をプロポーショナル用の設定にする指定です。\fontsize{36}{44} は文字サイズと行送り。{ ... } の内側だけで書体や色を変え、外側の本文に持ち越さないようにしています。
2. contourで縁取りを付ける
プリアンブルに次を追加します。
\usepackage[copies]{contour}
\definecolor{navy}{HTML}{235595}
\contournumber{auto}
本文側では、\contour{縁取りの色}{文字} を使います。
{\keifont\fontsize{36}{44}\selectfont\color{white}
\contourlength{1pt}
\contour{navy}{けいふぉんと! LaTeX}\par}
これで「白い文字+青い縁取り」になります。文字色は \color、縁取りの色は \contour の第1引数です。
\contourlength{1pt} を変えると縁取りの太さを調整できます。今回はcopies方式を使っています。文字を周囲にずらして重ねる方式で、\contournumber{auto} で重ねる回数を自動設定します。指定の詳細はcontourのマニュアルにあります。
最初は1pt前後から試し、文字を小さくするなら縁取りも細くすると調整しやすいです。太くしすぎると、細かな部分が埋まってしまいます。
3. TikZで右下の影を付ける
影の仕組みは、同じ文字を2回描くことです。
- 後ろに、少し右下へずらした影用の文字を描く。
- 手前に、通常の位置の文字と縁取りを描く。
比較図の3番では、影を右に2pt、下に2ptずらし、不透明度を45%にしました。主要部分は次のようになります。全文は末尾に載せています。
\begin{scope}[transparency group,opacity=0.45]
\node[text=black,xshift=2pt,yshift=-2pt] at (0,0)
{\contour{black}{けいふぉんと! LaTeX}};
\end{scope}
\node[text=pink] (title) at (0,0)
{\contour{white}{けいふぉんと! LaTeX}};
TikZの座標では、xshift が正なら右、yshift が負なら下へ移動します。opacity は0で透明、1で不透明です。
ここで入れている transparency group もポイントです。縁取りは文字を何度も重ねるので、それぞれを半透明にするより、影全体をまとめて半透明にしたい。透過グループを使うと、重なりをまとめた結果に不透明度を適用できます。PGF/TikZ公式マニュアルの透過グループ
これは、文字の形をずらした影です。輪郭がはっきりした仕上がりになります。
色と太さを変えると、こんなに違う
比較図の設定を並べると、こうなります。文字サイズはすべて36ptです。
| パターン | 文字 | 縁取り | 影 |
|---|---|---|---|
| 1. 文字色だけ | ピンク | なし | なし |
| 2. 白文字に青い縁取り | 白 | 青・1.0pt | なし |
| 3. 白い縁取りと右下の影 | ピンク | 白・1.2pt | 黒・右2pt/下2pt・45% |
| 4. 太い縁取りと大きめの影 | 黄 | 茶・1.5pt | 青・右3pt/下3pt・55% |
今回使った色は、ピンクが #C44478、青が #235595、黄が #FFE27A、茶が #60452E です。
3番は白い縁取りと薄い影の組み合わせです。4番は太い縁取りと大きな影で、表紙や大きなタイトル向きの仕上がりになります。
本文全体に使うより、まずは章の扉や数語の見出しで試すと取り入れやすいと思います。今回のコマンドは、改行しない短い見出し向けです。
コピペして、4パターンを再現するコード全文
以下は、独自の .sty ファイルを用意せずに動く例です。keifont.ttf を同じフォルダーに置き、LuaLaTeXでコンパイルしてください。
\KeiTitle{...} が3番の設定です。outline=false や shadow=false で装飾を消したり、fill、outline-color、shadow-x などを変えたりできます。本文と同じ設定で比較図を組版し、表示も確認しました。
コード全文を開く
% Compile with LuaLaTeX. Download keifont.ttf from the author's site
% and place it in the same directory as this source before compiling.
% https://font.sumomo.ne.jp/font_1.html
\documentclass[11pt]{ltjsarticle}
\usepackage[paperwidth=155mm,paperheight=125mm,margin=10mm]{geometry}
\usepackage{luatexja-fontspec}
\usepackage{xcolor,tikz}
\usepackage[copies]{contour}
\newjfontfamily\keijfont[Path=./,JFM=prop]{keifont.ttf}
\newfontfamily\keialphabet[Path=./]{keifont.ttf}
\newcommand{\keifont}{\keijfont\keialphabet}
\definecolor{pink}{HTML}{C44478}
\definecolor{navy}{HTML}{235595}
\definecolor{yellow}{HTML}{FFE27A}
\definecolor{brown}{HTML}{60452E}
\newif\ifKeiOutline
\newif\ifKeiShadow
\pgfkeys{/kei/.is family,/kei,
fill/.store in=\KeiFill,
outline/.is if=KeiOutline,
outline-color/.store in=\KeiOutlineColor,
outline-width/.store in=\KeiOutlineWidth,
shadow/.is if=KeiShadow,
shadow-color/.store in=\KeiShadowColor,
shadow-x/.store in=\KeiShadowX,
shadow-y/.store in=\KeiShadowY,
shadow-opacity/.store in=\KeiShadowOpacity}
\newcommand{\KeiTitle}[2][]{%
\begingroup
\pgfkeys{/kei/.cd,fill=pink,
outline=true,outline-color=white,outline-width=1.2pt,
shadow=true,shadow-color=black,shadow-x=2pt,shadow-y=-2pt,
shadow-opacity=0.45,#1}%
\contourlength{\KeiOutlineWidth}\contournumber{auto}%
\begin{tikzpicture}[baseline=(title.base),
every node/.style={anchor=base west,inner sep=\KeiOutlineWidth,
outer sep=0pt,font=\keifont\fontsize{36}{44}\selectfont}]
\ifKeiShadow
\begin{scope}[transparency group,opacity=\KeiShadowOpacity]
\node[text=\KeiShadowColor,
xshift=\KeiShadowX,yshift=\KeiShadowY] at (0,0)
{\ifKeiOutline\contour{\KeiShadowColor}{#2}\else#2\fi};
\end{scope}
\fi
\node[text=\KeiFill] (title) at (0,0)
{\ifKeiOutline\contour{\KeiOutlineColor}{#2}\else#2\fi};
\end{tikzpicture}%
\endgroup
}
\pagestyle{empty}
\setlength{\parindent}{0pt}
\begin{document}
{\sffamily\fontsize{14}{18}\selectfont
けいふぉんと!\quad 色・縁取り・影の比較\par}
\vspace{5mm}
{\sffamily 1. 文字色だけ\quad\small ピンク/縁取り・影なし\par}
\vspace{1mm}
\KeiTitle[outline=false,shadow=false]{けいふぉんと! LaTeX}\par
\vspace{5mm}
{\sffamily 2. 白文字に青い縁取り\quad\small 縁取り 1.0 pt/影なし\par}
\vspace{1mm}
\KeiTitle[fill=white,outline-color=navy,outline-width=1pt,
shadow=false]{けいふぉんと! LaTeX}\par
\vspace{5mm}
{\sffamily 3. 白い縁取りと右下の影\quad\small 縁取り 1.2 pt/影 2 pt・45\%\par}
\vspace{1mm}
\KeiTitle{けいふぉんと! LaTeX}\par
\vspace{5mm}
{\sffamily 4. 太い縁取りと大きめの影\quad\small 縁取り 1.5 pt/影 3 pt・55\%\par}
\vspace{1mm}
\KeiTitle[fill=yellow,outline-color=brown,outline-width=1.5pt,
shadow-color=navy,shadow-x=3pt,shadow-y=-3pt,
shadow-opacity=0.55]{けいふぉんと! LaTeX}\par
\end{document}
フォントが見つからないとき
Path=./ は、コンパイル時の作業フォルダーにあるフォントを読む指定です。ファイル名が keifont.ttf になっているか、.tex と同じフォルダーからコンパイルしているかを確認してください。
フォント名だけで探させる方法もありますが、この例ではファイル名と場所を指定しています。OSへのインストール状態に頼らず、記事の例を試せるようにするためです。
LaTeXの見出しも、書体・色・縁取り・影を組み合わせるとかなり遊べます。資料の内容に合わせて、ちょうどよい派手さを探してみてください。
