\documentclass[a4j]{ujarticle}
\usepackage{ascmac}
\def\yen{\noautoxspacing\symbol{92}}%
\usepackage{url}
\usepackage[dvipdfmx]{hyperref}
\usepackage{pxjahyper}
\usepackage{fancyvrb}
\begin{document}

\section*{kanruby.sty/kanruby.mf v.1.0 使用説明書}
\begin{flushright}
Date: 2026-11-11
\end{flushright}

このパッケージは作者が以前公開したものを 2026年に UTF-8 対応させたものです。
ここに、新たに LPPL 1.3c に従って公開します。  

もともと「漢文の訓点入門」(\url{https://rakunet.org/p/2022/0729})にあるような、
高校国語で使うのに便利な訓点マクロを作って授業で使っていました。
しかし、大学の国文学系の研究者の方からのご要望に加え、
印刷業で \TeX を使用されている方の助力をいただいて、
Nifty のフォーラムを中心に意見を交換し、
学術書での使用にもある程度対応するものとして作ったのがこのパッケージです。  

当初は紀伊国屋の今昔文字鏡フォントと連動して使えるようにしていましたが、
現在は、そのサポートをはずし、Unicode で使えるパッケージとして公開しています。  

多少工夫すれば、注や画像を組み込んだ
高校の漢文教科書レベルの組版ができることは確認しています。
また、大修館の漢文体系レベルの組版も可能です。  

ただ、高校や大学入試の漢文を組版するなら
「漢文の訓点入門」にある kambunsnx パッケージを使ったほうがずっと楽でしょう。
以前私が出版した「入試に聞け！漢文」
(\url{https://www.amazon.co.jp/s?k=475393165X})は
それで組版し、そのまま印刷したものだからです。  

このパッケージは、下のサンプルにあるように、
漢文でしか使わないフォントを METAFONT としてある程度含んでいます。
また、漢字の周りに配置する訓点の大きさや位置をある程度細かく指定できるようにしています。
あとは、下の出力サンプルをごらんください。  

また、同様の取扱説明書は「漢文訓点マクロkanruby」
(\url{https://rakunet.org/p/2026/0812})にもあります。

\subsection*{パッケージの内容}

\begin{itemize}
\item README*.md
\item kanruby-doc*.tex/pdf 取扱説明書。
\item kanruby.sty スタイルファイル。
\item ukanruby.fd kanruby.mfを使うためのフォント定義ファイル。
\item kanruby.mf 漢文用のメタフォントソース。
\item kanruby.tfm kanruby.mf用TFMファイル。
\item examples/* サンプルファイル。
\end{itemize}

\subsection*{インストール}

私の確認できる環境 Linux で説明します。
他の環境でも同様にインストールできるでしょう。
その際は文字コード、改行コードに注意して行ってください。

\begin{enumerate}
\item kanruby.zip を解凍します。
\item kanruby.sty, ukanruby.fdを次のようなディレクトリに移動します。\\
\verb|~/texmf/tex/platex|
\item kanruby.tfmを次のようなディレクトリに移動します。\\
\verb|~/texmf/fonts/tfm/public/kanruby|
\item kanruby.mfを次のようなディレクトリに移動します。\\
\verb|~/texmf/fonts/source/public/kanruby|
\item 以下のコマンドを実行します。\\
\verb|sudo mktexlsr|
\end{enumerate}

\subsection*{インストールの確認}

\noindent
{\tt kanruby-sample.tex}
\begin{verbatim}
\documentclass[a4j]{utarticle}
\usepackage{kanruby}
\begin{document}
\kanrubyon
\noindent
{\LARGE
麗\kanruby<1>[.2]<.6>{かな}
麗\kanruby<1>[.8]<.4>{カナ}
麗\kanruby<1>[1][-0.4]{\footnotesize 。}
麗\kanruby<3>[0]{\footnotesize 左注}
麗\kanruby<3>[1][-0.3]{上}
\let\kanrubysize=\footnotesize
麗\kanruby<1>[0]{□□}
\kankunoji\kanruby<1>[0]{}
\kangunoji\kanruby<1>[0]{}
麗
}%
\kanrubyoff
\bigskip

おめでとうございます！
kanruby.styのインストールは成功です。
\end{document}
\end{verbatim}

次のコマンドを実行してみましょう。
\begin{verbatim}
uplatex kanruby-sample
dvipdfmx kanruby-sample
\end{verbatim}

kanruby-sample.pdf ができ、
PDF ビューアで漢字の回りにいろいろな訓点がついた画像が表示されれば成功です。


\subsection*{使用例}

\subsubsection*{kanruby-sample01.tex 通常の漢文を書いた例}

\begin{verbatim}
\documentclass[a4j]{utarticle}
\usepackage{kanruby}
\def\yen{\noautoxspacing\symbol{92}}%
\begin{document}
\noindent
通常の漢文を書いた例です（{\tt \yen{}Large}がふつうでしょう）。
字間は{\tt \yen{}kanjiskip}を変えることによって調整します。
\bigskip

% 漢字間の空白を広くする({\tt \yen{}normalsize}の0.5倍)。
\kanrubyon%
\noindent
{\Large
\Kan{見}{}{}{二}
\Kan{胤}{いん}{ヲ}{}
於童幼之
\Kan{中}{うち}{ニ}{一}
\Kuto{、}
\Kan{謂}{}{ヒテ}{二}
\Kan{胤}{}{ノ}{}
\Kan{父}{}{ニ}{一}
\Kan{曰}{}{ク}{}
...
\end{document}
\end{verbatim}

\subsubsection*{kanruby-sample02.tex いろいろなサイズの漢文を書いた例}

\begin{verbatim}
\documentclass[a4j]{utarticle}
\usepackage{kanruby}
\def\yen{\noautoxspacing\symbol{92}}%
\begin{document}
\noindent
いろいろなサイズの漢文を書いた例です。
\bigskip

\kanrubyon
\let\kanrubysize=\tiny
\noindent
% \smallより\kansmallの方が訓点等の位置がうまく調整される。
{\kansmall
\Kan{見}{}{}{二}
\Kan{胤}{いん}{ヲ}{}
於童幼之
\Kan{中}{うち}{ニ}{一}
\Kuto{、}
\Kan{謂}{}{ヒテ}{二}
\Kan{胤}{}{ノ}{}
\Kan{父}{}{ニ}{一}
\Kan{曰}{}{ク}{}
...
\end{document}
\end{verbatim}

\subsubsection*{kanruby-sample03.tex kanruby.mfのフォント使用例}


\subsubsection*{kanruby-sample04.tex 割注の使用例}

\begin{verbatim}
\documentclass[a4j]{utarticle}
\usepackage{kanruby}
\def\KanW#1#2{#1\kanruby<3>[1][-0.4]{#2}\hskip.8zw}
\def\KutoW#1{\hskip-.5zw\kanruby<1>[1][-0.65]<.5>{\scriptsize #1}}
\begin{document}
\noindent
{\kanlarge
\kanrubyon
「%
\Kan{未}{}{ダ}{二}
\kanwari<1>{ふつうの}{割注。　}
嘗
\setlength{\kanwariskip}{-1pt}%
\kanwari<2>{行間を詰}{めたり、}
\setlength{\kanwariskip}{3pt}
\kanwari<0>{広げまく}{ったり、~}
\setlength{\kanwariskip}{0pt}
\kanwari<3>{元に戻した~}{りする割注。}
\Kan{終}{}{ラ}{一}
\Kuto{。}」
}%
\bigskip
...
\end{document}
\end{verbatim}

\subsubsection*{kanruby-sample05.tex 数字枠の出力例}


\subsubsection*{kanruby-sample06.tex 特別なルビを付す例}

\begin{Verbatim}
\documentclass[a4j]{utarticle}
\usepackage{ascmac}
\usepackage{kanruby}
\begin{document}
\section*{特別なルビを付す例}

kanrubyコマンドは、出力した一文字の直後に置き、
その漢字の上下左右の場所に特定の文字列を出力する命令を付加します。
その後、何事もなかったかのように、後続の文字に処理を移します。
\medskip

\small
\setbox0=\hbox{%
\begin{minipage}<y>[t]{65mm}
\begin{verbatim}
\kanrubyon%
\noindent
{\LARGE
麗\kanruby<1>[.2]<.6>{かな}
麗\kanruby<1>[.8]<.4>{カナ}
麗\kanruby<1>[1][-0.4]{\footnotesize 。}
麗\kanruby<3>[0]{\footnotesize 左注}
麗\kanruby<3>[1][-0.3]{上}
\let\kanrubysize=\footnotesize
麗\kanruby<1>[0]{□□}
\kankunoji\kanruby<1>[0]{}
\kangunoji\kanruby<1>[0]{}
麗}%
\end{verbatim}
\end{minipage}}
\normalsize%
...
\end{document}
\end{Verbatim}

\subsubsection*{kanruby-sample07.tex 枠で囲んで発音用符号を付す例}


詳しくは kanruby.sty そのものをお読みください。
それでは、楽しい \TeX 生活をお送りください！

\end{document}
