TeXのマクロとテンプレート(コピペ用)

アルファベット

小文字・ボールド

\newcommand{\va}{\bm{a}}
\newcommand{\vb}{\bm{b}}
\newcommand{\vc}{\bm{c}}
\newcommand{\vd}{\bm{d}}
\newcommand{\ve}{\bm{e}}
\newcommand{\vf}{\bm{f}}
\newcommand{\vg}{\bm{g}}
\newcommand{\vh}{\bm{h}}
\newcommand{\vi}{\bm{i}}
\newcommand{\vj}{\bm{j}}
\newcommand{\vk}{\bm{k}}
\newcommand{\vl}{\bm{l}}
\newcommand{\vm}{\bm{m}}
\newcommand{\vn}{\bm{n}}
\newcommand{\vo}{\bm{o}}
\newcommand{\vp}{\bm{p}}
\newcommand{\vq}{\bm{q}}
\newcommand{\vr}{\bm{r}}
\newcommand{\vs}{\bm{s}}
\newcommand{\vt}{\bm{t}}
\newcommand{\vu}{\bm{u}}
\newcommand{\vv}{\bm{v}}
\newcommand{\vw}{\bm{w}}
\newcommand{\vx}{\bm{x}}
\newcommand{\vy}{\bm{y}}
\newcommand{\vz}{\bm{z}}

小文字・ドイツ文字

\newcommand{\liea}{\mathfrak{a}}
\newcommand{\lieb}{\mathfrak{b}}
\newcommand{\liec}{\mathfrak{c}}
\newcommand{\lied}{\mathfrak{d}}
\newcommand{\liee}{\mathfrak{e}}
\newcommand{\lief}{\mathfrak{f}}
\newcommand{\lieg}{\mathfrak{g}}
\newcommand{\lieh}{\mathfrak{h}}
\newcommand{\liei}{\mathfrak{i}}
\newcommand{\liej}{\mathfrak{j}}
\newcommand{\liek}{\mathfrak{k}}
\newcommand{\liel}{\mathfrak{l}}
\newcommand{\liem}{\mathfrak{m}}
\newcommand{\lien}{\mathfrak{n}}
\newcommand{\lieo}{\mathfrak{o}}
\newcommand{\liep}{\mathfrak{p}}
\newcommand{\lieq}{\mathfrak{q}}
\newcommand{\lier}{\mathfrak{r}}
\newcommand{\lies}{\mathfrak{s}}
\newcommand{\liet}{\mathfrak{t}}
\newcommand{\lieu}{\mathfrak{u}}
\newcommand{\liev}{\mathfrak{v}}
\newcommand{\liew}{\mathfrak{w}}
\newcommand{\liex}{\mathfrak{x}}
\newcommand{\liey}{\mathfrak{y}}
\newcommand{\liez}{\mathfrak{z}}

大文字・白抜きボールド

いつものと、そのヴァリエーション

\newcommand{\N}{\mathbb{N}}
\newcommand{\Z}{\mathbb{Z}}
\newcommand{\Q}{\mathbb{Q}}
\newcommand{\R}{\mathbb{R}}
\newcommand{\C}{\mathbb{C}}

% 乗法群
\newcommand{\Zx}{\Z^\times}
\newcommand{\Qx}{\Q^\times}
\newcommand{\Rx}{\R^\times}
\newcommand{\Cx}{\C^\times}

% 非負(non-negative)のもの
\newcommand{\Znn}{\Z_{\ge0}}
\newcommand{\Qnn}{\Q_{\ge0}}
\newcommand{\Rnn}{\R_{\ge0}}

% 正(positive)のもの
\newcommand{\Zpo}{\Z_{>0}}
\newcommand{\Qpo}{\Q_{>0}}
\newcommand{\Rpo}{\R_{>0}}

% p進数
\newcommand{\Zp}[1][p]{\Z_{#1}}
\newcommand{\Qp}[1][p]{\Q_{#1}}
\newcommand{\Cp}[1][p]{\R_{#1}}

% 四元数と八元数
\newcommand{\Quat}{\mathbb{H}}
\newcommand{\Oct}{\mathbb{O}}

全部

\newcommand{\A}{\mathbb{A}}
\newcommand{\B}{\mathbb{B}}
\newcommand{\C}{\mathbb{C}}
\newcommand{\D}{\mathbb{D}}
\newcommand{\E}{\mathbb{E}}
\newcommand{\F}{\mathbb{F}}
\newcommand{\G}{\mathbb{G}}
\newcommand{\I}{\mathbb{I}}
\newcommand{\J}{\mathbb{J}}
\newcommand{\K}{\mathbb{K}}
\newcommand{\M}{\mathbb{M}}
\newcommand{\N}{\mathbb{N}}
\newcommand{\Q}{\mathbb{Q}}
\newcommand{\R}{\mathbb{R}}
\newcommand{\T}{\mathbb{T}}
\newcommand{\U}{\mathbb{U}}
\newcommand{\V}{\mathbb{V}}
\newcommand{\W}{\mathbb{W}}
\newcommand{\X}{\mathbb{X}}
\newcommand{\Y}{\mathbb{Y}}
\newcommand{\Z}{\mathbb{Z}}

\H, \L, \O, \P, \S は既に使われている。一つの退避の仕方:

\let\Haccent=\H % ダブルアキュートアクセント
\let\Lsymbol=\L % ストローク付きL
\let\Osymbol=\O % ストローク付きO
\let\Psymbol=\P % 段落記号¶
\let\Ssymbol=\S % 節記号§
\let\H=\relax
\let\L=\relax
\let\O=\relax
\let\P=\relax
\let\S=\relax

転置行列

\newcommand{\trA}{{}^{t\kern-.3em}A}
\newcommand{\trB}{{}^{t\kern-.2em}B}
\newcommand{\trC}{{}^{t\kern-.1em}C}
\newcommand{\trD}{{}^{t\kern-.2em}D}
\newcommand{\trE}{{}^{t\kern-.2em}E}
\newcommand{\trF}{{}^{t\kern-.2em}F}
\newcommand{\trG}{{}^{t\kern-.1em}G}
\newcommand{\trH}{{}^{t\kern-.2em}H}
\newcommand{\trI}{{}^{t\kern-.2em}I}
\newcommand{\trJ}{{}^{t\kern-.3em}J}
\newcommand{\trK}{{}^{t\kern-.2em}K}
\newcommand{\trL}{{}^{t\kern-.2em}L}
\newcommand{\trM}{{}^{t\kern-.2em}M}
\newcommand{\trN}{{}^{t\kern-.2em}N}
\newcommand{\trO}{{}^{t\kern-.1em}O}
\newcommand{\trP}{{}^{t\kern-.2em}P}
\newcommand{\trQ}{{}^{t\kern-.1em}Q}
\newcommand{\trR}{{}^{t\kern-.2em}R}
\newcommand{\trS}{{}^{t\kern-.2em}S}
\newcommand{\trT}{{}^{t\kern-.1em}T}
\newcommand{\trU}{{}^{t\kern-.1em}U}
\newcommand{\trV}{{}^{t\kern-.1em}V}
\newcommand{\trW}{{}^{t\kern-.1em}W}
\newcommand{\trX}{{}^{t\kern-.2em}X}
\newcommand{\trY}{{}^{t\kern-.1em}Y}
\newcommand{\trZ}{{}^{t\kern-.2em}Z}
\newcommand{\trva}{{}^{t\kern-.15em}\bm{a}}
\newcommand{\trvb}{{}^{t\kern-.1em}\bm{b}}
\newcommand{\trvc}{{}^{t\kern-.15em}\bm{c}}
\newcommand{\trvd}{{}^{t\kern-.15em}\bm{d}}
\newcommand{\trve}{{}^{t\kern-.15em}\bm{e}}
\newcommand{\trvf}{{}^{t\kern-.2em}\bm{f}}
\newcommand{\trvg}{{}^{t\kern-.1em}\bm{g}}
\newcommand{\trvh}{{}^{t\kern-.1em}\bm{h}}
\newcommand{\trvi}{{}^{t\kern-.1em}\bm{i}}
\newcommand{\trvj}{{}^{t\kern-.15em}\bm{j}}
\newcommand{\trvk}{{}^{t\kern-.1em}\bm{k}}
\newcommand{\trvl}{{}^{t\kern-.1em}\bm{l}}
\newcommand{\trvm}{{}^{t\kern-.1em}\bm{m}}
\newcommand{\trvn}{{}^{t\kern-.1em}\bm{n}}
\newcommand{\trvo}{{}^{t\kern-.1em}\bm{o}}
\newcommand{\trvp}{{}^{t\kern-.1em}\bm{p}}
\newcommand{\trvq}{{}^{t\kern-.1em}\bm{q}}
\newcommand{\trvr}{{}^{t\kern-.1em}\bm{r}}
\newcommand{\trvs}{{}^{t\kern-.15em}\bm{s}}
\newcommand{\trvt}{{}^{t\kern-.05em}\bm{t}}
\newcommand{\trvu}{{}^{t\kern-.1em}\bm{u}}
\newcommand{\trvv}{{}^{t\kern-.1em}\bm{v}}
\newcommand{\trvw}{{}^{t\kern-.1em}\bm{w}}
\newcommand{\trvx}{{}^{t\kern-.1em}\bm{x}}
\newcommand{\trvy}{{}^{t\kern-.1em}\bm{y}}
\newcommand{\trvz}{{}^{t\kern-.1em}\bm{z}}

一般的処方としては {}^tA のようにする。

色々な設定・再定義

\renewcommand{\emph}[1]{{\sffamily\gtfamily\bfseries\upshape\boldmath#1}}
\renewcommand{\emptyset}{\varnothing}

\renewcommand{\headfont}{\sffamily\mgfamily} % jsclass 使用時の見出しフォント変更

\renewcommand{\Re}{\operatorname{Re}}
\renewcommand{\Im}{\operatorname{Im}}

\newcommand{\agfamily}{\fontfamily{pag}\selectfont} % Avant Garde

\numberwithin{equation}{section}

enumerate環境のラベル関係

\usepackage[shortlabels]{enumitem}
\setlist[enumerate]{label=$(\arabic*)$,itemjoin=\qquad} % global setting

色々な記号

雑多なもの

\newcommand{\e}{\varepsilon}
\newcommand{\mat}[1]{\begin{pmatrix}#1\end{pmatrix}}
\newcommand{\vmat}[1]{\begin{vmatrix}#1\end{vmatrix}}

\newcommand{\cc}[1]{\overline{#1}} % complex conjugate

\newcommand{\then}{\DOTSB\;\Longrightarrow\;} % implication arrow =>

\newcommand{\js}[2]{\genfrac{(}{)}{.5pt}{}{#1}{#2}} % Legendre-Jacobi symbol

\newcommand{\kihon}[2]{\xrightarrow[\text{#2}]{\text{#1}}} % 基本変形を示す矢印

\newcommand{\card}[1]{\left|#1\right|} % 濃度
\newcommand{\inprod}[3][{}]{\left\langle#2,#3\right\rangle_{#1}} % 内積

一般化超幾何級数

\newcommand{\hgf}[5]{{\mathchoice%
{{}_{#1}F_{#2}\!\left(\genfrac{}{}{0pt}{}{#3}{#4}\,;\,#5\right)}% display mode
{{}_{#1}F_{#2}(#3;#4;#5)}% text mode
{}{}}}

括弧類

\newcommand{\abs}[1]{\left|#1\right|} % absolute value | |
\newcommand{\norm}[1]{\left\|#1\right\|} % norm || ||
\newcommand{\floor}[1]{\left\lfloor#1\right\rfloor} % floor

正規化積

\DeclareMathOperator*{\regprod}{\mathchoice%
{\ooalign{\hbox{$\displaystyle\prod$}\crcr\hbox{$\displaystyle\coprod$}}}
{\ooalign{\hbox{$\textstyle\prod$}\crcr\hbox{$\textstyle\coprod$}}}
{\ooalign{\hbox{$\scriptstyle\prod$}\crcr\hbox{$\scriptstyle\coprod$}}}
{\ooalign{\hbox{$\scriptscriptstyle\prod$}\crcr\hbox{$\scriptscriptstyle\coprod$}}}
}

オペレータ名

\DeclareMathOperator{\tr}{tr}
\DeclareMathOperator{\Tr}{Tr}
\DeclareMathOperator{\rk}{rk}
\DeclareMathOperator{\rank}{rank}
\DeclareMathOperator{\sgn}{sgn}
\DeclareMathOperator{\per}{per}
\DeclareMathOperator{\pf}{pf} % pfaffian
\DeclareMathOperator{\diag}{diag}
\DeclareMathOperator{\Sym}{Sym}
\DeclareMathOperator{\Alt}{Alt}

\DeclareMathOperator{\im}{im}

\DeclareMathOperator*{\Res}{Res} % residue
\DeclareMathOperator{\supp}{supp}

\DeclareMathOperator{\res}{res}
\DeclareMathOperator{\ind}{ind}

\DeclareMathOperator{\Hom}{Hom}
\DeclareMathOperator{\Aut}{Aut}
\DeclareMathOperator{\End}{End}

集合

\newcommand{\set}[2]{\left\{#1\,\middle|\,#2\right\}}
\newcommand{\set}[3][undefined]{\expandafter\ifx\csname#1\endcsname\undefined \left\{#2\,\middle|\,#3\right\}%
\else\csname#1l\endcsname\{#2\,\csname#1\endcsname|\,#3\csname#1r\endcsname\}\fi}

\middle 命令を使うので e-TeX が必要.

筆記体を使う

\DeclareMathAlphabet\matheu{U}{eur}{m}{n}
\DeclareMathAlphabet\matheuscr{U}{eus}{m}{n}
\DeclareMathAlphabet\mathscr{U}{rsfs}{m}{n}
\SetMathAlphabet\matheu{bold}{U}{eur}{b}{n}
\SetMathAlphabet\matheuscr{bold}{U}{eus}{b}{n}

左横線付き定理環境

\usepackage[xcolor]{mdframed}
\usepackage{silence}\WarningFilter{mdframed}{You got a bad break}
\let\oldtheorem=\newtheorem
\mdfdefinestyle{leftbar}{topline=false,rightline=false,bottomline=false,innertopmargin=0pt,linewidth=1pt,linecolor=black}
\newcommand{\NewTheorem}[2][linecolor=black]{\surroundwithmdframed[style=leftbar,#1]{#2}\oldtheorem{#2}}
\newcommand{\NewTheoremStar}[2][linecolor=black]{\surroundwithmdframed[style=leftbar,#1]{#2}\oldtheorem*{#2}}
\makeatletter\renewcommand{\newtheorem}{\@ifstar{\NewTheoremStar}{\NewTheorem}}\makeatother
\newtheoremstyle{mydefinition}{\topsep}{\topsep}{\rmfamily}{0pt}{\sffamily\gtfamily\bfseries}{.}{.5em}
{\thmname{#1}\thmnumber{ #2}\thmnote{ (#3)}\rmfamily}
\theoremstyle{mydefinition}

\newtheorem[linecolor=cyan]{thm}{定理}
\newtheorem[linecolor=magenta,linewidth=3pt]{lem}[thm]{補題}

以前は framed パッケージを使っていたけれど,こちらに宗旨替え.

ヤング図形とヤング盤

\usepackage{ytableau}

\ytableausetup{centertableaux,mathmode,boxsize=1em}
\def\young(#1){\ytableaushort{#1}}
\def\yng(#1){\ydiagram{#1}}

以前は youngtab パッケージを使っていたけれど,こちらに宗旨替え.

幾何ベクトルなど

\NewDocumentCommand\gvec{s m}{% 幾何ベクトル
\begin{tikzpicture}[baseline=(T.base)]
\node[inner sep=0pt, outer sep=0pt] (T) {\IfBooleanTF{#1}{$#2$}{#2}};
\IfBooleanTF{#1}
{\draw[-to] ($(T.north west)+(-.5pt,2.5pt)$) -- ($(T.north east)+(.5pt,2.5pt)$);}
{\draw[-to] ($(T.north west)+(0,2.5pt)$) -- ($(T.north east)+(0,2.5pt)$);}
\end{tikzpicture}}

\newcommand{\sankaku}[1]{\triangle\mathrm{#1}}
\newcommand{\kaku}[1]{\angle\mathrm{#1}}

\newcommand{\para}{\mathbin{\tikz[baseline=2pt,line width=.45pt,cap=round] \draw (0,0)--(3pt,10pt) (2pt,0)--(5pt,10pt);}} % 平行 //

xparse パッケージと Tikz パッケージの利用が前提。

増減表

凹凸の情報を含んだ矢印記号を以下のように定める(Tikzの利用が前提)。

\newcommand{\RUto}{\begin{tikzpicture}[x=1pt,y=1pt,baseline=2pt]
\draw[->] (0,0) .. controls (7,1) and (9,3) .. (10,10);
\end{tikzpicture}}
\newcommand{\URto}{\begin{tikzpicture}[x=1pt,y=1pt,baseline=2pt]
\draw[->] (0,0) .. controls (1,7) and (3,9) .. (10,10);
\end{tikzpicture}}
\newcommand{\RDto}{\begin{tikzpicture}[x=1pt,y=1pt,baseline=2pt]
\draw[->] (0,10) .. controls (7,9) and (9,7) .. (10,0);
\end{tikzpicture}}
\newcommand{\DRto}{\begin{tikzpicture}[x=1pt,y=1pt,baseline=2pt]
\draw[->] (0,10) .. controls (1,3) and (3,1) .. (10,0);
\end{tikzpicture}}
\newcommand{\ar}[2]{\if#20{\small 変曲点}
\else{\if#1+{\if#2+\RUto\else\URto\fi}\else{\if#2+\DRto\else\RDto\fi}\fi}\fi}

増減表の雛形。

\begin{equation*}
\begin{array}{|c||ccccccccccc|}
\hline
\rule[-.8em]{0pt}{2em}
x & -\pi & \dots & -\frac{3\pi}4 & \dots & 0 & \dots & \frac\pi4 & \dots & \frac\pi2 & \dots & \pi \\
\hline
\rule[-.8em]{0pt}{2em}
y' & - & - & 0 & + & + & + & 0 & - & - & - & - \\
\hline
\rule[-.8em]{0pt}{2em}
y'' & + & + & + & + & 0 & - & - & - & 0 & + & + \\
\hline
\rule[-.8em]{0pt}{2em}
y & e^{-1} & \ar-+ & e^{-\sqrt2} & \ar++ & e & \ar+- & e^{\sqrt2} & \ar-- & e & \ar-+ & e^{-1} \\
\hline
\end{array}
\end{equation*}

練習問題の略解を後でまとめて出力するためのマクロ

中間ファイル jobname.ans を利用する.

% --- 解答をまとめて表示するためのマクロ群:ここから ---
\makeatletter
\def\dummymacro:->{\relax}
\def\AnswerName#1{\gdef\@EA@name{#1}}
\newtheorem*{@Answer}{\@AnswerName\@AnswerNumber}
\newenvironment{Answer}[2]{\def\@AnswerName{#1}\def\@AnswerNumber{#2}\begin{@Answer}}{\end{@Answer}}
\newwrite\@EA@
\newif\if@EA@ \global\@EA@false
\def\@openEA{\if@EA@ \else \immediate\openout\@EA@=\jobname.ans \global\@EA@true \fi}
\newcommand{\answer}[2][\@EA@name]{\@openEA%
\immediate\write\@EA@{\string\begin{Answer}{#1}{\@currentlabel}}%
\begingroup\def\next{#2}\immediate\write\@EA@{\string\dummy\meaning\next}\endgroup%
\immediate\write\@EA@{\string\end{Answer}}\immediate\write\@EA@{}}
\newcommand{\addtoanswer}[1]{\@openEA\begingroup%
\def\next{#1}\immediate\write\@EA@{\string\dummy\meaning\next}%
\endgroup\immediate\write\@EA@{}}
\def\AnswersHere{\immediate\closeout\@EA@ \begingroup\makeatletter%
\edef\@tempa{`\string >}\ifnum\catcode\@tempa=12\else\@makeother\>\fi%
\input{\jobname.ans}\endgroup}
\AnswerName{問題}
\makeatother
% --- 解答をまとめて表示するためのマクロ群:ここまで ---

本文中で次のように,問題文と同じ環境内に答えを書いておく.

\begin{exercise}
問題を書く.
\answer{解答を書く.}
\end{exercise}

解答を出力したいところに \AnswersHere と書く.

練習問題の略解を後でまとめて出力するためのマクロ・その2(素案)

comment パッケージを利用する.

\newtheorem{quiz}{問題}
\newtheorem{Ans}{問題}
\generalcomment{answer}
{\begingroup\edef\tmp{\def\noexpand\CommentCutFile{\jobname-\arabic{quiz}.ans}}
\tmp\def\ProcessCutFile{}}{\endgroup}
\makeatletter
\newcommand{\AnswersHere}{\@tempcnta=0\loop\ifnum\@tempcnta<\c@quiz\clearpage
\advance\@tempcnta by 1\begin{Ans}\input{\jobname-\the\@tempcnta.ans}\end{Ans}\repeat}
\makeatother

本文中で次のように,問題文の直後に答えを書いておく.

\begin{quiz}
問題を書く.
\end{quiz}

\begin{answer}
答を書く.
\end{answer}

解答を出力したいところに \AnswersHere と書く.

DPT-RP1 での閲覧に適した用紙サイズに設定する

\usepackage[reset,papersize={201.6truemm,268.8truemm},text={170truemm,237truemm},centering]{geometry}

図などの垂直方向に関する中心線を揃えるためのマクロ

\newcommand{\vcentering}[1]{\vcenter{\hbox{#1}}}
\begin{equation}
\vcentering{\includegraphics{hoge1.pdf}}=\vcentering{\includegraphics{hoge2.pdf}}
\end{equation}

乗法表のためのマクロ

\makeatletter
\newcount\@mtorder
\def\MTwaku#1{%
\draw[fill=white!80!lightgray] (-1,-1)--(#1,-1)--(#1,0)--(-1,0)--cycle;
\draw[fill=white!80!lightgray] (-1,-1)--(-1,#1)--(0,#1)--(0,-1)--cycle;
\foreach \u in {-1,0,#1} \draw[thick] (-1,\u)--(#1,\u) (\u,-1)--(\u,#1);
\foreach \u in {1,...,#1} \draw[very thin] (-1,\u)--(#1,\u) (\u,-1)--(\u,#1);
}
\def\MTorder#1{\@mtorder=0 \@for\temp:=#1\do{\global\advance\@mtorder by 1}}
\def\MTrow#1#2{%
\@tempcnta=0 %
\@for\temp:=#2\do{%
\draw (\the\@tempcnta.5,#1.5) node {$\temp$};
\advance\@tempcnta by 1} %
}
\def\MTlabels#1#2{%
\draw (-.5,-.5) node {$#1$};
\@tempcnta=0 %
\@for\temp:=#2\do{%
\draw (\the\@tempcnta.5,-.5) node {$\temp$}; \draw (-.5,\the\@tempcnta.5) node {$\temp$};
\advance\@tempcnta by 1} %
\global\@mtorder=\@tempcnta\relax
}
\def\MTentries#1{%
\@tempcntc=0 %
\@for\temp:=#1\do{%
\@tempcnta=\@tempcntc %
\@tempcntb=\@tempcntc %
\divide\@tempcnta by \@mtorder %
\@tempcntd=\@tempcnta %
\multiply\@tempcntd by \@mtorder %
\advance\@tempcntb by -\@tempcntd %
\draw (\the\@tempcntb.5,\the\@tempcnta.5) node {$\temp$};
\advance\@tempcntc by 1} %
}
\newcommand{\MultiplicationTable}[4][x=10mm,y=10mm]{%
\begin{tikzpicture}[#1]\MTorder{#3}\MTwaku{\the\@mtorder}\MTlabels{#2}{#3}\MTentries{#4}\end{tikzpicture}}
\makeatother

次のような感じで使う.

\MultiplicationTable[x=7mm,y=-6mm]{Q_8}{1,i,j,k,-1,-i,-j,-k}{
1,i,j,k,-1,-i,-j,-k,
i,-1,k,-j,-i,1,-k,j,
j,-k,-1,i,-j,k,1,-i,
k,j,-i,-1,-k,-j,i,1,
-1,-i,-j,-k,1,i,j,k,
-i,1,-k,j,i,-1,k,-j,
-j,k,1,-i,j,-k,-1,i,
-k,-j,i,1,k,j,-i,-1
}

LaTeX font warning を出さないためのおまじない

以下をプリアンブルに書く.

\DeclareFontShape{JY2}{hgt}{b}{n}{<->ssub*hgt/bx/n}{}
\DeclareFontShape{JY2}{hmc}{m}{sc}{<->ssub*hmc/m/n}{}
\DeclareFontShape{JY2}{hmc}{m}{it}{<->ssub*hmc/m/n}{}
\DeclareFontShape{JY2}{hmc}{b}{n}{<->ssub*hmc/m/n}{}
\DeclareFontShape{JY2}{rubyg}{b}{n}{<->ssub*rubyg/m/n}{}
\DeclareFontShape{JT2}{hmc}{m}{sc}{<->ssub*hmc/m/n}{}
\DeclareFontShape{JT2}{hgt}{b}{n}{<->ssub*hgt/m/n}{}
\DeclareFontShape{JT2}{hmc}{m}{it}{<->ssub*hmc/m/n}{}
\DeclareFontShape{JT2}{hmc}{b}{n}{<->ssub*hmc/m/n}{}
\DeclareFontShape{JT2}{rubyg}{b}{n}{<->ssub*rubyg/m/n}{}