% 文字コードは UTF-8
% lualatex で組版する（LuaTeX-ja 使用）
\documentclass[a4paper]{ltjsarticle}
\usepackage[haranoaji]{luatexja-preset}
\setmainfont{Harano Aji Mincho}
\setsansfont{Harano Aji Gothic}
\setmonofont{InconsolataN}
\usepackage{color}
\definecolor{myblue}{rgb}{0,0,0.75}
\definecolor{mygreen}{rgb}{0,0.45,0}
\usepackage[colorlinks,hyperfootnotes=false]{hyperref}
\hypersetup{linkcolor=myblue,urlcolor=mygreen,
  pdftitle={bxjaprnindパッケージ},
  pdfauthor={八登崇之}}
\usepackage{bxtexlogo}
\bxtexlogoimport{*}
\usepackage{shortvrb}
\MakeShortVerb{\|}
\newcommand{\PkgVersion}{0.4a}
\newcommand{\PkgDate}{2021/06/18}
\newcommand{\Pkg}[1]{\textsf{#1}}
\newcommand{\Meta}[1]{$\langle$\mbox{}#1\mbox{}$\rangle$}
\newcommand{\Note}{\par\noindent ※}
\newcommand{\Means}{~：\quad}
\providecommand{\pTeX}{p\TeX}
\providecommand{\upTeX}{u\pTeX}
%-----------------------------------------------------------
\begin{document}
\title{\Pkg{bxjaprnind} パッケージ（v\PkgVersion）}
\author{八登崇之\ （Takayuki YATO; aka.~``ZR''）}
\date{v\PkgVersion\quad[\PkgDate]}
\maketitle

%===========================================================
\section{概要}
\label{sec:Overview}

以下の機能を提供する。
\begin{itemize}
\item 段落冒頭および強制改行後の行頭における開き括弧の前に
  （環境により）挿入されるグルーを除去する。
  このようなグルーが行分割の都合で伸縮すると、
  ソース上で同じ条件にある括弧の位置が揃わないという
  不都合が生じる。
\item さらに、そのような開き括弧の前の字下げを、
  著者が予め設定した量に自動的に調整する。
\item 強制改行命令（|\\|）のオプションとして
  改行後に予め設定した量の字下げを行えるようにする。
\end{itemize}

\paragraph{対応フォーマット} \LaTeX。

\paragraph{対応エンジン} 次の何れか。
\begin{itemize}
\item {\pTeX}またはその拡張。
\item {\XeTeX}（\Pkg{ZXjatype}パッケージ使用時）
\item {\LuaTeX}（\Pkg{LuaTeX-ja}パッケージ使用時）
\end{itemize}

\paragraph{依存パッケージ} 次の通り。
\begin{itemize}
\item \Pkg{bxtoolbox} パッケージ（\Pkg{BXbase}バンドルに含まれる）
\item 0.3版以降は\Pkg{everyhook}パッケージに依存しなくなった。
しかし、\Pkg{everyhook}パッケージが利用可能である場合はそれを利用する。
\item \Pkg{everyhook}パッケージは\Pkg{svn-proc} パッケージに依存する。
\end{itemize}

%===========================================================
\section{パッケージの読込}
\label{sec:Loading}

|\usepackage| で読み込む。
\begin{verbatim}
\usepackage[|\Meta{オプション}|...]{bxjaprnind}
\end{verbatim}

以下のオプションが利用できる。

\begin{itemize}
\item |force|\Means
  本パッケージは「段落の先頭の走査」を行っているため、同様の機能を
  もつクラス・パッケージと衝突する可能性がある。
  |force|は、衝突時に本パッケージの機能を優先することを試みる。
\end{itemize}

%===========================================================
\section{機能}
\label{sec:Usage}

以下の命令が提供される。

\begin{itemize}
\item |\useparheadparenindent|／|\nouseparheadparenindent|\Means
  段落頭での開き括弧調整を有効／無効にする。
\item |\uselineheadparenindent|／|\nouselineheadparenindent|\Means
  強制改行後の行頭での開き括弧調整を有効／無効にする。
  \Note 折り返しの行頭の調整には対応しない
  （これにはJFMの修正が必須）。
  現在(u){\pTeX}で標準的に用いられるJFMの場合、
  折り返し行頭の開き括弧の前には空きは入らない。
\item |\prnind[|\Meta{実数$r$}|]|\Means
  段落頭で用いて、当該の箇所での調整を
  （|\nouseparheadparenindent| の状態でも）有効にする。
  オプションの引数が存在する場合は、
  開き括弧の前の空きを$r$全角幅とする。
\item |\\[|\Meta{引数}|]|／|\\*[|\Meta{引数}|]|\Means
  強制改行命令のオプション引数が次のように拡張される。
  \begin{itemize}
  \item |\\[>]|\Means
    行頭に |\lineheadforceindentamount| で指定した幅の
    字下げを挿入する。
  \item |\\[!]|\Means
    開き括弧調整の有効・無効を逆転する。
    元々の引数（改行調整の値）と併用する場合は、
    |!| や |>| を長さの値の前に記述する
    （例えば |\\[>!2mm]|）。
  \end{itemize}
\item |\parheadparenindentamount{|\Meta{実数$r$}|}|\Means
  段落頭での開き括弧の前の追加の空きを$r$全角幅とする。
  段落下げの空き（|\parindent|）はこれとは独立に入ることに注意。
\item |\lineheadparenindentamount{|\Meta{実数$r$}|}|\Means
  強制改行後の行頭での開き括弧の前の追加の空きを$r$全角幅とする。
  （強制字下げ（|\\[>]|）の空きとは独立。）
\item |\lineheadforceindentamount{|\Meta{実数$r$}|}|\Means
  強制字下げ（|\\[>]|）の空きを$r$全角幅とする。
\item |\usedialogueparenindent|／|\nousedialogueparenindent|\Means
  会話用の特別な開き括弧調整を有効／無効にする。
  有効にすると鉤括弧「」『』について以下のように調整方法が変わる。
  \begin{itemize}
  \item 空きの量を |\dialogueparenindentamount| で指定された値にする。
  \item 段落頭の場合は段落下げの空き（|\parindent|）を無効にする。
  \end{itemize}
  \Note
  臨時に鉤括弧の扱いを通常の括弧と同じにしたい場合は、
  当該の鉤括弧の前に |\prnind| を置けばよい。
\item |\dialogueparenindentamount{|\Meta{実数$r$}|}|\Means
  段落頭・強制改行行頭での会話用の開き鉤括弧の前の追加の
  空きを$r$全角幅とする。
\end{itemize}

\end{document}
