texlive[44117] Master/texmf-dist: jlreq (29apr17)

commits+karl at tug.org commits+karl at tug.org
Sun Apr 30 00:22:55 CEST 2017


Revision: 44117
          http://tug.org/svn/texlive?view=revision&revision=44117
Author:   karl
Date:     2017-04-30 00:22:55 +0200 (Sun, 30 Apr 2017)
Log Message:
-----------
jlreq (29apr17)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/jlreq/README-ja.md
    trunk/Master/texmf-dist/doc/latex/jlreq/README.md
    trunk/Master/texmf-dist/doc/latex/jlreq/jlreq-ja.html
    trunk/Master/texmf-dist/doc/latex/jlreq/jlreq.html
    trunk/Master/texmf-dist/fonts/tfm/public/jlreq/bjlreq-v.tfm
    trunk/Master/texmf-dist/fonts/tfm/public/jlreq/bjlreq.tfm
    trunk/Master/texmf-dist/fonts/tfm/public/jlreq/bjlreqg-v.tfm
    trunk/Master/texmf-dist/fonts/tfm/public/jlreq/bjlreqg.tfm
    trunk/Master/texmf-dist/fonts/tfm/public/jlreq/bzjlreq-v.tfm
    trunk/Master/texmf-dist/fonts/tfm/public/jlreq/bzjlreq.tfm
    trunk/Master/texmf-dist/fonts/tfm/public/jlreq/bzjlreqg-v.tfm
    trunk/Master/texmf-dist/fonts/tfm/public/jlreq/bzjlreqg.tfm
    trunk/Master/texmf-dist/fonts/tfm/public/jlreq/jlreq-v.tfm
    trunk/Master/texmf-dist/fonts/tfm/public/jlreq/jlreq.tfm
    trunk/Master/texmf-dist/fonts/tfm/public/jlreq/jlreqg-v.tfm
    trunk/Master/texmf-dist/fonts/tfm/public/jlreq/jlreqg.tfm
    trunk/Master/texmf-dist/fonts/tfm/public/jlreq/zjlreq-v.tfm
    trunk/Master/texmf-dist/fonts/tfm/public/jlreq/zjlreq.tfm
    trunk/Master/texmf-dist/fonts/tfm/public/jlreq/zjlreqg-v.tfm
    trunk/Master/texmf-dist/fonts/tfm/public/jlreq/zjlreqg.tfm
    trunk/Master/texmf-dist/fonts/vf/public/jlreq/ubjlreq-v.vf
    trunk/Master/texmf-dist/fonts/vf/public/jlreq/ubjlreq.vf
    trunk/Master/texmf-dist/fonts/vf/public/jlreq/ubjlreqg-v.vf
    trunk/Master/texmf-dist/fonts/vf/public/jlreq/ubjlreqg.vf
    trunk/Master/texmf-dist/fonts/vf/public/jlreq/ubzjlreq-v.vf
    trunk/Master/texmf-dist/fonts/vf/public/jlreq/ubzjlreq.vf
    trunk/Master/texmf-dist/fonts/vf/public/jlreq/ubzjlreqg-v.vf
    trunk/Master/texmf-dist/fonts/vf/public/jlreq/ubzjlreqg.vf
    trunk/Master/texmf-dist/fonts/vf/public/jlreq/ujlreq-v.vf
    trunk/Master/texmf-dist/fonts/vf/public/jlreq/ujlreq.vf
    trunk/Master/texmf-dist/fonts/vf/public/jlreq/ujlreqg-v.vf
    trunk/Master/texmf-dist/fonts/vf/public/jlreq/ujlreqg.vf
    trunk/Master/texmf-dist/fonts/vf/public/jlreq/uzjlreq-v.vf
    trunk/Master/texmf-dist/fonts/vf/public/jlreq/uzjlreq.vf
    trunk/Master/texmf-dist/fonts/vf/public/jlreq/uzjlreqg-v.vf
    trunk/Master/texmf-dist/fonts/vf/public/jlreq/uzjlreqg.vf
    trunk/Master/texmf-dist/tex/latex/jlreq/jlreq.cls
    trunk/Master/texmf-dist/tex/luatex/jlreq/jfm-jlreqv.lua

Added Paths:
-----------
    trunk/Master/texmf-dist/fonts/tfm/public/jlreq/ubjlreq-q.tfm
    trunk/Master/texmf-dist/fonts/tfm/public/jlreq/ubjlreqg-q.tfm
    trunk/Master/texmf-dist/fonts/tfm/public/jlreq/ubzjlreq-q.tfm
    trunk/Master/texmf-dist/fonts/tfm/public/jlreq/ubzjlreqg-q.tfm
    trunk/Master/texmf-dist/fonts/tfm/public/jlreq/ujlreq-q.tfm
    trunk/Master/texmf-dist/fonts/tfm/public/jlreq/ujlreqg-q.tfm
    trunk/Master/texmf-dist/fonts/tfm/public/jlreq/uzjlreq-q.tfm
    trunk/Master/texmf-dist/fonts/tfm/public/jlreq/uzjlreqg-q.tfm
    trunk/Master/texmf-dist/fonts/vf/public/jlreq/ubjlreq-q.vf
    trunk/Master/texmf-dist/fonts/vf/public/jlreq/ubjlreqg-q.vf
    trunk/Master/texmf-dist/fonts/vf/public/jlreq/ubzjlreq-q.vf
    trunk/Master/texmf-dist/fonts/vf/public/jlreq/ubzjlreqg-q.vf
    trunk/Master/texmf-dist/fonts/vf/public/jlreq/ujlreq-q.vf
    trunk/Master/texmf-dist/fonts/vf/public/jlreq/ujlreqg-q.vf
    trunk/Master/texmf-dist/fonts/vf/public/jlreq/uzjlreq-q.vf
    trunk/Master/texmf-dist/fonts/vf/public/jlreq/uzjlreqg-q.vf

Modified: trunk/Master/texmf-dist/doc/latex/jlreq/README-ja.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/jlreq/README-ja.md	2017-04-29 22:19:37 UTC (rev 44116)
+++ trunk/Master/texmf-dist/doc/latex/jlreq/README-ja.md	2017-04-29 22:22:55 UTC (rev 44117)
@@ -56,11 +56,17 @@
 ```
 です.`&`が省略されている場合は自動で調整されます.
 
+### `\tatechuyoko`
+縦中横を出力します.`\tatechuyoko{<文字列>}`とします.縦書きでない場所で使うとエラーになります.
+
+### `\jafontsize`
+和文フォントサイズを指定する`\fontsize`です.クラスオプションで`jafontscale=0.9`とされている場合,`\fontsize{9pt}{15pt}`とすると和文フォントのサイズは`8.1pt`となりますが,`\jafontsize{9pt}{15pt}`とすると`9pt`となります.(欧文フォントサイズは`10pt`となる.)なお,第二引数は`\fontsize`の第二引数と全く同じです.
+
 ### `\jlreqsetup`
-設定用命令です.プリアンブルでしか使えません.文書に対する殆どの設定はクラスオプションにより行いますが,一部の設定はこの命令を通じて行います.
+設定用命令です.プリアンブルでしか使えません.文書に対する設定は,クラスオプションとして行うか`\jlreqsetup`を通じて行うかします.どちらで設定するかは設定項目によります.
 
 ### その他
-* ルビは提供されません.[PXrubrica](https://github.com/zr-tex8r/PXrubrica)(pLaTeX / upLaTeX)またはluatexja-ruby(LuaLaTeX,LuaTeX-jaパッケージに付属)を使うと良いかと思います.
+* ルビは提供されません.[PXrubrica](https://github.com/zr-tex8r/PXrubrica)またはluatexja-ruby(LuaLaTeX,LuaTeX-jaパッケージに付属)を使うと良いかと思います.
 * 日本語組版処理の要件2.3.2.dによれば,二段組の最後のページの各段の行数は揃えることが望ましいとされていますが,この処理は行われません.`nidanfloat`パッケージを使い,
 ```latex
 \usepackage[balance]{nidanfloat}
@@ -70,57 +76,68 @@
 ## 各種設計
 設計はクラスオプションまたは`\jlreqsetup`によりkeyval形式で行います.以下では次の用法を使います.
 
-* `[A/B]`: AまたはBです.`[A/B/C]`等も同様.
-* `<寸法>`: TeXが認識する寸法です.簡単な式(10pt+10ptのような)を使うこともできます.また,クラスオプションでは,場合によっては次のような特殊な値を使うこともできます.(これらはpLaTeX / upLaTeXではもとから利用可能ですが,LuaLaTeXでも利用可能なように処理されています.)`\jlreqsetup`内のような場所では,常に`\zw`や`\zh`により全角幅が記述できます.以下,たとえば`Q`が利用可能な場合は`<寸法;Q>`のように記述します.
-    - `Q`: 0.25mmと解釈されます.
-    - `zw`, `zh`: 全角幅として解釈されます.
+* `[A/B]`:AまたはBです.`[A/B/C]`等も同様.
+* `<寸法>`:TeXが認識する寸法です.簡単な式(`10pt+10pt`のような)を使うこともできます.また,クラスオプションでは,場合によっては次のような特殊な値を使うこともできます.(これらはpLaTeX / upLaTeXではもとから利用可能ですが,LuaLaTeXでも利用可能なように処理されています.)`\jlreqsetup`内のような場所では,常に`\zw`や`\zh`により全角幅が記述できます.以下,たとえば`Q`が利用可能な場合は`<寸法;Q>`のように記述します.
+    - `Q`:0.25mmと解釈されます.
+    - `zw`, `zh`:全角幅として解釈されます.
 
 
 ### 基本版面
 クラスオプションです.
 
-* `paper=[<紙サイズ名>/{<寸法>,<寸法>}]`:紙サイズです.紙サイズ名はa0からa10,b0からb10,c2からc8を指定できます.B列はJIS B列です.また,`{<縦>,<横>}`と直接寸法を指定することもできます.
-* `fontsize=<寸法;Q>` : フォントサイズ.デフォルトは10pt.
-* `line_length=<寸法;zw,zh>` : 一行の長さ.デフォルトは紙の縦幅の0.75倍.実際の値は一文字の長さの整数倍になるように補正されます.
-* `number_of_lines=<自然数値>` : 一ページの行数.デフォルトは紙の横幅の0.75倍になるような値.
-* `gutter=<寸法;zw,zh>` : のどの余白の大きさ.
+* `paper=[<紙サイズ名>/{<寸法>,<寸法>}]`:紙サイズです.紙サイズ名はa0からa10,b0からb10,c2からc8を指定できます.B列はJIS B列です.また,`{<横>,<縦>}`と直接寸法を指定することもできます.
+* `fontsize=<寸法;Q>`:欧文フォントサイズ.デフォルトは10pt.
+* `jafontsize=<寸法;Q>`:和文フォントサイズ.
+* `jafontscale=<実数値>`:欧文フォントと和文フォントの比(和文 / 欧文).`fontsize`と`jafontsize`が両方指定されている場合は無視される.デフォルトは1.
+* `line_length=<寸法;zw,zh>`:一行の長さ.デフォルトは紙の縦幅の0.75倍.実際の値は一文字の長さの整数倍になるように補正されます.
+* `number_of_lines=<自然数値>`:一ページの行数.デフォルトは紙の横幅の0.75倍になるような値.
+* `gutter=<寸法;zw,zh>`:のどの余白の大きさ.
     - `tate`無指定時は奇数ページ左,偶数ページ右の余白
     - `tate`指定時は奇数ページ右,偶数ページ左の余白
     - `twoside`が指定されていない時は,常に奇数ページ扱いで余白が設定される
-* `head_space=<寸法;zw,zh>` : 天の空き量.デフォルトは中央寄せになるような値.
-* `foot_space=<寸法;zw,zh>` : 地の空き量.デフォルトは中央寄せになるような値.
-* `baselineskip=<寸法;Q,zw,zh>` : 行送り.デフォルトはfontsizeの1.7倍.
-* `linegap=<寸法;Q,zw,zh>` : 行間.
+* `head_space=<寸法;zw,zh>`:天の空き量.デフォルトは中央寄せになるような値.
+* `foot_space=<寸法;zw,zh>`:地の空き量.デフォルトは中央寄せになるような値.
+* `baselineskip=<寸法;Q,zw,zh>`:行送り.デフォルトは`jafontsize`の1.7倍.
+* `linegap=<寸法;Q,zw,zh>`:行間.
 * `headfoot_sidemargin=<寸法;zw,zh>`:柱やノンブルの左右の空き.
-* `column_gap=<寸法;zw,zh>`: 段間(twocolumn指定時のみ).
+* `column_gap=<寸法;zw,zh>`:段間(`twocolumn`指定時のみ).
+* `sidenote_width=<寸法;zw,zh>`:傍注の幅を指定します.
 
 ### 組み方
 クラスオプションです.
-* `open_bracket_pos=[zenkaku_tentsuki/zenkakunibu_nibu/nibu_tentsuki]`: 始め括弧が行頭に来た際の配置方法を指定します.それぞれ段落開始全角折り返し行頭天付き(デフォルト),段落開始全角二分折り返し行頭二分,段落開始二分折り返し行頭天付きを意味します.
-* `hanging_punctuation`: ぶら下げ組をします.
+* `open_bracket_pos=[zenkaku_tentsuki/zenkakunibu_nibu/nibu_tentsuki]`:始め括弧が行頭に来た際の配置方法を指定します.それぞれ段落開始全角折り返し行頭天付き(デフォルト),段落開始全角二分折り返し行頭二分,段落開始二分折り返し行頭天付きを意味します.
+* `hanging_punctuation`:ぶら下げ組をします.
 
 ### 注関係
-* `reference_mark=[inline/interlinear]`: 合印の配置方法を指定します.`inline`にすると該当項目の後ろの行中に配置します.`interlinear`を指定すると該当項目の上(横組)または右(縦組)に配置します.クラスオプションです.
-* `sidenote_type=[number/symbol]`: クラスオプションです.傍注と本文との対応の方法を指定します.`number`が規定で,注の位置に通し番号が入り,それにより対応が示されます.`symbol`とすると,注の位置に特定の記号が入り,また注がついている単語が強調されます.ここに入る記号と単語の強調は`\jlreqsetup`に次を渡すことで指定します.
+`\jlreqsetup`で指定します.
 
-    - `sidenote_symbol=<記号>`: 注の位置に入る記号.デフォルト*
-    - `sidenote_keyword_font=<命令>`: 注のついている単語のフォント指定.デフォルトは無し(強調しない)
+* `reference_mark=[inline/interlinear]`:合印の配置方法を指定します.`inline`にすると該当項目の後ろの行中に配置します.`interlinear`を指定すると該当項目の上(横組)または右(縦組)に配置します.
+* `sidenote_type=[number/symbol]`:傍注と本文との対応の方法を指定します.`number`が規定で,注の位置に通し番号が入り,それにより対応が示されます.`symbol`とすると,注の位置に特定の記号が入り,また注がついている単語が強調されます.
+* `sidenote_symbol=<記号>`:`sidenote_symbol=symbol`の時に,注の位置に入る記号.デフォルト*
+* `sidenote_keyword_font=<命令>`:`sidenote_symbol=symbol`の時に,注のついている単語のフォント指定.デフォルトは無し(強調しない)
+* `endnote_position=[headings/paragraph/{_<見出し名1>,_<見出し名2>,...}]`:後注の出力場所を指定します.`headings`は各見出しの直前(デフォルト),`paragraph`は改段落の際に出力します.また,`endnote_position={_chapter,_section}`とすると,`\chapter`と`\section`の直前に出力します.
 
-* `sidenote_width=<寸法;zw,zh>`: 傍注の幅を指定します.基本版面の設定に合わせて設定してください.クラスオプションです.
-* `endnote_position=[headings/paragraph/{_<見出し名1>,_<見出し名2>,...}]`:後注の出力場所を指定します.`headings`は各見出しの直前(デフォルト),`paragraph`は改段落の際に出力します.また,`endnote_position={_chapter,_section}`とすると,`\chapter`と`\section`の直前に出力します.クラスオプションです.
-
 ### キャプション
 図表のキャプションを`\jlreqsetup`で変更できます.
-* `caption_font=<命令>`: キャプション自身のフォントを指定します.
-* `caption_label_font=<命令>`: キャプションのラベルのフォントを指定します.
+* `caption_font=<命令>`:キャプション自身のフォントを指定します.
+* `caption_label_font=<命令>`:キャプションのラベルのフォントを指定します.
 
 ### 引用
-`quote / quotation / verse`環境の挙動をクラスオプションで指定できます.
-* `quote_indent=<寸法;zw,zh>`: 字下げを指定します.デフォルトは2zwです.一行の長さが文字サイズの整数倍になるように調整されます.
-* `quote_end_indent=<寸法;zw,zh>`: 字上げを指定します.デフォルトは0zwです.
-* `quote_beforeafter_space=<寸法>`: 前後の空きを指定します.`quote_beforeafter_space=1\baselineskip`とすると一行あきます.
-* `quote_fontsize=[normalsize/small/footnotesize/scriptsize/tiny]`: フォントサイズを指定します.
+`quote / quotation / verse`環境の挙動を`\jlreqsetup`で指定できます.
+* `quote_indent=<寸法>`:字下げを指定します.デフォルトは2zwです.一行の長さが文字サイズの整数倍になるように調整されます.
+* `quote_end_indent=<寸法>`:字上げを指定します.デフォルトは0zwです.
+* `quote_beforeafter_space=<寸法>`:前後の空きを指定します.`quote_beforeafter_space=1\baselineskip`とすると一行あきます.
+* `quote_fontsize=[normalsize/small/footnotesize/scriptsize/tiny]`:フォントサイズを指定します.
 
+### 箇条書き
+`\jlreqsetup`で指定します.
+* `itemization_beforeafter_space=<寸法>`:箇条書きの前後の空きを指定します.
+* `itemization_itemsep=<寸法>`:項目同士の空きを指定します.
+
+### 定理環境
+`\jlreqsetup`で指定します.
+* `theorem_beforeafter_space=<寸法>`:定理環境の前後の空きを指定します.
+
 ## 見出し
 見出しの設定は,`\Declare***Heading`という命令で行います(***には見出しの種類に応じた文字列が入る).書式はすべて
 
@@ -133,32 +150,32 @@
 ### 扉見出し
 `\DeclareTobiraHeading`で作成します.通常のクラスファイルにおける`\section`等と同じ書式の命令ができます.設定は以下の通り.
 
-* `type=[han/naka]`: `han`だと半扉見出しを,`naka`だと中扉見出しを作ります.
-* `pagestyle=<ページスタイル>`: 見出し箇所のページスタイルを指定します.
-* `label_format=<書式>`: ラベルを出力する命令を指定します.たとえば`label_format={第\thechapter 章}`のように指定します.
-* `format=<書式>`: 実際に出力する書式を指定します.`format={\null\vfil {\Huge\bfseries #1#2}}`のようにします.`#1`はラベルに,`#2`は見出し文字列に置き換えられます.
+* `type=[han/naka]`:`han`だと半扉見出しを,`naka`だと中扉見出しを作ります.
+* `pagestyle=<ページスタイル>`:見出し箇所のページスタイルを指定します.
+* `label_format=<書式>`:ラベルを出力する命令を指定します.たとえば`label_format={第\thechapter 章}`のように指定します.
+* `format=<書式>`:実際に出力する書式を指定します.`format={\null\vfil {\Huge\bfseries #1#2}}`のようにします.`#1`はラベルに,`#2`は見出し文字列に置き換えられます.
 
 ### 別行見出し
 `\DeclareBlockHeading`で作成します.`\<命令名>*[running head]{見出し文字列}[副題]`という書式の命令を作成します.設定は以下の通り.
 
 #### 書式関連
-* `font=<命令>`: 見出しのフォントを指定します.
-* `subtitle_font=<命令>`: 副題のフォントを指定します.
-* `label_format=<命令>`: ラベルのフォーマットを指定します.`label_format={第\thechapter 章}`などのようにします.
-* `subtitle_format=<命令>`: 副題のフォーマットを指定します.`subtitle_format={「#1」}`のようにします.`#1`が副題自身になります.
+* `font=<命令>`:見出しのフォントを指定します.
+* `subtitle_font=<命令>`:副題のフォントを指定します.
+* `label_format=<命令>`:ラベルのフォーマットを指定します.`label_format={第\thechapter 章}`などのようにします.
+* `subtitle_format=<命令>`:副題のフォーマットを指定します.`subtitle_format={「#1」}`のようにします.`#1`が副題自身になります.
 
 #### インデント関連
 * `indent=<寸法/center>` 見出し全体の字下げ量を指定します.`indent=center`とすると見出しを中央寄せします.
-* `end_indent=<寸法/center>`: 見出し全体の字上げ量を指定します.`end_indent=center`とすると見出しを中央寄せします.
-* `after_label_space=<寸法>`: ラベル後,見出し文字列までの空きを指定します.
-* `second_heading_text_indent=<寸法/{寸法,寸法}>`: 見出し文字列の二行目以降のインデントを指定します.一行目の頭を起点として指定しますが,`second_heading_text_indent=*1\zw`のように先頭に`*`をつけるとラベルの頭を起点としての指定になります.(ラベルがない時は一行目の頭が起点.)また,`second_heading_text_indent={<ラベルがある時>,<ラベルがない時>}`という指定をすると,ラベルの有無に応じて値を変更することができます.`<ラベルがある時>`の指定ではやはり`*`を使うことができます.
-* `subtitle_indent=<寸法>`: 副題のインデント量を指定します.見出し文字列の一行目を起点として指定します.
+* `end_indent=<寸法/center>`:見出し全体の字上げ量を指定します.`end_indent=center`とすると見出しを中央寄せします.
+* `after_label_space=<寸法>`:ラベル後,見出し文字列までの空きを指定します.
+* `second_heading_text_indent=<寸法/{寸法,寸法}>`:見出し文字列の二行目以降のインデントを指定します.一行目の頭を起点として指定しますが,`second_heading_text_indent=*1\zw`のように先頭に`*`をつけるとラベルの頭を起点としての指定になります.(ラベルがない時は一行目の頭が起点.)また,`second_heading_text_indent={<ラベルがある時>,<ラベルがない時>}`という指定をすると,ラベルの有無に応じて値を変更することができます.`<ラベルがある時>`の指定ではやはり`*`を使うことができます.
+* `subtitle_indent=<寸法>`:副題のインデント量を指定します.見出し文字列の一行目を起点として指定します.
 
 #### その他
-* `subtitle_break=<true/false>`: 見出し文字列と副題の間を改行するか指定します.
-* `allowbreak_if_evenpage=[true/false]`: 見出しが偶数ページにあった場合,その直後の改ページを許可します.
-* `pagebreak=[clearpage/cleardoublepage/clearcolumn/nariyuki]`: 見出し直前の改ページを指定します.それぞれ,改ページ,改丁,改段,なりゆきです.
-* `afterindent=[true/false]`: 見出し直後の段落の字下げを行うかを指定します.
+* `subtitle_break=<true/false>`:見出し文字列と副題の間を改行するか指定します.
+* `allowbreak_if_evenpage=[true/false]`:見出しが偶数ページにあった場合,その直後の改ページを許可します.
+* `pagebreak=[clearpage/cleardoublepage/clearcolumn/nariyuki]`:見出し直前の改ページを指定します.それぞれ,改ページ,改丁,改段,なりゆきです.
+* `afterindent=[true/false]`:見出し直後の段落の字下げを行うかを指定します.
 
 #### 行取り
 行取りの指定は以下のいずれかの方法で行うことができます.
@@ -170,16 +187,16 @@
 ### 同行見出し
 `\DeclareRuninHeading`で作成します.通常の文書クラスにおける`\section`と同様の,`\<命令名>*[running head]{見出し文字列}`という書式の命令が作成されます.設定は以下の通り.
 
-* `font=<命令>`: 見出しのフォントを指定します.
+* `font=<命令>`:見出しのフォントを指定します.
 * `indent=<寸法>` 見出し文字列全体の字下げ量を指定します.
 
 ### 窓見出し
 `\DeclareCutinHeading`で作成します.`\<命令名>{見出し文字列}`という書式の命令を作成します.設定は以下の通り.
 
-* `font=<命令>`: 見出しのフォントを指定します.
-* `indent=<寸法>`: 見出し全体の字下げ量を指定します.
-* `after_space=<寸法>`: 見出しと本文との間の空きを指定します.
-* `onelinemax=<寸法>`, `twolinemax=<寸法>`: 見出し文字列の長さが`onelinemax`以下ならば一行で,`twolinemax`以下ならば二行で窓見出しを出力します.それ以上の場合は三行です.デフォルトはそれぞれ6文字,20文字の長さ.
+* `font=<命令>`:見出しのフォントを指定します.
+* `indent=<寸法>`:見出し全体の字下げ量を指定します.
+* `after_space=<寸法>`:見出しと本文との間の空きを指定します.
+* `onelinemax=<寸法>`, `twolinemax=<寸法>`:見出し文字列の長さが`onelinemax`以下ならば一行で,`twolinemax`以下ならば二行で窓見出しを出力します.それ以上の場合は三行です.デフォルトはそれぞれ6文字,20文字の長さ.
 
 ### `\ModifyHeading`
 既に(上のどれかを使い)定義された見出し命令の設定を変更します.たとえば
@@ -204,19 +221,19 @@
 ```
 によりページスタイルを定義することができます.柱やノンブルを出力します.設定は以下の通り.
 
-* `yoko`: 横書きで上下に出力します.デフォルト.
-* `tate`: 縦書きで小口側に出力します.
-* `font=<命令>`: 柱とノンブルのフォントを指定します.
-* `running_head_position`, `nombre_position`: 柱とノンブルの位置を指定します.`yoko`か`tate`のどちらが指定されているかで挙動が変わります.
+* `yoko`:横書きで上下に出力します.デフォルト.
+* `tate`:縦書きで小口側に出力します.
+* `font=<命令>`:柱とノンブルのフォントを指定します.
+* `running_head_position`, `nombre_position`:柱とノンブルの位置を指定します.`yoko`か`tate`のどちらが指定されているかで挙動が変わります.
     - `yoko`指定時:`top-left`のように指定できます.`top/bottom/center/left/right/gutter/fore_edge`が使えます.`gutter`はのど,`fore_edge`は小口です.`left`,`right`の指定は奇数ページに対するものです.`twoside`が指定されている場合,偶数ページはその逆になります.
     - `tate`指定時:`<寸法>`が指定できます.`running_head_position`は柱の天からの下げ量を,`nombre_position`はノンブルの地からの上げ量を指定します.
-* `nombre=<書式>`: 出力するノンブルを指定します.デフォルトは`\thepage`.
+* `nombre=<書式>`:出力するノンブルを指定します.デフォルトは`\thepage`.
 * `odd_running_head=<書式>`,`even_running_head=<書式>`:それぞれ奇数ページ,偶数ページの柱を指定します.`_section`のように`_`から始まる名前を指定すると,対応する見出しを出力します.(`_section`だと現在の`\section`を出力する.)
 
 `\ModifyPageStyle`により既存のページスタイルを改変することが可能です.
 
 ## その他
-* クラスオプション`jlreq_warnings`を渡されると,日本語組版処理の要件に反する設定が行われた場合に警告がされます.
+* クラスオプション`jlreq_notes`が渡されると,日本語組版処理の記述と矛盾する設定が行われた場合に通知がされます.
 
 ## ライセンス
 このパッケージは二条項BSDライセンスの元で配布されています.詳しくは[LICENSE](LICENSE)をご覧ください.
@@ -240,8 +257,15 @@
 * 2017-04-04
     - バグ修正.
     - `\DeclarePageStyle`に`tate`と`font`オプションを追加.
+* 2017-04-29
+    - バグ修正
+    - `jafontsize`と`jafontscale`をクラスオプションに,また`\jafontsize`を追加.
+    - `\tatechuyoko`を追加.
+    - クラスオプション`jlreq_warnings`を`jlreq_notes`に変更.
+    - いくつかのクラスオプションを`\jlreqsetup`に移動.
+    - いくつかのオプションを`\jlreqsetup`に追加.
+    - クラスオプションの`paper={<縦>,<横>}`を`paper={<横>,<縦>}`に変更.
 
-
 --------------
 Noriyuki Abe
 https://github.com/abenori/jlreq

Modified: trunk/Master/texmf-dist/doc/latex/jlreq/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/jlreq/README.md	2017-04-29 22:19:37 UTC (rev 44116)
+++ trunk/Master/texmf-dist/doc/latex/jlreq/README.md	2017-04-29 22:22:55 UTC (rev 44117)
@@ -38,6 +38,14 @@
 * 2017-04-04
     - Fix a bug.
     - Add options `tate` and `font` to `\DeclarePageStyle`.
+* 2017-04-29
+    - Fix bugs.
+    - Add `jafontsize` and `jafontscale` options and `\jafontsize`.
+    - Add `\tatechuyoko`.
+    - `jlreq_warnings` -> `jlreq_notes` (class option).
+    - Move some class options to `\jlreqsetup`.
+    - Add some options to `\jlreqsetup`.
+    - paper={<height>,<width>} -> paper={<width>,<height>}.
 
 
 --------------

Modified: trunk/Master/texmf-dist/doc/latex/jlreq/jlreq-ja.html
===================================================================
--- trunk/Master/texmf-dist/doc/latex/jlreq/jlreq-ja.html	2017-04-29 22:19:37 UTC (rev 44116)
+++ trunk/Master/texmf-dist/doc/latex/jlreq/jlreq-ja.html	2017-04-29 22:22:55 UTC (rev 44117)
@@ -60,10 +60,10 @@
     code > span.fl { color: #40a070; } /* Float */
     code > span.ch { color: #4070a0; } /* Char */
     code > span.st { color: #4070a0; } /* String */
-    code > span.co { color: #60a0b0; } /* Comment */
+    code > span.co { color: #008000; } /* Comment */
     code > span.ot { color: #007020; } /* Other */
     code > span.al { color: #ff0000; font-weight: bold; } /* Alert */
-    code > span.fu { color: #08307E; } /* Function */
+    code > span.fu { color: #0040FF; } /* Function */
     code > span.er { color: #ff0000; font-weight: bold; } /* Error */
     code > span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */
     code > span.cn { color: #880000; } /* Constant */
@@ -74,7 +74,7 @@
     code > span.va { color: #19177c; } /* Variable */
     code > span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
     code > span.op { color: #666666; } /* Operator */
-    code > span.bu { color: #7E0000; } /* BuiltIn */
+    code > span.bu { color: #0040FF; } /* BuiltIn */
     code > span.ex { } /* Extension */
     code > span.pp { color: #bc7a00; } /* Preprocessor */
     code > span.at { color: #7d9029; } /* Attribute */
@@ -123,11 +123,15 @@
 <p>割注を出力します.行分割位置などは自動で計算されます.(複数回のコンパイルが必要.)<code>\warichu*</code>ではこれらの位置を手動で指定できます.書式は</p>
 <pre><code>\warichu*{(一行目前) & (一行目後)\\ (二行目前) & (二行目後)...}</code></pre>
 <p>です.<code>&</code>が省略されている場合は自動で調整されます.</p>
+<h3 id="tatechuyoko"><code>\tatechuyoko</code></h3>
+<p>縦中横を出力します.<code>\tatechuyoko{<文字列>}</code>とします.縦書きでない場所で使うとエラーになります.</p>
+<h3 id="jafontsize"><code>\jafontsize</code></h3>
+<p>和文フォントサイズを指定する<code>\fontsize</code>です.クラスオプションで<code>jafontscale=0.9</code>とされている場合,<code>\fontsize{9pt}{15pt}</code>とすると和文フォントのサイズは<code>8.1pt</code>となりますが,<code>\jafontsize{9pt}{15pt}</code>とすると<code>9pt</code>となります.(欧文フォントサイズは<code>10pt</code>となる.)なお,第二引数は<code>\fontsize</code>の第二引数と全く同じです.</p>
 <h3 id="jlreqsetup"><code>\jlreqsetup</code></h3>
-<p>設定用命令です.プリアンブルでしか使えません.文書に対する殆どの設定はクラスオプションにより行いますが,一部の設定はこの命令を通じて行います.</p>
+<p>設定用命令です.プリアンブルでしか使えません.文書に対する設定は,クラスオプションとして行うか<code>\jlreqsetup</code>を通じて行うかします.どちらで設定するかは設定項目によります.</p>
 <h3>その他</h3>
 <ul>
-<li>ルビは提供されません.<a href="https://github.com/zr-tex8r/PXrubrica">PXrubrica</a>(pLaTeX / upLaTeX)またはluatexja-ruby(LuaLaTeX,LuaTeX-jaパッケージに付属)を使うと良いかと思います.</li>
+<li>ルビは提供されません.<a href="https://github.com/zr-tex8r/PXrubrica">PXrubrica</a>またはluatexja-ruby(LuaLaTeX,LuaTeX-jaパッケージに付属)を使うと良いかと思います.</li>
 <li><p>日本語組版処理の要件2.3.2.dによれば,二段組の最後のページの各段の行数は揃えることが望ましいとされていますが,この処理は行われません.<code>nidanfloat</code>パッケージを使い,</p>
 <div class="sourceCode"><pre class="sourceCode latex"><code class="sourceCode latex"><span class="bu">\usepackage</span>[balance]{<span class="ex">nidanfloat</span>}</code></pre></div>
 <p>とするとこの処理が行われます.ただし,最終ページでの<code>\newpage</code>や<code>\clearpage</code>が正しく動作しません.詳しくは<code>nidanfloat</code>パッケージのマニュアルをご覧ください.</p></li>
@@ -135,64 +139,76 @@
 <h2>各種設計</h2>
 <p>設計はクラスオプションまたは<code>\jlreqsetup</code>によりkeyval形式で行います.以下では次の用法を使います.</p>
 <ul>
-<li><code>[A/B]</code>: AまたはBです.<code>[A/B/C]</code>等も同様.</li>
-<li><code><寸法></code>: TeXが認識する寸法です.簡単な式(10pt+10ptのような)を使うこともできます.また,クラスオプションでは,場合によっては次のような特殊な値を使うこともできます.(これらはpLaTeX / upLaTeXではもとから利用可能ですが,LuaLaTeXでも利用可能なように処理されています.)<code>\jlreqsetup</code>内のような場所では,常に<code>\zw</code>や<code>\zh</code>により全角幅が記述できます.以下,たとえば<code>Q</code>が利用可能な場合は<code><寸法;Q></code>のように記述します.
+<li><code>[A/B]</code>:AまたはBです.<code>[A/B/C]</code>等も同様.</li>
+<li><code><寸法></code>:TeXが認識する寸法です.簡単な式(<code>10pt+10pt</code>のような)を使うこともできます.また,クラスオプションでは,場合によっては次のような特殊な値を使うこともできます.(これらはpLaTeX / upLaTeXではもとから利用可能ですが,LuaLaTeXでも利用可能なように処理されています.)<code>\jlreqsetup</code>内のような場所では,常に<code>\zw</code>や<code>\zh</code>により全角幅が記述できます.以下,たとえば<code>Q</code>が利用可能な場合は<code><寸法;Q></code>のように記述します.
 <ul>
-<li><code>Q</code>: 0.25mmと解釈されます.</li>
-<li><code>zw</code>, <code>zh</code>: 全角幅として解釈されます.</li>
+<li><code>Q</code>:0.25mmと解釈されます.</li>
+<li><code>zw</code>, <code>zh</code>:全角幅として解釈されます.</li>
 </ul></li>
 </ul>
 <h3>基本版面</h3>
 <p>クラスオプションです.</p>
 <ul>
-<li><code>paper=[<紙サイズ名>/{<寸法>,<寸法>}]</code>:紙サイズです.紙サイズ名はa0からa10,b0からb10,c2からc8を指定できます.B列はJIS B列です.また,<code>{<縦>,<横>}</code>と直接寸法を指定することもできます.</li>
-<li><code>fontsize=<寸法;Q></code> : フォントサイズ.デフォルトは10pt.</li>
-<li><code>line_length=<寸法;zw,zh></code> : 一行の長さ.デフォルトは紙の縦幅の0.75倍.実際の値は一文字の長さの整数倍になるように補正されます.</li>
-<li><code>number_of_lines=<自然数値></code> : 一ページの行数.デフォルトは紙の横幅の0.75倍になるような値.</li>
-<li><code>gutter=<寸法;zw,zh></code> : のどの余白の大きさ.
+<li><code>paper=[<紙サイズ名>/{<寸法>,<寸法>}]</code>:紙サイズです.紙サイズ名はa0からa10,b0からb10,c2からc8を指定できます.B列はJIS B列です.また,<code>{<横>,<縦>}</code>と直接寸法を指定することもできます.</li>
+<li><code>fontsize=<寸法;Q></code>:欧文フォントサイズ.デフォルトは10pt.</li>
+<li><code>jafontsize=<寸法;Q></code>:和文フォントサイズ.</li>
+<li><code>jafontscale=<実数値></code>:欧文フォントと和文フォントの比(和文 / 欧文).<code>fontsize</code>と<code>jafontsize</code>が両方指定されている場合は無視される.デフォルトは1.</li>
+<li><code>line_length=<寸法;zw,zh></code>:一行の長さ.デフォルトは紙の縦幅の0.75倍.実際の値は一文字の長さの整数倍になるように補正されます.</li>
+<li><code>number_of_lines=<自然数値></code>:一ページの行数.デフォルトは紙の横幅の0.75倍になるような値.</li>
+<li><code>gutter=<寸法;zw,zh></code>:のどの余白の大きさ.
 <ul>
 <li><code>tate</code>無指定時は奇数ページ左,偶数ページ右の余白</li>
 <li><code>tate</code>指定時は奇数ページ右,偶数ページ左の余白</li>
 <li><code>twoside</code>が指定されていない時は,常に奇数ページ扱いで余白が設定される</li>
 </ul></li>
-<li><code>head_space=<寸法;zw,zh></code> : 天の空き量.デフォルトは中央寄せになるような値.</li>
-<li><code>foot_space=<寸法;zw,zh></code> : 地の空き量.デフォルトは中央寄せになるような値.</li>
-<li><code>baselineskip=<寸法;Q,zw,zh></code> : 行送り.デフォルトはfontsizeの1.7倍.</li>
-<li><code>linegap=<寸法;Q,zw,zh></code> : 行間.</li>
+<li><code>head_space=<寸法;zw,zh></code>:天の空き量.デフォルトは中央寄せになるような値.</li>
+<li><code>foot_space=<寸法;zw,zh></code>:地の空き量.デフォルトは中央寄せになるような値.</li>
+<li><code>baselineskip=<寸法;Q,zw,zh></code>:行送り.デフォルトは<code>jafontsize</code>の1.7倍.</li>
+<li><code>linegap=<寸法;Q,zw,zh></code>:行間.</li>
 <li><code>headfoot_sidemargin=<寸法;zw,zh></code>:柱やノンブルの左右の空き.</li>
-<li><code>column_gap=<寸法;zw,zh></code>: 段間(twocolumn指定時のみ).</li>
+<li><code>column_gap=<寸法;zw,zh></code>:段間(<code>twocolumn</code>指定時のみ).</li>
+<li><code>sidenote_width=<寸法;zw,zh></code>:傍注の幅を指定します.</li>
 </ul>
 <h3>組み方</h3>
 <p>クラスオプションです.</p>
 <ul>
-<li><code>open_bracket_pos=[zenkaku_tentsuki/zenkakunibu_nibu/nibu_tentsuki]</code>: 始め括弧が行頭に来た際の配置方法を指定します.それぞれ段落開始全角折り返し行頭天付き(デフォルト),段落開始全角二分折り返し行頭二分,段落開始二分折り返し行頭天付きを意味します.</li>
-<li><code>hanging_punctuation</code>: ぶら下げ組をします.</li>
+<li><code>open_bracket_pos=[zenkaku_tentsuki/zenkakunibu_nibu/nibu_tentsuki]</code>:始め括弧が行頭に来た際の配置方法を指定します.それぞれ段落開始全角折り返し行頭天付き(デフォルト),段落開始全角二分折り返し行頭二分,段落開始二分折り返し行頭天付きを意味します.</li>
+<li><code>hanging_punctuation</code>:ぶら下げ組をします.</li>
 </ul>
 <h3>注関係</h3>
+<p><code>\jlreqsetup</code>で指定します.</p>
 <ul>
-<li><code>reference_mark=[inline/interlinear]</code>: 合印の配置方法を指定します.<code>inline</code>にすると該当項目の後ろの行中に配置します.<code>interlinear</code>を指定すると該当項目の上(横組)または右(縦組)に配置します.クラスオプションです.</li>
-<li><p><code>sidenote_type=[number/symbol]</code>: クラスオプションです.傍注と本文との対応の方法を指定します.<code>number</code>が規定で,注の位置に通し番号が入り,それにより対応が示されます.<code>symbol</code>とすると,注の位置に特定の記号が入り,また注がついている単語が強調されます.ここに入る記号と単語の強調は<code>\jlreqsetup</code>に次を渡すことで指定します.</p>
-<ul>
-<li><code>sidenote_symbol=<記号></code>: 注の位置に入る記号.デフォルト*</li>
-<li><code>sidenote_keyword_font=<命令></code>: 注のついている単語のフォント指定.デフォルトは無し(強調しない)</li>
-</ul></li>
-<li><code>sidenote_width=<寸法;zw,zh></code>: 傍注の幅を指定します.基本版面の設定に合わせて設定してください.クラスオプションです.</li>
-<li><p><code>endnote_position=[headings/paragraph/{_<見出し名1>,_<見出し名2>,...}]</code>:後注の出力場所を指定します.<code>headings</code>は各見出しの直前(デフォルト),<code>paragraph</code>は改段落の際に出力します.また,<code>endnote_position={_chapter,_section}</code>とすると,<code>\chapter</code>と<code>\section</code>の直前に出力します.クラスオプションです.</p></li>
+<li><code>reference_mark=[inline/interlinear]</code>:合印の配置方法を指定します.<code>inline</code>にすると該当項目の後ろの行中に配置します.<code>interlinear</code>を指定すると該当項目の上(横組)または右(縦組)に配置します.</li>
+<li><code>sidenote_type=[number/symbol]</code>:傍注と本文との対応の方法を指定します.<code>number</code>が規定で,注の位置に通し番号が入り,それにより対応が示されます.<code>symbol</code>とすると,注の位置に特定の記号が入り,また注がついている単語が強調されます.</li>
+<li><code>sidenote_symbol=<記号></code>:<code>sidenote_symbol=symbol</code>の時に,注の位置に入る記号.デフォルト*</li>
+<li><code>sidenote_keyword_font=<命令></code>:<code>sidenote_symbol=symbol</code>の時に,注のついている単語のフォント指定.デフォルトは無し(強調しない)</li>
+<li><code>endnote_position=[headings/paragraph/{_<見出し名1>,_<見出し名2>,...}]</code>:後注の出力場所を指定します.<code>headings</code>は各見出しの直前(デフォルト),<code>paragraph</code>は改段落の際に出力します.また,<code>endnote_position={_chapter,_section}</code>とすると,<code>\chapter</code>と<code>\section</code>の直前に出力します.</li>
 </ul>
 <h3>キャプション</h3>
 <p>図表のキャプションを<code>\jlreqsetup</code>で変更できます.</p>
 <ul>
-<li><code>caption_font=<命令></code>: キャプション自身のフォントを指定します.</li>
-<li><code>caption_label_font=<命令></code>: キャプションのラベルのフォントを指定します.</li>
+<li><code>caption_font=<命令></code>:キャプション自身のフォントを指定します.</li>
+<li><code>caption_label_font=<命令></code>:キャプションのラベルのフォントを指定します.</li>
 </ul>
 <h3>引用</h3>
-<p><code>quote / quotation / verse</code>環境の挙動をクラスオプションで指定できます.</p>
+<p><code>quote / quotation / verse</code>環境の挙動を<code>\jlreqsetup</code>で指定できます.</p>
 <ul>
-<li><code>quote_indent=<寸法;zw,zh></code>: 字下げを指定します.デフォルトは2zwです.一行の長さが文字サイズの整数倍になるように調整されます.</li>
-<li><code>quote_end_indent=<寸法;zw,zh></code>: 字上げを指定します.デフォルトは0zwです.</li>
-<li><code>quote_beforeafter_space=<寸法></code>: 前後の空きを指定します.<code>quote_beforeafter_space=1\baselineskip</code>とすると一行あきます.</li>
-<li><code>quote_fontsize=[normalsize/small/footnotesize/scriptsize/tiny]</code>: フォントサイズを指定します.</li>
+<li><code>quote_indent=<寸法></code>:字下げを指定します.デフォルトは2zwです.一行の長さが文字サイズの整数倍になるように調整されます.</li>
+<li><code>quote_end_indent=<寸法></code>:字上げを指定します.デフォルトは0zwです.</li>
+<li><code>quote_beforeafter_space=<寸法></code>:前後の空きを指定します.<code>quote_beforeafter_space=1\baselineskip</code>とすると一行あきます.</li>
+<li><code>quote_fontsize=[normalsize/small/footnotesize/scriptsize/tiny]</code>:フォントサイズを指定します.</li>
 </ul>
+<h3>箇条書き</h3>
+<p><code>\jlreqsetup</code>で指定します.</p>
+<ul>
+<li><code>itemization_beforeafter_space=<寸法></code>:箇条書きの前後の空きを指定します.</li>
+<li><code>itemization_itemsep=<寸法></code>:項目同士の空きを指定します.</li>
+</ul>
+<h3>定理環境</h3>
+<p><code>\jlreqsetup</code>で指定します.</p>
+<ul>
+<li><code>theorem_beforeafter_space=<寸法></code>:定理環境の前後の空きを指定します.</li>
+</ul>
 <h2>見出し</h2>
 <p>見出しの設定は,<code>\Declare***Heading</code>という命令で行います(***には見出しの種類に応じた文字列が入る).書式はすべて</p>
 <pre><code>\Declare***Heading{<命令名>}{<レベル>}{<設定>}</code></pre>
@@ -200,34 +216,34 @@
 <h3>扉見出し</h3>
 <p><code>\DeclareTobiraHeading</code>で作成します.通常のクラスファイルにおける<code>\section</code>等と同じ書式の命令ができます.設定は以下の通り.</p>
 <ul>
-<li><code>type=[han/naka]</code>: <code>han</code>だと半扉見出しを,<code>naka</code>だと中扉見出しを作ります.</li>
-<li><code>pagestyle=<ページスタイル></code>: 見出し箇所のページスタイルを指定します.</li>
-<li><code>label_format=<書式></code>: ラベルを出力する命令を指定します.たとえば<code>label_format={第\thechapter 章}</code>のように指定します.</li>
-<li><code>format=<書式></code>: 実際に出力する書式を指定します.<code>format={\null\vfil {\Huge\bfseries #1#2}}</code>のようにします.<code>#1</code>はラベルに,<code>#2</code>は見出し文字列に置き換えられます.</li>
+<li><code>type=[han/naka]</code>:<code>han</code>だと半扉見出しを,<code>naka</code>だと中扉見出しを作ります.</li>
+<li><code>pagestyle=<ページスタイル></code>:見出し箇所のページスタイルを指定します.</li>
+<li><code>label_format=<書式></code>:ラベルを出力する命令を指定します.たとえば<code>label_format={第\thechapter 章}</code>のように指定します.</li>
+<li><code>format=<書式></code>:実際に出力する書式を指定します.<code>format={\null\vfil {\Huge\bfseries #1#2}}</code>のようにします.<code>#1</code>はラベルに,<code>#2</code>は見出し文字列に置き換えられます.</li>
 </ul>
 <h3>別行見出し</h3>
 <p><code>\DeclareBlockHeading</code>で作成します.<code>\<命令名>*[running head]{見出し文字列}[副題]</code>という書式の命令を作成します.設定は以下の通り.</p>
 <h4>書式関連</h4>
 <ul>
-<li><code>font=<命令></code>: 見出しのフォントを指定します.</li>
-<li><code>subtitle_font=<命令></code>: 副題のフォントを指定します.</li>
-<li><code>label_format=<命令></code>: ラベルのフォーマットを指定します.<code>label_format={第\thechapter 章}</code>などのようにします.</li>
-<li><code>subtitle_format=<命令></code>: 副題のフォーマットを指定します.<code>subtitle_format={「#1」}</code>のようにします.<code>#1</code>が副題自身になります.</li>
+<li><code>font=<命令></code>:見出しのフォントを指定します.</li>
+<li><code>subtitle_font=<命令></code>:副題のフォントを指定します.</li>
+<li><code>label_format=<命令></code>:ラベルのフォーマットを指定します.<code>label_format={第\thechapter 章}</code>などのようにします.</li>
+<li><code>subtitle_format=<命令></code>:副題のフォーマットを指定します.<code>subtitle_format={「#1」}</code>のようにします.<code>#1</code>が副題自身になります.</li>
 </ul>
 <h4>インデント関連</h4>
 <ul>
 <li><code>indent=<寸法/center></code> 見出し全体の字下げ量を指定します.<code>indent=center</code>とすると見出しを中央寄せします.</li>
-<li><code>end_indent=<寸法/center></code>: 見出し全体の字上げ量を指定します.<code>end_indent=center</code>とすると見出しを中央寄せします.</li>
-<li><code>after_label_space=<寸法></code>: ラベル後,見出し文字列までの空きを指定します.</li>
-<li><code>second_heading_text_indent=<寸法/{寸法,寸法}></code>: 見出し文字列の二行目以降のインデントを指定します.一行目の頭を起点として指定しますが,<code>second_heading_text_indent=*1\zw</code>のように先頭に<code>*</code>をつけるとラベルの頭を起点としての指定になります.(ラベルがない時は一行目の頭が起点.)また,<code>second_heading_text_indent={<ラベルがある時>,<ラベルがない時>}</code>という指定をすると,ラベルの有無に応じて値を変更することができます.<code><ラベルがある時></code>の指定ではやはり<code>*</code>を使うことができます.</li>
-<li><code>subtitle_indent=<寸法></code>: 副題のインデント量を指定します.見出し文字列の一行目を起点として指定します.</li>
+<li><code>end_indent=<寸法/center></code>:見出し全体の字上げ量を指定します.<code>end_indent=center</code>とすると見出しを中央寄せします.</li>
+<li><code>after_label_space=<寸法></code>:ラベル後,見出し文字列までの空きを指定します.</li>
+<li><code>second_heading_text_indent=<寸法/{寸法,寸法}></code>:見出し文字列の二行目以降のインデントを指定します.一行目の頭を起点として指定しますが,<code>second_heading_text_indent=*1\zw</code>のように先頭に<code>*</code>をつけるとラベルの頭を起点としての指定になります.(ラベルがない時は一行目の頭が起点.)また,<code>second_heading_text_indent={<ラベルがある時>,<ラベルがない時>}</code>という指定をすると,ラベルの有無に応じて値を変更することができます.<code><ラベルがある時></code>の指定ではやはり<code>*</code>を使うことができます.</li>
+<li><code>subtitle_indent=<寸法></code>:副題のインデント量を指定します.見出し文字列の一行目を起点として指定します.</li>
 </ul>
 <h4 id="-1">その他</h4>
 <ul>
-<li><code>subtitle_break=<true/false></code>: 見出し文字列と副題の間を改行するか指定します.</li>
-<li><code>allowbreak_if_evenpage=[true/false]</code>: 見出しが偶数ページにあった場合,その直後の改ページを許可します.</li>
-<li><code>pagebreak=[clearpage/cleardoublepage/clearcolumn/nariyuki]</code>: 見出し直前の改ページを指定します.それぞれ,改ページ,改丁,改段,なりゆきです.</li>
-<li><code>afterindent=[true/false]</code>: 見出し直後の段落の字下げを行うかを指定します.</li>
+<li><code>subtitle_break=<true/false></code>:見出し文字列と副題の間を改行するか指定します.</li>
+<li><code>allowbreak_if_evenpage=[true/false]</code>:見出しが偶数ページにあった場合,その直後の改ページを許可します.</li>
+<li><code>pagebreak=[clearpage/cleardoublepage/clearcolumn/nariyuki]</code>:見出し直前の改ページを指定します.それぞれ,改ページ,改丁,改段,なりゆきです.</li>
+<li><code>afterindent=[true/false]</code>:見出し直後の段落の字下げを行うかを指定します.</li>
 </ul>
 <h4>行取り</h4>
 <p>行取りの指定は以下のいずれかの方法で行うことができます.</p>
@@ -239,16 +255,16 @@
 <h3>同行見出し</h3>
 <p><code>\DeclareRuninHeading</code>で作成します.通常の文書クラスにおける<code>\section</code>と同様の,<code>\<命令名>*[running head]{見出し文字列}</code>という書式の命令が作成されます.設定は以下の通り.</p>
 <ul>
-<li><code>font=<命令></code>: 見出しのフォントを指定します.</li>
+<li><code>font=<命令></code>:見出しのフォントを指定します.</li>
 <li><code>indent=<寸法></code> 見出し文字列全体の字下げ量を指定します.</li>
 </ul>
 <h3>窓見出し</h3>
 <p><code>\DeclareCutinHeading</code>で作成します.<code>\<命令名>{見出し文字列}</code>という書式の命令を作成します.設定は以下の通り.</p>
 <ul>
-<li><code>font=<命令></code>: 見出しのフォントを指定します.</li>
-<li><code>indent=<寸法></code>: 見出し全体の字下げ量を指定します.</li>
-<li><code>after_space=<寸法></code>: 見出しと本文との間の空きを指定します.</li>
-<li><code>onelinemax=<寸法></code>, <code>twolinemax=<寸法></code>: 見出し文字列の長さが<code>onelinemax</code>以下ならば一行で,<code>twolinemax</code>以下ならば二行で窓見出しを出力します.それ以上の場合は三行です.デフォルトはそれぞれ6文字,20文字の長さ.</li>
+<li><code>font=<命令></code>:見出しのフォントを指定します.</li>
+<li><code>indent=<寸法></code>:見出し全体の字下げ量を指定します.</li>
+<li><code>after_space=<寸法></code>:見出しと本文との間の空きを指定します.</li>
+<li><code>onelinemax=<寸法></code>, <code>twolinemax=<寸法></code>:見出し文字列の長さが<code>onelinemax</code>以下ならば一行で,<code>twolinemax</code>以下ならば二行で窓見出しを出力します.それ以上の場合は三行です.デフォルトはそれぞれ6文字,20文字の長さ.</li>
 </ul>
 <h3 id="modifyheading"><code>\ModifyHeading</code></h3>
 <p>既に(上のどれかを使い)定義された見出し命令の設定を変更します.たとえば</p>
@@ -265,21 +281,21 @@
 <pre><code>\DeclarePageStyle{<ページスタイル名>}{<設定>}</code></pre>
 <p>によりページスタイルを定義することができます.柱やノンブルを出力します.設定は以下の通り.</p>
 <ul>
-<li><code>yoko</code>: 横書きで上下に出力します.デフォルト.</li>
-<li><code>tate</code>: 縦書きで小口側に出力します.</li>
-<li><code>font=<命令></code>: 柱とノンブルのフォントを指定します.</li>
-<li><code>running_head_position</code>, <code>nombre_position</code>: 柱とノンブルの位置を指定します.<code>yoko</code>か<code>tate</code>のどちらが指定されているかで挙動が変わります.
+<li><code>yoko</code>:横書きで上下に出力します.デフォルト.</li>
+<li><code>tate</code>:縦書きで小口側に出力します.</li>
+<li><code>font=<命令></code>:柱とノンブルのフォントを指定します.</li>
+<li><code>running_head_position</code>, <code>nombre_position</code>:柱とノンブルの位置を指定します.<code>yoko</code>か<code>tate</code>のどちらが指定されているかで挙動が変わります.
 <ul>
 <li><code>yoko</code>指定時:<code>top-left</code>のように指定できます.<code>top/bottom/center/left/right/gutter/fore_edge</code>が使えます.<code>gutter</code>はのど,<code>fore_edge</code>は小口です.<code>left</code>,<code>right</code>の指定は奇数ページに対するものです.<code>twoside</code>が指定されている場合,偶数ページはその逆になります.</li>
 <li><code>tate</code>指定時:<code><寸法></code>が指定できます.<code>running_head_position</code>は柱の天からの下げ量を,<code>nombre_position</code>はノンブルの地からの上げ量を指定します.</li>
 </ul></li>
-<li><code>nombre=<書式></code>: 出力するノンブルを指定します.デフォルトは<code>\thepage</code>.</li>
+<li><code>nombre=<書式></code>:出力するノンブルを指定します.デフォルトは<code>\thepage</code>.</li>
 <li><code>odd_running_head=<書式></code>,<code>even_running_head=<書式></code>:それぞれ奇数ページ,偶数ページの柱を指定します.<code>_section</code>のように<code>_</code>から始まる名前を指定すると,対応する見出しを出力します.(<code>_section</code>だと現在の<code>\section</code>を出力する.)</li>
 </ul>
 <p><code>\ModifyPageStyle</code>により既存のページスタイルを改変することが可能です.</p>
 <h2 id="-2">その他</h2>
 <ul>
-<li>クラスオプション<code>jlreq_warnings</code>を渡されると,日本語組版処理の要件に反する設定が行われた場合に警告がされます.</li>
+<li>クラスオプション<code>jlreq_notes</code>が渡されると,日本語組版処理の記述と矛盾する設定が行われた場合に通知がされます.</li>
 </ul>
 <h2>ライセンス</h2>
 <p>このパッケージは二条項BSDライセンスの元で配布されています.詳しくは<a href="LICENSE" class="uri">LICENSE</a>をご覧ください.</p>
@@ -313,6 +329,16 @@
 <li>バグ修正.</li>
 <li><code>\DeclarePageStyle</code>に<code>tate</code>と<code>font</code>オプションを追加.</li>
 </ul></li>
+<li>2017-04-29
+<ul>
+<li>バグ修正</li>
+<li><code>jafontsize</code>と<code>jafontscale</code>をクラスオプションに,また<code>\jafontsize</code>を追加.</li>
+<li><code>\tatechuyoko</code>を追加.</li>
+<li>クラスオプション<code>jlreq_warnings</code>を<code>jlreq_notes</code>に変更.</li>
+<li>いくつかのクラスオプションを<code>\jlreqsetup</code>に移動.</li>
+<li>いくつかのオプションを<code>\jlreqsetup</code>に追加.</li>
+<li>クラスオプションの<code>paper={<縦>,<横>}</code>を<code>paper={<横>,<縦>}</code>に変更.</li>
+</ul></li>
 </ul>
 <hr />
 <p>Noriyuki Abe<br />

Modified: trunk/Master/texmf-dist/doc/latex/jlreq/jlreq.html
===================================================================
--- trunk/Master/texmf-dist/doc/latex/jlreq/jlreq.html	2017-04-29 22:19:37 UTC (rev 44116)
+++ trunk/Master/texmf-dist/doc/latex/jlreq/jlreq.html	2017-04-29 22:22:55 UTC (rev 44117)
@@ -102,6 +102,16 @@
 <li>Fix a bug.</li>
 <li>Add options <code>tate</code> and <code>font</code> to <code>\DeclarePageStyle</code>.</li>
 </ul></li>
+<li>2017-04-29
+<ul>
+<li>Fix bugs.</li>
+<li>Add <code>jafontsize</code> and <code>jafontscale</code> options and <code>\jafontsize</code>.</li>
+<li>Add <code>\tatechuyoko</code>.</li>
+<li><code>jlreq_warnings</code> -> <code>jlreq_notes</code> (class option).</li>
+<li>Move some class options to <code>\jlreqsetup</code>.</li>
+<li>Add some options to <code>\jlreqsetup</code>.</li>
+<li>paper={<height>,<width>} -> paper={<width>,<height>}.</li>
+</ul></li>
 </ul>
 <hr />
 <p>Noriyuki Abe<br />

Modified: trunk/Master/texmf-dist/fonts/tfm/public/jlreq/bjlreq-v.tfm
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/fonts/tfm/public/jlreq/bjlreq.tfm
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/fonts/tfm/public/jlreq/bjlreqg-v.tfm
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/fonts/tfm/public/jlreq/bjlreqg.tfm
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/fonts/tfm/public/jlreq/bzjlreq-v.tfm
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/fonts/tfm/public/jlreq/bzjlreq.tfm
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/fonts/tfm/public/jlreq/bzjlreqg-v.tfm
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/fonts/tfm/public/jlreq/bzjlreqg.tfm
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/fonts/tfm/public/jlreq/jlreq-v.tfm
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/fonts/tfm/public/jlreq/jlreq.tfm
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/fonts/tfm/public/jlreq/jlreqg-v.tfm
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/fonts/tfm/public/jlreq/jlreqg.tfm
===================================================================
(Binary files differ)

Added: trunk/Master/texmf-dist/fonts/tfm/public/jlreq/ubjlreq-q.tfm
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/fonts/tfm/public/jlreq/ubjlreq-q.tfm
===================================================================
--- trunk/Master/texmf-dist/fonts/tfm/public/jlreq/ubjlreq-q.tfm	2017-04-29 22:19:37 UTC (rev 44116)
+++ trunk/Master/texmf-dist/fonts/tfm/public/jlreq/ubjlreq-q.tfm	2017-04-29 22:22:55 UTC (rev 44117)

Property changes on: trunk/Master/texmf-dist/fonts/tfm/public/jlreq/ubjlreq-q.tfm
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/fonts/tfm/public/jlreq/ubjlreqg-q.tfm
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/fonts/tfm/public/jlreq/ubjlreqg-q.tfm
===================================================================
--- trunk/Master/texmf-dist/fonts/tfm/public/jlreq/ubjlreqg-q.tfm	2017-04-29 22:19:37 UTC (rev 44116)
+++ trunk/Master/texmf-dist/fonts/tfm/public/jlreq/ubjlreqg-q.tfm	2017-04-29 22:22:55 UTC (rev 44117)

Property changes on: trunk/Master/texmf-dist/fonts/tfm/public/jlreq/ubjlreqg-q.tfm
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/fonts/tfm/public/jlreq/ubzjlreq-q.tfm
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/fonts/tfm/public/jlreq/ubzjlreq-q.tfm
===================================================================
--- trunk/Master/texmf-dist/fonts/tfm/public/jlreq/ubzjlreq-q.tfm	2017-04-29 22:19:37 UTC (rev 44116)
+++ trunk/Master/texmf-dist/fonts/tfm/public/jlreq/ubzjlreq-q.tfm	2017-04-29 22:22:55 UTC (rev 44117)

Property changes on: trunk/Master/texmf-dist/fonts/tfm/public/jlreq/ubzjlreq-q.tfm
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/fonts/tfm/public/jlreq/ubzjlreqg-q.tfm
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/fonts/tfm/public/jlreq/ubzjlreqg-q.tfm
===================================================================
--- trunk/Master/texmf-dist/fonts/tfm/public/jlreq/ubzjlreqg-q.tfm	2017-04-29 22:19:37 UTC (rev 44116)
+++ trunk/Master/texmf-dist/fonts/tfm/public/jlreq/ubzjlreqg-q.tfm	2017-04-29 22:22:55 UTC (rev 44117)

Property changes on: trunk/Master/texmf-dist/fonts/tfm/public/jlreq/ubzjlreqg-q.tfm
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/fonts/tfm/public/jlreq/ujlreq-q.tfm
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/fonts/tfm/public/jlreq/ujlreq-q.tfm
===================================================================
--- trunk/Master/texmf-dist/fonts/tfm/public/jlreq/ujlreq-q.tfm	2017-04-29 22:19:37 UTC (rev 44116)
+++ trunk/Master/texmf-dist/fonts/tfm/public/jlreq/ujlreq-q.tfm	2017-04-29 22:22:55 UTC (rev 44117)

Property changes on: trunk/Master/texmf-dist/fonts/tfm/public/jlreq/ujlreq-q.tfm
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/fonts/tfm/public/jlreq/ujlreqg-q.tfm
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/fonts/tfm/public/jlreq/ujlreqg-q.tfm
===================================================================
--- trunk/Master/texmf-dist/fonts/tfm/public/jlreq/ujlreqg-q.tfm	2017-04-29 22:19:37 UTC (rev 44116)
+++ trunk/Master/texmf-dist/fonts/tfm/public/jlreq/ujlreqg-q.tfm	2017-04-29 22:22:55 UTC (rev 44117)

Property changes on: trunk/Master/texmf-dist/fonts/tfm/public/jlreq/ujlreqg-q.tfm
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/fonts/tfm/public/jlreq/uzjlreq-q.tfm
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/fonts/tfm/public/jlreq/uzjlreq-q.tfm
===================================================================
--- trunk/Master/texmf-dist/fonts/tfm/public/jlreq/uzjlreq-q.tfm	2017-04-29 22:19:37 UTC (rev 44116)
+++ trunk/Master/texmf-dist/fonts/tfm/public/jlreq/uzjlreq-q.tfm	2017-04-29 22:22:55 UTC (rev 44117)

Property changes on: trunk/Master/texmf-dist/fonts/tfm/public/jlreq/uzjlreq-q.tfm
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: trunk/Master/texmf-dist/fonts/tfm/public/jlreq/uzjlreqg-q.tfm
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/fonts/tfm/public/jlreq/uzjlreqg-q.tfm
===================================================================
--- trunk/Master/texmf-dist/fonts/tfm/public/jlreq/uzjlreqg-q.tfm	2017-04-29 22:19:37 UTC (rev 44116)
+++ trunk/Master/texmf-dist/fonts/tfm/public/jlreq/uzjlreqg-q.tfm	2017-04-29 22:22:55 UTC (rev 44117)

Property changes on: trunk/Master/texmf-dist/fonts/tfm/public/jlreq/uzjlreqg-q.tfm
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Modified: trunk/Master/texmf-dist/fonts/tfm/public/jlreq/zjlreq-v.tfm
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/fonts/tfm/public/jlreq/zjlreq.tfm
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/fonts/tfm/public/jlreq/zjlreqg-v.tfm
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/fonts/tfm/public/jlreq/zjlreqg.tfm
===================================================================
(Binary files differ)

Added: trunk/Master/texmf-dist/fonts/vf/public/jlreq/ubjlreq-q.vf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/fonts/vf/public/jlreq/ubjlreq-q.vf
===================================================================
--- trunk/Master/texmf-dist/fonts/vf/public/jlreq/ubjlreq-q.vf	2017-04-29 22:19:37 UTC (rev 44116)
+++ trunk/Master/texmf-dist/fonts/vf/public/jlreq/ubjlreq-q.vf	2017-04-29 22:22:55 UTC (rev 44117)

Property changes on: trunk/Master/texmf-dist/fonts/vf/public/jlreq/ubjlreq-q.vf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Modified: trunk/Master/texmf-dist/fonts/vf/public/jlreq/ubjlreq-v.vf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/fonts/vf/public/jlreq/ubjlreq.vf
===================================================================
(Binary files differ)

Added: trunk/Master/texmf-dist/fonts/vf/public/jlreq/ubjlreqg-q.vf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/fonts/vf/public/jlreq/ubjlreqg-q.vf
===================================================================
--- trunk/Master/texmf-dist/fonts/vf/public/jlreq/ubjlreqg-q.vf	2017-04-29 22:19:37 UTC (rev 44116)
+++ trunk/Master/texmf-dist/fonts/vf/public/jlreq/ubjlreqg-q.vf	2017-04-29 22:22:55 UTC (rev 44117)

Property changes on: trunk/Master/texmf-dist/fonts/vf/public/jlreq/ubjlreqg-q.vf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Modified: trunk/Master/texmf-dist/fonts/vf/public/jlreq/ubjlreqg-v.vf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/fonts/vf/public/jlreq/ubjlreqg.vf
===================================================================
(Binary files differ)

Added: trunk/Master/texmf-dist/fonts/vf/public/jlreq/ubzjlreq-q.vf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/fonts/vf/public/jlreq/ubzjlreq-q.vf
===================================================================
--- trunk/Master/texmf-dist/fonts/vf/public/jlreq/ubzjlreq-q.vf	2017-04-29 22:19:37 UTC (rev 44116)
+++ trunk/Master/texmf-dist/fonts/vf/public/jlreq/ubzjlreq-q.vf	2017-04-29 22:22:55 UTC (rev 44117)

Property changes on: trunk/Master/texmf-dist/fonts/vf/public/jlreq/ubzjlreq-q.vf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Modified: trunk/Master/texmf-dist/fonts/vf/public/jlreq/ubzjlreq-v.vf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/fonts/vf/public/jlreq/ubzjlreq.vf
===================================================================
(Binary files differ)

Added: trunk/Master/texmf-dist/fonts/vf/public/jlreq/ubzjlreqg-q.vf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/fonts/vf/public/jlreq/ubzjlreqg-q.vf
===================================================================
--- trunk/Master/texmf-dist/fonts/vf/public/jlreq/ubzjlreqg-q.vf	2017-04-29 22:19:37 UTC (rev 44116)
+++ trunk/Master/texmf-dist/fonts/vf/public/jlreq/ubzjlreqg-q.vf	2017-04-29 22:22:55 UTC (rev 44117)

Property changes on: trunk/Master/texmf-dist/fonts/vf/public/jlreq/ubzjlreqg-q.vf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Modified: trunk/Master/texmf-dist/fonts/vf/public/jlreq/ubzjlreqg-v.vf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/fonts/vf/public/jlreq/ubzjlreqg.vf
===================================================================
(Binary files differ)

Added: trunk/Master/texmf-dist/fonts/vf/public/jlreq/ujlreq-q.vf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/fonts/vf/public/jlreq/ujlreq-q.vf
===================================================================
--- trunk/Master/texmf-dist/fonts/vf/public/jlreq/ujlreq-q.vf	2017-04-29 22:19:37 UTC (rev 44116)
+++ trunk/Master/texmf-dist/fonts/vf/public/jlreq/ujlreq-q.vf	2017-04-29 22:22:55 UTC (rev 44117)

Property changes on: trunk/Master/texmf-dist/fonts/vf/public/jlreq/ujlreq-q.vf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Modified: trunk/Master/texmf-dist/fonts/vf/public/jlreq/ujlreq-v.vf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/fonts/vf/public/jlreq/ujlreq.vf
===================================================================
(Binary files differ)

Added: trunk/Master/texmf-dist/fonts/vf/public/jlreq/ujlreqg-q.vf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/fonts/vf/public/jlreq/ujlreqg-q.vf
===================================================================
--- trunk/Master/texmf-dist/fonts/vf/public/jlreq/ujlreqg-q.vf	2017-04-29 22:19:37 UTC (rev 44116)
+++ trunk/Master/texmf-dist/fonts/vf/public/jlreq/ujlreqg-q.vf	2017-04-29 22:22:55 UTC (rev 44117)

Property changes on: trunk/Master/texmf-dist/fonts/vf/public/jlreq/ujlreqg-q.vf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Modified: trunk/Master/texmf-dist/fonts/vf/public/jlreq/ujlreqg-v.vf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/fonts/vf/public/jlreq/ujlreqg.vf
===================================================================
(Binary files differ)

Added: trunk/Master/texmf-dist/fonts/vf/public/jlreq/uzjlreq-q.vf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/fonts/vf/public/jlreq/uzjlreq-q.vf
===================================================================
--- trunk/Master/texmf-dist/fonts/vf/public/jlreq/uzjlreq-q.vf	2017-04-29 22:19:37 UTC (rev 44116)
+++ trunk/Master/texmf-dist/fonts/vf/public/jlreq/uzjlreq-q.vf	2017-04-29 22:22:55 UTC (rev 44117)

Property changes on: trunk/Master/texmf-dist/fonts/vf/public/jlreq/uzjlreq-q.vf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Modified: trunk/Master/texmf-dist/fonts/vf/public/jlreq/uzjlreq-v.vf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/fonts/vf/public/jlreq/uzjlreq.vf
===================================================================
(Binary files differ)

Added: trunk/Master/texmf-dist/fonts/vf/public/jlreq/uzjlreqg-q.vf
===================================================================
(Binary files differ)

Index: trunk/Master/texmf-dist/fonts/vf/public/jlreq/uzjlreqg-q.vf
===================================================================
--- trunk/Master/texmf-dist/fonts/vf/public/jlreq/uzjlreqg-q.vf	2017-04-29 22:19:37 UTC (rev 44116)
+++ trunk/Master/texmf-dist/fonts/vf/public/jlreq/uzjlreqg-q.vf	2017-04-29 22:22:55 UTC (rev 44117)

Property changes on: trunk/Master/texmf-dist/fonts/vf/public/jlreq/uzjlreqg-q.vf
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Modified: trunk/Master/texmf-dist/fonts/vf/public/jlreq/uzjlreqg-v.vf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/fonts/vf/public/jlreq/uzjlreqg.vf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/tex/latex/jlreq/jlreq.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/jlreq/jlreq.cls	2017-04-29 22:19:37 UTC (rev 44116)
+++ trunk/Master/texmf-dist/tex/latex/jlreq/jlreq.cls	2017-04-29 22:22:55 UTC (rev 44117)
@@ -5,7 +5,7 @@
 %%
 % (based on JLReq 20120403 https://www.w3.org/TR/2012/NOTE-jlreq-20120403/ja/)
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{jlreq}[2017/04/04 jlreq]
+\ProvidesClass{jlreq}[2017/04/29 jlreq]
 \RequirePackage{xkeyval,everyhook,filehook,etoolbox,ifthen}
 
 %. helper1
@@ -128,35 +128,6 @@
 }
 \def\jlreq at helper@removelastcomma#1,\jlreq at endmark{#1}
 
-% #1が#2のトークン内と\ifxで一致すれば#3を,そうでなければ#4を実行する.
-% #2は\edefで展開する.{}があるとバグるかも.
-\def\jlreq at ifintokenlist#1#2{%
-  \begingroup
-    \jlreq at tempafalse
-    \edef\@tempa{#2}%
-    \expandafter\jlreq at helper@ifintokenlist@\expandafter{\@tempa}{#1}%
-    \ifjlreq at tempa
-      \def\jlreq at do{\@firstoftwo}%
-    \else
-      \def\jlreq at do{\@secondoftwo}%
-    \fi
-  \expandafter\endgroup
-  \jlreq at do
-}
-\def\jlreq at helper@ifintokenlist@#1#2{%
-  \jlreq at helper@ifintokenlist@@{#2}#1\jlreq at endmark
-}
-\def\jlreq at helper@ifintokenlist@@#1#2{%
-  \jlreq at ifendmark{#2}{%
-    \def\jlreq at next{}%
-  }{%
-    \ifx#1#2\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi
-      {\jlreq at tempatrue\def\jlreq at next{\jlreq at deleteuntileendmark}}%
-      {\def\jlreq at next{\jlreq at helper@ifintokenlist@@{#1}}}%
-  }%
-  \jlreq at next
-}
-
 % vbox #1の最後を\jlreq at resultboxに入れる
 % #1の最後の行は消える
 \newcommand*{\jlreq at getlastbox}[1]{%
@@ -385,14 +356,14 @@
 %.. 基本版面.まずは紙サイズ.
 \def\jlreq at switchpapersize{}
 \jlreq at aftercls@addtodeletecs{\jlreq at switchpapersize}
-\newcommand*\jlreq at addpapersize[4][]{%
-  \jlreq at ifempty{#2}{}{
-    \jlreq at DeclareOption{#2}{\setlength\paperheight{#3}\setlength\paperwidth{#4}}
-    \appto\jlreq at switchpapersize{{#2}{\setlength\paperheight{#3}\setlength\paperwidth{#4}}}
-  }
-  \jlreq at ifempty{#1}{}{
-    \appto\jlreq at switchpapersize{{#1}{\setlength\paperheight{#3}\setlength\paperwidth{#4}}}
-  }
+% \jlreq at addpapersize{paper=に指定するもの}{単独オプション名}{横}{縦}
+\newcommand*{\jlreq at addpapersize}[4]{%
+  \@for\@tempa:=#1\do{%
+    \eappto\jlreq at switchpapersize{{\expandonce{\@tempa}}{\unexpanded{\setlength{\paperwidth}{#3}\setlength{\paperheight}{#4}}}}%
+  }%
+  \@for\@tempa:=#2\do{%
+    \expandafter\jlreq at DeclareOption\expandafter{\@tempa}{\setlength{\paperwidth}{#3}\setlength{\paperheight}{#4}}%
+  }%
 }
 \jlreq at aftercls@addtodeletecs{\jlreq at addpapersize}
 \DeclareOptionX{paper}{
@@ -401,8 +372,8 @@
     [\unexpanded{%
       \jlreq at helper@dividebycomma{#1}%
       \ifjlreq at tempa
-        \setlength{\paperheight}{\dimexpr\jlreq at tempc\relax}%
-        \setlength{\paperwidth}{\dimexpr\jlreq at tempd\relax}%
+        \setlength{\paperwidth}{\dimexpr\jlreq at tempc\relax}%
+        \setlength{\paperheight}{\dimexpr\jlreq at tempd\relax}%
       \else
         \ClassError{jlreq}{The paper #1 is unknown}{\@ehc}%
       \fi
@@ -411,50 +382,46 @@
   \jlreq at do
 }
 % 紙サイズ一覧.b*はJIS B.
-% [paper=で指定できるようにするもの]{オプション名}{縦}{横}
-\jlreq at addpapersize[a3]{a3paper}{420mm}{297mm}
-\jlreq at addpapersize[a4]{a4paper}{297mm}{210mm}
-\jlreq at addpapersize[a5]{a5paper}{210mm}{148mm}
-\jlreq at addpapersize[a6]{a6paper}{148mm}{105mm}
-\jlreq at addpapersize[b4]{b4paper}{364mm}{257mm}
-\jlreq at addpapersize[b5]{b5paper}{257mm}{182mm}
-\jlreq at addpapersize[b6]{b6paper}{182mm}{128mm}
-\jlreq at addpapersize{a4j}{297mm}{210mm}
-\jlreq at addpapersize{a5j}{210mm}{148mm}
-\jlreq at addpapersize{b4j}{364mm}{257mm}
-\jlreq at addpapersize{b5j}{257mm}{182mm}
-\jlreq at addpapersize{a4var}{283mm}{210mm}
-\jlreq at addpapersize{b5var}{230mm}{182mm}
-\jlreq at addpapersize[letter]{letterpaper}{11in}{8.5in}
-\jlreq at addpapersize[legal]{legalpaper}{14in}{8.5in}
-\jlreq at addpapersize[executive]{executivepaper}{10.5in}{7.25in}
-% 追加
-\jlreq at addpapersize[a0]{}{1189mm}{841mm}
-\jlreq at addpapersize[a1]{}{841mm}{594mm}
-\jlreq at addpapersize[a2]{}{594mm}{420mm}
-\jlreq at addpapersize[a7]{}{105mm}{74mm}
-\jlreq at addpapersize[a8]{}{74mm}{52mm}
-\jlreq at addpapersize[a9]{}{52mm}{37mm}
-\jlreq at addpapersize[a10]{}{37mm}{26mm}
+\jlreq at addpapersize{a0,A0}{}{841mm}{1189mm}
+\jlreq at addpapersize{a1,A1}{}{594mm}{841mm}
+\jlreq at addpapersize{a2,A2}{}{420mm}{594mm}
+\jlreq at addpapersize{a3,A3}{a3paper}{297mm}{420mm}
+\jlreq at addpapersize{a4,A4}{a4paper}{210mm}{297mm}
+\jlreq at addpapersize{a5,A5}{a5paper}{148mm}{210mm}
+\jlreq at addpapersize{a6,A6}{a6paper}{105mm}{148mm}
+\jlreq at addpapersize{a7,A7}{}{74mm}{105mm}
+\jlreq at addpapersize{a8,A8}{}{52mm}{74mm}
+\jlreq at addpapersize{a9,A9}{}{37mm}{52mm}
+\jlreq at addpapersize{a10,A10}{}{26mm}{37mm}
 
-\jlreq at addpapersize[b0]{}{1456mm}{1030mm}
-\jlreq at addpapersize[b1]{}{1030mm}{728mm}
-\jlreq at addpapersize[b2]{}{728mm}{515mm}
-\jlreq at addpapersize[b3]{}{515mm}{364mm}
-\jlreq at addpapersize[b7]{}{128mm}{91mm}
-\jlreq at addpapersize[b8]{}{91mm}{64mm}
-\jlreq at addpapersize[b9]{}{64mm}{45mm}
-\jlreq at addpapersize[b10]{}{45mm}{32mm}
+\jlreq at addpapersize{b0,B0}{}{1030mm}{1456mm}
+\jlreq at addpapersize{b1,B1}{}{728mm}{1030mm}
+\jlreq at addpapersize{b2,B2}{}{515mm}{728mm}
+\jlreq at addpapersize{b3,B3}{}{364mm}{515mm}
+\jlreq at addpapersize{b4,B4}{b4paper}{257mm}{364mm}
+\jlreq at addpapersize{b5,B5}{b5paper}{182mm}{257mm}
+\jlreq at addpapersize{b6,B6}{b6paper}{128mm}{182mm}
+\jlreq at addpapersize{b7,B7}{}{91mm}{128mm}
+\jlreq at addpapersize{b8,B8}{}{64mm}{91mm}
+\jlreq at addpapersize{b9,B9}{}{45mm}{64mm}
+\jlreq at addpapersize{b10,B10}{}{32mm}{45mm}
 
-\jlreq at addpapersize[c2]{}{648mm}{458mm}
-\jlreq at addpapersize[c3]{}{458mm}{324mm}
-\jlreq at addpapersize[c4]{}{354mm}{229mm}
-\jlreq at addpapersize[c5]{}{229mm}{162mm}
-\jlreq at addpapersize[c6]{}{162mm}{114mm}
-\jlreq at addpapersize[c7]{}{114mm}{81mm}
-\jlreq at addpapersize[c8]{}{81mm}{57mm}
+\jlreq at addpapersize{c2,C2}{}{458mm}{648mm}
+\jlreq at addpapersize{c3,C3}{}{324mm}{458mm}
+\jlreq at addpapersize{c4C,C4}{}{229mm}{354mm}
+\jlreq at addpapersize{c5,C5}{}{162mm}{229mm}
+\jlreq at addpapersize{c6,C6}{}{114mm}{162mm}
+\jlreq at addpapersize{c7,C7}{}{81mm}{114mm}
+\jlreq at addpapersize{c8,C8}{}{57mm}{81mm}
 
+\jlreq at addpapersize{a4var}{}{210mm}{283mm}
+\jlreq at addpapersize{b5var}{}{182mm}{230mm}
 
+\jlreq at addpapersize{letter}{letterpaper}{8.5in}{11in}
+\jlreq at addpapersize{legal}{legalpaper}{8.5in}{14in}
+\jlreq at addpapersize{executive}{executivepaper}{7.25in}{10.5in}
+
+
 %.. フォントサイズ,行長,1ページあたりの行数で基本版面のサイズを決める(2.4.1.a)
 \newcommand*{\jlreq at option@fontsize}{}
 \jlreq at aftercls@addtodeletecs{\jlreq at option@fontsize}
@@ -462,7 +429,12 @@
 \jlreq at DeclareOption{10pt}{\renewcommand*{\jlreq at option@fontsize}{10pt}}
 \jlreq at DeclareOption{11pt}{\renewcommand*{\jlreq at option@fontsize}{11pt}}
 \jlreq at DeclareOption{12pt}{\renewcommand*{\jlreq at option@fontsize}{12pt}}
-
+\newcommand*{\jlreq at option@jafontsize}{}
+\jlreq at aftercls@addtodeletecs{\jlreq at option@jafontsize}
+\DeclareOptionX{jafontsize}{\renewcommand*{\jlreq at option@jafontsize}{#1}}
+\newcommand*{\jlreq at option@jafontscale}{1}
+\DeclareOptionX{jafontscale}{\renewcommand*{\jlreq at option@jafontscale}{#1}}
+\jlreq at aftercls@addtodeletecs{\jlreq at option@jafontscale}
 %.. 行の長さ
 \newcommand*{\jlreq at option@line at length}{}
 \jlreq at aftercls@addtodeletecs{\jlreq at option@line at length}
@@ -500,7 +472,7 @@
 \DeclareOptionX{column_gap}{\renewcommand*{\jlreq at option@column at gap{#1}}}
 
 %.. 行送り,指定無しの場合は文字サイズの1.7倍とする.(1.5から2倍が好ましい:2.4.2.d 注3)
-\newcommand*{\jlreq at option@baselineskip}{}
+\newcommand*{\jlreq at option@baselineskip}{17zw/10}
 \jlreq at aftercls@addtodeletecs{\jlreq at option@baselineskip}
 \DeclareOptionX{baselineskip}{\def\jlreq at option@baselineskip{#1}}
 \DeclareOptionX{linegap}{\def\jlreq at option@baselineskip{1zw + #1}}
@@ -515,33 +487,11 @@
 \jlreq at DeclareOption{hanging_punctuation}{\jlreq at burasagetrue}
 
 %.. 注
-% 合印の場所(4.2.3)行間に入れるか否か
-\newcommand*{\jlreq at referencemark}{inline}
-\define at choicekey{jlreq.cls}{reference_mark}{inline,interlinear}{\renewcommand*{\jlreq at referencemark}{#1}}
-% 脚注の字下げ,一行目を下げるならばone,二行目以降ならばtwo.ちょっと酷いので後で考える.
-\newcommand*{\jlreq at footnotetext@indent}{one}
-\define at choicekey{jlreq.cls}{footnotetext_indent}{one,two}{\renewcommand*{\jlreq at footnotetext@indent}{#1}}
-% 後注をどこに配置するか.headings(全ての見出し),paragraph(段落後),_で始まるやつ(その名前の見出し).カンマ区切り
-\newcommand*{\jlreq at endnote@position}{headings}
-\DeclareOptionX{endnote_position}{\renewcommand*{\jlreq at endnote@position}{#1}}
 % 傍注のタイプ
-\newcommand*{\jlreq at sidenote@type}{number}
-\define at choicekey{jlreq.cls}{sidenote_type}{number,symbol}{\renewcommand*{\jlreq at sidenote@type}{#1}}
 \newcommand*{\jlreq at option@sidenote at width}{}
 \jlreq at aftercls@addtodeletecs{\jlreq at option@sidenote at width}
 \DeclareOptionX{sidenote_width}{\renewcommand*{\jlreq at option@sidenote at width}{#1}}
 
-%.. 引用
-\def\jlreq at quote@indent{2zw}
-\DeclareOptionX{quote_indent}{\def\jlreq at quote@indent{#1}}
-\def\jlreq at quote@end at indent{0zw}
-\DeclareOptionX{quote_end_indent}{\def\jlreq at quote@end at indent{#1}}
-\def\jlreq at quote@fontsize{normalsize}
-\define at choicekey{jlreq.cls}{quote_fontsize}{normalsize,small,footnotesize,scriptsize,tiny}{\def\jlreq at quote@fontsize{#1}}
-\def\jlreq at quote@beforeafter at space{0pt}
-\DeclareOptionX{quote_beforeafter_space}{\def\jlreq at quote@beforeafter at space{#1}}
-
-
 %.. もろもろ
 \newif\if at restonecol \@restonecolfalse
 \newif\if at titlepage \@titlepagefalse
@@ -577,10 +527,10 @@
 \jlreq at DeclareOption{leqno}{\input{leqno.clo}}
 \jlreq at DeclareOption{fleqn}{\input{fleqn.clo}}
 
-\newcommand*{\jlreq at warning}[1]{}
-\jlreq at DeclareOption{jlreq_warnings}{\renewcommand*{\jlreq at warning}[1]{\ClassWarningNoLine{jlreq}{(JLReq warning) ##1}}}
+\newcommand*{\jlreq at note}[1]{}
+\jlreq at DeclareOption{jlreq_notes}{\renewcommand*{\jlreq at note}[1]{\message{^^JJLReq note: ##1^^J}}}
 
-\ExecuteOptionsX{article_type=article,paper=a4,fontsize=10pt,open_bracket_pos=zenkaku_tentsuki,reference_mark=inline,footnotetext_indent=one,endnote_position=headings,onecolumn,final}
+\ExecuteOptionsX{article_type=article,paper=a4,open_bracket_pos=zenkaku_tentsuki,onecolumn,final}
 % \@removeelementを一旦置き換えてから\ProcessOptionsXを実行する
 \let\jlreq at original@@removeelement=\@removeelement
 \let\@removeelement=\jlreq at helper@removeelement
@@ -605,21 +555,36 @@
 \fi
 
 \def\jlreq at jlreqsetup@keyvallist{}
+\def\jlreq at jlreqsetup@finally{}
 \newcommand{\jlreqsetup}[1]{%
   \begingroup
     \edef\jlreq at do{\unexpanded{\jlreq at parsekeyval[jlreqsetup]}{\expandonce{\jlreq at jlreqsetup@keyvallist}}}%
   \expandafter\endgroup
   \jlreq at do{#1}%
+  \jlreq at jlreqsetup@finally
 }
-\newcommand{\jlreq at jlreqsetup@add}[2]{%
+% \jlreqsetupの項目に加えるマクロ.\jlreq at jlreqsetup@add{key}{action}とするとkeyに対して定義できる.
+% action内ではvalが#1として取得できる.(従ってaction内でマクロを定義する際には##1を使う必要がある.)
+\newcommand{\jlreq at jlreqsetup@add}[1]{%
+  \@ifnextchar[{\jlreq at jlreqsetup@add@{#1}}{\jlreq at jlreqsetup@add@@{#1}}%
+}
+\long\def\jlreq at jlreqsetup@add@#1[#2]#3{%
+  \eappto\jlreq at jlreqsetup@keyvallist{\unexpanded{{#1}[#2]{#3}}}%
+}
+\long\def\jlreq at jlreqsetup@add@@#1#2{%
   \eappto\jlreq at jlreqsetup@keyvallist{\unexpanded{{#1}{#2}}}%
 }
+% \jlreqsetupの最後に必ず実行される処理を入れる.
+\newcommand\jlreq at jlreqsetup@addtofinally[1]{\eappto\jlreq at jlreqsetup@finally{\unexpanded{#1}}}
 \jlreq at aftercls@addtodeletecs{\jlreq at jlreqsetup@add}
+\jlreq at aftercls@addtodeletecs{\jlreq at jlreqsetup@add@}
+\jlreq at aftercls@addtodeletecs{\jlreq at jlreqsetup@add@@}
+\jlreq at aftercls@addtodeletecs{\jlreq at jlreqsetup@addtofinally}
 \@onlypreamble\jlreqsetup
 
 % エンジンの設定
 \ifx\jlreq at engine\@undefined
-  \ifx\luatexversion\@undefined
+  \ifx\directlua\@undefined
     \ifx\ucs\@undefined
       \let\jlreq at engine=p
     \else
@@ -669,10 +634,16 @@
   \def\jlreq at iftbox#1{\iftbox#1\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi}
 }
 
+\ifx l\jlreq at engine
+  \newcommand*{\jlreq at getpostbreakpenalty}[1]{\ltjgetparameter{postbreakpenalty}{#1}}
+\else
+  \newcommand*{\jlreq at getpostbreakpenalty}[1]{\postbreakpenalty#1}
+\fi
+
 % 現在行の残りを得る.
 \ifx l\jlreq at engine
   % 以下のコードはおかしい.
-  \newcommand*{\jlreq at calc@current at linewidth}{%
+  \newcommand*{\jlreq at calc@current at linewidth@onecolumn}{%
     \dimexpr\zposx{jlreq at rest@width.pos.\the\jlreq at zref@reference at count} sp - \@totalleftmargin -
     \ifodd\jlreq at currentpage
       \oddsidemargin
@@ -682,7 +653,7 @@
     - 1in - \hoffset\relax
   }
 \else
-  \newcommand*{\jlreq at calc@current at linewidth}{%
+  \newcommand*{\jlreq at calc@current at linewidth@onecolumn}{%
     \dimexpr
       \jlreq at ifydir{%
         \zposx{jlreq at rest@width.pos.\the\jlreq at zref@reference at count} sp - \hoffset
@@ -704,10 +675,19 @@
     \relax
   }
 \fi
+\newcommand*{\jlreq at calc@current at linewidth}{%
+  \dimexpr\jlreq at calc@current at linewidth@onecolumn
+    \if at twocolumn
+      \ifdim\jlreq at calc@current at linewidth@onecolumn<\dimexpr\linewidth+\columnsep\relax\else
+        - \linewidth - \columnsep
+      \fi
+   \fi
+ \relax
+}
 
 \newdimen\jlreq at current@linewidth
 \newdimen\jlreq at rest@linewidth
-% この命令以降,次にこの命令を実行する前まで\jlreq at rest@linewidth/\jlreq at rest@linewidthで
+% この命令以降,次にこの命令を実行する前まで\jlreq at current@linewidth/\jlreq at rest@linewidthで
 % この場所における残り長さが取得できる.
 \newcommand*{\jlreq at savepos@for at rest@linewidth}{%
   \jlreq at setcurrentpage
@@ -731,11 +711,13 @@
   \expandafter\endgroup
   \jlreq at do
 }
+
 \newcount\jlreq at lastnodechar
 % jlreq at lastnodecharに入っている値と次のトークン(\futureletで得る)の間に入るJFMグルー等を挿入する
-\def\jlreq at fixjfm{%
+\newcommand*{\jlreq at fixjfm}{%
   \ifnum\jlreq at lastnodechar>-1
     \def\jlreq at do{%
+      \ifnum\jlreq at getpostbreakpenalty{\jlreq at lastnodechar}=0\else\penalty\jlreq at getpostbreakpenalty{\jlreq at lastnodechar}\fi
       \jlreq at isletter{\jlreq at nextchar}{%
         \jlreq at calc@jfmglue{\char\jlreq at lastnodechar}{\jlreq at nextchar}%
 %        \message{fixjfm Insert: \the\jlreq at resultskip}%
@@ -750,6 +732,41 @@
   \@tempa
 }
 
+% #1÷#2を\jlreq at resultdimenに入れる.(#1,#2は寸法を与える.)
+\ifx l\jlreq at engine
+  \newcommand*{\jlreq at divide}[2]{%
+    \jlreq at resultdimen=\directlua{tex.print(tostring(\strip at pt\dimexpr #1\relax/\strip at pt\dimexpr #2\relax) .. "pt ")}%
+  }
+\else
+  \newcommand*{\jlreq at divide}[2]{%
+    \begingroup
+      \@tempdima=#1\relax\@tempdimb=#2\relax
+      % 分母を正にする
+      \ifdim\@tempdimb<0pt \@tempdima=-\@tempdima\@tempdimb=-\@tempdimb\fi
+      % \jlreq at tempdima*\@tempdimb <= \@tempdima < (\jlreq at tempdima + 1)*\@tempdimb
+      % となる整数\jlreq at tempdimaを捜し,\jlreq at tempdimb=\jlreq at tempdima + 1とする
+      \jlreq at tempdima=0pt
+      \ifdim\@tempdima<0pt
+        \loop\ifdim\strip at pt\jlreq at tempdima\@tempdimb>\@tempdima\advance\jlreq at tempdima by -1pt\repeat
+      \else
+        \loop\ifdim\strip at pt\jlreq at tempdima\@tempdimb<\@tempdima\advance\jlreq at tempdima by 1pt\repeat
+        \ifdim\strip at pt\jlreq at tempdima\@tempdimb=\@tempdima\else\advance\jlreq at tempdima by -1pt\fi
+      \fi
+      \jlreq at tempdimb=\dimexpr\jlreq at tempdima + 1pt\relax
+      % \jlreq at tempdimaと\jlreq at tempdimbで挟んでいく二分法
+      \jlreq at tempcnta=0 % 無限ループを避けるためのカウンタ
+      \loop\ifnum\numexpr\ifdim\dimexpr\jlreq at tempdimb - \jlreq at tempdima\relax>1sp 1\else0\fi*\ifnum\jlreq at tempcnta<100 1\else 0\fi\relax=1
+        \jlreq at tempdimc=\dimexpr(\jlreq at tempdima+\jlreq at tempdimb)/2\relax
+        \ifdim\strip at pt\jlreq at tempdimc\@tempdimb>\@tempdima\jlreq at tempdimb=\jlreq at tempdimc
+        \else\jlreq at tempdima=\jlreq at tempdimc\fi
+        \advance\jlreq at tempcnta by 1
+      \repeat
+      \edef\jlreq at do{\noexpand\jlreq at resultdimen=\the\jlreq at tempdima\noexpand\relax}%
+    \expandafter\endgroup
+    \jlreq at do
+  }
+\fi
+
 %. 基本設定
 \def\jlreq at kanjiskip{0pt plus 0.25zw minus 0pt}
 \def\jlreq at xkanjiskip{0.25zw plus 0.25zw minus 0.125zw}
@@ -1042,20 +1059,39 @@
 \jlreq at setprebreakpenalty{‥}{10000}
 % ¥100とか70%とか……
 
+% フォントサイズを設定
 \newdimen\jlreq at fontsize
+\newdimen\jlreq at jafontsize
 \ifx l\jlreq at engine
-  \setlength{\jlreq at fontsize}{%
+  \def\jlreq at expand@optionfontsize#1{%
     \dimexpr\directlua{
       local act = string.char(92)
-      local s = [[\jlreq at option@fontsize]]
+      local s = [[#1]]
       s = s:gsub("Q",act .. "dimexpr 0.25mm" .. act .. "relax")
       tex.print(s)
     }\relax
   }%
 \else
-  \setlength{\jlreq at fontsize}{\dimexpr\jlreq at option@fontsize\relax}
+  \def\jlreq at expand@optionfontsize#1{\dimexpr#1\relax}
 \fi
-
+\jlreq at aftercls@addtodeletecs{\jlreq at expand@optionfontsize}
+\ifx\jlreq at option@fontsize\@empty
+  \ifx\jlreq at option@jafontsize\@empty
+    \jlreq at fontsize=10pt
+    \jlreq at jafontsize=\jlreq at option@jafontscale\jlreq at fontsize
+  \else
+    \setlength{\jlreq at jafontsize}{\jlreq at expand@optionfontsize{\jlreq at option@jafontsize}}
+    \jlreq at divide{\jlreq at jafontsize}{\jlreq at option@jafontscale pt}
+    \jlreq at fontsize=\jlreq at resultdimen
+  \fi
+\else
+  \setlength{\jlreq at fontsize}{\jlreq at expand@optionfontsize{\jlreq at option@fontsize}}
+  \ifx\jlreq at option@jafontsize\@empty
+    \jlreq at jafontsize=\jlreq at option@jafontscale\jlreq at fontsize
+  \else
+    \setlength{\jlreq at jafontsize}{\jlreq at expand@optionfontsize{\jlreq at option@jafontsize}}
+  \fi
+\fi
 %. フォント
 \RequirePackage{lmodern}
 
@@ -1096,31 +1132,57 @@
 \DeclareRobustCommand*{\mit}{\@fontswitch\relax\mathnormal}
 
 %.. 和文
+% 行頭括弧に対して\inhibitglueを入れたりする命令を作る
+\def\jlreq at openbreackets@list{(〔[{〈《「『【‘“}
+\ifx p\jlreq at engine\else\edef\jlreq at openbreackets@list{\jlreq at openbreackets@list ⦅〘〖«〝}\fi
+\jlreq at aftercls@addtodeletecs{\jlreq at openbreackets@list}
+% \jlreq at openbreackets@listの各括弧に対して,\ifx\jlreq at nextchar 「1\fiみたいなのが並んだのを作る
+\def\jlreq at tempa{}
+\def\jlreq at do#1{\jlreq at ifendmark{#1}{}{\appto\jlreq at tempa{\ifx\jlreq at nextchar#11\fi}\jlreq at do}}
+\expandafter\jlreq at do\jlreq at openbreackets@list\jlreq at endmark
+% JFM glueの伸び縮みで行頭括弧が揃わないのを防ぐために常に\inhibitglueを入れる.
+\ifthenelse{\equal{\jlreq at open@bracket at pos}{nibu_tentsuki}}{
+  \edef\jlreq at openbracket@hook{\noexpand\ifnum0\expandonce{\jlreq at tempa}>0 \unexpanded{\hskip -.5\jlreq at mol\inhibitglue}\noexpand\fi}
+}{% zenkakunibu_nibu,zenkaku_tentsuki
+  \edef\jlreq at openbracket@hook{\noexpand\ifnum0\expandonce{\jlreq at tempa}>0 \unexpanded{\inhibitglue}\noexpand\fi}
+}
 % JFMに関連する設定
 \ifx l\jlreq at engine
   % この値は後でjfm-jlreq内で読む
   \directlua{jlreq.open_bracket_pos = [[\jlreq at open@bracket at pos]]}
-  \ifjlreq at burasage\directlua{jlreq.burasage = true}
-  \else\directlua{jlreq.burasage = false}\fi
+  \ifjlreq at burasage\directlua{jlreq.burasage = true}\else\directlua{jlreq.burasage = false}\fi
+  % 行頭括弧はJFMで対応できるが,\item後だけはどうしようもない.
+  \jlreq at saveoriginalcs{list}
+  \jlreq at saveoriginalcs{endlist}
+  \def\list{\jlreq at pushhook@postpar{\futurelet\jlreq at nextchar\jlreq at openbracket@hook}\jlreq at original@list}
+  \def\endlist{\jlreq at pophook@postpar\jlreq at original@endlist}
 \else
   % 非LuaTeXの場合はJFMの入れ替えと\everyparでの処理で対処.
+  % \jlreq at jfmnameにJFMの名前を入れる
   \def\jlreq at jfmname@prefix{}
-  \def\jlreq at openbreackets@list{(〔[{〈《「『【}
-  \ifx u\jlreq at engine\edef\jlreq at openbreackets@list{\jlreq at openbreackets@list {⦅〘〖«〝‘“}}\fi
-  % \jlreq at jfmnameにJFMの名前を入れる
+  \jlreq at aftercls@addtodeletecs{\jlreq at jfmname@prefix}
   \ifjlreq at burasage\edef\jlreq at jfmname@prefix{b\jlreq at jfmname@prefix}\fi
   \ifthenelse{\equal{\jlreq at open@bracket at pos}{zenkakunibu_nibu}}{\edef\jlreq at jfmname@prefix{\jlreq at jfmname@prefix z}}{}
   \ifx u\jlreq at engine\edef\jlreq at jfmname@prefix{u\jlreq at jfmname@prefix}\fi
   \edef\jlreq at jfmname{\jlreq at jfmname@prefix jlreq}
   \edef\jlreq at jfmnameg{\jlreq at jfmname@prefix jlreqg}
-  % JFM glueの伸び縮みで行頭括弧が揃わないのを防ぐために常に\inhibitglueを入れる.
-  \ifthenelse{\equal{\jlreq at open@bracket at pos}{nibu_tentsuki}}{
-    \def\jlreq at openbracket@hook{\jlreq at ifintokenlist{\jlreq at nextchar}{\jlreq at openbreackets@list}{\hskip -.5\jlreq at mol\inhibitglue}{}}
-  }{% zenkakunibu_nibu,zenkaku_tentsuki
-    \def\jlreq at openbracket@hook{\jlreq at ifintokenlist{\jlreq at nextchar}{\jlreq at openbreackets@list}{\inhibitglue}{}}
-  }
   \AtBeginDocument{\PushPostHook{par}{\futurelet\jlreq at nextchar\jlreq at openbracket@hook}}
 \fi
+\newcount\jlreq at count@listnest
+\jlreq at count@listnest=0
+\def\jlreq at pushhook@postpar#1{%
+  \advance\jlreq at count@listnest by 1
+  \def\@tempa{\SavePostHook{par}}%
+  \expandafter\@tempa\csname jlreq at save@posthook at par \the\jlreq at count@listnest\endcsname
+  \PushPostHook{par}{#1}%
+}
+\def\jlreq at pophook@postpar{%
+  \def\@tempa{\RestorePostHook{par}}%
+  \expandafter\@tempa\csname jlreq at save@posthook at par \the\jlreq at count@listnest\endcsname
+  \expandafter\let\csname jlreq at save@posthook at par \the\jlreq at count@listnest\endcsname=\@undefined
+  \advance\jlreq at count@listnest by -1
+}
+
 % 開き括弧の幅が全角の場合は,ベタ組にするために補正が必要
 \ifthenelse{\equal{\jlreq at open@bracket at pos}{zenkakunibu_nibu}}{
   \def\jlreq at open@bracket at before@space{\hskip -.5\jlreq at mol}
@@ -1143,22 +1205,25 @@
   \def\jlreq at yokokanjiencoding{JY2}
   \def\jlreq at tatekanjiencoding{JT2}
 \fi
+\jlreq at divide{\jlreq at jafontsize}{\jlreq at fontsize}
+\edef\jlreq at jafontscale{\strip at pt\jlreq at resultdimen}
+\jlreq at aftercls@addtodeletecs{\jlreq at jafontscale}
 \ifx l\jlreq at engine
   \def\jlreq at yokokanjiencoding{JY3}
   \def\jlreq at tatekanjiencoding{JT3}
   \expandafter\let\csname JY3/mc/m/n/10\endcsname\relax
   \expandafter\let\csname JT3/mc/m/n/10\endcsname\relax
-  \DeclareFontShape{JY3}{mc}{m}{n}{<->\ltj at stdmcfont:jfm=jlreq;script=latn;-kern}{}
-  \DeclareFontShape{JY3}{gt}{m}{n}{<->\ltj at stdgtfont:jfm=jlreq;script=latn;-kern}{}
-  \DeclareFontShape{JT3}{mc}{m}{n}{<->\ltj at stdmcfont:jfm=jlreqv;script=latn;-kern}{}
-  \DeclareFontShape{JT3}{gt}{m}{n}{<->\ltj at stdgtfont:jfm=jlreqv;script=latn;-kern}{}
+  \DeclareFontShape{JY3}{mc}{m}{n}{<->s*[\jlreq at jafontscale]\ltj at stdmcfont:jfm=jlreq;script=latn;-kern}{}
+  \DeclareFontShape{JY3}{gt}{m}{n}{<->s*[\jlreq at jafontscale]\ltj at stdgtfont:jfm=jlreq;script=latn;-kern}{}
+  \DeclareFontShape{JT3}{mc}{m}{n}{<->s*[\jlreq at jafontscale]\ltj at stdmcfont:jfm=jlreqv;script=latn;-kern}{}
+  \DeclareFontShape{JT3}{gt}{m}{n}{<->s*[\jlreq at jafontscale]\ltj at stdgtfont:jfm=jlreqv;script=latn;-kern}{}
 \else
   \expandafter\let\csname \jlreq at yokokanjiencoding/mc/m/n/10\endcsname\relax
   \expandafter\let\csname \jlreq at tatekanjiencoding/mc/m/n/10\endcsname\relax
-  \DeclareFontShape{\jlreq at yokokanjiencoding}{mc}{m}{n}{<-> \jlreq at jfmname}{}
-  \DeclareFontShape{\jlreq at yokokanjiencoding}{gt}{m}{n}{<-> \jlreq at jfmnameg}{}
-  \DeclareFontShape{\jlreq at tatekanjiencoding}{mc}{m}{n}{<-> \jlreq at jfmname-v}{}
-  \DeclareFontShape{\jlreq at tatekanjiencoding}{gt}{m}{n}{<-> \jlreq at jfmnameg-v}{}
+  \DeclareFontShape{\jlreq at yokokanjiencoding}{mc}{m}{n}{<->s*[\jlreq at jafontscale]\jlreq at jfmname}{}
+  \DeclareFontShape{\jlreq at yokokanjiencoding}{gt}{m}{n}{<->s*[\jlreq at jafontscale]\jlreq at jfmnameg}{}
+  \DeclareFontShape{\jlreq at tatekanjiencoding}{mc}{m}{n}{<->s*[\jlreq at jafontscale]\jlreq at jfmname-v}{}
+  \DeclareFontShape{\jlreq at tatekanjiencoding}{gt}{m}{n}{<->s*[\jlreq at jafontscale]\jlreq at jfmnameg-v}{}
 \fi
 \DeclareFontShape{\jlreq at yokokanjiencoding}{mc}{bx}{n}{<->ssub*gt/m/n}{}
 \DeclareFontShape{\jlreq at yokokanjiencoding}{gt}{bx}{n}{<->ssub*gt/m/n}{}
@@ -1207,27 +1272,23 @@
 % いったん文字サイズを変更((u)platexの際にzh/zwをきちんとするため)
 \@setfontsize\normalsize{\jlreq at fontsize}{\jlreq at fontsize}%
 \newdimen\jlreq at baselineskip
-\ifx\jlreq at option@baselineskip\@empty
-  \setlength{\jlreq at baselineskip}{\dimexpr 17\jlreq at fontsize/10\relax}%
+\ifx l\jlreq at engine
+  \setlength{\jlreq at baselineskip}{%
+    \dimexpr\directlua{
+      local act = string.char(92)
+      local s = [[\jlreq at option@baselineskip]]
+      s = s:gsub("Q",act .. "dimexpr 0.25mm" .. act .. "relax"):gsub("zh",act .. "zh"):gsub("zw",act .. "zw")
+      tex.print(s)
+    }\relax
+  }%
 \else
-  \ifx l\jlreq at engine
-    \setlength{\jlreq at baselineskip}{%
-      \dimexpr\directlua{
-        local act = string.char(92)
-        local s = [[\jlreq at option@baselineskip]]
-        s = s:gsub("Q",act .. "dimexpr 0.25mm" .. act .. "relax"):gsub("zh",act .. "zh"):gsub("zw",act .. "zw")
-        tex.print(s)
-      }\relax
-    }%
-  \else
-    \setlength{\jlreq at baselineskip}{\jlreq at option@baselineskip}
-  \fi
+  \setlength{\jlreq at baselineskip}{\dimexpr\jlreq at option@baselineskip\relax}
 \fi
 \ifdim\jlreq at fontsize>\jlreq at baselineskip
   \ClassError{jlreq}{The baselineskip is less than fontsize}{\@ehc}%
 \fi
-\ifthenelse{\lengthtest{\jlreq at baselineskip<1.5\jlreq at fontsize} \OR \lengthtest{\jlreq at baselineskip>2\jlreq at fontsize}}{
-  \jlreq at warning{行間は二分以上全角以下が望ましい (2.4.2.d 注3)}
+\ifthenelse{\lengthtest{\jlreq at baselineskip<1.5\zw} \OR \lengthtest{\jlreq at baselineskip>2\zw}}{
+  \jlreq at note{行間は二分以上全角以下が望ましい (2.4.2.d 注3).}
 }{}
 
 \emergencystretch 3\jlreq at gol
@@ -1234,11 +1295,11 @@
 
 %.. 文字サイズ変更
 % 文字サイズを基準としているような寸法に対しては,
-% \@setfontsizeが実行されるたびに追随して値を変える
+% \set at fontsizeが実行されるたびに追随して値を変える
 % その処理は\jlreq at setfontsizehookに入れる
-\jlreq at saveoriginalcs{@setfontsize}
-\renewcommand*{\@setfontsize}[3]{%
-  \jlreq at original@@setfontsize{#1}{#2}{#3}%
+\jlreq at saveoriginalcs{set at fontsize}
+\renewcommand*{\set at fontsize}[3]{%
+  \jlreq at original@set at fontsize{#1}{#2}{#3}%
   \jlreq at setfontsizehook
 }
 \def\jlreq at setfontsizehook{}
@@ -1251,6 +1312,20 @@
     \fi
   }
 \fi
+\jlreq at divide{\jlreq at fontsize}{\jlreq at jafontsize}
+\edef\jlreq at jafontinvscale{\strip at pt\jlreq at resultdimen}
+\newcommand*{\jafontsize}[2]{%
+  \begingroup
+    \jlreq at iffloat{#1}{%
+      \jlreq at tempdima=\jlreq at jafontinvscale\dimexpr #1pt\relax
+      \edef\jlreq at do{\noexpand\fontsize{\strip at pt\jlreq at tempdima}{\unexpanded{#2}}}%
+    }{%
+      \jlreq at tempdima=\jlreq at jafontinvscale\dimexpr#1\relax
+      \edef\jlreq at do{\noexpand\fontsize{\expandonce{\the\jlreq at tempdima}}{\unexpanded{#2}}}%
+    }%
+  \expandafter\endgroup
+  \jlreq at do
+}
 
 \renewcommand{\normalsize}{%
   \@setfontsize\normalsize{\jlreq at fontsize}{\jlreq at baselineskip}%
@@ -1271,26 +1346,19 @@
 
 % 4.1.3.a
 % 2.5.2 \baselineskipは一定の方がよい?
+% \@listiは再定義しないようにした.(\normalsizeと共用でJLReq通りだと思う.)
 \newcommand{\footnotesize}{%
   \@setfontsize\footnotesize{.8\jlreq at fontsize}{\dimexpr 115\jlreq at baselineskip/170\relax}% 脚注文字サイズの二分より少し小さい値を行間に: 4.2.5.e
-  \abovedisplayskip .6\jlreq at gol \@plus.2\jlreq at gol \@minus.4\jlreq at gol
-  \abovedisplayshortskip \z@ \@plus.1\jlreq at gol
-  \belowdisplayshortskip .3\jlreq at gol \@plus.1\jlreq at gol \@minus.2\jlreq at gol
-  \def\@listi{\leftmargin\leftmargini
-    \topsep .3\jlreq at gol \@plus.1\jlreq at gol \@minus.1\jlreq at gol
-    \parsep .2\jlreq at gol \@plus.1\jlreq at gol \@minus.1\jlreq at gol
-    \itemsep \parsep}%
+  \abovedisplayskip .6\jlreq at fontsize \@plus.2\jlreq at fontsize \@minus.4\jlreq at fontsize
+  \abovedisplayshortskip \z@ \@plus.1\jlreq at fontsize
+  \belowdisplayshortskip .3\jlreq at fontsize \@plus.1\jlreq at fontsize \@minus.2\jlreq at fontsize
   \belowdisplayskip \abovedisplayskip}
 % tsize10.cloの引数を,そのまま\jlreq at fontsize/\jlreq at baselineskipでスケーリングしているだけ.
 \newcommand{\small}{%
   \@setfontsize\small{.9\jlreq at fontsize}{\dimexpr 11\jlreq at baselineskip/17\relax}%
-  \abovedisplayskip .85\jlreq at gol \@plus.3\jlreq at gol \@minus.4\jlreq at gol
-  \abovedisplayshortskip \z@ \@plus.2\jlreq at gol
-  \belowdisplayshortskip .4\jlreq at gol \@plus.2\jlreq at gol \@minus.2\jlreq at gol
-  \def\@listi{\leftmargin\leftmargini
-    \topsep .4\jlreq at gol \@plus.2\jlreq at gol \@minus.2\jlreq at gol
-    \parsep .2\jlreq at gol \@plus.1\jlreq at gol \@minus.1\jlreq at gol
-    \itemsep \parsep}%
+  \abovedisplayskip .85\jlreq at fontsize \@plus.3\jlreq at fontsize \@minus.4\jlreq at fontsize
+  \abovedisplayshortskip \z@ \@plus.2\jlreq at fontsize
+  \belowdisplayshortskip .4\jlreq at fontsize \@plus.2\jlreq at fontsize \@minus.2\jlreq at fontsize
   \belowdisplayskip \abovedisplayskip}
 \newcommand{\scriptsize}{\@setfontsize\scriptsize{\dimexpr 7\jlreq at fontsize/10\relax}{\dimexpr 8\jlreq at baselineskip/17\relax}}
 \newcommand{\tiny}{\@setfontsize\tiny{\dimexpr 5\jlreq at fontsize/10\relax}{\dimexpr 6\jlreq at baselineskip/17\relax}}
@@ -1380,7 +1448,7 @@
 %.. \textwidth:文字送り方向の行長
 % 二段の場合は最初の段の頭から次の段の後まで
 % 一度\textwidthに一行の長さの文字数を入れる(段組の場合でも)
-\@tempdima=1\jlreq at fontsize
+\@tempdima=1\zw
 \ifx\jlreq at option@line at length\@empty
   \if at tate
     \setlength{\textwidth}{0.75\paperheight}
@@ -1396,11 +1464,11 @@
   \divide\textwidth\@tempdima
   \if at tate
     \ifnum\number\textwidth>52
-      \jlreq at warning{一行の長さは52文字以下が望ましい (2.4.2.c 注2)}
+      \jlreq at note{一行の長さは52文字以下が望ましい (2.4.2.c 注2).}
     \fi
   \else
     \ifnum\number\textwidth>40
-      \jlreq at warning{一行の長さは40文字以下が望ましい (2.4.2.c 注2)}
+      \jlreq at note{一行の長さは40文字以下が望ましい (2.4.2.c 注2).}
     \fi
   \fi
 \fi
@@ -1432,7 +1500,7 @@
   \else\def\jlreq at option@headfoot at verticalpos{2zh}\fi
 \fi
 \setlength{\headsep}{\jlreq at speciallength{\jlreq at option@headfoot at verticalpos}}
-\ifdim\headsep<1\zw\jlreq at warning{基本版面との上下方向の最低の空き量を,基本版面の文字サイズの全角アキとする (26.1.a)}\fi
+\ifdim\headsep<1\zw\relax\jlreq at note{基本版面との上下方向の最低の空き量を,基本版面の文字サイズの全角アキとする (26.1.a).}\fi
 \setlength{\headheight}{1\zw}
 %.. 横
 \ifx\jlreq at option@gutter\@empty
@@ -1464,7 +1532,7 @@
 \def\jlreq at settopmarginbyhead#1{
   \if at tate
     \setlength{\topmargin}{\dimexpr #1 - \headsep - \headheight - 1in\relax}
-    \jlreq at warning{縦組の場合は地の空き量を指定する (2.4.1.b)}
+    \jlreq at note{縦組の場合は地の空き量を指定する (2.4.1.b).}
   \else
     \setlength{\topmargin}{\dimexpr #1 - \headsep - \headheight - 1in - \topskip + \Cht\relax}
   \fi
@@ -1475,7 +1543,7 @@
   \if at tate
     \setlength{\topmargin}{\dimexpr\paperheight - \textwidth - \headsep - \headheight - 1in - #1\relax}
   \else
-    \jlreq at warning{横組の場合は天の空き量を指定する (2.4.1.b)}
+    \jlreq at note{横組の場合は天の空き量を指定する (2.4.1.b).}
     \setlength{\topmargin}{\dimexpr\paperheight - \textheight + \topskip - 1\zh - \headsep - \headheight - 1in - #1\relax}
   \fi
 }
@@ -1508,7 +1576,7 @@
 %.. 下
 \setlength{\footskip}{\dimexpr\headsep + 1\zw\relax}
 % \maxdepth + \topskip = フォントサイズ×1.5(だってさ)
-\setlength{\maxdepth}{\dimexpr1.5\jlreq at fontsize - \topskip\relax}
+\setlength{\maxdepth}{\dimexpr1.5\zw - \topskip\relax}
 
 %. 見出し関係 (4.1)
 % 見出しの直前に実行される
@@ -1538,7 +1606,7 @@
     \edef\jlreq at label@format{\expandonce{\csname the#1\endcsname}}%
     \def\jlreq at heading@clearpage{\cleardoublepage}%
     \def\jlreq at pagestyle{empty}%
-    \jlreq at parsekeyval[DeclareTobiraHeading]{
+    \jlreq at parsekeyval[DeclareTobiraHeading:#1]{
       {label_format}{\def\jlreq at label@format{##1}}
       {format}{\def\jlreq at format####1####2{##1}}
       {pagestyle}{\def\jlreq at pagestyle{##1}}
@@ -1815,7 +1883,7 @@
       \@tempa##1,\jlreq at endmark
       \jlreq at do
     }%
-    \jlreq at parsekeyval[BlockHeading]{
+    \jlreq at parsekeyval[BlockHeading:#1]{
       {lines}{\def\jlreq at lines{##1}}
       {before_space}{\def\jlreq at before@space{##1}}
       {after_space}{\def\jlreq at after@space{##1}}
@@ -1977,7 +2045,7 @@
     \def\jlreq at mark{}%
     \def\jlreq at label@font{}%
     \def\jlreq at after@space{1\jlreq at mol}%
-    \jlreq at parsekeyval[RuninHeading]{%
+    \jlreq at parsekeyval[RuninHeading:#1]{%
       {font}{\def\jlreq at font{##1}}
       {indent}{\def\jlreq at indent{##1}}
       {mark}{\def\jlreq at mark{##1}}
@@ -2079,11 +2147,11 @@
   \expandafter\def\csname jlreq at heading@type@#1\endcsname{\RenewCutinHeading}%
   \begingroup
     \def\jlreq at fontcommand{\sffamily\bfseries}%
-    \def\jlreq at onelinemax{6\jlreq at fontsize}%
-    \def\jlreq at twolinemax{20\jlreq at fontsize}%
+    \def\jlreq at onelinemax{6\zw}%
+    \def\jlreq at twolinemax{20\zw}%
     \def\jlreq at indent{0\jlreq at mol}%
     \def\jlreq at after@space{1\jlreq at mol}%
-    \jlreq at parsekeyval[CutinHeading]{
+    \jlreq at parsekeyval[CutinHeading:#1]{
       {font}{\def\jlreq at fontcommand{##1}}
       {onelinemax}{\def\jlreq at onelinemax{##1}}
       {twolinemax}{\def\jlreq at twolinemax{##1}}
@@ -2091,7 +2159,7 @@
       {after_space}{\def\jlreq at after@space{##1}}
     }{#3}%
     \ifthenelse{\lengthtest{\jlreq at after@space < 0.99\jlreq at mol} \OR \lengthtest{\jlreq at after@space > 2.01\jlreq at mol}}{%
-      \jlreq at warning{窓見出しと本文との空き量は,基本版面の文字サイズの全角以上,2倍未満とする (4.1.10.c)}%&
+      \jlreq at note{窓見出しと本文との空き量は,基本版面の文字サイズの全角以上,2倍未満とする (4.1.10.c).}%&
     }{}%
     \edef\jlreq at do{%
       \noexpand\def\expandonce{\csname #1\endcsname}{%
@@ -2298,83 +2366,80 @@
 % 合印:4.2.3
 % 文字サイズは6ポイントくらい(4.2.3.a)とりあえす\scriptsize
 
-% \footnoteとか\footnotemarkの前に#2後に#3を入れる
-\newcommand*{\jlreq at modify@noteandmark}[4]{%
-  \edef\@tempa{\expandafter\@gobble\string#1}%
-  \jlreq at saveoriginalcs{\@tempa}%
-  \edef#1{%
-    \unexpanded{#3}%
-    \noexpand\@ifnextchar[{\expandonce{\csname jlreq at fixjfm@\@tempa @\endcsname}}{\expandonce{\csname jlreq at fixjfm@\@tempa @@\endcsname}}%
-  }
-  \long\expandafter\edef\csname jlreq at fixjfm@\@tempa @\endcsname[##1]##2{%
-    \expandonce{\csname jlreq at original@\@tempa\endcsname}[##1]{##2}%
-    \unexpanded{#4}%
-  }
-  \long\expandafter\edef\csname jlreq at fixjfm@\@tempa @@\endcsname##1{%
-    \expandonce{\csname jlreq at original@\@tempa\endcsname}{##1}%
-    \unexpanded{#4}%
-  }
-  \edef\@tempa{\expandafter\@gobble\string#2}%
-  \jlreq at saveoriginalcs{\@tempa}%
-  \edef#2{%
-    \unexpanded{#3}%
-    \noexpand\@ifnextchar[{\expandonce{\csname jlreq at fixjfm@\@tempa @\endcsname}}{\expandonce{\csname jlreq at fixjfm@\@tempa @@\endcsname}}%
-  }
-  \expandafter\edef\csname jlreq at fixjfm@\@tempa @\endcsname[##1]{%
-    \expandonce{\csname jlreq at original@\@tempa\endcsname}[##1]%
-    \unexpanded{#4}%
-  }
-  \expandafter\edef\csname jlreq at fixjfm@\@tempa @@\endcsname{%
-    \expandonce{\csname jlreq at original@\@tempa\endcsname}%
-    \unexpanded{#4}%
-  }
+% \footnoteと\footnotemarkの前後に\jlreq at hook@prenote/\jlreq at hook@postnoteを入れる
+\jlreq at saveoriginalcs{footnote}%
+\def\footnote{%
+  \jlreq at hook@prenote
+  \@ifnextchar[{\jlreq at fixjfm@footnote@}{\jlreq at fixjfm@footnote@@}%
 }
+\long\def\jlreq at fixjfm@footnote@[#1]#2{%
+  \jlreq at original@footnote[#1]{#2}%
+  \jlreq at hook@postnote
+}
+\long\def\jlreq at fixjfm@footnote@@#1{%
+  \jlreq at original@footnote{#1}%
+  \jlreq at hook@postnote
+}
+\jlreq at saveoriginalcs{footnotemark}%
+\def\footnotemark{%
+  \jlreq at hook@prenote
+  \@ifnextchar[{\jlreq at fixjfm@footnotemark@}{\jlreq at fixjfm@footnotemark@@}%
+}
+\def\jlreq at fixjfm@footnotemark@[#1]{%
+  \jlreq at original@footnotemark[#1]%
+  \jlreq at hook@postnote
+}
+\def\jlreq at fixjfm@footnotemark@@{%
+  \jlreq at original@footnotemark
+  \jlreq at hook@postnote
+}
 
 \newcommand*\jlreq at referencemark@format[1]{#1}
-\ifthenelse{\equal{\jlreq at referencemark}{inline}}{
-  \newcommand*{\jlreq at notemark}[1]{%
-    \jlreq at ifydir{%
-      \hbox{}\hbox{\@textsuperscript{\normalfont\jlreq at referencemark@format{#1}}}\hbox{}%
-    }{%
-      \setbox\@tempboxa=\hbox{\scriptsize\jlreq at referencemark@format{#1}}%
-      \raise\dimexpr.5\jlreq at gol - (\ht\@tempboxa + \dp\@tempboxa)/2\relax\box\@tempboxa
+\newif\ifjlreqadjustreferencemark
+\jlreqadjustreferencemarktrue
+\jlreq at jlreqsetup@add{reference_mark}[inline,interlinear]{
+  \def\jlreq at referencemark{#1}
+  \ifthenelse{\equal{\jlreq at referencemark}{inline}}{
+    \def\jlreq at notemark##1{%
+      \jlreq at ifydir{%
+        \hbox{}\hbox{\@textsuperscript{\normalfont\jlreq at referencemark@format{##1}}}\hbox{}%
+      }{%
+        \setbox\@tempboxa=\hbox{\scriptsize\jlreq at referencemark@format{##1}}%
+        \raise\dimexpr.5\jlreq at gol - \ht\@tempboxa\relax\box\@tempboxa
+      }%
+    }
+    \def\jlreq at hook@prenote{\inhibitglue}
+    \def\jlreq at hook@postnote{\inhibitglue}
+  }{% reference_mark=interlinear
+    \def\jlreq at notemark##1{{%
+      \setbox\@tempboxa=\hbox{\scriptsize\jlreq at referencemark@format{##1}}%
+      \@tempdima=\wd\@tempboxa
+      % 行頭に来たときに頭を天にそろえる処理.
+      \ifjlreqadjustreferencemark
+        \jlreq at savepos@for at rest@linewidth
+        \ifdim\jlreq at current@linewidth<\wd\@tempboxa
+          \@tempdima=\jlreq at current@linewidth
+        \fi
+      \fi
+      \setbox\jlreq at tempboxa=\hbox to\z@{\hskip-\@tempdima\raise\dimexpr.5\zw + (\ht\@tempboxa + \dp\@tempboxa)/2\relax\box\@tempboxa\hss}%
+      \dp\jlreq at tempboxa=0pt\ht\jlreq at tempboxa=0pt\box\jlreq at tempboxa}%
     }%
-  }
-  \newcommand*{\jlreq at modify@noteandmark at fixjfm}[2]{%
-    \jlreq at modify@noteandmark{#1}{#2}{\inhibitglue}{\inhibitglue}
-  }
-}{
-  \newcommand*{\jlreq at notemark}[1]{{%
-    \setbox\@tempboxa=\hbox{\scriptsize\jlreq at referencemark@format{#1}}%
-    % 行頭に来たときに頭を天にそろえる処理.
-    \jlreq at savepos@for at rest@linewidth
-    \ifdim\jlreq at current@linewidth<\wd\@tempboxa
-      \@tempdima=\jlreq at current@linewidth
-    \else
-      \@tempdima=\wd\@tempboxa
-    \fi
-    \setbox\jlreq at tempboxa=\hbox to\z@{\hskip-\@tempdima\raise\dimexpr.5\zw + (\ht\@tempboxa + \dp\@tempboxa)/2\relax\box\@tempboxa\hss}%
-    \dp\jlreq at tempboxa=0pt\ht\jlreq at tempboxa=0pt\box\jlreq at tempboxa}}%
-  \ifx l\jlreq at engine
-    % luatexの時は\inhibitglueすると\lastnodechar=-1になる
-    \newcommand*{\jlreq at modify@noteandmark at fixjfm}[2]{%
-      \jlreq at modify@noteandmark{#1}{#2}{%
+    \ifx l\jlreq at engine
+      \def\jlreq at hook@prenote{%
         \jlreq at lastnodechar=\lastnodechar
         \ifnum\lastnodechar>-1\inhibitglue\fi
-      }{\jlreq at fixjfm}
-    }
-  \else
-    % (u)platexの時は代入すると\inhibitglueが効かなくなる
-    \newcommand*{\jlreq at modify@noteandmark at fixjfm}[2]{%
-      \jlreq at modify@noteandmark{#1}{#2}{%
+      }
+    \else
+      % (u)platexの時は代入すると\inhibitglueが効かなくなる
+      \def\jlreq at hook@prenote{%
         \ifnum\lastnodechar>-1\inhibitglue\fi
         \jlreq at lastnodechar=\lastnodechar
-      }{\jlreq at fixjfm}
-    }
-  \fi
+      }
+    \fi
+    \def\jlreq at hook@postnote{\jlreq at fixjfm}
+  }
 }
-\jlreq at aftercls@addtodeletecs{\jlreq at modify@noteandmark at fixjfm}
-\jlreq at modify@noteandmark at fixjfm{\footnote}{\footnotemark}
+\jlreqsetup{reference_mark=inline}
 % \@footnotemarkをシンプルなものにする
 \def\jlreq at setdefaultnotemark#1#2{%
   \def#1{%
@@ -2384,7 +2449,6 @@
     \ifhmode\spacefactor\@x at sf\fi
     \relax}
 }
-\def\@tempa{@footnotemark}
 \jlreq at setdefaultnotemark\@footnotemark\@makefnmark
 %.. 脚注  (縦書きの時は傍注,4.2.5)
 {%
@@ -2415,15 +2479,19 @@
   \global\jlreq at footnoteindent=\dimexpr\textwidth - \@tempdima\relax
 }
 % 4.2.5.d
-\ifthenelse{\equal{\jlreq at footnotetext@indent}{one}}{
-  \newcommand\@makefntext[1]{\parindent 1\jlreq at mol
-    \addtolength{\leftskip}{\dimexpr\jlreq at footnoteindent + 1\jlreq at mol\relax}% 全体をインデント+1文字分下げる
-    \noindent\hskip -1\jlreq at mol\jlreq at referencemark@format{\@thefnmark}\hskip 1\jlreq at mol#1}% 見出し出力と一文字分の空き
-}{
-  \newcommand\@makefntext[1]{\parindent 1\jlreq at mol
-    \addtolength{\leftskip}{\jlreq at footnoteindent}% 全体をインデント
-    \noindent\hskip 1\jlreq at mol\jlreq at referencemark@format{\@thefnmark}\hskip 1\jlreq at mol#1}% 見出し出力と一文字分の空き
+\newcommand{\@makefntext}[1]{\jlreq at makefntext{#1}}
+\jlreq at jlreqsetup@add{footnotetext_indent}{
+  \ifthenelse{\equal{#1}{one}}{
+    \long\def\jlreq at makefntext##1{\parindent 1\jlreq at mol
+      \addtolength{\leftskip}{\dimexpr\jlreq at footnoteindent + 1\jlreq at mol\relax}% 全体をインデント+1文字分下げる
+      \noindent\hskip -1\jlreq at mol\jlreq at referencemark@format{\@thefnmark}\hskip 1\jlreq at mol##1}% 見出し出力と一文字分の空き
+  }{
+    \long\def\jlreq at makefntext##1{\parindent 1\jlreq at mol
+      \addtolength{\leftskip}{\jlreq at footnoteindent}% 全体をインデント
+      \noindent\hskip 1\jlreq at mol\jlreq at referencemark@format{\@thefnmark}\hskip 1\jlreq at mol##1}% 見出し出力と一文字分の空き
+  }
 }
+\jlreqsetup{footnotetext_indent=one}
 % 合印
 \renewcommand*{\@makefnmark}{%
   \jlreq at ifydir{\jlreq at notemark{\@thefnmark}}{\hbox{\jlreq at notemark{\@thefnmark}}}%
@@ -2432,7 +2500,7 @@
 \if at tate
   \renewcommand*{\thefootnote}{\jlreq at open@bracket at before@space\inhibitglue(\rensuji{\@arabic\c at footnote})\inhibitglue}
 \else
-  \renewcommand*{\thefootnote}{\arabic{footnote})\inhibitglue}
+  \renewcommand*{\thefootnote}{\arabic{footnote}\hbox{})\inhibitglue}
 \fi
 
 %.. 後注(4.2.4)
@@ -2447,10 +2515,10 @@
 \def\jlreq at endnote@texts{}
 \long\def\jlreq at endnote@addtext#1#2{%
   \expandafter\gdef\expandafter\jlreq at endnote@texts\expandafter{\jlreq at endnote@texts{{#1}{#2}}}}
-\def\endnote{\@ifnextchar[{\jlreq at endnote}{\jlreq at endnote[]}}  
-\def\endnotemark{\@ifnextchar[{\jlreq at endnotemark}{\jlreq at endnotemark[]}}
+\def\endnote{\jlreq at hook@prenote\@ifnextchar[{\jlreq at endnote}{\jlreq at endnote[]}}  
+\def\endnotemark{\jlreq at hook@prenote\@ifnextchar[{\jlreq at endnotemark}{\jlreq at endnotemark[]}}
 \def\endnotetext{\@ifnextchar[{\jlreq at endnotetext}{\jlreq at endnotetext[]}}
-\long\def\jlreq at endnote[#1]#2{\jlreq at endnotemark[#1]\@endnotetext{#2}}
+\long\def\jlreq at endnote[#1]#2{\jlreq at endnotemark[#1]\@endnotetext{#2}\jlreq at hook@postnote}
 \def\jlreq at endnotemark[#1]{%
   \jlreq at ifempty{#1}{%
     \stepcounter{\jlreq at endnotecounter}%
@@ -2462,6 +2530,7 @@
     \endgroup
   }%
   \@endnotemark
+  \jlreq at hook@postnote
 }
 \jlreq at setdefaultnotemark\@endnotemark\@makeendmark
 \long\def\jlreq at endnotetext[#1]#2{%
@@ -2517,7 +2586,6 @@
     \par
   \fi
 }
-\jlreq at modify@noteandmark at fixjfm{\endnote}{\endnotemark}
 \jlreq at endnote@indent=2\jlreq at mol
 % 二行目以降を全角分下げる
 \newcommand{\@makeendtext}[1]{\parindent 1\jlreq at mol
@@ -2525,56 +2593,67 @@
 \def\@makeendmark{\@makefnmark}
 
 % \theendnoteの出力を仕込む
-\jlreq at tempafalse
-% \jlreq at tempcにセクション名たちを入れていく
-\def\jlreq at tempc{}
-\@for\jlreq at tempa:=\jlreq at endnote@position\do{
-  \jlreq at switch{\jlreq at tempa}{
-    {headings}{\jlreq at tempatrue}
-    {paragraph}{
-      \jlreq at tempatrue% _paragraphの時は_headingsも有効にする
-      \PushPostHook{par}{%
-        \ifx\jlreq at endnote@texts\@empty\else
-          \vskip\dimexpr-\baselineskip\relax
-          \vskip\dimexpr0pt\relax
-          \theendnotes
+\PushPostHook{par}{\jlreq at endnote@parhook}
+\edef\jlreq at do{
+  \unexpanded{\def\jlreq at hook@beforeheadings#1}{\expandonce{\jlreq at hook@beforeheadings{#1}}\unexpanded{\jlreq at endnote@hook at beforeheadings{#1}}}
+}
+\jlreq at do
+
+\jlreq at jlreqsetup@add{endnote_position}{
+  \def\jlreq at endnote@parhook{}
+  \def\jlreq at endnote@hook at beforeheadings##1{}
+  \jlreq at tempafalse % headingsが指定された
+  % \jlreq at tempcにセクション名たちを入れていく
+  \def\jlreq at tempc{}
+  \@for\jlreq at tempa:=#1\do{
+    \jlreq at switch{\jlreq at tempa}{
+      {headings}{\jlreq at tempatrue}
+      {paragraph}{
+        \jlreq at tempatrue% _paragraphの時は_headingsも有効にする
+        \def\jlreq at endnote@parhook{%
+          \ifx\jlreq at endnote@texts\@empty\else
+            \vskip\dimexpr-\baselineskip\relax
+            \vskip\dimexpr0pt\relax
+            \theendnotes
+          \fi
+        }
+      }
+      {
+        \def\@tempa##1##2\jlreq at endmark{##1}
+        \edef\@tempa{\expandafter\@tempa\jlreq at tempa\jlreq at endmark}
+        \expandafter\ifx\@tempa _
+          \def\@tempa##1##2\jlreq at endmark{\def\jlreq at result{##2}}
+          \expandafter\@tempa\jlreq at tempa\jlreq at endmark
+          \edef\jlreq at tempc{\jlreq at tempc,\jlreq at result}
+        \else
+          \ClassError{jlreq}{Invalid value \jlreq at tempa\space in endnote_position}{\@ehc}
         \fi
       }
     }
-    {
-      \def\@tempa#1#2\jlreq at endmark{#1}
-      \edef\@tempa{\expandafter\@tempa\jlreq at tempa\jlreq at endmark}
-      \expandafter\ifx\@tempa _
-        \def\@tempa#1#2\jlreq at endmark{\def\jlreq at result{#2}}
-        \expandafter\@tempa\jlreq at tempa\jlreq at endmark
-        \edef\jlreq at tempc{\jlreq at tempc,\jlreq at result}
-      \else
-        \ClassError{jlreq}{Invalid value \jlreq at tempa\space in endnote_position}{\@ehc}
-      \fi
-    }
   }
-}
 
-\ifjlreq at tempa
-  \edef\jlreq at do{%
-    \unexpanded{\def\jlreq at hook@beforeheadings#1}{\expandonce{\jlreq at hook@beforeheadings{#1}}%
-      \noexpand\theendnotes
+  \ifjlreq at tempa
+    \edef\jlreq at do{%
+      \unexpanded{\def\jlreq at endnote@hook at beforeheadings##1}{\expandonce{\jlreq at endnote@hook at beforeheadings{##1}}%
+        \noexpand\theendnotes
+      }
     }
-  }
-  \jlreq at do
-\else
-  \@for\@tempa:=\jlreq at tempc\do{
-    \ifx\@tempa\@empty\else
-      \edef\jlreq at do{%
-        \unexpanded{\def\jlreq at hook@beforeheadings#1}{\expandonce{\jlreq at hook@beforeheadings{#1}}%
-          \unexpanded{\def\@tempa}{\@tempa}\unexpanded{\def\@tempb{#1}}%
-          \unexpanded{\ifx\@tempa\@tempb\theendnotes\fi}%
+    \jlreq at do
+  \else
+    \@for\@tempa:=\jlreq at tempc\do{
+      \ifx\@tempa\@empty\else
+        \edef\jlreq at do{%
+          \unexpanded{\def\jlreq at endnote@hook at beforeheadings##1}{\expandonce{\jlreq at endnote@hook at beforeheadings{##1}}%
+            \unexpanded{\def\@tempa}{\@tempa}\unexpanded{\def\@tempb{##1}}%
+            \unexpanded{\ifx\@tempa\@tempb\theendnotes\fi}%
+          }
         }
-      }
-      \jlreq at do
-    \fi
-  }
-\fi
+        \jlreq at do
+      \fi
+    }
+  \fi
+}
+\jlreqsetup{endnote_position=headings}
 \AtEndDocument{\theendnotes}
 
 %.. 傍注(4.2.7)
@@ -2598,7 +2677,7 @@
     \fi
   \fi
   \ifx\jlreq at option@sidenote at width\@empty
-    \setlength{\marginparwidth}{\dimexpr\jlreq at tempdima - 2\jlreq at fontsize - \marginparsep\relax}
+    \setlength{\marginparwidth}{\dimexpr\jlreq at tempdima - 2\zw - \marginparsep\relax}
     % 4.7.2.b: 並列中の行長は15文から20字程度
     \ifdim\marginparwidth>20\jlreq at mol
       \global\marginparwidth=20\jlreq at mol
@@ -2615,6 +2694,10 @@
   \global\setlength{\marginparpush}{.5\@tempdima} % 同上:g
 }
 
+\ifdim\marginparwidth>25\zw\relax
+  \jlreq at note{並列注の字詰め方向の長さ(行長)は,15字から20字くらいである.ケースによっては25字程度にする場合もある (4.2.7).}
+\fi
+
 \def\jlreq at sidenotemarkname{@thefnmark}% 合印用番号を一時的に入れるマクロ名
 
 % (1) \footnoteとかと同じ形式 sidenote_type=number
@@ -2632,104 +2715,88 @@
   }%
 }
 \jlreq at setdefaultnotemark\@sidenotemark\@makesidemark
-\ifthenelse{\equal{\jlreq at sidenote@type}{number}}{
-  \def\jlreq at sidenotecounter{footnote}% 傍注用のカウンタ名
-  \def\sidenote{\@ifnextchar[{\jlreq at sidenote}{\jlreq at sidenote[]}}
-  \def\sidenotemark{\@ifnextchar[{\jlreq at sidenotemark}{\jlreq at sidenotemark[]}}
-  \def\sidenotetext{\@ifnextchar[{\jlreq at sidenotetext}{\jlreq at sidenotetext[]}}
-  \long\def\jlreq at sidenote[#1]#2{\jlreq at sidenotemark[#1]\@sidenotetext{#2}}
-  \def\jlreq at sidenotemark[#1]{%
-    \jlreq at ifempty{#1}{%
-      \stepcounter{\jlreq at sidenotecounter}%
-      \expandafter\protected at xdef\csname\jlreq at sidenotemarkname\endcsname{\csname the\jlreq at sidenotecounter\endcsname}%
-    }{%
-      \begingroup
-        \csname c@\jlreq at sidenotecounter\endcsname #1\relax
-        \expandafter\unrestored at protected@xdef\csname\jlreq at sidenotemarkname\endcsname{\csname the\jlreq at sidenotecounter\endcsname}%
-      \endgroup
-    }%
-    \@sidenotemark
-  }
-  \long\def\jlreq at sidenotetext[#1]#2{%
-    \jlreq at ifempty{#1}{%
-      \expandafter\protected at xdef\csname\jlreq at sidenotemarkname\endcsname{\csname the\jlreq at sidenotecounter\endcsname}%
-    }{%
-     \begingroup
-       \csname c@\jlreq at sidenotecounter\endcsname#1\relax
-       \expandafter\unrestored at protected@xdef\csname\jlreq at sidenotemarkname\endcsname{\csname the\jlreq at sidenotecounter\endcsname}%
-     \endgroup
-    }%
-    \@sidenotetext{#2}%
-  }
-  \def\@sidenotemark{\@makesidemark}
-  \ifx l\jlreq at engine
-    \long\def\@makesidetext#1{\csname\jlreq at sidenotemarkname\endcsname\hspace{0.5\jlreq at mol}#1}
-  \else
-    % thefootnote = \inhibitglue (...だと\inhibitglueが効かない
-    \long\def\@makesidetext#1{ \kern-1\jlreq at mol\csname\jlreq at sidenotemarkname\endcsname\hspace{0.5\jlreq at mol}#1}
-  \fi
-  \def\@makesidemark{\@makefnmark}
-  \jlreq at modify@noteandmark at fixjfm{\sidenote}{\sidenotemark}
-}{% sidenote_type = symbol
-  \jlreq at jlreqsetup@add{sidenote_symbol}{\def\jlreq at sidenote@defaultmark{#1}}
-  \jlreq at jlreqsetup@add{sidenote_keyword_font}{\def\jlreq at sidenote@keywordfont{#1}}
-  \jlreqsetup{
-    sidenote_symbol=*,sidenote_keyword_font={},
-  }
-  \def\sidenote{\jlreq at sidenote}
-  \def\sidenotemark{\jlreq at sidenotemark}
-  \def\sidenotetext{\jlreq at sidenotetext}
-  \long\def\jlreq at sidenote#1#2{\jlreq at sidenotemark{#1}\jlreq at sidenotetext{#1}{#2}}
-  \ifthenelse{\equal{\jlreq at referencemark}{inline}}{%
-    \def\@tempa{\inhibitglue}
-  }{
+\def\jlreq at sidenotecounter{footnote}% 傍注用のカウンタ名
+\jlreq at jlreqsetup@add{sidenote_type}[number,symbol]{\def\jlreq at sidenote@type{#1}}
+\jlreqsetup{sidenote_type=number}
+\jlreq at jlreqsetup@addtofinally{
+  \ifthenelse{\equal{\jlreq at sidenote@type}{number}}{
+    \def\sidenote{\jlreq at hook@prenote\@ifnextchar[{\jlreq at sidenote}{\jlreq at sidenote[]}}
+    \def\sidenotemark{\jlreq at hook@prenote\@ifnextchar[{\jlreq at sidenotemark}{\jlreq at sidenotemark[]}}
+    \def\sidenotetext{\@ifnextchar[{\jlreq at sidenotetext}{\jlreq at sidenotetext[]}}
+    \long\def\jlreq at sidenote[#1]#2{\jlreq at sidenotemark[#1]\@sidenotetext{#2}\jlreq at hook@postnote}
+    \def\jlreq at sidenotemark[#1]{%
+      \jlreq at ifempty{#1}{%
+        \stepcounter{\jlreq at sidenotecounter}%
+        \expandafter\protected at xdef\csname\jlreq at sidenotemarkname\endcsname{\csname the\jlreq at sidenotecounter\endcsname}%
+      }{%
+        \begingroup
+          \csname c@\jlreq at sidenotecounter\endcsname #1\relax
+          \expandafter\unrestored at protected@xdef\csname\jlreq at sidenotemarkname\endcsname{\csname the\jlreq at sidenotecounter\endcsname}%
+        \endgroup
+      }%
+      \@sidenotemark
+      \jlreq at hook@postnote
+    }
+    \long\def\jlreq at sidenotetext[#1]#2{%
+      \jlreq at ifempty{#1}{%
+        \expandafter\protected at xdef\csname\jlreq at sidenotemarkname\endcsname{\csname the\jlreq at sidenotecounter\endcsname}%
+      }{%
+       \begingroup
+         \csname c@\jlreq at sidenotecounter\endcsname#1\relax
+         \expandafter\unrestored at protected@xdef\csname\jlreq at sidenotemarkname\endcsname{\csname the\jlreq at sidenotecounter\endcsname}%
+       \endgroup
+      }%
+      \@sidenotetext{#2}%
+    }
+    % \hspace{0.5\jlreq at mol}の部分は二分空きにする例もある(4.2.7.g)
     \ifx l\jlreq at engine
-      \def\@tempa{%
-        \jlreq at lastnodechar=\lastnodechar
-        \ifnum\lastnodechar>-1\inhibitglue\fi
-      }
+      \long\def\@makesidetext#1{\csname\jlreq at sidenotemarkname\endcsname\hspace{0.5\jlreq at mol}#1}
     \else
-      \def\@tempa{%
-        \ifnum\lastnodechar>-1\inhibitglue\fi
-        \jlreq at lastnodechar=\lastnodechar
-      }
+      % thefootnote = \inhibitglue (...だと\inhibitglueが効かないので空白を挟む
+      \long\def\@makesidetext#1{ \kern-1\zw\csname\jlreq at sidenotemarkname\endcsname\hspace{0.5\jlreq at mol}#1}
     \fi
-  }
-  \edef\jlreq at sidenotemark#1{%
-    {\noexpand\reset at font\jlreq at sidenote@keywordfont #1}%
-    \expandonce{\@tempa}%
-    \unexpanded{%
+    \def\@makesidemark{\@makefnmark}
+  }{% sidenote_type = symbol
+    \def\sidenote{\jlreq at sidenote}
+    \def\sidenotemark{\jlreq at sidenotemark}
+    \def\sidenotetext{\jlreq at sidenotetext}
+    \long\def\jlreq at sidenote#1#2{\jlreq at sidenotemark{#1}\jlreq at sidenotetext{#1}{#2}}
+    \edef\jlreq at sidenotemark#1{%
+      {\unexpanded{\reset at font\jlreq at sidenote@keywordfont}#1}%
+      \noexpand\jlreq at hook@prenote
       \ifx\jlreq at sidenote@defaultmark\@empty\else
-        \expandafter\edef\csname\jlreq at sidenotemarkname\endcsname{\jlreq at sidenote@defaultmark}%
-        \@sidenotemark
+        \expandafter\edef\expandonce{\csname\jlreq at sidenotemarkname\endcsname}{\expandonce{\jlreq at sidenote@defaultmark}}%
+        \noexpand\@sidenotemark
       \fi
-    }%
-  }
-  \def\@sidenotemark{\@makesidemark}
-  % カスタマイズできるべき?
-  \long\def\jlreq at sidenotetext#1#2{%
-    \expandafter\def\csname\jlreq at sidenotemarkname\endcsname{\inhibitglue\null{\reset at font\sffamily\bfseries\inhibitglue #1}}%
-    \@sidenotetext{#2}%
-  }
-  \long\def\@makesidetext#1{{\sffamily\bfseries\csname\jlreq at sidenotemarkname\endcsname}\hspace*{1\jlreq at mol}#1}
-  \def\@makesidemark{\@makefnmark}
-  \ifthenelse{\equal{\jlreq at referencemark}{interlinear}}{\def\@tempa{\jlreq at fixjfm}}{\def\@tempa{\inhibitglue}}
-  \edef\jlreq at do{
-    % \jlreq at lastnodecharの仕込みはすんでいる
-    \unexpanded{\long\def\sidenote#1#2}{%
-      \expandonce{\sidenote{#1}{#2}}%
-      \expandonce{\@tempa}%
     }
-    \unexpanded{\long\def\sidenotemark#1}{%
-      \expandonce{\sidenotemark{#1}}%
-      \expandonce{\@tempa}%
+    % カスタマイズできるべき?
+    \long\def\jlreq at sidenotetext#1#2{%
+      \expandafter\def\csname\jlreq at sidenotemarkname\endcsname{\inhibitglue\null{\reset at font\sffamily\bfseries\inhibitglue #1}}%
+      \@sidenotetext{#2}%
     }
+    \long\def\@makesidetext#1{{\sffamily\bfseries\csname\jlreq at sidenotemarkname\endcsname}\hspace*{1\jlreq at mol}#1}
+    \def\@makesidemark{\@makefnmark}
+
+    \edef\jlreq at do{
+      % \jlreq at lastnodecharの仕込みはすんでいる
+      \unexpanded{\long\def\sidenote#1#2}{%
+        \expandonce{\sidenote{#1}{#2}}%
+        \noexpand\jlreq at hook@postnote
+      }
+      \unexpanded{\long\def\sidenotemark#1}{%
+        \expandonce{\sidenotemark{#1}}%
+        \noexpand\jlreq at hook@postnote
+      }
+    }
+    \jlreq at do
   }
-  \jlreq at do
 }
+\jlreq at jlreqsetup@add{sidenote_symbol}{\def\jlreq at sidenote@defaultmark{#1}}
+\jlreq at jlreqsetup@add{sidenote_keyword_font}{\def\jlreq at sidenote@keywordfont{#1}}
+\jlreqsetup{sidenote_symbol=*,sidenote_keyword_font={}}
 
 %.. 割注(3.4)
-\def\inlinenotesize{.6\jlreq at fontsize} % 割注の文字サイズ
+\def\inlinenotesize{.6\jlreq at jafontsize} % 割注の文字サイズ
 \let\jlreq at inlinenote@autolinebreak=\\% 計測時は\linebreakより\\の方が安定する.悩ましい…….
 
 \newcommand{\jlreq at inlinenote@kakkofontsize}{%
@@ -2814,7 +2881,7 @@
     \edef\jlreq at parshapearg{\jlreq at parshapearg 0pt \the\jlreq at tempdimb 0pt \the\jlreq at tempdimb}%
   }%
   \ifvoid\jlreq at resultbox
-    \ClassWarning{jlreq}{\string\inlinenote\space failed, maybe a bug}%
+    \ClassWarning{jlreq}{\string\warichu\space failed, maybe a bug}%
   \else
     \@tempcnta=0
     \splittopskip=0pt\relax
@@ -2831,6 +2898,7 @@
         \ifnum\@tempcnta=0\jlreq at tempdima=\jlreq at tempdimb
         \else\jlreq at tempdima=\linewidth\fi
       \else
+        % 最終行は自然長に任せる
         \jlreq at tempdima=-1pt\relax
       \fi
       {%
@@ -2838,25 +2906,18 @@
         \vbadness=10000
         \setbox\jlreq at tempboxa=\vsplit\@tempboxa to \dimexpr\jlreq at inlinenote@baselineskip*2\relax
         \vbadness=\@tempa\relax
-        % \jlreq at inlinenote@autolinebreak=\\の場合には,割注の長さを計測した物に長さに強制する
         \jlreq at getlastbox{\jlreq at tempboxa}%
         \setbox\jlreq at tempboxb=\box\jlreq at resultbox
         \jlreq at getlastbox{\jlreq at tempboxa}%
         \setbox\jlreq at tempboxa=\box\jlreq at resultbox
-        \ifx\jlreq at inlinenote@autolinebreak\\\relax
-          \ifdim\jlreq at tempdima>0pt\relax
-            \setbox\jlreq at tempboxa=\vbox{\jlreq at inlinenote@fontsize%
-              \hbox to \jlreq at tempdima{\unhbox\jlreq at tempboxa}%
-              \hbox to \jlreq at tempdima{\unhbox\jlreq at tempboxb}}%
-          \else
-            \setbox\jlreq at tempboxa=\vbox{\jlreq at inlinenote@fontsize%
-              \hbox{\unhbox\jlreq at tempboxa}%
-              \hbox{\unhbox\jlreq at tempboxb}}%
-          \fi
-        \else
-          \setbox\jlreq at tempboxa=\vbox{\jlreq at inlinenote@fontsize%
+        \ifdim\jlreq at tempdima>0pt\relax
+          \setbox\jlreq at tempboxa=\vbox{\jlreq at inlinenote@fontsize
             \hbox to \jlreq at tempdima{\unhbox\jlreq at tempboxa}%
             \hbox to \jlreq at tempdima{\unhbox\jlreq at tempboxb}}%
+        \else
+          \setbox\jlreq at tempboxa=\vbox{\jlreq at inlinenote@fontsize
+            \hbox{\unhbox\jlreq at tempboxa}%
+            \hbox{\unhbox\jlreq at tempboxb}}%
         \fi
         \jlreq at box@putcenter\jlreq at tempboxa
       }%
@@ -2914,12 +2975,18 @@
   }%
 }
 
-% \jlreq at inlinenote@determinelength{テキスト(1)}{書式指定(2)}{\parshape指定(3)}{調整に使う行数(4)}{成功行数(5)}{最小長さ(6)}{最大長さ(7)}
-% \jlreq at resultboxに整形結果を返す.見つからなかったらvoid
+% \jlreq at inlinenote@determinelength{テキスト(1)}{フォントとか指定(2)}{\parshape指定(3)}{調整に使う行数(4)}{成功行数(5)}{最小長さ(6)}{最大長さ(7)}
+% 次を満たす長さXの最小値を求める(ただし#6 <= X <= #7)
+% #1を
+% * #5 - #4行目までは#3の指定に従う
+% * それ以降はX
+% として整形した際に,#5行以内に収まる.
+% \jlreq at resultboxに整形結果を返す(垂直ボックス).見つからなかったらvoid
 \newcommand{\jlreq at inlinenote@determinelength}[7]{%
-%  \message{#1 の試行開始,行数 = #5, \the#6 から \the#7まで}%
+%  \message{#1 の試行開始,行数 = #5, \the\dimexpr#6\relax から \the\dimexpr#7\relaxまで}%
   \@tempcnta=1\relax
   \def\@tempa{}%
+  % 調整に使う行の\parshape指定を\@tempaに入れる.長さは\jlreq at tempdima.
   \@whilenum\@tempcnta<#4\do{%
     \expandafter\def\expandafter\@tempa\expandafter{\@tempa 0pt \the\jlreq at tempdima}%
     \advance\@tempcnta by 1\relax
@@ -2926,7 +2993,7 @@
   }%
   \@tempcnta=0
   \jlreq at tempdima=#6\relax
-  % 最後の行を少しずつ伸ばしていく
+  % \jlreq at tempdimaを少しずつ伸ばしていく
   \@whilenum\@tempcnta<1000\do{%
     \ifnum\@tempcnta>999\relax% ループが長すぎる
       \global\setbox\jlreq at resultbox=\voidb at x%
@@ -2943,6 +3010,7 @@
     \setbox\jlreq at tempboxa=\box\jlreq at resultbox
     \ifnum\@tempcntb<#5\relax% 行数が達していないならOK
 %      \message{行数 = \the\@tempcntb により確定}
+      % #5行になるまで空の水平ボックスを加えていく.
       \global\setbox\jlreq at resultbox=\vbox{#2%
         \unvbox\@tempboxa\hbox{\unhbox\jlreq at tempboxa\unskip\unskip\unpenalty}%
         \@whilenum\@tempcntb<#5\do{\hbox{}\advance\@tempcntb by 1}}%
@@ -2953,7 +3021,7 @@
       \setbox\jlreq at tempboxb=\box\jlreq at resultbox
 %      \message{最終行の長さ \the\wd\jlreq at tempboxa, その前の長さ \the\wd\jlreq at tempboxb}%
       \ifdim\wd\jlreq at tempboxa>\wd\jlreq at tempboxb
-        \advance\jlreq at tempdima by 0.3pt\relax
+        \advance\jlreq at tempdima by 0.3pt\relax% 0.3ptに意味はない
       \else
         % 後ろが短いのでOK
         \global\setbox\jlreq at resultbox=\vbox{#2\unvbox\@tempboxa\box\jlreq at tempboxb\box\jlreq at tempboxa}%
@@ -2977,7 +3045,7 @@
 % 柱:両柱と片柱(2.6.3)
 \@tempdima=\jlreq at speciallength{\jlreq at headfoot@sidemargin}
 \ifthenelse{\lengthtest{\@tempdima=0pt} \OR \(\lengthtest{0.99\zw < \@tempdima} \AND \lengthtest{\@tempdima < 1.01\zw}\)}{}{
-  \jlreq at warning{ノンブルまたは柱は,基本版面の左右にそろえるか,全角アキだけ寄せた位置に配置する (2.6.1.b)}
+  \jlreq at note{ノンブルまたは柱は,基本版面の左右にそろえるか,全角アキだけ寄せた位置に配置する (2.6.1.b).}
 }
 
 % bottom-leftみたいなのを解釈する.入力の順番はどっちでも良いが,出力は<top/bottom><left/right>の順番
@@ -3040,10 +3108,10 @@
     % 柱とノンブルの間
     \def\jlreq at gap{1.5\zw}%
     \newif\ifjlreq at clearmark\jlreq at clearmarktrue
-    \newif\ifjlreq at tate\jlreq at tatefalse
-    \jlreq at parsekeyval[PageStyle]{
-      *{tate}{\jlreq at tatetrue}
-      *{yoko}{\jlreq at tatefalse}
+    \newif\ifjlreq at pstate\jlreq at pstatefalse
+    \jlreq at parsekeyval[PageStyle:#1]{
+      *{tate}{\jlreq at pstatetrue}
+      *{yoko}{\jlreq at pstatefalse}
       {nombre_position}{\def\jlreq at nombre@position{##1}}
       {running_head_position}{\def\jlreq at running@head at position{##1}}
       {nombre}{\def\jlreq at nombre{##1}}
@@ -3110,15 +3178,15 @@
     \expandafter\@tempb\jlreq at odd@running at head\jlreq at endmark\jlreq at endmark
     \ifx\jlreq at odd@running at head@level\@empty\else\ifx\jlreq at even@running at head@level\@empty\else
       \ifnum\jlreq at odd@running at head@level<\jlreq at even@running at head@level
-        \jlreq at warning{偶数ページには奇数ページよりアウトラインレベルの高い見出しを入れる (ページスタイル #1内,2.6.3.a)}%
+        \jlreq at note{偶数ページには奇数ページよりアウトラインレベルの高い見出しを入れる (ページスタイル #1内,2.6.3.a).}%
       \fi
     \fi\fi
     % \jlreq@[even/odd][head/foot]に入れていく.tateか否かで場合分け.
-    \ifjlreq at tate\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi{%
+    \ifjlreq at pstate\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi{%
       \ifx\jlreq at nombre@position\@empty\def\jlreq at nombre@position{0pt}\fi
       \ifx\jlreq at running@head at position\@empty\def\jlreq at running@head at position{0pt}\fi
       \if at tate\else
-        \jlreq at warning{ノンブルおよび柱を縦組にして配置するのは縦組の場合のみである (ページスタイル #1 内,2.6.1)}%
+        \jlreq at note{ノンブルおよび柱を縦組にして配置するのは縦組の場合のみである (ページスタイル #1 内,2.6.1).}%
       \fi
       % 柱とノンブルを入れる箱を作る(\jlreq at resultを展開すると\setboxするマクロがでる)
       \def\jlreq at make@tatebox##1{%
@@ -3201,11 +3269,11 @@
         \)
       \)}{%
         \if at twoside
-          \jlreq at warning{柱やノンブルは,左ページでは,基本版面の左端の延長線にノンブル又は柱の先頭をそろえて配置するか,基本版面の左端の延長線から基本版面の文字サイズの全角アキだけ右に寄せた位置に配置する (ページスタイル #1 内,2.6.1.b)}%
+          \jlreq at note{柱やノンブルは,左ページでは,基本版面の左端の延長線にノンブル又は柱の先頭をそろえて配置するか,基本版面の左端の延長線から基本版面の文字サイズの全角アキだけ右に寄せた位置に配置する (ページスタイル #1 内,2.6.1.b).}%
         \fi
       }{}%
       {\jlreq at font
-        \ifthenelse{\lengthtest{\jlreq at gap < 1.49\zw} \OR \( \lengthtest{\jlreq at gap > 1.51\zw} \AND \lengthtest{\jlreq at gap < 1.99\zw} \) \OR \lengthtest{\jlreq at gap > 2.01\zw}}{\jlreq at warning{ノンブルと柱との空き量は文字サイズの2倍又は1.5倍とする (ページスタイル #1 内,2.6.1.c)}}{}%
+        \ifthenelse{\lengthtest{\jlreq at gap < 1.49\zw} \OR \( \lengthtest{\jlreq at gap > 1.51\zw} \AND \lengthtest{\jlreq at gap < 1.99\zw} \) \OR \lengthtest{\jlreq at gap > 2.01\zw}}{\jlreq at note{ノンブルと柱との空き量は文字サイズの2倍又は1.5倍とする (ページスタイル #1 内,2.6.1.c).}}{}%
       }%
       % ##2を##1 = left/center/rightの場所,##4を##3の場所に置く.被った場合は##2を外側にする.
       % 戻り値は\jlreq at result
@@ -3511,6 +3579,7 @@
         \jlreq at iftdir{\yoko}{}%
         \rlap{\@textsuperscript{\normalfont\@thefnmark}}%
       }}%
+      \renewcommand{\jlreq at referencemark@format}[1]{\@makefnmark}% うーん
       \if at twocolumn
         \ifnum\col at number=\@ne
           \@maketitle
@@ -3589,6 +3658,11 @@
   \else
     \newenvironment{abstract}{%
       \ifnum0\if at twocolumn\else1\fi\ifjlreq at preamble1\fi>0
+        \ifjlreq at preamble
+          \ifx l\jlreq at engine\else
+            \jlreq at pushhook@postpar{\futurelet\jlreq at nextchar\jlreq at openbracket@hook}%
+          \fi
+        \fi
         % とりあえず全部ボックスに入れる.
         \global\setbox\jlreq at abstractbox=\vtop\bgroup
         \ifjlreq at preamble
@@ -3595,7 +3669,7 @@
           % preamble後っぽく振る舞う
           \@noskipsecfalse
           % \@nodocumentが入っているので一時的に無効化
-          \everypar{}
+          \everypar{}%
         \fi
         \if at twocolumn
           \parindent=0pt
@@ -3639,7 +3713,11 @@
         \fi
         \egroup
       \fi
-      \ifjlreq at preamble\else
+      \ifjlreq at preamble
+        \ifx l\jlreq at engine\else
+          \jlreq at pophook@postpar
+        \fi
+      \else
         \unvbox\jlreq at abstractbox
       \fi
     }
@@ -3669,12 +3747,16 @@
 \setlength\leftmarginv{1\jlreq at mol}
 \setlength\leftmarginvi{1\jlreq at mol}
 
+%.. 箇条書き
+\jlreq at jlreqsetup@add{itemization_beforeafter_space}{\def\jlreq at itemization@beforeafter at space{#1}}
+\jlreq at jlreqsetup@add{itemization_itemsep}{\def\jlreq at itemization@itemsep{#1}}
+\jlreqsetup{itemization_beforeafter_space=0pt,itemization_itemsep=0pt}
 % enumerate, itemize用初期化
 \def\jlreq at init@list{%
   \setlength{\labelwidth}{2\jlreq at mol}%
-  \setlength{\topsep}{0pt}%
+  \setlength{\topsep}{\dimexpr\jlreq at itemization@beforeafter at space\relax}%
   \setlength{\partopsep}{0pt}%
-  \setlength{\itemsep}{0pt}%
+  \setlength{\itemsep}{\dimexpr\jlreq at itemization@itemsep\relax}%
   \setlength{\parsep}{0pt}%
   \setlength{\listparindent}{\parindent}%
 % itemizeは直後ベタ,enumerateは直後全角空き.
@@ -3735,28 +3817,34 @@
 \newcommand{\labelitemiv}{\hbox to 1\jlreq at mol{\hss ・\hss}}
 
 % 引用系.3.5.2の例.
+\jlreq at jlreqsetup@add{quote_indent}{\def\jlreq at quote@indent{#1}}
+\jlreq at jlreqsetup@add{quote_end_indent}{\def\jlreq at quote@end at indent{#1}}
+\jlreq at jlreqsetup@add{quote_fontsize}[normalsize,small,footnotesize,scriptsize,tiny,]{\jlreq at ifempty{#1}{\def\jlreq at quote@fontsize{}}{\edef\jlreq at quote@fontsize{\expandonce{\csname #1\endcsname}}}}
+\jlreq at jlreqsetup@add{quote_beforeafter_space}{\def\jlreq at quote@beforeafter at space{#1}}
+\jlreqsetup{quote_indent=2\zw,quote_end_indent=0pt,quote_fontsize=,quote_beforeafter_space=0pt}
+
 \newenvironment{verse}
   {\let\\\@centercr
-  \list{}{\itemsep\z@ \itemindent -2\jlreq at mol%
+  \list{}{\itemsep\z@ \itemindent -2\jlreq at mol
     \listparindent\itemindent
     \labelwidth\z@
     \labelsep\z@
-    \leftmargin=\jlreq at speciallength{\jlreq at quote@indent}%
+    \leftmargin=\dimexpr\jlreq at quote@indent\relax
     \addtolength{\leftmargin}{2\jlreq at mol}%
-    \rightmargin=\jlreq at speciallength{\jlreq at quote@end at indent}%
-    \csname\jlreq at quote@fontsize\endcsname
+    \rightmargin=\dimexpr\jlreq at quote@end at indent\relax
+    \jlreq at quote@fontsize
     \@tempdima=1\zw
     \@tempdimb=\dimexpr\linewidth - \@totalleftmargin - \leftmargin - \rightmargin\relax
     \@tempdimc=\@tempdimb
     \divide\@tempdimb by \@tempdima\multiply\@tempdimb by \@tempdima
-    \topsep=\jlreq at speciallength{\jlreq at quote@beforeafter at space}%
+    \topsep=\dimexpr\jlreq at quote@beforeafter at space\relax
     \leftmargin=\dimexpr\leftmargin + \@tempdimc - \@tempdimb\relax}%
     \item\relax}{\endlist}
 \newenvironment{quotation}
   {\list{}{%
-    \leftmargin=\jlreq at speciallength{\jlreq at quote@indent}%
-    \rightmargin=\jlreq at speciallength{\jlreq at quote@end at indent}%
-    \csname\jlreq at quote@fontsize\endcsname
+    \leftmargin=\dimexpr\jlreq at quote@indent\relax
+    \rightmargin=\dimexpr\jlreq at quote@end at indent\relax
+    \jlreq at quote@fontsize
     \@tempdima=1\zw
     \@tempdimb=\dimexpr\linewidth - \@totalleftmargin - \leftmargin - \rightmargin\relax
     \@tempdimc=\@tempdimb
@@ -3766,14 +3854,14 @@
     \itemindent\listparindent
     \labelwidth\z@
     \labelsep\z@
-    \topsep=\jlreq at speciallength{\jlreq at quote@beforeafter at space}%
+    \topsep=\dimexpr\jlreq at quote@beforeafter at space\relax
     \parsep\z@ \@plus.1\jlreq at gol}%
     \item\relax}{\endlist}
 \newenvironment{quote}
   {\list{}{%
-    \leftmargin=\jlreq at speciallength{\jlreq at quote@indent}%
-    \rightmargin=\jlreq at speciallength{\jlreq at quote@end at indent}%
-    \csname\jlreq at quote@fontsize\endcsname
+    \leftmargin=\dimexpr\jlreq at quote@indent\relax
+    \rightmargin=\dimexpr\jlreq at quote@end at indent\relax
+    \jlreq at quote@fontsize
     \@tempdima=1\zw
     \@tempdimb=\dimexpr\linewidth - \@totalleftmargin - \leftmargin - \rightmargin\relax
     \@tempdimc=\@tempdimb
@@ -4034,6 +4122,27 @@
   }
 }
 
+%. その他諸々
+%.. 縦中横
+\DeclareRobustCommand*{\tatechuyoko}[1]{%
+  \jlreq at ifydir{\ClassError{jlreq}{\string\tatechuyoko\space is not allowed in yoko mode}{\@ehc}}{}%
+  \jlreq at lastnodechar=\lastnodechar
+  \ifvmode\leavevmode\fi
+  \ifnum\jlreq at lastnodechar=-1\else
+    \inhibitglue
+    \jlreq at calc@jfmglue{\char\jlreq at lastnodechar}{阿}%
+    \ifdim\jlreq at resultskip=0pt\else\hskip\jlreq at resultskip\fi
+  \fi
+  \hbox{\yoko \vrule width 0pt height 0.88\zw depth 0.12\zw #1}%
+  \def\jlreq at do{%
+    \jlreq at isletter{\jlreq at nextchar}{%
+      \jlreq at calc@jfmglue{\jlreq at nextchar}{阿}%
+      \ifdim\jlreq at resultskip=0pt\else\hskip\jlreq at resultskip\fi
+      \inhibitglue
+    }{}%
+  }%
+  \futurelet\jlreq at nextchar\jlreq at do
+}
 
 % 日にち
 \newif\if西暦 \西暦true
@@ -4064,26 +4173,38 @@
     \fi
   }}}
 
-%. 定理環境
-\def\jlreq at theorem@abovebelowspace{1\baselineskip}%とりあえず前後に一行分のアキ
+%.. 定理環境
 \jlreq at saveoriginalcs{@begintheorem}
-\def\@begintheorem#1#2{\topsep=\jlreq at theorem@abovebelowspace
+\jlreq at saveoriginalcs{@opargbegintheorem}
+\def\@begintheorem#1#2{\topsep=\dimexpr\jlreq at theorem@beforeafter at space\relax
   \trivlist\labelsep=1\jlreq at mol
+  \itemindent=\dimexpr\jlreq at theorem@indent\relax
    \item[\hskip \labelsep{\sffamily\bfseries #1\ #2}]}
-\jlreq at saveoriginalcs{@opargbegintheorem}
-\def\@opargbegintheorem#1#2#3{\topsep=\jlreq at theorem@abovebelowspace
+\def\@opargbegintheorem#1#2#3{\topsep=\dimexpr\jlreq at theorem@beforeafter at space\relax
   \trivlist\labelsep=1\jlreq at mol
+  \itemindent=\dimexpr\jlreq at theorem@indent\relax
   \item[\hskip \labelsep{\sffamily\bfseries #1\ #2(#3)}]}
-
-\AtEndOfPackageFile*{amsthm}{
-  \newtheoremstyle{jlreq}{\jlreq at theorem@abovebelowspace}{\jlreq at theorem@abovebelowspace}{\normalfont}{}{\sffamily\bfseries}{}{1\jlreq at mol}{\thmname{#1}\thmnumber{\ #2}\thmnote{ (#3)}}
-  \theoremstyle{jlreq}
-  \jlreq at saveoriginalcs{proof}
-  \jlreq at saveoriginalcs{endproof}
+\AtEndOfPackageFile*{amsthm}{%
+  \jlreq at saveoriginalcs{proof}%
+  \jlreq at saveoriginalcs{endproof}%
   \def\proof{\@ifnextchar[{\jlreq at proof}{\jlreq at proof[\proofname]}}
   \def\jlreq at proof[#1]{\labelsep=1\jlreq at mol\jlreq at original@proof[{\normalfont\sffamily\bfseries #1\inhibitglue}\nopunct]}
   \renewcommand{\proofname}{証明}
+  \jlreq at setupamsthm
+  \theoremstyle{jlreq}
 }
+\def\jlreq at setupamsthm{
+  \newtheoremstyle{jlreq}{\dimexpr\jlreq at theorem@beforeafter at space\relax}{\dimexpr\jlreq at theorem@beforeafter at space\relax}{\normalfont}{\dimexpr\jlreq at theorem@indent\relax}{\sffamily\bfseries}{}{1\jlreq at mol}{\thmname{##1}\thmnumber{\ ##2}\thmnote{ (##3)}}
+}
+\jlreq at jlreqsetup@add{theorem_beforeafter_space}{
+  \def\jlreq at theorem@beforeafter at space{#1}
+  \@ifpackageloaded{amsthm}{\jlreq at setupamsthm}{}
+}
+\jlreq at jlreqsetup@add{theorem_indent}{
+  \def\jlreq at theorem@indent{#1}
+  \@ifpackageloaded{amsthm}{\jlreq at setupamsthm}{}
+}
+\jlreqsetup{theorem_beforeafter_space=1\baselineskip,theorem_indent=0pt}
 
 
 % デフォルト設定

Modified: trunk/Master/texmf-dist/tex/luatex/jlreq/jfm-jlreqv.lua
===================================================================
--- trunk/Master/texmf-dist/tex/luatex/jlreq/jfm-jlreqv.lua	2017-04-29 22:19:37 UTC (rev 44116)
+++ trunk/Master/texmf-dist/tex/luatex/jlreq/jfm-jlreqv.lua	2017-04-29 22:22:55 UTC (rev 44117)
@@ -2990,4 +2990,45 @@
  ["zh"]=1,
  ["zw"]=1,
 }
+local function add_space(before,after,glueorkern,space,ratio)
+	if jfm[before][glueorkern] == nil then jfm[before][glueorkern] = {} end
+	if jfm[before][glueorkern][after] == nil then jfm[before][glueorkern][after] = {0} end
+	local origratio = jfm[before][glueorkern][after].ratio
+	if origratio == nil then origratio = 0.5 end
+	jfm[before][glueorkern][after].ratio = (jfm[before][glueorkern][after][1] * origratio + space * ratio) /  (jfm[before][glueorkern][after][1] + ratio)
+	jfm[before][glueorkern][after][1] = jfm[before][glueorkern][after][1] + space
+end
+
+if jlreq ~= nil then
+	if type(jlreq.open_bracket_pos) == "string" then
+		local r = jlreq.open_bracket_pos:find("_")
+		local danraku = jlreq.open_bracket_pos:sub(1,r - 1)
+		local orikaeshi = jlreq.open_bracket_pos:sub(r + 1)
+
+		-- 折り返し行頭の開き括弧を二分下げる……つもり
+		if orikaeshi == "nibu" then
+			-- widthを二分増やし,その代わりJFMグルーを二分減らす
+			jfm[1].width = jfm[1].width + 0.5
+			for k,v in pairs(jfm) do
+				if type(k) == "number" then
+					add_space(k,1,"glue",-0.5,1)
+				end
+			end
+		end
+
+		-- 段落行頭の下げ
+		if danraku == "zenkakunibu" then
+			add_space(90,1,"glue",0.5,1)
+		elseif danraku == "nibu" then
+			add_space(90,1,"glue",-0.5,1)
+		end
+	end
+
+	-- ぶら下げ組を有効にする.
+	if jlreq.burasage == true then
+		for _,class in ipairs({6,7}) do
+			table.insert(jfm[class].end_adjust,-0.5)
+		end
+	end
+end
 luatexja.jfont.define_jfm(jfm)



More information about the tex-live-commits mailing list