くらげnote

"ぼやき" by くらげ(fal)

upLaTeX で 日本語多書体化

この記事を読んでできること

  • upLaTeX を用いて,文書内に複数の日本語フォントを使えるようにする

  • 複数と言っても,7種類まで

  • 210202追記 一部だけ欧文フォントも置換する方法

最初に結論

多書体化したいファイルのプリアンブルに,以下を追加.

%%% 日本語フォントの設定・追加%%%
\usepackage[deluxe]{otf}
\usepackage[noalphabet]{pxchfon}          % 欧文フォントは置換対象外に
\setlightminchofont{yumin.ttf}            % \mcfamily\ltseries に割当
\setmediumminchofont{msmincho.ttc}        % \mcfamily\mdseries に割当
\setboldminchofont{ipaexm.ttf}            % \mcfamily\bfseries に割当
\setmediumgothicfont{YuGothR.ttc}         % \gtfamily\mdseries に割当
\setboldgothicfont{meiryo.ttc}            % \gtfamily\bfseries に割当
\setxboldgothicfont{ipaexg.ttf}           % \gtfamily\ebseries に割当
\setmarugothicfont{UDDigiKyokashoN-R.ttc} % \mgfamily に割当
  • うまくいかない場合
    1. \texlive\texmf-localに,使用したいフォントを置く
    2. コマンドプロンプトを立ち上げ, コマンド mktexlsr を実行する

出力例

\documentclass[dvipdfmx,a4paper,uplatex]{jsarticle}

\usepackage[deluxe]{otf}
\usepackage[noalphabet]{pxchfon}          % 欧文フォントは置換対象外に
\setlightminchofont{yumin.ttf}            % \mcfamily\ltseries に割当
\setmediumminchofont{msmincho.ttc}        % \mcfamily\mdseries に割当
\setboldminchofont{ipaexm.ttf}            % \mcfamily\bfseries に割当
\setmediumgothicfont{YuGothR.ttc}         % \gtfamily\mdseries に割当
\setboldgothicfont{meiryo.ttc}            % \gtfamily\bfseries に割当
\setxboldgothicfont{ipaexg.ttf}           % \gtfamily\ebseries に割当
\setmarugothicfont{UDDigiKyokashoN-R.ttc} % \mgfamily に割当

\begin{document}
\begin{itemize}
  \mcfamily\ltseries
  \item[游明朝] 吾輩は猫である.ギンガムチェック.Pen pineapple apple.(カッコ)(カッコ)
  
  \mcfamily\mdseries
  \item[MS明朝] 吾輩は猫である.ギンガムチェック.Pen pineapple apple.(カッコ)(カッコ)
  
  \mcfamily\bfseries
  \item[IPAex明] 吾輩は猫である.ギンガムチェック.Pen pineapple apple.(カッコ)(カッコ)
  
  \gtfamily\mdseries
  \item[游ゴ] 吾輩は猫である.ギンガムチェック.Pen pineapple apple.(カッコ)(カッコ)
  
  \gtfamily\bfseries
  \item[メイリオ] 吾輩は猫である.ギンガムチェック.Pen pineapple apple.(カッコ)(カッコ)
  
  \gtfamily\ebseries
  \item[IPAexゴ] 吾輩は猫である.ギンガムチェック.Pen pineapple apple.(カッコ)(カッコ)
  
  \mgfamily
  \item[UDデ教] 吾輩は猫である.ギンガムチェック.Pen pineapple apple.(カッコ)(カッコ)
\end{itemize}
\end{document}

これをコンパイルすると

f:id:fal_math:20210127121214j:plain
pxchfon パッケージのnoalphabet オプション

注意すべき点

  • \mcfamily\bfseries(今回はIPAex明朝)ではアルファベットが太字体
  • \gtfamily\mdseries(今回は游ゴシック)ではアルファベットが細字体
  • \section のフォントは\gtfamily\mdseries
  • \title , \author のフォントは \mcfamily\mdseries

\sectionのフォントも変えたい

以下をプリアンブルに追加すれば\gtfamily\bfseriesのフォントになる. (otfパッケージを読み込んだ後に記入 )

\renewcommand{\headfont}{\gtfamily\bfseries}

\title , \author のフォントも変えたい

以下をプリアンブルに追加すれば\mgfamilyのフォントになる.

\makeatletter
\renewcommand{\title}[1]{\gdef\@title{\mgfamily#1}}
\renewcommand{\author}[1]{\gdef\@author{\mgfamily#1}}
\renewcommand{\date}[1]{\gdef\@date{\mgfamily#1}}
\makeatother

noalphabet オプションについて

先程のソースから,\usepackage[noalphabet]{pxchfon}のオプションを外し \usepackage{pxchfon}とすると

f:id:fal_math:20210127120938j:plain
pxchfon パッケージのalphabet オプション
となる.アルファベット部分のフォントも変わっていることがわかる.

一部のフォントだけ、alphabetも和文フォントに合わせたい

あまり需要ないと思うが,タイトルやセクションで使いたくなることがあるかもしれない.

\userelfont\selectfont というコマンドが用意されているので,用いれば良い.

\begin{itemize}
  \gtfamily\mdseries
  \item[游ゴ] 吾輩は猫である.ギンガムチェック.Pen pineapple apple.(カッコ)(カッコ)
    
  \gtfamily\mdseries
  \item[游ゴ] {\userelfont\selectfont 吾輩は猫である.ギンガムチェック.Pen pineapple apple.(カッコ)(カッコ)}
  
  \gtfamily\bfseries
  \item[メイリオ] 吾輩は猫である.ギンガムチェック.Pen pineapple apple.(カッコ)(カッコ)
    
  \gtfamily\bfseries
  \item[メイリオ] {\userelfont\selectfont 吾輩は猫である.ギンガムチェック.Pen pineapple apple.(カッコ)(カッコ)}
\end{itemize}

これをコンパイルすると以下のようになる.

f:id:fal_math:20210202104540j:plain
\userelfont\selectfont

参考

(u)pLaTeXでもjlreqクラスで多書体化したい · GitHub

PXchfon パッケージ ~pLaTeX文書のフォントを簡単に変更~ [電脳世界の奥底にて]

使用書体の変更(upLaTeX 編) — Re:VIEW knowledge ドキュメント