0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

LaTeXの見出し、もっと遊べる。けいふぉんと!に縁取りと影を付けてみた

0
Posted at

LaTeXで作る資料の見出しを、もう少し楽しくしたい。

そこで、「けいふぉんと!」を導入して、文字色・縁取り・影を変えてみました。 フォントを替えるだけでも雰囲気が変わりますが、白い縁取りと右下の影を足すと、かなり見出しらしくなります。

まずは出来上がり。日本語と英字を混ぜて、4パターンを比較しました。

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回描くことです。

  1. 後ろに、少し右下へずらした影用の文字を描く。
  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の見出しも、書体・色・縁取り・影を組み合わせるとかなり遊べます。資料の内容に合わせて、ちょうどよい派手さを探してみてください。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?