\documentclass[dvipdfmx,a4paper]{jlreq}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{jlreq-deluxe}
\usepackage[haranoaji]{pxchfon}
\usepackage[colorlinks,implicit=false]{hyperref}
\usepackage{pxjahyper}
\usepackage{bxghost}
\usepackage{bxtexlogo}
\bxtexlogoimport{*}
\usepackage{shortvrb}
\MakeShortVerb{\|}
\newcommand{\pkg}[1]{\textsf{#1}}
\newcommand{\cls}[1]{\textsf{#1}}
\newcommand{\cmd}[1]{\eghostguarded{\texttt{\symbol{92}#1}}}
\newcommand{\meta}[1]{$\langle$\nobreak\hspace{0pt}#1\nobreak\hspace{0pt}$\rangle$}


\title{\pkg{jlreq-deluxe}パッケージ}
\author{Yukimasa Morimi (h20y6m)\thanks{\url{https://github.com/h20y6m}}}
\date{2024-02-18}

\begin{document}

\maketitle


\section{概要}

\pLaTeX 及び\upLaTeX で\cls{jlreq}クラス\footnote{\url{https://www.ctan.org/pkg/jlreq}}%
を使用する場合に和文を多書体（多ウェイト）にする機能を提供する。

\cls{jlreq}クラスではJLReq\footnote{W3C「日本語組版処理の要件」（\url{https://www.w3.org/TR/jlreq/?lang=ja}）}に従った
組版を実現するために独自の和文VFを用いている。
このため、多書体（多ウェイト）にしようと\pkg{japanese-otf}パッケージ
\footnote{\url{https://www.ctan.org/pkg/japanese-otf}}を利用すると
和文VFが置き換わってしまい、\pkg{jlreq}クラスの意図する組版が得られなくなってしまう。

このパッケージでは\cls{jlreq}クラスの提供する和文VFを元に\pkg{japanese-otf}に合わせた
和文VFを提供し、さらに、\pkg{pxjodel}パッケージ
\footnote{\url{https://www.ctan.org/pkg/pxjodel}}を利用した和文VF置き換え機能を提供する。


\section{前提条件}

\begin{itemize}
\item \TeX フォーマット：\LaTeX
\item \TeX エンジン：\pTeX 及び\upTeX
\item DVIウェア：和文VFのfallback機能をサポートするもの
  \begin{itemize}
  \item dvipdfmx Version 20200315以降
  \item dvips(k) 2021.1以降
  \item dvisvgm 2.11以降
  \end{itemize}
\item 前提パッケージ：
  \begin{itemize}
  \item \pkg{pxjodel}パッケージ
  \end{itemize}
\end{itemize}


\section{使用方法}

通常のパッケージと同様に\cmd{usepackage}で読み込む。

\begin{quote}
\begin{verbatim}
\usepackage[オプション]{jlreq-deluxe}
\end{verbatim}
\end{quote}

基本的に\cls{jlreq}クラスとともに使用することを想定しているが、
他のクラスでも使用することは出来る。


\section{オプション}

基本的に\pkg{otf}パッケージのと同じオプションが使用できるが、
以下のオプションは動作が異なる。

\begin{itemize}
\item |deluxe|\\
  既定で有効になる。
  無効にしたい場合は|deluxe=false|を指定する。
\item |burasage|\\
  使用できない。
  ぶら下げ組みを行いたい場合は|hanging_punctuation|オプションを使用する。
\item |jis2004|\\
  既定で有効になる。
  無効にしたい場合は|jis2004=false|を指定する。
\item |uplatex|\\
  \cls{jlreq}クラスを使用している場合は自動的に設定される。
\item |scale|\\
  \cls{jlreq}クラスを使用している場合は自動的に設定され指定は無視される。
\end{itemize}

また以下のオプションが使用できる。

\begin{itemize}
\item |hanging_punctuation|\\
  \cls{jlreq}クラスの|hanging_punctuation|オプションに対応するVFを使用する。
  \cls{jlreq}クラスを使用している場合は自動的に設定され指定は無視される。
\item |zenkakunibu_nibu|\\
  \cls{jlreq}クラスの|open_bracket_pos=zenkakunibu_nibu|オプションに対応するVFを使用する。
  \cls{jlreq}クラスを使用している場合は自動的に設定され指定は無視される。
\end{itemize}


\end{document}
