texlive[50697] Master/texmf-dist: jlreq (1apr19)

commits+karl at tug.org commits+karl at tug.org
Mon Apr 1 23:08:49 CEST 2019


Revision: 50697
          http://tug.org/svn/texlive?view=revision&revision=50697
Author:   karl
Date:     2019-04-01 23:08:48 +0200 (Mon, 01 Apr 2019)
Log Message:
-----------
jlreq (1apr19)

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-trimmarks-ja.html
    trunk/Master/texmf-dist/doc/latex/jlreq/jlreq-trimmarks-ja.md
    trunk/Master/texmf-dist/doc/latex/jlreq/jlreq-trimmarks.html
    trunk/Master/texmf-dist/doc/latex/jlreq/jlreq-trimmarks.md
    trunk/Master/texmf-dist/doc/latex/jlreq/jlreq.html
    trunk/Master/texmf-dist/fonts/vf/public/jlreq/ubjlreq-q.vf
    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-q.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-q.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-q.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-q.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-q.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-q.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-q.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-helpers.sty
    trunk/Master/texmf-dist/tex/latex/jlreq/jlreq-trimmarks.sty
    trunk/Master/texmf-dist/tex/latex/jlreq/jlreq.cls

Modified: trunk/Master/texmf-dist/doc/latex/jlreq/README-ja.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/jlreq/README-ja.md	2019-04-01 21:08:11 UTC (rev 50696)
+++ trunk/Master/texmf-dist/doc/latex/jlreq/README-ja.md	2019-04-01 21:08:48 UTC (rev 50697)
@@ -82,14 +82,16 @@
 
 
 ## 各種設計
-設計はクラスオプションまたは`\jlreqsetup`によりkeyval形式で行います.以下では次の用法を使います.
+設計はクラスオプションまたは`\jlreqsetup`によりkeyval形式で行います.ただし,クラスオプションではLaTeXの実装により,本来可能な入力が受け付けられないがケースあります.多くの場合は空白を除くことにより解決します.
 
+以下では次の用法を使います.
+
 * `[A/B]`:AまたはBです.`[A/B/C]`等も同様.
 * `<寸法>`:TeXが認識する寸法です.簡単な式(`10pt+10pt`のような)を使うこともできます.また,クラスオプションでは,場合によっては次のような特殊な値を使うこともできます.(これらはpLaTeX / upLaTeXではもとから利用可能ですが,LuaLaTeXでも利用可能なように処理されています.)`\jlreqsetup`内のような場所では,常に`\zw`や`\zh`により全角幅が記述できます.以下,たとえば`Q`が利用可能な場合は`<寸法;Q>`のように記述します.
     - `Q`:0.25mmと解釈されます.
     - `zw`, `zh`:全角幅として解釈されます.
-* <コード>:LaTeXのコードです.
-* <フォント設定コード>:`\Large`や`\bfseries`のようなフォント設定の命令です.`\Large\bfseries`のように複数指定することもできます.
+* `<コード>`:LaTeXのコードです.
+* `<フォント設定コード>`:`\Large`や`\bfseries`のようなフォント設定の命令です.`\Large\bfseries`のように複数指定することもできます.
 
 
 ### 基本版面
@@ -118,6 +120,10 @@
 * `open_bracket_pos=[zenkaku_tentsuki/zenkakunibu_nibu/nibu_tentsuki]`:始め括弧が行頭に来た際の配置方法を指定します.それぞれ段落開始全角折り返し行頭天付き(デフォルト),段落開始全角二分折り返し行頭二分,段落開始二分折り返し行頭天付きを意味します.
 * `hanging_punctuation`:ぶら下げ組をします.
 
+### 逆ノンブル
+クラスオプションです.
+* `use_reverse_pagination`:逆ノンブルの機能を利用可能にします.`jlreqreversepage`という「読み取り専用のカウンタ」が定義されます.(本物のカウンタではありません.)`\arabic`などの命令や`\value`が適用可能です.また`\thejlreqreversepage`が`\arabic{jlreqreversepage}`として定義されます.
+
 ### 注関係
 `\jlreqsetup`で指定します.
 
@@ -194,7 +200,7 @@
 * `pagestyle=<ページスタイル名>`:見出し箇所のページスタイルを指定します.
 * `label_format=<コード>`:ラベルを出力する命令を指定します.たとえば`label_format={第\thechapter 章}`のように指定します.
 * `format=<コード>`:実際に出力する書式を指定します.`format={\null\vfil {\Huge\bfseries #1#2}}`のようにします.`#1`はラベルに,`#2`は見出し文字列に置き換えられます.この中では`\jlreqHeadingLabel`,`\jlreqHeadingText`という命令が利用可能です.いずれも引数を一つとる命令で,それぞれラベル,見出し文字列が空ならば空に,そうでなければ与えられた引数自身を出力します.例えば`format={[\jlreqHeadingLabel{Label=#1}]}`と指定されていれば,ラベルが空でない時には`[Label=<ラベル>]`を,そうでなければ`[]`を出力します.
-* `number=[true/false]':採番を行うかを指定します.ただし,`number=false`の場合でも対応するカウンタは定義されます.また`\the<カウンタ名>`の変更もされないので,必要ならば再定義が必要になります.
+* `number=[true/false]`:採番を行うかを指定します.ただし,`number=false`の場合でも対応するカウンタは定義されます.また`\the<カウンタ名>`の変更もされないので,必要ならば再定義が必要になります.
 
 ### 別行見出し
 `\NewBlockHeading`で作成します.`\<命令名>*[running head]{見出し文字列}[副題]`という書式の命令を作成します.設定は以下の通り.
@@ -211,8 +217,8 @@
 * `indent=<寸法>`:見出し全体の字下げ量を指定します.
 * `end_indent=<寸法>`:見出し全体の字上げ量を指定します.
 * `after_label_space=<寸法>`:ラベル後,見出し文字列までの空きを指定します.
-* `second_heading_text_indent=[<寸法>/{<寸法>,<寸法>}]`:見出し文字列の二行目以降のインデントを指定します.一行目の頭を起点として指定しますが,`second_heading_text_indent=*1\zw`のように先頭に`*`をつけるとラベルの頭を起点としての指定になります.また,`second_heading_text_indent={<ラベルがある時>,<ラベルがない時>}`という指定をすると,ラベルの有無に応じて値を変更することができます.`<ラベルがある時>`の指定ではやはり`*`を使うことができます.
-* `subtitle_indent=<寸法>`:副題のインデント量を指定します.見出し文字列の一行目を起点として指定します.ただし,`subtitle_indent=*1\zw`のように先頭に`*`をつけるとラベルの頭を起点としての指定になります.`subtitle_indent=true`の時のみ有効です.
+* `second_heading_text_indent=[<寸法>/{<寸法>,<寸法>}]`:見出し文字列の二行目以降のインデントを指定します.見出し文字列一行目の頭を起点として指定しますが,`second_heading_text_indent=*1\zw`のように先頭に`*`をつけるとラベルの頭を起点としての指定になります.また,`second_heading_text_indent={<ラベルがある時>,<ラベルがない時>}`という指定をすると,ラベルの有無に応じて値を変更することができます.`<ラベルがある時>`の指定ではやはり`*`を使うことができます.
+* `subtitle_indent=<寸法>`:副題のインデント量を指定します.見出し文字列の一行目を起点として指定します.ただし,`subtitle_indent=*1\zw`のように先頭に`*`をつけるとラベルの頭を起点としての指定になります.`subtitle_break=true`の時のみ有効です.
 
 #### その他
 * `subtitle_break=[true/false]`:見出し文字列と副題の間を改行するか指定します.
@@ -220,7 +226,7 @@
 * `pagebreak=[clearpage/cleardoublepage/clearcolumn/nariyuki/begin_with_odd_page/begin_with_even_page]`:見出し直前の改ページを指定します.それぞれ,改ページ,`\cleardoublepage`実行,改段,なりゆき,奇数ページ開始,偶数ページ開始,です.
 * `afterindent=[true/false]`:見出し直後の段落の字下げを行うかを指定します.
 * `column_spanning=[true/false]`: 段抜きの見出しにします.`pagebreak=nariyuki`または`pagebreak=clearcolumn`の時には無視されます.
-* `number=[true/false]':採番を行うかを指定します.`\NewTobiraHeading`と同様の注意が必要です.
+* `number=[true/false]`:採番を行うかを指定します.`\NewTobiraHeading`と同様の注意が必要です.
 
 #### 行取り
 行取りの指定は以下のいずれかの方法で行うことができます.
@@ -311,14 +317,8 @@
 `\RenewPageStyle`,`\ProvidePageStyle`,`\DeclarePageStyle`もあります.`\ModifyPageStyle`により既存のページスタイルを改変することが可能です.
 
 ## JFM
-以下のような独自のJFMを使います.パッケージによっては,パッケージ独自のJFMや,また標準のJFMを使うように設定がし直される場合があります.例えばLuaTeX-jaに付属するluatexja-presetパッケージは通常LuaTeX-ja標準のJFMを使います.本クラスファイルで使っているJFMを使う場合は,
+以下のような独自のJFMを使います.パッケージによっては,パッケージ独自のJFMや,また標準のJFMを使うように設定がし直される場合があります.本クラスファイルで使用するJFMを使う場合には,パッケージオプションなどを適切に与えて設定をする必要があります.
 
-```LaTeX
-\usepackage[jfm_yoko=jlreq,jfm_tate=jlreqv,hiragino-pron]{luatexja-preset}
-```
-
-のようにオプションで指定する必要があります.
-
 ### pLaTeX/upLaTeXの場合
 JFMの名前は次の通りです.`[]`で囲まれている文字は設定により入ったり入らなかったりします.
 ```
@@ -338,7 +338,7 @@
 * 横書き用のJFMは`jlreq`
 * 縦書き用のJFMは`jlreqv`
 
-となります.ゴシックも同じJFMを使います.
+となります.ゴシックも同じJFMを使います.本クラスファイルは,LuaTeX-ja標準のJFMをこれらに変更します.
 
 
 ## その他
@@ -434,6 +434,11 @@
     - `\NewBlockHeading`の`format`に`#1`が含まれてもエラーが起こらないようにした.
     - `\jlreqsetup`の`caption_label_format`などを拡張.
     - バグ修正.
+* 2019-04-01
+    - 逆ノンブルを利用可能にするクラスオプション`use_reverse_pagination`を追加.
+    - `zref`パッケージの利用をやめた.
+    - 新元号を追加.
+    - バグ修正.
 
 
 --------------

Modified: trunk/Master/texmf-dist/doc/latex/jlreq/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/jlreq/README.md	2019-04-01 21:08:11 UTC (rev 50696)
+++ trunk/Master/texmf-dist/doc/latex/jlreq/README.md	2019-04-01 21:08:48 UTC (rev 50697)
@@ -106,6 +106,11 @@
     - `format` without `#1` is allowed in `\NewBlockHeading`.
     - Extended `caption_label_format` etc. in `\jlreqsetup`.
     - Fixed bugs.
+* 2019-04-01
+    - Added `use_reverse_pagination` to the class option.
+    - Stopped to use `zref` package.
+    - New regnal year.
+    - Fixed bugs.
 
 
 --------------

Modified: trunk/Master/texmf-dist/doc/latex/jlreq/jlreq-ja.html
===================================================================
--- trunk/Master/texmf-dist/doc/latex/jlreq/jlreq-ja.html	2019-04-01 21:08:11 UTC (rev 50696)
+++ trunk/Master/texmf-dist/doc/latex/jlreq/jlreq-ja.html	2019-04-01 21:08:48 UTC (rev 50697)
@@ -102,9 +102,9 @@
 <p>と配置します.<code>make install</code>とすると,$TEXMF=$TEXMFHOMEとしてこのコピーを行います.</p>
 <h2 id="使い方">使い方</h2>
 <p>通常通り</p>
-<div class="sourceCode" id="cb1"><pre class="sourceCode latex"><code class="sourceCode latex"><a class="sourceLine" id="cb1-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">jlreq</span>}</a></code></pre></div>
+<pre class="sourceCode latex" id="cb1"><code class="sourceCode latex"><a class="sourceLine" id="cb1-1" data-line-number="1"><span class="bu">\documentclass</span>{<span class="ex">jlreq</span>}</a></code></pre>
 <p>とします.これで横書きのarticle相当の文書クラスとなります.エンジンは自動判定されますが,指定する場合はクラスオプションに<code>platex/uplatex/lualatex</code>のいずれかを渡してください.縦書きにするには<code>tate</code>オプションを渡します.また,reportやbook相当の文書クラスとするには,それぞれ<code>report</code>や<code>book</code>オプションを渡します.たとえば,縦書きの本を作成するには</p>
-<div class="sourceCode" id="cb2"><pre class="sourceCode latex"><code class="sourceCode latex"><a class="sourceLine" id="cb2-1" data-line-number="1"><span class="bu">\documentclass</span>[tate,book]{<span class="ex">jlreq</span>}</a></code></pre></div>
+<pre class="sourceCode latex" id="cb2"><code class="sourceCode latex"><a class="sourceLine" id="cb2-1" data-line-number="1"><span class="bu">\documentclass</span>[tate,book]{<span class="ex">jlreq</span>}</a></code></pre>
 <p>とします.</p>
 <p>その他,<code>oneside / twoside / onecolumn / twocolumn / titlepage / notitlepage / draft / final / openright / openany / leqno / fleqn</code>というよくあるオプションを受け付けます.</p>
 <p>標準的な文書クラスと同じように中身を書くことができますが,次のような命令が追加 / 拡張されています.なお,本ドキュメントでは<a href="https://www.w3.org/TR/jlreq/ja/">日本語組版処理の要件</a>における用語を断りなく使います.</p>
@@ -117,7 +117,7 @@
 <h3 id="sidenote"><code>\sidenote</code></h3>
 <p>この命令は傍注の幅が正の時にのみ定義されます.デフォルトの基本版面ではこの幅は0に設定されています.従って<code>\sidenote</code>は定義されません.後の基本版面の設定を参考にしてください.</p>
 <p><code>\sidenote</code>は傍注(縦組みの場合は脚注)を出力します.内部では<code>\marginpar</code>を使っています.デフォルトでは<code>\footnote</code>と同様の書式となりますが,<code>\jlreqsetup</code>で<code>sidenote_type=symbol</code>が指定されている場合,その書式は<code>\sidenote{該当項目}{注}</code>となります.たとえば</p>
-<div class="sourceCode" id="cb3"><pre class="sourceCode latex"><code class="sourceCode latex"><a class="sourceLine" id="cb3-1" data-line-number="1">刊行できる<span class="fu">\sidenote</span>{原稿}{印刷などの方法により……}を入手する仕事である.</a></code></pre></div>
+<pre class="sourceCode latex" id="cb3"><code class="sourceCode latex"><a class="sourceLine" id="cb3-1" data-line-number="1">刊行できる<span class="fu">\sidenote</span>{原稿}{印刷などの方法により……}を入手する仕事である.</a></code></pre>
 <p>とします.後の説明も参照してください.</p>
 <h3 id="endnote"><code>\endnote</code></h3>
 <p>後注を指定します.<code>\footnote</code>と同様の書式です.デフォルトでは,注自身の出力は見出し直前に行われます.この動作は<code>\jlreqsetup</code>に<code>endnote_position</code>を渡すことで制御できます.詳しくは後の注関係の説明をご覧ください.また<code>\theendnotes</code>を実行するとその場に出力をします.</p>
@@ -136,12 +136,13 @@
 <ul>
 <li><p>ルビや圏点は提供されません.<a href="https://github.com/zr-tex8r/PXrubrica">PXrubrica</a>または<code>luatexja-ruby</code>(LuaLaTeX,LuaTeX-jaパッケージに付属)を使うと良いかと思います.</p></li>
 <li><p>日本語組版処理の要件2.3.2.dによれば,横組みにおける二段組の最後のページの各段の行数は揃えることが望ましいとされていますが,この処理は行われません.<code>nidanfloat</code>パッケージを使い,</p>
-<div class="sourceCode" id="cb5"><pre class="sourceCode latex"><code class="sourceCode latex"><a class="sourceLine" id="cb5-1" data-line-number="1"><span class="bu">\usepackage</span>[balance]{<span class="ex">nidanfloat</span>}</a></code></pre></div>
+<pre class="sourceCode latex" id="cb5"><code class="sourceCode latex"><a class="sourceLine" id="cb5-1" data-line-number="1"><span class="bu">\usepackage</span>[balance]{<span class="ex">nidanfloat</span>}</a></code></pre>
 <p>とするとこの処理が行われます.ただし,最終ページでの<code>\newpage</code>や<code>\clearpage</code>が正しく動作しません.詳しくは<code>nidanfloat</code>パッケージのマニュアルをご覧ください.</p></li>
 <li><p>フォントを設定する機能は有していません.和文フォントは,LuaLaTeX利用時は<code>luatexja-fontspec</code>や<code>luatexja-preset</code>(いずれもLuaTeX-jaパッケージに付属)により設定することができます.dvipdfmxを使う場合は,<a href="https://github.com/zr-tex8r/PXchfon">PXchfon</a>での設定が可能です.</p></li>
 </ul>
 <h2 id="各種設計">各種設計</h2>
-<p>設計はクラスオプションまたは<code>\jlreqsetup</code>によりkeyval形式で行います.以下では次の用法を使います.</p>
+<p>設計はクラスオプションまたは<code>\jlreqsetup</code>によりkeyval形式で行います.ただし,クラスオプションではLaTeXの実装により,本来可能な入力が受け付けられないがケースあります.多くの場合は空白を除くことにより解決します.</p>
+<p>以下では次の用法を使います.</p>
 <ul>
 <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>のように記述します.
@@ -149,8 +150,8 @@
 <li><code>Q</code>:0.25mmと解釈されます.</li>
 <li><code>zw</code>, <code>zh</code>:全角幅として解釈されます.</li>
 </ul></li>
-<li><コード>:LaTeXのコードです.</li>
-<li><フォント設定コード>:<code>\Large</code>や<code>\bfseries</code>のようなフォント設定の命令です.<code>\Large\bfseries</code>のように複数指定することもできます.</li>
+<li><code><コード></code>:LaTeXのコードです.</li>
+<li><code><フォント設定コード></code>:<code>\Large</code>や<code>\bfseries</code>のようなフォント設定の命令です.<code>\Large\bfseries</code>のように複数指定することもできます.</li>
 </ul>
 <h3 id="基本版面">基本版面</h3>
 <p>クラスオプションです.</p>
@@ -181,6 +182,11 @@
 <li><code>open_bracket_pos=[zenkaku_tentsuki/zenkakunibu_nibu/nibu_tentsuki]</code>:始め括弧が行頭に来た際の配置方法を指定します.それぞれ段落開始全角折り返し行頭天付き(デフォルト),段落開始全角二分折り返し行頭二分,段落開始二分折り返し行頭天付きを意味します.</li>
 <li><code>hanging_punctuation</code>:ぶら下げ組をします.</li>
 </ul>
+<h3 id="逆ノンブル">逆ノンブル</h3>
+<p>クラスオプションです.</p>
+<ul>
+<li><code>use_reverse_pagination</code>:逆ノンブルの機能を利用可能にします.<code>jlreqreversepage</code>という「読み取り専用のカウンタ」が定義されます.(本物のカウンタではありません.)<code>\arabic</code>などの命令や<code>\value</code>が適用可能です.また<code>\thejlreqreversepage</code>が<code>\arabic{jlreqreversepage}</code>として定義されます.</li>
+</ul>
 <h3 id="注関係">注関係</h3>
 <p><code>\jlreqsetup</code>で指定します.</p>
 <ul>
@@ -260,7 +266,7 @@
 <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>は見出し文字列に置き換えられます.この中では<code>\jlreqHeadingLabel</code>,<code>\jlreqHeadingText</code>という命令が利用可能です.いずれも引数を一つとる命令で,それぞれラベル,見出し文字列が空ならば空に,そうでなければ与えられた引数自身を出力します.例えば<code>format={[\jlreqHeadingLabel{Label=#1}]}</code>と指定されていれば,ラベルが空でない時には<code>[Label=<ラベル>]</code>を,そうでなければ<code>[]</code>を出力します.</li>
-<li><code>number=[true/false]':採番を行うかを指定します.ただし,</code>number=false<code>の場合でも対応するカウンタは定義されます.また</code>\the<カウンタ名>`の変更もされないので,必要ならば再定義が必要になります.</li>
+<li><code>number=[true/false]</code>:採番を行うかを指定します.ただし,<code>number=false</code>の場合でも対応するカウンタは定義されます.また<code>\the<カウンタ名></code>の変更もされないので,必要ならば再定義が必要になります.</li>
 </ul>
 <h3 id="別行見出し">別行見出し</h3>
 <p><code>\NewBlockHeading</code>で作成します.<code>\<命令名>*[running head]{見出し文字列}[副題]</code>という書式の命令を作成します.設定は以下の通り.</p>
@@ -278,8 +284,8 @@
 <li><code>indent=<寸法></code>:見出し全体の字下げ量を指定します.</li>
 <li><code>end_indent=<寸法></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>:副題のインデント量を指定します.見出し文字列の一行目を起点として指定します.ただし,<code>subtitle_indent=*1\zw</code>のように先頭に<code>*</code>をつけるとラベルの頭を起点としての指定になります.<code>subtitle_indent=true</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>:副題のインデント量を指定します.見出し文字列の一行目を起点として指定します.ただし,<code>subtitle_indent=*1\zw</code>のように先頭に<code>*</code>をつけるとラベルの頭を起点としての指定になります.<code>subtitle_break=true</code>の時のみ有効です.</li>
 </ul>
 <h4 id="その他-1">その他</h4>
 <ul>
@@ -288,7 +294,7 @@
 <li><code>pagebreak=[clearpage/cleardoublepage/clearcolumn/nariyuki/begin_with_odd_page/begin_with_even_page]</code>:見出し直前の改ページを指定します.それぞれ,改ページ,<code>\cleardoublepage</code>実行,改段,なりゆき,奇数ページ開始,偶数ページ開始,です.</li>
 <li><code>afterindent=[true/false]</code>:見出し直後の段落の字下げを行うかを指定します.</li>
 <li><code>column_spanning=[true/false]</code>: 段抜きの見出しにします.<code>pagebreak=nariyuki</code>または<code>pagebreak=clearcolumn</code>の時には無視されます.</li>
-<li><code>number=[true/false]':採番を行うかを指定します.</code>\NewTobiraHeading`と同様の注意が必要です.</li>
+<li><code>number=[true/false]</code>:採番を行うかを指定します.<code>\NewTobiraHeading</code>と同様の注意が必要です.</li>
 </ul>
 <h4 id="行取り">行取り</h4>
 <p>行取りの指定は以下のいずれかの方法で行うことができます.</p>
@@ -299,10 +305,10 @@
 </ul>
 <h4 id="連続して掲げる見出しの行取り">連続して掲げる見出しの行取り</h4>
 <p><code>\SetBlockHeadingSpaces</code>により,見出しが連続して掲げられたときの行取りを設定することができます.<code>\SetBlockHeadingSpaces</code>は</p>
-<div class="sourceCode" id="cb7"><pre class="sourceCode latex"><code class="sourceCode latex"><a class="sourceLine" id="cb7-1" data-line-number="1"><span class="fu">\SetBlockHeadingSpaces</span>{</a>
+<pre class="sourceCode latex" id="cb7"><code class="sourceCode latex"><a class="sourceLine" id="cb7-1" data-line-number="1"><span class="fu">\SetBlockHeadingSpaces</span>{</a>
 <a class="sourceLine" id="cb7-2" data-line-number="2">  {_part{lines=3,before_lines=1},_section{lines=2},_subsection{lines=2}}</a>
 <a class="sourceLine" id="cb7-3" data-line-number="3">  [lines=5]{_section,23pt,_subsection,16pt}</a>
-<a class="sourceLine" id="cb7-4" data-line-number="4">}</a></code></pre></div>
+<a class="sourceLine" id="cb7-4" data-line-number="4">}</a></code></pre>
 <p>のように使います.この意味は次の通りです.</p>
 <ul>
 <li><code>\part</code>,<code>\section</code>,<code>\subsection</code>という順番で見出しが掲げられていて,その前後が見出しでない場合は,<code>\part</code>は三行取り+前に一行空き,<code>\section</code>と<code>\subsection</code>は二行取りとなります.</li>
@@ -337,14 +343,14 @@
 </ul>
 <h3 id="modifyheading"><code>\ModifyHeading</code></h3>
 <p>既に(上のどれかを使い)定義された見出し命令の設定を変更します.たとえば</p>
-<div class="sourceCode" id="cb8"><pre class="sourceCode latex"><code class="sourceCode latex"><a class="sourceLine" id="cb8-1" data-line-number="1"><span class="fu">\ModifyHeading</span>{section}{lines=10}</a></code></pre></div>
+<pre class="sourceCode latex" id="cb8"><code class="sourceCode latex"><a class="sourceLine" id="cb8-1" data-line-number="1"><span class="fu">\ModifyHeading</span>{section}{lines=10}</a></code></pre>
 <p>とすると,<code>\section</code>のフォントなどの設定はそのままに,行取りのみが10行に変更されます.見出しの種類を変更することはできません.</p>
 <h3 id="saveheading"><code>\SaveHeading</code></h3>
 <p>見出し命令の定義を待避します.</p>
-<div class="sourceCode" id="cb9"><pre class="sourceCode latex"><code class="sourceCode latex"><a class="sourceLine" id="cb9-1" data-line-number="1"><span class="fu">\SaveHeading</span>{section}{<span class="fu">\restoresection</span>} <span class="co">% \sectionの中身を\restoresectionに待避.</span></a>
+<pre class="sourceCode latex" id="cb9"><code class="sourceCode latex"><a class="sourceLine" id="cb9-1" data-line-number="1"><span class="fu">\SaveHeading</span>{section}{<span class="fu">\restoresection</span>} <span class="co">% \sectionの中身を\restoresectionに待避.</span></a>
 <a class="sourceLine" id="cb9-2" data-line-number="2"><span class="fu">\RenewBlockHeading</span>{section}{1}{font=……} <span class="co">% \sectionを新しく定義する.</span></a>
 <a class="sourceLine" id="cb9-3" data-line-number="3">……</a>
-<a class="sourceLine" id="cb9-4" data-line-number="4"><span class="fu">\restoresection</span> <span class="co">% \sectionの中身を元に戻す.</span></a></code></pre></div>
+<a class="sourceLine" id="cb9-4" data-line-number="4"><span class="fu">\restoresection</span> <span class="co">% \sectionの中身を元に戻す.</span></a></code></pre>
 <p>のように使います.</p>
 <h2 id="ページスタイル">ページスタイル</h2>
 <pre><code>\NewPageStyle{<ページスタイル名>}{<設定>}
@@ -367,9 +373,7 @@
 </ul>
 <p><code>\RenewPageStyle</code>,<code>\ProvidePageStyle</code>,<code>\DeclarePageStyle</code>もあります.<code>\ModifyPageStyle</code>により既存のページスタイルを改変することが可能です.</p>
 <h2 id="jfm">JFM</h2>
-<p>以下のような独自のJFMを使います.パッケージによっては,パッケージ独自のJFMや,また標準のJFMを使うように設定がし直される場合があります.例えばLuaTeX-jaに付属するluatexja-presetパッケージは通常LuaTeX-ja標準のJFMを使います.本クラスファイルで使っているJFMを使う場合は,</p>
-<div class="sourceCode" id="cb11"><pre class="sourceCode LaTeX"><code class="sourceCode latex"><a class="sourceLine" id="cb11-1" data-line-number="1"><span class="bu">\usepackage</span>[jfm_yoko=jlreq,jfm_tate=jlreqv,hiragino-pron]{<span class="ex">luatexja-preset</span>}</a></code></pre></div>
-<p>のようにオプションで指定する必要があります.</p>
+<p>以下のような独自のJFMを使います.パッケージによっては,パッケージ独自のJFMや,また標準のJFMを使うように設定がし直される場合があります.本クラスファイルで使用するJFMを使う場合には,パッケージオプションなどを適切に与えて設定をする必要があります.</p>
 <h3 id="platexuplatexの場合">pLaTeX/upLaTeXの場合</h3>
 <p>JFMの名前は次の通りです.<code>[]</code>で囲まれている文字は設定により入ったり入らなかったりします.</p>
 <pre><code>[u][b][z]jlreq[g][-v]
@@ -388,7 +392,7 @@
 <li>横書き用のJFMは<code>jlreq</code></li>
 <li>縦書き用のJFMは<code>jlreqv</code></li>
 </ul>
-<p>となります.ゴシックも同じJFMを使います.</p>
+<p>となります.ゴシックも同じJFMを使います.本クラスファイルは,LuaTeX-ja標準のJFMをこれらに変更します.</p>
 <h2 id="その他-2">その他</h2>
 <ul>
 <li>クラスオプション<code>jlreq_notes</code>が渡されると,日本語組版処理の記述と矛盾する設定が行われた場合に通知がされます.</li>
@@ -525,6 +529,13 @@
 <li><code>\jlreqsetup</code>の<code>caption_label_format</code>などを拡張.</li>
 <li>バグ修正.</li>
 </ul></li>
+<li>2019-04-01
+<ul>
+<li>逆ノンブルを利用可能にするクラスオプション<code>use_reverse_pagination</code>を追加.</li>
+<li><code>zref</code>パッケージの利用をやめた.</li>
+<li>新元号を追加.</li>
+<li>バグ修正.</li>
+</ul></li>
 </ul>
 <hr />
 <p>Noriyuki Abe <a href="https://github.com/abenori/jlreq" class="uri">https://github.com/abenori/jlreq</a></p>

Modified: trunk/Master/texmf-dist/doc/latex/jlreq/jlreq-trimmarks-ja.html
===================================================================
--- trunk/Master/texmf-dist/doc/latex/jlreq/jlreq-trimmarks-ja.html	2019-04-01 21:08:11 UTC (rev 50696)
+++ trunk/Master/texmf-dist/doc/latex/jlreq/jlreq-trimmarks-ja.html	2019-04-01 21:08:48 UTC (rev 50697)
@@ -135,40 +135,58 @@
 <li><code>no</code>:何も表示しません.</li>
 </ul>
 <h3 id="bleed_margin"><code>bleed_margin</code></h3>
-<p>仕上がりと裁ち落としの間(ドブ)の長さを指定します.</p>
+<p>仕上がりと裁ち落としの間(ドブ)の長さを指定します.次のようにすると,上下左右を独立に変更できます.</p>
+<pre class="sourceCode latex" id="cb2"><code class="sourceCode latex"><a class="sourceLine" id="cb2-1" data-line-number="1"><span class="bu">\usepackage</span>[bleed_margin={top=3mm,bottom=5mm,gutter=0mm,fore-edge=2mm}]{<span class="ex">jlreq-trimmarks</span>}</a></code></pre>
 <h2 id="jlreqtrimmarkssetup"><code>\jlreqtrimmarkssetup</code></h2>
 <p>パッケージオプションで指定できない設定を行えます.keyval形式です.</p>
 <h3 id="banner"><code>banner</code></h3>
-<p><code>show=banner</code>時に出力される文字列.通常は左上に出力されますが,四つ角および上下左右の中心に出力することもできます.例えば次のように指定します.</p>
-<div class="sourceCode" id="cb2"><pre class="sourceCode latex"><code class="sourceCode latex"><a class="sourceLine" id="cb2-1" data-line-number="1"><span class="fu">\jlreqtrimmarkssetup</span>{</a>
-<a class="sourceLine" id="cb2-2" data-line-number="2">  banner={</a>
-<a class="sourceLine" id="cb2-3" data-line-number="3">    top-right={</a>
-<a class="sourceLine" id="cb2-4" data-line-number="4">      tate={</a>
-<a class="sourceLine" id="cb2-5" data-line-number="5">        odd = {奇数ページの右上に縦書きで表示},</a>
-<a class="sourceLine" id="cb2-6" data-line-number="6">        even = {偶数ページの右上に縦書きで表示},</a>
-<a class="sourceLine" id="cb2-7" data-line-number="7">      },</a>
-<a class="sourceLine" id="cb2-8" data-line-number="8">      yoko={右上に横書きで表示}, <span class="co">% ページの偶奇によらず共通</span></a>
-<a class="sourceLine" id="cb2-9" data-line-number="9">      corner={右上角に横書きで表示},</a>
-<a class="sourceLine" id="cb2-10" data-line-number="10">      in-yoko = {右上版面内に横書きで表示},</a>
-<a class="sourceLine" id="cb2-11" data-line-number="11">      in-tate = {右上版面内に縦書きで表示},</a>
-<a class="sourceLine" id="cb2-12" data-line-number="12">    },</a>
-<a class="sourceLine" id="cb2-13" data-line-number="13">    bottom-center={</a>
-<a class="sourceLine" id="cb2-14" data-line-number="14">      left = {中央下の左に表示}, <span class="co">% 必要ならばodd=, even=が利用可能</span></a>
-<a class="sourceLine" id="cb2-15" data-line-number="15">      right = {中央下の右に表示},</a>
-<a class="sourceLine" id="cb2-16" data-line-number="16">      in = {中央下の版面内に表示},</a>
-<a class="sourceLine" id="cb2-17" data-line-number="17">    }</a>
-<a class="sourceLine" id="cb2-18" data-line-number="18">  }</a>
-<a class="sourceLine" id="cb2-19" data-line-number="19">}</a></code></pre></div>
-<p>各項目に<code>\thepage</code>を指定するとページ数を出力できます.キー名は省略することもできます.例えば次の通り.</p>
-<div class="sourceCode" id="cb3"><pre class="sourceCode latex"><code class="sourceCode latex"><a class="sourceLine" id="cb3-1" data-line-number="1"><span class="fu">\jlreqtrimmarkssetup</span>{</a>
+<p><code>show=banner</code>時に出力される文字列.通常は左上に出力されますが,四つ角および上下左右の中心に出力することもできます.指定は</p>
+<pre class="sourceCode latex" id="cb3"><code class="sourceCode latex"><a class="sourceLine" id="cb3-1" data-line-number="1"><span class="fu">\jlreqtrimmarkssetup</span>{</a>
 <a class="sourceLine" id="cb3-2" data-line-number="2">  banner={</a>
-<a class="sourceLine" id="cb3-3" data-line-number="3">    tate = {左上に縦書き}, <span class="co">% 場所が省略されるとtop-leftと見なされる.</span></a>
-<a class="sourceLine" id="cb3-4" data-line-number="4">    odd = {左上奇数ページ}, <span class="co">% 省略されたのでyokoと見なされる.</span></a>
-<a class="sourceLine" id="cb3-5" data-line-number="5">    top-right = {</a>
-<a class="sourceLine" id="cb3-6" data-line-number="6">      odd = {右上奇数ページ} <span class="co">% ここもyokoが省略されている.</span></a>
-<a class="sourceLine" id="cb3-7" data-line-number="7">    }</a>
-<a class="sourceLine" id="cb3-8" data-line-number="8">  }</a>
-<a class="sourceLine" id="cb3-9" data-line-number="9">}</a></code></pre></div>
+<a class="sourceLine" id="cb3-3" data-line-number="3">    <場所(上下,左右中央)>={</a>
+<a class="sourceLine" id="cb3-4" data-line-number="4">      <細かな位置>={</a>
+<a class="sourceLine" id="cb3-5" data-line-number="5">        <ページ数の偶奇に応じて>={</a>
+<a class="sourceLine" id="cb3-6" data-line-number="6">          <表示項目></a>
+<a class="sourceLine" id="cb3-7" data-line-number="7">        }</a>
+<a class="sourceLine" id="cb3-8" data-line-number="8">      }</a>
+<a class="sourceLine" id="cb3-9" data-line-number="9">    }</a>
+<a class="sourceLine" id="cb3-10" data-line-number="10">  }</a>
+<a class="sourceLine" id="cb3-11" data-line-number="11">}</a></code></pre>
+<p>のようになります.キー名は省略することもできます.例えば次のように指定します.</p>
+<pre class="sourceCode latex" id="cb4"><code class="sourceCode latex"><a class="sourceLine" id="cb4-1" data-line-number="1"><span class="fu">\jlreqtrimmarkssetup</span>{</a>
+<a class="sourceLine" id="cb4-2" data-line-number="2">  banner={</a>
+<a class="sourceLine" id="cb4-3" data-line-number="3">    top-right={</a>
+<a class="sourceLine" id="cb4-4" data-line-number="4">      tate={</a>
+<a class="sourceLine" id="cb4-5" data-line-number="5">        odd={奇数ページの右上に縦書きで表示},</a>
+<a class="sourceLine" id="cb4-6" data-line-number="6">        even={偶数ページの右上に縦書きで表示},</a>
+<a class="sourceLine" id="cb4-7" data-line-number="7">      },</a>
+<a class="sourceLine" id="cb4-8" data-line-number="8">      yoko={右上に横書きで表示}, <span class="co">% ページの偶奇によらず共通</span></a>
+<a class="sourceLine" id="cb4-9" data-line-number="9">      corner={右上角に横書きで表示},</a>
+<a class="sourceLine" id="cb4-10" data-line-number="10">      in-yoko={右上版面内に横書きで表示},</a>
+<a class="sourceLine" id="cb4-11" data-line-number="11">      in-tate={右上版面内に縦書きで表示},</a>
+<a class="sourceLine" id="cb4-12" data-line-number="12">    },</a>
+<a class="sourceLine" id="cb4-13" data-line-number="13">    bottom-center={</a>
+<a class="sourceLine" id="cb4-14" data-line-number="14">      left={中央下の左に表示}, <span class="co">% odd=, even=も使用可能</span></a>
+<a class="sourceLine" id="cb4-15" data-line-number="15">      right={中央下の右に表示},</a>
+<a class="sourceLine" id="cb4-16" data-line-number="16">      in={中央下の版面内に表示},</a>
+<a class="sourceLine" id="cb4-17" data-line-number="17">    },</a>
+<a class="sourceLine" id="cb4-18" data-line-number="18">    center-gutter={</a>
+<a class="sourceLine" id="cb4-19" data-line-number="19">      above={ノド側中央の上側に表示},</a>
+<a class="sourceLine" id="cb4-20" data-line-number="20">      below={ノド側中央の下側に表示},</a>
+<a class="sourceLine" id="cb4-21" data-line-number="21">    },</a>
+<a class="sourceLine" id="cb4-22" data-line-number="22">  }</a>
+<a class="sourceLine" id="cb4-23" data-line-number="23">}</a></code></pre>
+<p>場所は<code>top/bottom/center</code>と<code>left/right/center/gutter/fore-edge</code>の可能な組み合わせが指定可能です.各項目に<code>\thepage</code>を指定するとページ数を出力できます.</p>
+<p>次のような指定も可能です.</p>
+<pre class="sourceCode latex" id="cb5"><code class="sourceCode latex"><a class="sourceLine" id="cb5-1" data-line-number="1"><span class="fu">\jlreqtrimmarkssetup</span>{</a>
+<a class="sourceLine" id="cb5-2" data-line-number="2">  banner={</a>
+<a class="sourceLine" id="cb5-3" data-line-number="3">    tate={左上に縦書き}, <span class="co">% 場所が省略されるとtop-leftと見なされる.</span></a>
+<a class="sourceLine" id="cb5-4" data-line-number="4">    odd={左上奇数ページ}, <span class="co">% 省略されたのでyokoと見なされる.</span></a>
+<a class="sourceLine" id="cb5-5" data-line-number="5">    top-right={</a>
+<a class="sourceLine" id="cb5-6" data-line-number="6">      odd={右上奇数ページ} <span class="co">% ここもyokoが省略されている.</span></a>
+<a class="sourceLine" id="cb5-7" data-line-number="7">    }</a>
+<a class="sourceLine" id="cb5-8" data-line-number="8">  }</a>
+<a class="sourceLine" id="cb5-9" data-line-number="9">}</a></code></pre>
 <h3 id="trimmarks_width"><code>trimmarks_width</code></h3>
 <p>トンボ自身の太さを指定します.</p>
 <h3 id="color"><code>color</code></h3>
@@ -208,6 +226,11 @@
 <ul>
 <li><code>\jlreqtrimmarkssetup</code>内の<code>banner</code>を拡張.</li>
 </ul></li>
+<li>2019-04-01
+<ul>
+<li><code>\jlreqtrimmarkssetup</code>内の<code>banner</code>を更に拡張.</li>
+<li><code>bleed_margin</code>を拡張.</li>
+</ul></li>
 </ul>
 <hr />
 <p>Noriyuki Abe <a href="https://github.com/abenori/jlreq" class="uri">https://github.com/abenori/jlreq</a></p>

Modified: trunk/Master/texmf-dist/doc/latex/jlreq/jlreq-trimmarks-ja.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/jlreq/jlreq-trimmarks-ja.md	2019-04-01 21:08:11 UTC (rev 50696)
+++ trunk/Master/texmf-dist/doc/latex/jlreq/jlreq-trimmarks-ja.md	2019-04-01 21:08:48 UTC (rev 50697)
@@ -59,13 +59,30 @@
 * `no`:何も表示しません.
 
 ### `bleed_margin`
-仕上がりと裁ち落としの間(ドブ)の長さを指定します.
+仕上がりと裁ち落としの間(ドブ)の長さを指定します.次のようにすると,上下左右を独立に変更できます.
+```latex
+\usepackage[bleed_margin={top=3mm,bottom=5mm,gutter=0mm,fore-edge=2mm}]{jlreq-trimmarks}
+```
 
 ## `\jlreqtrimmarkssetup`
 パッケージオプションで指定できない設定を行えます.keyval形式です.
 
 ### `banner`
-`show=banner`時に出力される文字列.通常は左上に出力されますが,四つ角および上下左右の中心に出力することもできます.例えば次のように指定します.
+`show=banner`時に出力される文字列.通常は左上に出力されますが,四つ角および上下左右の中心に出力することもできます.指定は
+```latex
+\jlreqtrimmarkssetup{
+  banner={
+    <場所(上下,左右中央)>={
+      <細かな位置>={
+        <ページ数の偶奇に応じて>={
+          <表示項目>
+        }
+      }
+    }
+  }
+}
+```
+のようになります.キー名は省略することもできます.例えば次のように指定します.
 
 ```latex
 \jlreqtrimmarkssetup{
@@ -72,30 +89,36 @@
   banner={
     top-right={
       tate={
-        odd = {奇数ページの右上に縦書きで表示},
-        even = {偶数ページの右上に縦書きで表示},
+        odd={奇数ページの右上に縦書きで表示},
+        even={偶数ページの右上に縦書きで表示},
       },
       yoko={右上に横書きで表示}, % ページの偶奇によらず共通
       corner={右上角に横書きで表示},
-      in-yoko = {右上版面内に横書きで表示},
-      in-tate = {右上版面内に縦書きで表示},
+      in-yoko={右上版面内に横書きで表示},
+      in-tate={右上版面内に縦書きで表示},
     },
     bottom-center={
-      left = {中央下の左に表示}, % 必要ならばodd=, even=が利用可能
-      right = {中央下の右に表示},
-      in = {中央下の版面内に表示},
-    }
+      left={中央下の左に表示}, % odd=, even=も使用可能
+      right={中央下の右に表示},
+      in={中央下の版面内に表示},
+    },
+    center-gutter={
+      above={ノド側中央の上側に表示},
+      below={ノド側中央の下側に表示},
+    },
   }
 }
 ```
-各項目に`\thepage`を指定するとページ数を出力できます.キー名は省略することもできます.例えば次の通り.
+場所は`top/bottom/center`と`left/right/center/gutter/fore-edge`の可能な組み合わせが指定可能です.各項目に`\thepage`を指定するとページ数を出力できます.
+
+次のような指定も可能です.
 ```latex
 \jlreqtrimmarkssetup{
   banner={
-    tate = {左上に縦書き}, % 場所が省略されるとtop-leftと見なされる.
-    odd = {左上奇数ページ}, % 省略されたのでyokoと見なされる.
-    top-right = {
-      odd = {右上奇数ページ} % ここもyokoが省略されている.
+    tate={左上に縦書き}, % 場所が省略されるとtop-leftと見なされる.
+    odd={左上奇数ページ}, % 省略されたのでyokoと見なされる.
+    top-right={
+      odd={右上奇数ページ} % ここもyokoが省略されている.
     }
   }
 }
@@ -131,7 +154,11 @@
     - バグ修正
 * 2018-12-10
     - `\jlreqtrimmarkssetup`内の`banner`を拡張.
+* 2019-04-01
+    - `\jlreqtrimmarkssetup`内の`banner`を更に拡張.
+    - `bleed_margin`を拡張.
 
+
 --------------
 Noriyuki Abe
 https://github.com/abenori/jlreq

Modified: trunk/Master/texmf-dist/doc/latex/jlreq/jlreq-trimmarks.html
===================================================================
--- trunk/Master/texmf-dist/doc/latex/jlreq/jlreq-trimmarks.html	2019-04-01 21:08:11 UTC (rev 50696)
+++ trunk/Master/texmf-dist/doc/latex/jlreq/jlreq-trimmarks.html	2019-04-01 21:08:48 UTC (rev 50697)
@@ -134,40 +134,54 @@
 <li><code>no</code>: nothing will be showed</li>
 </ul>
 <h3 id="bleed_margin"><code>bleed_margin</code></h3>
-<p>Set the bleed margin.</p>
+<p>Set the bleed margin. You can also specify as follows.</p>
+<pre class="sourceCode latex" id="cb2"><code class="sourceCode latex"><a class="sourceLine" id="cb2-1" data-line-number="1"><span class="bu">\usepackage</span>[bleed_margin={top=3mm,bottom=5mm,gutter=0mm,fore-edge=2mm}]{<span class="ex">jlreq-trimmarks</span>}</a></code></pre>
 <h2 id="jlreqtrimmarkssetup"><code>\jlreqtrimmarkssetup</code></h2>
 <p>Set the additional settings with the keyval style.</p>
 <h3 id="banner"><code>banner</code></h3>
-<p>The things which the package outputs when <code>show=banner</code> is specified in the package option. Normally it is showed in the left of the top. You can also put them in many places, for example:</p>
-<div class="sourceCode" id="cb2"><pre class="sourceCode latex"><code class="sourceCode latex"><a class="sourceLine" id="cb2-1" data-line-number="1"><span class="fu">\jlreqtrimmarkssetup</span>{</a>
-<a class="sourceLine" id="cb2-2" data-line-number="2">  banner={</a>
-<a class="sourceLine" id="cb2-3" data-line-number="3">    top-right={</a>
-<a class="sourceLine" id="cb2-4" data-line-number="4">      vertical={</a>
-<a class="sourceLine" id="cb2-5" data-line-number="5">        odd = {In the right of the top, only in odd pages, vertical mode.},</a>
-<a class="sourceLine" id="cb2-6" data-line-number="6">        even = {In the right of the top, only in even pages, vertical mode.},</a>
-<a class="sourceLine" id="cb2-7" data-line-number="7">      },</a>
-<a class="sourceLine" id="cb2-8" data-line-number="8">      horizontal={In the right of the top, horizontal mode.}, <span class="co">% does not depend on the parity of the page number</span></a>
-<a class="sourceLine" id="cb2-9" data-line-number="9">      corner={In the corner of the right of the top, horizontal mode.},</a>
-<a class="sourceLine" id="cb2-10" data-line-number="10">      in-horizontal = {In the right of the top, horizontal mode, in the trim area.},</a>
-<a class="sourceLine" id="cb2-11" data-line-number="11">      in-vertical = {In the right of the top, vertical mode, in the trim area.},</a>
-<a class="sourceLine" id="cb2-12" data-line-number="12">    },</a>
-<a class="sourceLine" id="cb2-13" data-line-number="13">    bottom-center={</a>
-<a class="sourceLine" id="cb2-14" data-line-number="14">      left = {In the left in the center of the bottom}, <span class="co">% odd=, even= is also available</span></a>
-<a class="sourceLine" id="cb2-15" data-line-number="15">      right = {In the right in the center of the bottom},</a>
-<a class="sourceLine" id="cb2-16" data-line-number="16">      in = {In the trim area in the center of the bottom.},</a>
-<a class="sourceLine" id="cb2-17" data-line-number="17">    }</a>
-<a class="sourceLine" id="cb2-18" data-line-number="18">  }</a>
-<a class="sourceLine" id="cb2-19" data-line-number="19">}</a></code></pre></div>
-<p>You can use <code>\thepage</code> to output the number of the page. The keys can be ommited. For example:</p>
-<div class="sourceCode" id="cb3"><pre class="sourceCode latex"><code class="sourceCode latex"><a class="sourceLine" id="cb3-1" data-line-number="1"><span class="fu">\jlreqtrimmarkssetup</span>{</a>
+<p>The things which the package outputs when <code>show=banner</code> is specified in the package option. Normally it is showed in the left of the top. You can also put them in many places with</p>
+<pre class="sourceCode latex" id="cb3"><code class="sourceCode latex"><a class="sourceLine" id="cb3-1" data-line-number="1"><span class="fu">\jlreqtrimmarkssetup</span>{</a>
 <a class="sourceLine" id="cb3-2" data-line-number="2">  banner={</a>
-<a class="sourceLine" id="cb3-3" data-line-number="3">    vertical = {Vertical mode, in the top of the left},</a>
-<a class="sourceLine" id="cb3-4" data-line-number="4">    odd = {In the top of the left, only in odd pages.}, <span class="co">% regarded as `horizontal`</span></a>
-<a class="sourceLine" id="cb3-5" data-line-number="5">    top-right = {</a>
-<a class="sourceLine" id="cb3-6" data-line-number="6">      odd = {In the top of the right, only in odd pages, horizontal mode.}</a>
-<a class="sourceLine" id="cb3-7" data-line-number="7">    }</a>
-<a class="sourceLine" id="cb3-8" data-line-number="8">  }</a>
-<a class="sourceLine" id="cb3-9" data-line-number="9">}</a></code></pre></div>
+<a class="sourceLine" id="cb3-3" data-line-number="3">    <Position (top/bottom, left/right, center)>={</a>
+<a class="sourceLine" id="cb3-4" data-line-number="4">      <more precise position>={</a>
+<a class="sourceLine" id="cb3-5" data-line-number="5">        <odd/even>={</a>
+<a class="sourceLine" id="cb3-6" data-line-number="6">          <content></a>
+<a class="sourceLine" id="cb3-7" data-line-number="7">        }</a>
+<a class="sourceLine" id="cb3-8" data-line-number="8">      }</a>
+<a class="sourceLine" id="cb3-9" data-line-number="9">    }</a>
+<a class="sourceLine" id="cb3-10" data-line-number="10">  }</a>
+<a class="sourceLine" id="cb3-11" data-line-number="11">}</a></code></pre>
+<p>Here is an example.</p>
+<pre class="sourceCode latex" id="cb4"><code class="sourceCode latex"><a class="sourceLine" id="cb4-1" data-line-number="1"><span class="fu">\jlreqtrimmarkssetup</span>{</a>
+<a class="sourceLine" id="cb4-2" data-line-number="2">  banner={</a>
+<a class="sourceLine" id="cb4-3" data-line-number="3">    top-right={</a>
+<a class="sourceLine" id="cb4-4" data-line-number="4">      vertical={</a>
+<a class="sourceLine" id="cb4-5" data-line-number="5">        odd={In the right of the top, only in odd pages, vertical mode.},</a>
+<a class="sourceLine" id="cb4-6" data-line-number="6">        even={In the right of the top, only in even pages, vertical mode.},</a>
+<a class="sourceLine" id="cb4-7" data-line-number="7">      },</a>
+<a class="sourceLine" id="cb4-8" data-line-number="8">      horizontal={In the right of the top, horizontal mode.}, <span class="co">% does not depend on the parity of the page number</span></a>
+<a class="sourceLine" id="cb4-9" data-line-number="9">      corner={In the corner of the right of the top, horizontal mode.},</a>
+<a class="sourceLine" id="cb4-10" data-line-number="10">      in-horizontal={In the right of the top, horizontal mode, in the trim area.},</a>
+<a class="sourceLine" id="cb4-11" data-line-number="11">      in-vertical={In the right of the top, vertical mode, in the trim area.},</a>
+<a class="sourceLine" id="cb4-12" data-line-number="12">    },</a>
+<a class="sourceLine" id="cb4-13" data-line-number="13">    bottom-center={</a>
+<a class="sourceLine" id="cb4-14" data-line-number="14">      left={In the left in the center of the bottom}, <span class="co">% odd=, even= is also available</span></a>
+<a class="sourceLine" id="cb4-15" data-line-number="15">      right={In the right in the center of the bottom},</a>
+<a class="sourceLine" id="cb4-16" data-line-number="16">      in={In the trim area in the center of the bottom.},</a>
+<a class="sourceLine" id="cb4-17" data-line-number="17">    }</a>
+<a class="sourceLine" id="cb4-18" data-line-number="18">  }</a>
+<a class="sourceLine" id="cb4-19" data-line-number="19">}</a></code></pre>
+<p>A possible combination of <code>top/bottom/center</code> and <code>left/right/center/gutter/fore-edge</code> can be used for the position. You can use <code>\thepage</code> to output the number of the page.</p>
+<p>The keys can be ommited. For example:</p>
+<pre class="sourceCode latex" id="cb5"><code class="sourceCode latex"><a class="sourceLine" id="cb5-1" data-line-number="1"><span class="fu">\jlreqtrimmarkssetup</span>{</a>
+<a class="sourceLine" id="cb5-2" data-line-number="2">  banner={</a>
+<a class="sourceLine" id="cb5-3" data-line-number="3">    vertical={Vertical mode, in the top of the left},</a>
+<a class="sourceLine" id="cb5-4" data-line-number="4">    odd={In the top of the left, only in odd pages.}, <span class="co">% regarded as `horizontal`</span></a>
+<a class="sourceLine" id="cb5-5" data-line-number="5">    top-right={</a>
+<a class="sourceLine" id="cb5-6" data-line-number="6">      odd={In the top of the right, only in odd pages, horizontal mode.}</a>
+<a class="sourceLine" id="cb5-7" data-line-number="7">    }</a>
+<a class="sourceLine" id="cb5-8" data-line-number="8">  }</a>
+<a class="sourceLine" id="cb5-9" data-line-number="9">}</a></code></pre>
 <h3 id="trimmarks_width"><code>trimmarks_width</code></h3>
 <p>Set the width of trim marks.</p>
 <h3 id="color"><code>color</code></h3>
@@ -205,6 +219,11 @@
 <ul>
 <li>Extended <code>banner</code> in <code>\jlreqtrimmarkssetup</code>.</li>
 </ul></li>
+<li>2019-04-01
+<ul>
+<li>Extended <code>banner</code> in <code>\jlreqtrimmarkssetup</code>.</li>
+<li>Extended <code>bleed_margin</code>.</li>
+</ul></li>
 </ul>
 <hr />
 <p>Noriyuki Abe <a href="https://github.com/abenori/jlreq" class="uri">https://github.com/abenori/jlreq</a></p>

Modified: trunk/Master/texmf-dist/doc/latex/jlreq/jlreq-trimmarks.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/jlreq/jlreq-trimmarks.md	2019-04-01 21:08:11 UTC (rev 50696)
+++ trunk/Master/texmf-dist/doc/latex/jlreq/jlreq-trimmarks.md	2019-04-01 21:08:48 UTC (rev 50697)
@@ -58,6 +58,10 @@
 
 ### `bleed_margin`
 Set the bleed margin.
+You can also specify as follows.
+```latex
+\usepackage[bleed_margin={top=3mm,bottom=5mm,gutter=0mm,fore-edge=2mm}]{jlreq-trimmarks}
+```
 
 ## `\jlreqtrimmarkssetup`
 Set the additional settings with the keyval style.
@@ -64,37 +68,53 @@
 
 ### `banner`
 The things which the package outputs when `show=banner` is specified in the package option.
-Normally it is showed in the left of the top. You can also put them in many places, for example:
-
+Normally it is showed in the left of the top. You can also put them in many places with
 ```latex
 \jlreqtrimmarkssetup{
   banner={
+    <Position (top/bottom, left/right, center)>={
+      <more precise position>={
+        <odd/even>={
+          <content>
+        }
+      }
+    }
+  }
+}
+```
+Here is an example.
+```latex
+\jlreqtrimmarkssetup{
+  banner={
     top-right={
       vertical={
-        odd = {In the right of the top, only in odd pages, vertical mode.},
-        even = {In the right of the top, only in even pages, vertical mode.},
+        odd={In the right of the top, only in odd pages, vertical mode.},
+        even={In the right of the top, only in even pages, vertical mode.},
       },
       horizontal={In the right of the top, horizontal mode.}, % does not depend on the parity of the page number
       corner={In the corner of the right of the top, horizontal mode.},
-      in-horizontal = {In the right of the top, horizontal mode, in the trim area.},
-      in-vertical = {In the right of the top, vertical mode, in the trim area.},
+      in-horizontal={In the right of the top, horizontal mode, in the trim area.},
+      in-vertical={In the right of the top, vertical mode, in the trim area.},
     },
     bottom-center={
-      left = {In the left in the center of the bottom}, % odd=, even= is also available
-      right = {In the right in the center of the bottom},
-      in = {In the trim area in the center of the bottom.},
+      left={In the left in the center of the bottom}, % odd=, even= is also available
+      right={In the right in the center of the bottom},
+      in={In the trim area in the center of the bottom.},
     }
   }
 }
 ```
-You can use `\thepage` to output the number of the page. The keys can be ommited. For example:
+A possible combination of `top/bottom/center` and `left/right/center/gutter/fore-edge` can be used for the position.
+You can use `\thepage` to output the number of the page.
+
+The keys can be ommited. For example:
 ```latex
 \jlreqtrimmarkssetup{
   banner={
-    vertical = {Vertical mode, in the top of the left},
-    odd = {In the top of the left, only in odd pages.}, % regarded as `horizontal`
-    top-right = {
-      odd = {In the top of the right, only in odd pages, horizontal mode.}
+    vertical={Vertical mode, in the top of the left},
+    odd={In the top of the left, only in odd pages.}, % regarded as `horizontal`
+    top-right={
+      odd={In the top of the right, only in odd pages, horizontal mode.}
     }
   }
 }
@@ -128,7 +148,11 @@
     - Fixed bugs.
 * 2018-12-10
     - Extended `banner` in `\jlreqtrimmarkssetup`.
+* 2019-04-01
+    - Extended `banner` in `\jlreqtrimmarkssetup`.
+    - Extended `bleed_margin`.
 
+
 --------------
 Noriyuki Abe
 https://github.com/abenori/jlreq

Modified: trunk/Master/texmf-dist/doc/latex/jlreq/jlreq.html
===================================================================
--- trunk/Master/texmf-dist/doc/latex/jlreq/jlreq.html	2019-04-01 21:08:11 UTC (rev 50696)
+++ trunk/Master/texmf-dist/doc/latex/jlreq/jlreq.html	2019-04-01 21:08:48 UTC (rev 50697)
@@ -202,6 +202,13 @@
 <li>Extended <code>caption_label_format</code> etc. in <code>\jlreqsetup</code>.</li>
 <li>Fixed bugs.</li>
 </ul></li>
+<li>2019-04-01
+<ul>
+<li>Added <code>use_reverse_pagination</code> to the class option.</li>
+<li>Stopped to use <code>zref</code> package.</li>
+<li>New regnal year.</li>
+<li>Fixed bugs.</li>
+</ul></li>
 </ul>
 <hr />
 <p>Noriyuki Abe <a href="https://github.com/abenori/jlreq" class="uri">https://github.com/abenori/jlreq</a></p>

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

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)

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

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)

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

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)

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

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)

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

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)

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

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)

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

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)

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

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-helpers.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/jlreq/jlreq-helpers.sty	2019-04-01 21:08:11 UTC (rev 50696)
+++ trunk/Master/texmf-dist/tex/latex/jlreq/jlreq-helpers.sty	2019-04-01 21:08:48 UTC (rev 50697)
@@ -246,12 +246,17 @@
 % \jlreq at parsekeyval@nokey{<action>}{<parse対象>}
 % action内では#1=key, #2=val
 % \ifjlreq at parsekeyval@nokey at novalue{<true code>}{<false code>}でvalueがないか判定できる.
-% <parse対象>は一回だけ展開される.
-\newcommand{\jlreq at parsekeyval@nokey}[2]{%
+% *つきは<parse対象>を一回だけ展開する.
+\def\jlreq at parsekeyval@nokey{\@ifstar{\jlreq at parsekeyval@nokey@{*}}{\jlreq at parsekeyval@nokey@{}}}
+\newcommand{\jlreq at parsekeyval@nokey@}[3]{%
   \begingroup
     \long\def\jlreq at do{}%
-    \long\def\jlreq at parsekeyval@nokey at execute##1##2{#1}%
-    \expandafter\jlreq at parsekeyval@nokey at i@wuniq\expandafter\jlreq at uniqtoken#2,\jlreq at endmark,%
+    \long\def\jlreq at parsekeyval@nokey at execute##1##2{#2}%
+    \jlreq at ifempty{#1}{%
+      \jlreq at parsekeyval@nokey at i@wuniq\jlreq at uniqtoken#3,\jlreq at endmark,%
+    }{%
+      \expandafter\jlreq at parsekeyval@nokey at i@wuniq\expandafter\jlreq at uniqtoken#3,\jlreq at endmark,%
+    }%
   \expandafter\endgroup
   \jlreq at do
 }
@@ -285,9 +290,9 @@
 \long\def\jlreq at parsekeyval@nokey at removeequal#1{\jlreq at parsekeyval@nokey at removeequal@\jlreq at uniqtoken#1\jlreq at endmark}
 \long\def\jlreq at parsekeyval@nokey at removeequal@#1=\jlreq at endmark{\expandafter\unexpanded\expandafter{\@gobble#1}}
 
-% #1の先頭のスペースを削除し,#2に入れる.ただし#1={ X}の時は" X"が入る.
+% #1の先頭のスペースを削除し,#2に入れる.
+\long\def\jlreq at helper@trim#1#2{\edef#2{\jlreq at helper@trim at i{#1}}}
 \def\jlreq at do#1{% #1 = " "として後で実行
-  \long\def\jlreq at helper@trim##1##2{\edef##2{\jlreq at helper@trim at i{##1}}}
   \long\def\jlreq at helper@trim at i##1{%
     \jlreq at iffirsttoken{##1}{#1}%
       % 先頭スペースの除去.{}を外さないために\jlreq at uniqtokenを前後にいったん挟む.
@@ -370,19 +375,24 @@
   }%
 }
 
+% オレオレラベル……
+% \jlreq at reference@ref{ラベル名}{デフォルト値}
+\def\jlreq at reference@ref#1{\expandafter\ifx\csname jlreq at reference@#1\endcsname\relax\expandafter\@secondoftwo\else\expandafter\@firstoftwo\fi{\csname jlreq at reference@#1\endcsname}}
+% \jlreq at reference@label{ラベル名}{値}
+\def\jlreq at reference@label#1#2{\protected at write\@auxout{}{\string\@newl at bel{jlreq at reference}{#1}{#2}}}%
+\def\jlreq at reference@immediate at write#1#2{\immediate\write\@auxout{\string\@newl at bel{jlreq at reference}{#1}{#2}}}%
+\def\jlreq at reference@ifexist#1{\expandafter\ifx\csname jlreq at reference@#1\endcsname\relax\expandafter\@secondoftwo\else\expandafter\@firstoftwo\fi}
 
-\RequirePackage[savepos]{zref}
-\newcount\jlreq at zref@reference at count
-\jlreq at zref@reference at count=0
+% 自動生成されるラベル用の番号
+\newcount\jlreq at reference@count
+\jlreq at reference@count=0
+
 % 現在のページを得る
-\zref at newprop*{jlreq at page}[0]{\number\c at page}
-\zref at addprop{main}{jlreq at page}
 \newcount\jlreq at currentpage
-% \jlreq at setcurrentpageをすると,\jlreq at currentpageにこの場所のページ数が入る
 \newcommand*{\jlreq at setcurrentpage}{%
-  \global\advance\jlreq at zref@reference at count by 1
-  \zref at labelbyprops{jlreq at currentpage.\the\jlreq at zref@reference at count}{jlreq at page}%
-  \global\jlreq at currentpage=\zref at extractdefault{jlreq at currentpage.\the\jlreq at zref@reference at count}{jlreq at page}{\c at page}\relax
+  \global\advance\jlreq at reference@count by 1
+  \jlreq at reference@label{jlreq at currentpage.\the\jlreq at reference@count}{\noexpand\arabic{page}}%
+  \global\jlreq at currentpage=\jlreq at reference@ref{jlreq at currentpage.\the\jlreq at reference@count}{\the\c at page}\relax
 }
 
 % 先頭にあるマクロを展開しまくった結果の先頭を#2に入れる.

Modified: trunk/Master/texmf-dist/tex/latex/jlreq/jlreq-trimmarks.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/jlreq/jlreq-trimmarks.sty	2019-04-01 21:08:11 UTC (rev 50696)
+++ trunk/Master/texmf-dist/tex/latex/jlreq/jlreq-trimmarks.sty	2019-04-01 21:08:48 UTC (rev 50697)
@@ -1,5 +1,5 @@
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{jlreq-trimmarks}[2018/12/10 jlreq-trimmarks]
+\ProvidesPackage{jlreq-trimmarks}[2019/04/01 jlreq-trimmarks]
 \RequirePackage{xkeyval,etoolbox}
 \RequirePackage{jlreq-helpers}
 
@@ -33,6 +33,19 @@
 
 \@ifclassloaded{jlreq}{\let\ifjlreq at trimmarks@jlreqloaded=\@firstoftwo}{\let\ifjlreq at trimmarks@jlreqloaded=\@secondoftwo}
 
+\def\ifjlreq at trimmarks@tate@{%
+  \if at tate\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi
+}
+% \@firstoftwo when \if at tate is defined and \if at tate=\iftrue
+\def\ifjlreq at trimmarks@tate{%
+  \ifnum0\ifx\if at tate\@undefined 1\fi\ifx\if at tate\relax 1\fi>0
+    \expandafter\@secondoftwo
+  \else
+    \expandafter\ifjlreq at trimmarks@tate@
+  \fi
+}
+
+
 % dvipdfmx=f,dvips=s,dviout = o, lualatex = l
 \jlreq at trimmarks@DeclareOption{dvipdfmx}{\let\jlreq at trimmarks@driver=f}
 \jlreq at trimmarks@DeclareOption{dvips}{\let\jlreq at trimmarks@driver=s}
@@ -144,10 +157,33 @@
     }
   }
 }
-\def\jlreq at trimmarks@bleed{3mm}
-\DeclareOptionX{bleed_margin}{\def\jlreq at trimmarks@bleed{#1}}
+\@for\jlreq at tempa:=top,bottom,gutter,fore-edge\do{%
+  \expandafter\def\csname jlreq at trimmarks@bleed@\jlreq at tempa\endcsname{3mm}
+}
+\DeclareOptionX{bleed_margin}{%
+  \begingroup
+    \def\jlreq at do{}%
+    \jlreq at parsekeyval@nokey{
+      \ifjlreq at parsekeyval@nokey at novalue{%
+        \@for\jlreq at tempa:=top,bottom,gutter,fore-edge\do{%
+        \epreto\jlreq at do{%
+            \noexpand\def\expandonce{\csname jlreq at trimmarks@bleed@\jlreq at tempa\endcsname}{##1}%
+          }%
+        }%
+      }{%
+        \ifthenelse{\equal{##1}{top} \OR \equal{##1}{bottom} \OR \equal{##1}{gutter} \OR \equal{##1}{fore-edge}}{%
+          \eappto\jlreq at do{%
+            \noexpand\def\expandonce{\csname jlreq at trimmarks@bleed@##1\endcsname}{##2}%
+          }%
+        }{%
+          \PackageError{jlreq-trimmarks}{Unknown position `##1' in bleed_margin}{\@ehc}
+        }%
+      }%
+    }{#1}%
+  \expandafter\endgroup
+  \jlreq at do
+}
 
-
 \newif\ifjlreq at trimmarks@landscape \jlreq at trimmarks@landscapefalse
 \jlreq at trimmarks@DeclareOption{landscape}{\jlreq at trimmarks@landscapetrue}
 \jlreq at trimmarks@afterpkg at addtodeleteif{\ifjlreq at trimmarks@landscape}
@@ -202,53 +238,54 @@
   \fi
 \fi
 
-\long\def\jlreq at trimmarks@setbanner#1#2{%
+\long\def\jlreq at trimmarks@setbanner#1#2#3{%
   \begingroup
     \def\jlreq at do{}%
     \jlreq at parsekeyval@nokey{%
       \ifjlreq at parsekeyval@nokey at novalue{}{%
         \jlreq at switch{##1}{
-          {yoko}{\appto\jlreq at do{\jlreq at trimmarks@setbanner@@{yoko@#1}{##2}}}
-          {horizontal}{\appto\jlreq at do{\jlreq at trimmarks@setbanner@@{yoko@#1}{##2}}}
-          {tate}{\appto\jlreq at do{\jlreq at trimmarks@setbanner@@{tate@#1}{##2}}}
-          {vertial}{\appto\jlreq at do{\jlreq at trimmarks@setbanner@@{tate@#1}{##2}}}
-          {corner}{\appto\jlreq at do{\jlreq at trimmarks@setbanner@@{corner@#1}{##2}}}
-          {in-yoko}{\appto\jlreq at do{\jlreq at trimmarks@setbanner@@{inyoko@#1}{##2}}}
-          {in-horizontal}{\appto\jlreq at do{\jlreq at trimmarks@setbanner@@{inyoko@#1}{##2}}}
-          {in-tate}{\appto\jlreq at do{\jlreq at trimmarks@setbanner@@{intate@#1}{##2}}}
-          {in-vertial}{\appto\jlreq at do{\jlreq at trimmarks@setbanner@@{intate@#1}{##2}}}
+          {yoko}{\appto\jlreq at do{\jlreq at trimmarks@setbanner@@{yoko@#1}{yoko@#2}{##2}}}
+          {horizontal}{\appto\jlreq at do{\jlreq at trimmarks@setbanner@@{yoko@#1}{yoko@#2}{##2}}}
+          {tate}{\appto\jlreq at do{\jlreq at trimmarks@setbanner@@{tate@#1}{tate@#2}{##2}}}
+          {vertial}{\appto\jlreq at do{\jlreq at trimmarks@setbanner@@{tate@#1}{tate@#2}{##2}}}
+          {corner}{\appto\jlreq at do{\jlreq at trimmarks@setbanner@@{corner@#1}{corner@#2}{##2}}}
+          {in-yoko}{\appto\jlreq at do{\jlreq at trimmarks@setbanner@@{inyoko@#1}{inyoko@#2}{##2}}}
+          {in-horizontal}{\appto\jlreq at do{\jlreq at trimmarks@setbanner@@{inyoko@#1}{inyoko@#2}{##2}}}
+          {in-tate}{\appto\jlreq at do{\jlreq at trimmarks@setbanner@@{intate@#1}{intate@#2}{##2}}}
+          {in-vertial}{\appto\jlreq at do{\jlreq at trimmarks@setbanner@@{intate@#1}{intate@#2}{##2}}}
         }%
       }%
-    }{#2}%
+    }{#3}%
     \ifx\jlreq at do\@empty
-      \appto\jlreq at do{\jlreq at trimmarks@setbanner@@{yoko@#1}{#2}}%
+      \appto\jlreq at do{\jlreq at trimmarks@setbanner@@{yoko@#1}{yoko@#2}{#3}}%
     \fi
   \expandafter\endgroup
   \jlreq at do
 }
 
-\long\def\jlreq at trimmarks@setbanner@#1#2{%
+\long\def\jlreq at trimmarks@setbanner@#1#2#3{%
   \begingroup
     \def\jlreq at do{}%
     \jlreq at parsekeyval@nokey{%
       \ifjlreq at parsekeyval@nokey at novalue{}{%
         \jlreq at switch*{##1}{
-          {left}{\appto\jlreq at do{\jlreq at trimmarks@setbanner@@{before@#1}{##2}}}
-          {right}{\appto\jlreq at do{\jlreq at trimmarks@setbanner@@{after@#1}{##2}}}
-          {above}{\appto\jlreq at do{\jlreq at trimmarks@setbanner@@{before@#1}{##2}}}
-          {below}{\appto\jlreq at do{\jlreq at trimmarks@setbanner@@{after@#1}{##2}}}
-          {in}{\appto\jlreq at do{\jlreq at trimmarks@setbanner@@{in@#1}{##2}}}
+          {left}{\appto\jlreq at do{\jlreq at trimmarks@setbanner@@{before@#1}{before@#2}{##2}}}
+          {right}{\appto\jlreq at do{\jlreq at trimmarks@setbanner@@{after@#1}{after@#2}{##2}}}
+          {above}{\appto\jlreq at do{\jlreq at trimmarks@setbanner@@{before@#1}{before@#2}{##2}}}
+          {below}{\appto\jlreq at do{\jlreq at trimmarks@setbanner@@{after@#1}{after@#2}{##2}}}
+          {in}{\appto\jlreq at do{\jlreq at trimmarks@setbanner@@{in@#1}{in@#2}{##2}}}
         }%
       }%
-    }{#2}%
+    }{#3}%
     \ifx\jlreq at do\@empty
-      \appto\jlreq at do{\jlreq at trimmarks@setbanner@@{before@#1}{#2}}%
+      \appto\jlreq at do{\jlreq at trimmarks@setbanner@@{before@#1}{before@#2}{#3}}%
     \fi
   \expandafter\endgroup
   \jlreq at do
 }
 
-\long\def\jlreq at trimmarks@setbanner@@#1#2{%
+% #1 = odd, #2 = even
+\long\def\jlreq at trimmarks@setbanner@@#1#2#3{%
   \begingroup
     \def\jlreq at do{}%
     \jlreq at parsekeyval@nokey{%
@@ -255,14 +292,14 @@
       \ifjlreq at parsekeyval@nokey at novalue{}{%
         \jlreq at switch*{##1}{
           {odd}{\appto\jlreq at do{\expandafter\edef\csname jlreq at trimmarks@banner at odd@#1\endcsname{\unexpanded{##2}}}}
-          {even}{\appto\jlreq at do{\expandafter\edef\csname jlreq at trimmarks@banner at even@#1\endcsname{\unexpanded{##2}}}}
+          {even}{\appto\jlreq at do{\expandafter\edef\csname jlreq at trimmarks@banner at even@#2\endcsname{\unexpanded{##2}}}}
         }%
       }%
-    }{#2}%
+    }{#3}%
     \ifx\jlreq at do\@empty
       \appto\jlreq at do{%
-        \expandafter\edef\csname jlreq at trimmarks@banner at odd@#1\endcsname{\unexpanded{#2}}%
-        \expandafter\edef\csname jlreq at trimmarks@banner at even@#1\endcsname{\unexpanded{#2}}%
+        \expandafter\edef\csname jlreq at trimmarks@banner at odd@#1\endcsname{\unexpanded{#3}}%
+        \expandafter\edef\csname jlreq at trimmarks@banner at even@#2\endcsname{\unexpanded{#3}}%
       }%
     \fi
   \expandafter\endgroup
@@ -294,23 +331,41 @@
       \jlreq at parsekeyval@nokey{%
         \ifjlreq at parsekeyval@nokey at novalue{}{%
           \jlreq at tempafalse
+          \edef\jlreq at gutterodd{\ifjlreq at trimmarks@tate{right}{left}}%
+          \if at twoside
+            \edef\jlreq at guttereven{\ifjlreq at trimmarks@tate{left}{right}}%
+          \else
+            \let\jlreq at guttereven\jlreq at gutterodd
+          \fi
           \jlreq at switch*{####1}{
-            {top-left}{\jlreq at tempatrue\appto\jlreq at do{\jlreq at trimmarks@setbanner{top at left}{####2}}}
-            {left-top}{\jlreq at tempatrue\appto\jlreq at do{\jlreq at trimmarks@setbanner{top at left}{####2}}}
-            {top-right}{\appto\jlreq at do{\jlreq at trimmarks@setbanner{top at right}{####2}}}
-            {right-top}{\appto\jlreq at do{\jlreq at trimmarks@setbanner{top at right}{####2}}}
-            {bottom-left}{\appto\jlreq at do{\jlreq at trimmarks@setbanner{bottom at left}{####2}}}
-            {left-bottom}{\appto\jlreq at do{\jlreq at trimmarks@setbanner{bottom at left}{####2}}}
-            {bottom-right}{\appto\jlreq at do{\jlreq at trimmarks@setbanner{bottom at right}{####2}}}
-            {right-bottom}{\appto\jlreq at do{\jlreq at trimmarks@setbanner{bottom at right}{####2}}}
-            {top-center}{\appto\jlreq at do{\jlreq at trimmarks@setbanner@{top at center}{####2}}}
-            {center-top}{\appto\jlreq at do{\jlreq at trimmarks@setbanner@{top at center}{####2}}}
-            {bottom-center}{\appto\jlreq at do{\jlreq at trimmarks@setbanner@{bottom at center}{####2}}}
-            {center-bottom}{\appto\jlreq at do{\jlreq at trimmarks@setbanner@{bottom at center}{####2}}}
-            {center-right}{\appto\jlreq at do{\jlreq at trimmarks@setbanner@{center at right}{####2}}}
-            {right-center}{\appto\jlreq at do{\jlreq at trimmarks@setbanner@{center at right}{####2}}}
-            {center-left}{\appto\jlreq at do{\jlreq at trimmarks@setbanner@{center at left}{####2}}}
-            {left-center}{\appto\jlreq at do{\jlreq at trimmarks@setbanner@{center at left}{####2}}}
+            {top-left}{\jlreq at tempatrue\appto\jlreq at do{\jlreq at trimmarks@setbanner{top at left}{top at left}{####2}}}
+            {left-top}{\jlreq at tempatrue\appto\jlreq at do{\jlreq at trimmarks@setbanner{top at left}{top at left}{####2}}}
+            {top-right}{\appto\jlreq at do{\jlreq at trimmarks@setbanner{top at right}{top at right}{####2}}}
+            {right-top}{\appto\jlreq at do{\jlreq at trimmarks@setbanner{top at right}{top at right}{####2}}}
+            {top-gutter}{\appto\jlreq at do{\jlreq at trimmarks@setbanner{top@\jlreq at gutterodd}{top@\jlreq at guttereven}{####2}}}
+            {gutter-top}{\appto\jlreq at do{\jlreq at trimmarks@setbanner{top@\jlreq at gutterodd}{top@\jlreq at guttereven}{####2}}}
+            {top-fore-edge}{\appto\jlreq at do{\jlreq at trimmarks@setbanner{top@\jlreq at guttereven}{top@\jlreq at gutterodd}{####2}}}
+            {fore-edge-top}{\appto\jlreq at do{\jlreq at trimmarks@setbanner{top@\jlreq at guttereven}{top@\jlreq at gutterodd}{####2}}}
+            {bottom-left}{\appto\jlreq at do{\jlreq at trimmarks@setbanner{bottom at left}{bottom at left}{####2}}}
+            {left-bottom}{\appto\jlreq at do{\jlreq at trimmarks@setbanner{bottom at left}{bottom at left}{####2}}}
+            {bottom-right}{\appto\jlreq at do{\jlreq at trimmarks@setbanner{bottom at right}{bottom at right}{####2}}}
+            {right-bottom}{\appto\jlreq at do{\jlreq at trimmarks@setbanner{bottom at right}{bottom at right}{####2}}}
+            {bottom-gutter}{\appto\jlreq at do{\jlreq at trimmarks@setbanner{bottom@\jlreq at gutterodd}{bottom@\jlreq at guttereven}{####2}}}
+            {gutter-bottom}{\appto\jlreq at do{\jlreq at trimmarks@setbanner{bottom@\jlreq at gutterodd}{bottom@\jlreq at guttereven}{####2}}}
+            {bottom-fore-edge}{\appto\jlreq at do{\jlreq at trimmarks@setbanner{bottom@\jlreq at guttereven}{bottom@\jlreq at gutterodd}{####2}}}
+            {fore-edge-bottom}{\appto\jlreq at do{\jlreq at trimmarks@setbanner{bottom@\jlreq at guttereven}{bottom@\jlreq at gutterodd}{####2}}}
+            {top-center}{\appto\jlreq at do{\jlreq at trimmarks@setbanner@{top at center}{top at center}{####2}}}
+            {center-top}{\appto\jlreq at do{\jlreq at trimmarks@setbanner@{top at center}{top at center}{####2}}}
+            {bottom-center}{\appto\jlreq at do{\jlreq at trimmarks@setbanner@{bottom at center}{bottom at center}{####2}}}
+            {center-bottom}{\appto\jlreq at do{\jlreq at trimmarks@setbanner@{bottom at center}{bottom at center}{####2}}}
+            {center-right}{\appto\jlreq at do{\jlreq at trimmarks@setbanner@{center at right}{center at right}{####2}}}
+            {right-center}{\appto\jlreq at do{\jlreq at trimmarks@setbanner@{center at right}{center at right}{####2}}}
+            {center-left}{\appto\jlreq at do{\jlreq at trimmarks@setbanner@{center at left}{center at left}{####2}}}
+            {left-center}{\appto\jlreq at do{\jlreq at trimmarks@setbanner@{center at left}{center at left}{####2}}}
+            {center-gutter}{\appto\jlreq at do{\jlreq at trimmarks@setbanner@{center@\jlreq at gutterodd}{center@\jlreq at guttereven}{####2}}}
+            {gutter-center}{\appto\jlreq at do{\jlreq at trimmarks@setbanner@{center@\jlreq at gutterodd}{center@\jlreq at guttereven}{####2}}}
+            {center-fore-edge}{\appto\jlreq at do{\jlreq at trimmarks@setbanner@{center@\jlreq at guttereven}{center@\jlreq at gutterodd}{####2}}}
+            {fore-edge-center}{\appto\jlreq at do{\jlreq at trimmarks@setbanner@{center@\jlreq at guttereven}{center@\jlreq at gutterodd}{####2}}}
           }%
           \ifjlreq at tempa
             \appto\jlreq at do{\expandafter\@bannertoken\expandafter{\jlreq at trimmarks@banner at odd@yoko at top@left}}%
@@ -437,18 +492,29 @@
     \fi
   \fi
 }
+\def\jlreq at trimmarks@bleed{3mm}
+% left=gutter?
+\def\ifjlreq at trimmarks@leftisgutter{%
+  \ifjlreq at trimmarks@tate{%
+    \ifnum 0\ifodd\c at page 1\fi\if at twoside\else 1\fi>0 \expandafter\@secondoftwo\else\expandafter\@firstoftwo\fi
+  }{%
+    \ifnum 0\ifodd\c at page 1\fi\if at twoside\else 1\fi>0 \expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi
+  }%
+}
+\def\jlreq at trimmarks@bleed at left{\ifjlreq at trimmarks@leftisgutter{\jlreq at trimmarks@bleed at gutter}{\expandafter\csname jlreq at trimmarks@bleed at fore-edge\endcsname}}
+\def\jlreq at trimmarks@bleed at right{\ifjlreq at trimmarks@leftisgutter{\expandafter\csname jlreq at trimmarks@bleed at fore-edge\endcsname}{\jlreq at trimmarks@bleed at gutter}}
 
 \def\jlreq at trimmarks@outputtombow{%
   \vbox to\z@{%
-    \kern-\dimexpr 10mm + \jlreq at trimmarks@bleed\relax
+    \kern-\dimexpr 10mm + \jlreq at trimmarks@bleed at top\relax
     \boxmaxdepth\maxdimen
-    \moveleft\jlreq at trimmarks@bleed\vbox to\@@paperheight{%
+    \moveleft\jlreq at trimmarks@bleed at left\vbox to\@@paperheight{%
       \color at begingroup\jlreq at trimmarks@color
       \hbox to\@@paperwidth{%
-        \hskip\jlreq at trimmarks@bleed\relax
+        \hskip\jlreq at trimmarks@bleed at left\relax
         \setbox\jlreq at tempboxa=\hbox to\z@{% \@TL
           \yoko\hss
-          \vrule width\dimexpr 10mm + \jlreq at trimmarks@bleed\relax height\@tombowwidth depth\z@
+          \vrule width\dimexpr 10mm + \jlreq at trimmarks@bleed at left\relax height\@tombowwidth depth\z@
           \vrule height10mm width\@tombowwidth depth\z@
           \iftombowdate
             \setbox\jlreq at tempboxa=\hbox to\z@{\hskip5mm\@bannerfont\jlreq at trimmarks@bannerfont
@@ -459,7 +525,7 @@
           \fi
           \jlreq at trimmarks@outputbanner{inyoko at top@left}{%
             \setbox\jlreq at tempboxa=\hbox to 0pt{\@bannerfont\jlreq at trimmarks@bannerfont##1\hss}%
-            \jlreq at tempdima=\dimexpr\ht\jlreq at tempboxa + \jlreq at trimmarks@bleed\relax
+            \jlreq at tempdima=\dimexpr\ht\jlreq at tempboxa + \jlreq at trimmarks@bleed at top\relax
             \ht\jlreq at tempboxa=0pt \dp\jlreq at tempboxa=0pt
             \raise-\jlreq at tempdima\box\jlreq at tempboxa
           }%
@@ -477,7 +543,7 @@
           }%
           \jlreq at trimmarks@outputbanner{in at top@center}{%
             \setbox\jlreq at tempboxa=\hbox{\@bannerfont\jlreq at trimmarks@bannerfont##1}%
-            \jlreq at tempdima=\dimexpr\ht\jlreq at tempboxa + \jlreq at trimmarks@bleed\relax
+            \jlreq at tempdima=\dimexpr\ht\jlreq at tempboxa + \jlreq at trimmarks@bleed at top\relax
             \jlreq at tempdimb=0.5\wd\jlreq at tempboxa
             \ht\jlreq at tempboxa=0pt \dp\jlreq at tempboxa=0pt \wd\jlreq at tempboxa=0pt
             \kern-\jlreq at tempdimb\raise-\jlreq at tempdima\box\jlreq at tempboxa\kern\jlreq at tempdimb
@@ -502,21 +568,21 @@
           }%
           \jlreq at trimmarks@outputbanner{inyoko at top@right}{%
             \setbox\jlreq at tempboxa=\hbox to 0pt{\yoko\hss\@bannerfont\jlreq at trimmarks@bannerfont##1}%
-            \jlreq at tempdima=\dimexpr\jlreq at trimmarks@bleed + \ht\jlreq at tempboxa\relax
+            \jlreq at tempdima=\dimexpr\jlreq at trimmarks@bleed at top + \ht\jlreq at tempboxa\relax
             \ht\jlreq at tempboxa=0pt \dp\jlreq at tempboxa=0pt
             \raise-\jlreq at tempdima\box\jlreq at tempboxa
           }%
           \vrule height10mm width\@tombowwidth depth\z@
           \jlreq at trimmarks@outputbanner{corner at top@right}{%
-            \setbox\jlreq at tempboxa=\hbox to 0pt{\hskip\dimexpr\jlreq at trimmarks@bleed + 4pt\relax\@bannerfont\jlreq at trimmarks@bannerfont##1\hss}%
+            \setbox\jlreq at tempboxa=\hbox to 0pt{\hskip\dimexpr\jlreq at trimmarks@bleed at right + 4pt\relax\@bannerfont\jlreq at trimmarks@bannerfont##1\hss}%
             \ht\jlreq at tempboxa=0pt \dp\jlreq at tempboxa=0pt
             \raise 4pt\box\jlreq at tempboxa
           }%
-          \vrule width\dimexpr 10mm + \jlreq at trimmarks@bleed\relax height\@tombowwidth depth\z@\hss
+          \vrule width\dimexpr 10mm + \jlreq at trimmarks@bleed at right\relax height\@tombowwidth depth\z@\hss
         }%
         \dp\jlreq at tempboxa=0pt
         \box\jlreq at tempboxa
-        \hskip\jlreq at trimmarks@bleed
+        \hskip\jlreq at trimmarks@bleed at right
       }%
       \kern-10mm
       \hbox to\@@paperwidth{%
@@ -526,9 +592,9 @@
           \jlreq at trimmarks@outputbanner{corner at top@left}{%
             \setbox\jlreq at tempboxa=\hbox to 0pt{\hss\@bannerfont\jlreq at trimmarks@bannerfont##1\hskip 4pt}%
             \dp\jlreq at tempboxa=0pt \ht\jlreq at tempboxa=0pt
-            \raise\dimexpr \jlreq at trimmarks@bleed + 4pt\relax\box\jlreq at tempboxa
+            \raise\dimexpr \jlreq at trimmarks@bleed at top + 4pt\relax\box\jlreq at tempboxa
           }%
-          \vrule height\dimexpr 10mm + \jlreq at trimmarks@bleed\relax width\@tombowwidth depth\z@
+          \vrule height\dimexpr 10mm + \jlreq at trimmarks@bleed at top\relax width\@tombowwidth depth\z@
           \jlreq at trimmarks@outputbanner{tate at top@left}{%
             \setbox\jlreq at tempboxa=\hbox to 0pt{\tate\adjustbaseline\@bannerfont\jlreq at trimmarks@bannerfont##1\hss}%
             \ifx l\jlreq at trimmarks@engine
@@ -541,7 +607,7 @@
           }%
           \jlreq at trimmarks@outputbanner{intate at top@left}{%
             \setbox\jlreq at tempboxa=\hbox to 0pt{\tate\adjustbaseline\@bannerfont\jlreq at trimmarks@bannerfont##1\hss}%
-            \jlreq at tempdima=\dimexpr\jlreq at trimmarks@bleed \ifx l\jlreq at trimmarks@engine + \ht\jlreq at tempboxa\fi\relax
+            \jlreq at tempdima=\dimexpr\jlreq at trimmarks@bleed at left \ifx l\jlreq at trimmarks@engine + \ht\jlreq at tempboxa\fi\relax
             \wd\jlreq at tempboxa=0pt \ht\jlreq at tempboxa=0pt \dp\jlreq at tempboxa=0pt
             \kern\jlreq at tempdima\box\jlreq at tempboxa\kern-\jlreq at tempdima
           }%
@@ -558,14 +624,14 @@
           \jlreq at trimmarks@outputbanner{intate at top@right}{%
             \setbox\jlreq at tempboxa=\hbox to 0pt{\tate\adjustbaseline\@bannerfont\jlreq at trimmarks@bannerfont##1\hss}%
             \ifx l\jlreq at trimmarks@engine
-              \jlreq at tempdima=\dimexpr\jlreq at trimmarks@bleed + \ht\jlreq at tempboxa\relax
+              \jlreq at tempdima=\dimexpr\jlreq at trimmarks@bleed at top + \ht\jlreq at tempboxa\relax
             \else
-              \jlreq at tempdima=\dimexpr\jlreq at trimmarks@bleed + \wd\jlreq at tempboxa\relax
+              \jlreq at tempdima=\dimexpr\jlreq at trimmarks@bleed at top + \wd\jlreq at tempboxa\relax
             \fi
             \ht\jlreq at tempboxa=0pt \dp\jlreq at tempboxa=0pt \wd\jlreq at tempboxa=0pt
             \kern-\jlreq at tempdima\box\jlreq at tempboxa\kern\jlreq at tempdima
           }%
-          \vrule height\dimexpr 10mm + \jlreq at trimmarks@bleed\relax width\@tombowwidth depth\z@
+          \vrule height\dimexpr 10mm + \jlreq at trimmarks@bleed at top\relax width\@tombowwidth depth\z@
           \vrule width10mm height\@tombowwidth depth\z@
           \hss
         }%
@@ -599,10 +665,10 @@
           \jlreq at trimmarks@outputbanner{in at center@left}{%
             \setbox\jlreq at tempboxa=\hbox{\tate\adjustbaseline\@bannerfont\jlreq at trimmarks@bannerfont##1}%
             \ifx l\jlreq at trimmarks@engine
-              \jlreq at tempdima=\dimexpr\jlreq at trimmarks@bleed + \ht\jlreq at tempboxa\relax
+              \jlreq at tempdima=\dimexpr\jlreq at trimmarks@bleed at left + \ht\jlreq at tempboxa\relax
               \jlreq at tempdimb=.5\wd\jlreq at tempboxa
              \else
-              \jlreq at tempdima=\dimexpr\jlreq at trimmarks@bleed\relax
+              \jlreq at tempdima=\dimexpr\jlreq at trimmarks@bleed at left\relax
               \jlreq at tempdimb=.5\dimexpr\ht\jlreq at tempboxa + \dp\jlreq at tempboxa\relax
             \fi
             \dp\jlreq at tempboxa=0pt \ht\jlreq at tempboxa=0pt \wd\jlreq at tempboxa=0pt
@@ -615,10 +681,10 @@
           \jlreq at trimmarks@outputbanner{in at center@right}{%
             \setbox\jlreq at tempboxa=\hbox{\tate\adjustbaseline\@bannerfont\jlreq at trimmarks@bannerfont##1}%
             \ifx l\jlreq at trimmarks@engine
-              \jlreq at tempdima=\dimexpr\jlreq at trimmarks@bleed  + \ht\jlreq at tempboxa\relax
+              \jlreq at tempdima=\dimexpr\jlreq at trimmarks@bleed at right  + \ht\jlreq at tempboxa\relax
               \jlreq at tempdimb=0.5\wd\jlreq at tempboxa
             \else
-              \jlreq at tempdima=\dimexpr\jlreq at trimmarks@bleed  + \wd\jlreq at tempboxa\relax
+              \jlreq at tempdima=\dimexpr\jlreq at trimmarks@bleed at right  + \wd\jlreq at tempboxa\relax
               \jlreq at tempdimb=0.5\dimexpr\ht\jlreq at tempboxa + \dp\jlreq at tempboxa\relax
             \fi
             \dp\jlreq at tempboxa=0pt \ht\jlreq at tempboxa=0pt \wd\jlreq at tempboxa=0pt
@@ -645,7 +711,7 @@
         \hbox to\z@{% \@Bl
           \yoko\hss
           \vrule width10mm depth\@tombowwidth height\z@
-          \vrule depth\dimexpr 10mm + \jlreq at trimmarks@bleed\relax width\@tombowwidth height\z@
+          \vrule depth\dimexpr 10mm + \jlreq at trimmarks@bleed at bottom\relax width\@tombowwidth height\z@
           \jlreq at trimmarks@outputbanner{tate at bottom@left}{%
             \setbox\jlreq at tempboxa=\hbox to 0pt{\tate\adjustbaseline\hss\@bannerfont\jlreq at trimmarks@bannerfont##1}%
             \ifx l\jlreq at trimmarks@engine
@@ -658,7 +724,7 @@
           }%
           \jlreq at trimmarks@outputbanner{intate at bottom@left}{%
             \setbox\jlreq at tempboxa=\hbox to 0pt{\tate\adjustbaseline\hss\@bannerfont\jlreq at trimmarks@bannerfont##1}%
-            \jlreq at tempdima=\dimexpr\jlreq at trimmarks@bleed \ifx l\jlreq at trimmarks@engine + \ht\jlreq at tempboxa\fi\relax
+            \jlreq at tempdima=\dimexpr\jlreq at trimmarks@bleed at left \ifx l\jlreq at trimmarks@engine + \ht\jlreq at tempboxa\fi\relax
             \wd\jlreq at tempboxa=0pt \ht\jlreq at tempboxa=0pt \dp\jlreq at tempboxa=0pt
             \kern\jlreq at tempdima\box\jlreq at tempboxa\kern-\jlreq at tempdima
           }%
@@ -675,17 +741,17 @@
           \jlreq at trimmarks@outputbanner{intate at bottom@right}{%
             \setbox\jlreq at tempboxa=\hbox to 0pt{\tate\adjustbaseline\hss\@bannerfont\jlreq at trimmarks@bannerfont##1}%
             \ifx l\jlreq at trimmarks@engine
-              \jlreq at tempdima=\dimexpr\jlreq at trimmarks@bleed + \ht\jlreq at tempboxa\relax
+              \jlreq at tempdima=\dimexpr\jlreq at trimmarks@bleed at right + \ht\jlreq at tempboxa\relax
             \else
-              \jlreq at tempdima=\dimexpr\jlreq at trimmarks@bleed + \wd\jlreq at tempboxa\relax
+              \jlreq at tempdima=\dimexpr\jlreq at trimmarks@bleed at right + \wd\jlreq at tempboxa\relax
             \fi
             \ht\jlreq at tempboxa=0pt \dp\jlreq at tempboxa=0pt \wd\jlreq at tempboxa=0pt
             \kern-\jlreq at tempdima\box\jlreq at tempboxa\kern\jlreq at tempdima
           }%
-          \vrule depth\dimexpr 10mm + \jlreq at trimmarks@bleed\relax width\@tombowwidth height\z@
+          \vrule depth\dimexpr 10mm + \jlreq at trimmarks@bleed at bottom\relax width\@tombowwidth height\z@
           \jlreq at trimmarks@outputbanner{corner at bottom@right}{%
             \setbox\jlreq at tempboxa=\hbox to 0pt{\hskip 4pt\relax\@bannerfont\jlreq at trimmarks@bannerfont##1\hss}%
-            \jlreq at tempdima=\dimexpr\ht\jlreq at tempboxa  + \jlreq at trimmarks@bleed + 4pt\relax
+            \jlreq at tempdima=\dimexpr\ht\jlreq at tempboxa  + \jlreq at trimmarks@bleed at bottom + 4pt\relax
             \ht\jlreq at tempboxa=0pt \dp\jlreq at tempboxa=0pt
             \raise-\jlreq at tempdima\box\jlreq at tempboxa
           }%
@@ -694,12 +760,12 @@
       }%
       \kern-10mm
       \hbox to\@@paperwidth{%
-        \hskip\jlreq at trimmarks@bleed\relax
+        \hskip\jlreq at trimmarks@bleed at left\relax
         \setbox\jlreq at tempboxa=\hbox to\z@{% \@BL
           \yoko\hss
-          \vrule width\dimexpr 10mm + \jlreq at trimmarks@bleed\relax depth\@tombowwidth height\z@
+          \vrule width\dimexpr 10mm + \jlreq at trimmarks@bleed at left\relax depth\@tombowwidth height\z@
           \jlreq at trimmarks@outputbanner{corner at bottom@left}{%
-            \setbox\jlreq at tempboxa=\hbox to 0pt{\hss\@bannerfont\jlreq at trimmarks@bannerfont##1\hskip\dimexpr\jlreq at trimmarks@bleed + 4pt\relax}%
+            \setbox\jlreq at tempboxa=\hbox to 0pt{\hss\@bannerfont\jlreq at trimmarks@bannerfont##1\hskip\dimexpr\jlreq at trimmarks@bleed at left + 4pt\relax}%
             \jlreq at tempdima=\dimexpr\ht\jlreq at tempboxa + 4pt\relax
             \ht\jlreq at tempboxa=0pt \dp\jlreq at tempboxa=0pt
             \raise-\jlreq at tempdima\box\jlreq at tempboxa
@@ -713,7 +779,7 @@
           }%
           \jlreq at trimmarks@outputbanner{inyoko at bottom@left}{%
             \setbox\jlreq at tempboxa=\hbox to 0pt{\yoko\@bannerfont\jlreq at trimmarks@bannerfont##1\hss}%
-            \jlreq at tempdima=\dimexpr\jlreq at trimmarks@bleed + \dp\jlreq at tempboxa\relax
+            \jlreq at tempdima=\dimexpr\jlreq at trimmarks@bleed at bottom + \dp\jlreq at tempboxa\relax
             \ht\jlreq at tempboxa=0pt \dp\jlreq at tempboxa=0pt
             \raise\jlreq at tempdima\box\jlreq at tempboxa
           }%
@@ -732,7 +798,7 @@
           }%
           \jlreq at trimmarks@outputbanner{in at bottom@center}{%
             \setbox\jlreq at tempboxa=\hbox{\@bannerfont\jlreq at trimmarks@bannerfont##1}%
-            \jlreq at tempdima=\dimexpr\dp\jlreq at tempboxa + \jlreq at trimmarks@bleed\relax
+            \jlreq at tempdima=\dimexpr\dp\jlreq at tempboxa + \jlreq at trimmarks@bleed at bottom\relax
             \jlreq at tempdimb=.5\wd\jlreq at tempboxa
             \ht\jlreq at tempboxa=0pt \dp\jlreq at tempboxa=0pt \wd\jlreq at tempboxa=0pt
             \kern-\jlreq at tempdimb\raise\jlreq at tempdima\box\jlreq at tempboxa\kern\jlreq at tempdimb
@@ -759,16 +825,16 @@
           }%
           \jlreq at trimmarks@outputbanner{inyoko at bottom@right}{%
             \setbox\jlreq at tempboxa=\hbox to 0pt{\yoko\hss\@bannerfont\jlreq at trimmarks@bannerfont##1}%
-            \jlreq at tempdima=\dimexpr\dp\jlreq at tempboxa + \jlreq at trimmarks@bleed\relax
+            \jlreq at tempdima=\dimexpr\dp\jlreq at tempboxa + \jlreq at trimmarks@bleed at bottom\relax
             \ht\jlreq at tempboxa=0pt \dp\jlreq at tempboxa=0pt
             \raise\jlreq at tempdima\box\jlreq at tempboxa
           }%
           \vrule depth10mm width\@tombowwidth height\z@
-          \vrule width\dimexpr 10mm + \jlreq at trimmarks@bleed\relax depth\@tombowwidth height\z@\hss
+          \vrule width\dimexpr 10mm + \jlreq at trimmarks@bleed at right\relax depth\@tombowwidth height\z@\hss
         }%
         \ht\jlreq at tempboxa=0pt \dp\jlreq at tempboxa=0pt
         \box\jlreq at tempboxa
-        \hskip\jlreq at trimmarks@bleed
+        \hskip\jlreq at trimmarks@bleed at right
       }%
     \color at endgroup}\vss
   }%
@@ -775,8 +841,8 @@
 }
 \def\@outputtombow{%
   % 6mm = \@tombowbleed: from plcore
-  \@@paperwidth=\dimexpr\@@paperwidth - 6mm + 2\dimexpr\jlreq at trimmarks@bleed\relax\relax
-  \@@paperheight=\dimexpr\@@paperheight - 6mm + 2\dimexpr\jlreq at trimmarks@bleed\relax\relax
+  \@@paperwidth=\dimexpr\@@paperwidth - 6mm + \dimexpr\jlreq at trimmarks@bleed at left + \jlreq at trimmarks@bleed at right\relax\relax
+  \@@paperheight=\dimexpr\@@paperheight - 6mm + \dimexpr\jlreq at trimmarks@bleed at top + \jlreq at trimmarks@bleed at bottom\relax\relax
   \ifjlreq at trimmarks@show\expandafter\jlreq at trimmarks@outputtombow\fi
 }
 
@@ -796,39 +862,92 @@
       \jlreq at trimmarks@pttobp{(\jlreq at trimmarks@paperheight + \paperheight)/2}%
     ]
   }
-  \edef\jlreq at trimmarks@bleedboxsize{%
+  \jlreq at tempcnta=\c at page
+  \def\@tempa{%
     [%
-      \jlreq at trimmarks@pttobp{(\jlreq at trimmarks@paperwidth - \paperwidth)/2 - \jlreq at trimmarks@bleed}
-      \jlreq at trimmarks@pttobp{(\jlreq at trimmarks@paperheight - \paperheight)/2 - \jlreq at trimmarks@bleed}
-      \jlreq at trimmarks@pttobp{(\jlreq at trimmarks@paperwidth + \paperwidth)/2 + \jlreq at trimmarks@bleed}
-      \jlreq at trimmarks@pttobp{(\jlreq at trimmarks@paperheight + \paperheight)/2 + \jlreq at trimmarks@bleed}%
+      \jlreq at trimmarks@pttobp{(\jlreq at trimmarks@paperwidth - \paperwidth)/2 - \jlreq at trimmarks@bleed at left}
+      \jlreq at trimmarks@pttobp{(\jlreq at trimmarks@paperheight - \paperheight)/2 - \jlreq at trimmarks@bleed at bottom}
+      \jlreq at trimmarks@pttobp{(\jlreq at trimmarks@paperwidth + \paperwidth)/2 + \jlreq at trimmarks@bleed at right}
+      \jlreq at trimmarks@pttobp{(\jlreq at trimmarks@paperheight + \paperheight)/2 + \jlreq at trimmarks@bleed at top}%
     ]
   }
-  \edef\jlreq at trimmarks@pdfattribute{%
+  \c at page=1
+  \edef\jlreq at trimmarks@bleedboxsize at odd{\@tempa}
+  \c at page=2
+  \edef\jlreq at trimmarks@bleedboxsize at even{\@tempa}%
+  \c at page=\jlreq at tempcnta
+  \edef\jlreq at trimmarks@pdfattribute at odd{%
     /TrimBox \jlreq at trimmarks@trimboxsize
     \ifjlreq at trimmarks@show at artbox /ArtBox \jlreq at trimmarks@trimboxsize\fi
-    /BleedBox \jlreq at trimmarks@bleedboxsize
+    /BleedBox \jlreq at trimmarks@bleedboxsize at odd
   }
+  \edef\jlreq at trimmarks@pdfattribute at even{%
+    /TrimBox \jlreq at trimmarks@trimboxsize
+    \ifjlreq at trimmarks@show at artbox /ArtBox \jlreq at trimmarks@trimboxsize\fi
+    /BleedBox \jlreq at trimmarks@bleedboxsize at even
+  }
   \jlreq at trimmarks@afterpkg at addtodeletecs{\jlreq at trimmarks@pttobp}
   \jlreq at trimmarks@afterpkg at addtodeletecs{\jlreq at trimmarks@trimboxsize}
-  \jlreq at trimmarks@afterpkg at addtodeletecs{\jlreq at trimmarks@bleedboxsize}
-  \jlreq at trimmarks@afterpkg at addtodeletecs{\jlreq at trimmarks@pdfattribute}
+  \jlreq at trimmarks@afterpkg at addtodeletecs{\jlreq at trimmarks@bleedboxsize at odd}
+  \jlreq at trimmarks@afterpkg at addtodeletecs{\jlreq at trimmarks@bleedboxsize at even}
+  \jlreq at trimmarks@afterpkg at addtodeletecs{\jlreq at trimmarks@pdfattribute at odd}
+  \jlreq at trimmarks@afterpkg at addtodeletecs{\jlreq at trimmarks@pdfattribute at even}
 
-  \ifx l\jlreq at trimmarks@driver
-    \edef\@tempa{\noexpand\pdfvariable pageattr{\jlreq at trimmarks@pdfattribute}}
-    \@tempa
-  \fi
-  \ifx f\jlreq at trimmarks@driver
-    \edef\@outputtombow{\noexpand\special{pdf: put @thispage <<\jlreq at trimmarks@pdfattribute>>}\expandonce{\@outputtombow}}
-  \fi
-  \ifx s\jlreq at trimmarks@driver
-    \edef\@tempa{\noexpand\special{ps:SDict begin
-      [ /TrimBox \jlreq at trimmarks@trimboxsize /PAGE pdfmark
-      \ifjlreq at trimmarks@show at artbox [ /ArtBox   \jlreq at trimmarks@trimboxsize /PAGE pdfmark \fi
-      [ /BleedBox \jlreq at trimmarks@bleedboxsize /PAGE pdfmark
-    end}}%
-    \@tempa
-  \fi
+  \begingroup
+    \c at page=1
+    \jlreq at tempdima=\jlreq at trimmarks@bleed at left
+    \c at page=2
+    \ifdim\jlreq at trimmarks@bleed at left=\jlreq at tempdima
+      \global\let\jlreq at tempa\@firstoftwo
+    \else
+      \global\let\jlreq at tempa\@secondoftwo
+    \fi
+  \endgroup
+  \jlreq at tempa{
+    % no difference between odd pages and even pages
+    \ifx l\jlreq at trimmarks@driver
+      \edef\@tempa{\noexpand\pdfvariable pageattr{\jlreq at trimmarks@pdfattribute at odd}}
+      \@tempa
+    \fi
+    \ifx f\jlreq at trimmarks@driver
+      \epreto\@outputtombow{\noexpand\special{pdf: put @thispage <<\jlreq at trimmarks@pdfattribute at odd>>}}
+    \fi
+    \ifx s\jlreq at trimmarks@driver
+      \edef\@tempa{\noexpand\special{ps:SDict begin
+        [ /TrimBox \jlreq at trimmarks@trimboxsize /PAGE pdfmark
+        \ifjlreq at trimmarks@show at artbox [ /ArtBox   \jlreq at trimmarks@trimboxsize /PAGE pdfmark \fi
+        [ /BleedBox \jlreq at trimmarks@bleedboxsize at odd /PAGE pdfmark
+      end}}%
+      \@tempa
+    \fi
+  }{
+    \ifx l\jlreq at trimmarks@driver
+      % in \@outputtombow, it's too late
+      \epreto\@outputpage{%
+        \unexpanded{\ifodd\c at page\pdfvariable} pageattr{\jlreq at trimmarks@pdfattribute at odd}%
+        \unexpanded{\else\pdfvariable} pageattr{\jlreq at trimmarks@pdfattribute at even}\noexpand\fi
+      }
+    \fi
+    \ifx f\jlreq at trimmarks@driver
+      \epreto\@outputtombow{%
+        \unexpanded{\ifodd\c at page\special}{pdf: put @thispage <<\jlreq at trimmarks@pdfattribute at odd>>}%
+        \unexpanded{\else\special}{pdf: put @thispage <<\jlreq at trimmarks@pdfattribute at even>>}\noexpand\fi
+      }
+    \fi
+    \ifx s\jlreq at trimmarks@driver
+      \epreto\@outputtombow{%
+        \unexpanded{\ifodd\c at page\special}{ps:SDict begin
+          [ /TrimBox \jlreq at trimmarks@trimboxsize /PAGE pdfmark
+          \ifjlreq at trimmarks@show at artbox [ /ArtBox   \jlreq at trimmarks@trimboxsize /PAGE pdfmark \fi
+          [ /BleedBox \jlreq at trimmarks@bleedboxsize at odd /PAGE pdfmark
+        end}\unexpanded{\else\special}{ps:SDict begin
+          [ /TrimBox \jlreq at trimmarks@trimboxsize /PAGE pdfmark
+          \ifjlreq at trimmarks@show at artbox [ /ArtBox   \jlreq at trimmarks@trimboxsize /PAGE pdfmark \fi
+          [ /BleedBox \jlreq at trimmarks@bleedboxsize at even /PAGE pdfmark
+        end}\noexpand\fi
+      }
+    \fi
+  }
 \fi
 
 % always true

Modified: trunk/Master/texmf-dist/tex/latex/jlreq/jlreq.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/jlreq/jlreq.cls	2019-04-01 21:08:11 UTC (rev 50696)
+++ trunk/Master/texmf-dist/tex/latex/jlreq/jlreq.cls	2019-04-01 21:08:48 UTC (rev 50697)
@@ -5,7 +5,7 @@
 %%
 % (based on JLReq 20120403 https://www.w3.org/TR/2012/NOTE-jlreq-20120403/ja/)
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{jlreq}[2019/01/15 jlreq]
+\ProvidesClass{jlreq}[2019/04/01 jlreq]
 \RequirePackage{xkeyval,everyhook,filehook,etoolbox,ifthen}
 \RequirePackage{jlreq-helpers}
 
@@ -188,7 +188,7 @@
 %.. 小口
 \newcommand*{\jlreq at option@fore at edge}{}
 \jlreq at aftercls@addtodeletecs{\jlreq at option@fore at edge}
-\DeclareOptionX{fore_edge}{\renewcommand*{\jlreq at option@fore at edge}{#1}}
+\DeclareOptionX{fore_edge}{\renewcommand*{\jlreq at option@fore at edge}{#1}}% 昔にこっちにしていたので残している
 \DeclareOptionX{fore-edge}{\renewcommand*{\jlreq at option@fore at edge}{#1}}
 
 %.. 柱とノンブル
@@ -226,12 +226,19 @@
 \jlreq at aftercls@addtodeletecs{\jlreq at option@sidenote at length}
 \DeclareOptionX{sidenote_length}{\renewcommand*{\jlreq at option@sidenote at length}{#1}}
 
+%.. 逆ノンブル
+\newif\ifjlreq at option@use at reverse@pagination
+\jlreq at aftercls@addtodeleteif{\ifjlreq at option@use at reverse@pagination}
+\jlreq at option@use at reverse@paginationfalse
+\jlreq at DeclareOption{use_reverse_pagination}{\jlreq at option@use at reverse@paginationtrue}
+
 %.. もろもろ
 \newif\if at restonecol\@restonecolfalse
 \newif\if at titlepage\@titlepagefalse
-\newif\ifjlreq at option@titlepage \jlreq at option@titlepagefalse % titlepageかnotitlepageかが指定された
 \newif\if at landscape\@landscapefalse
 \newif\if at tate \@tatefalse
+\newif\ifjlreq at option@titlepage \jlreq at option@titlepagefalse % titlepageかnotitlepageかが指定された
+\jlreq at aftercls@addtodeleteif{\ifjlreq at option@titlepage}
 \jlreq at DeclareOption{landscape}{\@landscapetrue}
 \jlreq at DeclareOption{tombo}{\ClassWarningNoLine{jlreq}{The option `tombo' is not supported by jlreq class. Please use the jlreq-trimmarks package}}
 \jlreq at DeclareOption{tombow}{\ClassWarningNoLine{jlreq}{The option `tombow' is not supported by jlreq class. Please use the jlreq-trimmarks package}}
@@ -418,7 +425,7 @@
   % https://ja.osdn.net/projects/luatex-ja/ticket/36489
   \newcommand*{\jlreq at calc@current at linewidth@onecolumn}{%
     \dimexpr
-      \zposx{jlreq at rest@width.pos.\the\jlreq at zref@reference at count} sp - \@totalleftmargin -
+       \jlreq at reference@ref{jlreq at rest@width.pos.X.\the\jlreq at reference@count}{0} sp - \@totalleftmargin -
       \ifodd\jlreq at currentpage
         \oddsidemargin
       \else
@@ -439,7 +446,7 @@
   \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
+        \jlreq at reference@ref{jlreq at rest@width.pos.X.\the\jlreq at reference@count}{0} sp - \hoffset
         \ifodd\jlreq at currentpage
           - \oddsidemargin
         \else
@@ -452,7 +459,7 @@
           \pdfpageheight
         \fi
         - \topmargin - \headheight - \headsep - \voffset
-        - \zposy{jlreq at rest@width.pos.\the\jlreq at zref@reference at count} sp
+        - \jlreq at reference@ref{jlreq at rest@width.pos.Y.\the\jlreq at reference@count}{0} sp
       }%
       \jlreq at tombow@adjust
       - \@totalleftmargin - 1in
@@ -473,13 +480,29 @@
 \newdimen\jlreq at rest@linewidth
 % この命令以降,次にこの命令を実行する前まで\jlreq at current@linewidth/\jlreq at rest@linewidthで
 % この行の行頭からの長さ/残りの長さが取得できる
-\newcommand*{\jlreq at savepos@for at rest@linewidth}{%
+\jlreq at ifprimitive{\pdfsavepos}{\jlreq at tempatrue}{\jlreq at tempafalse}
+\edef\jlreq at savepos@for at rest@linewidth{\unexpanded{%
   \jlreq at setcurrentpage
-  \global\advance\jlreq at zref@reference at count by 1\relax
-  \zsavepos{jlreq at rest@width.pos.\the\jlreq at zref@reference at count}%
+  \global\advance\jlreq at reference@count by 1
+  }%
+  \ifjlreq at tempa
+    \unexpanded{%
+    \pdfsavepos
+    \jlreq at reference@label{jlreq at rest@width.pos.X.\the\jlreq at reference@count}{\noexpand\the\noexpand\pdflastxpos}%
+    \jlreq at reference@label{jlreq at rest@width.pos.Y.\the\jlreq at reference@count}{\noexpand\the\noexpand\pdflastypos}%
+    }%
+  \else
+    \unexpanded{%
+    \savepos
+    \jlreq at reference@label{jlreq at rest@width.pos.X.\the\jlreq at reference@count}{\noexpand\the\noexpand\lastxpos}%
+    \jlreq at reference@label{jlreq at rest@width.pos.Y.\the\jlreq at reference@count}{\noexpand\the\noexpand\lastypos}%
+    }%
+  \fi
+  \unexpanded{%
   \global\jlreq at current@linewidth=\jlreq at calc@current at linewidth
   \global\jlreq at rest@linewidth=\dimexpr\linewidth - \jlreq at current@linewidth\relax
-  \edef\jlreq at savepos@iflabelundefined{\noexpand\zref at ifrefundefined{jlreq at rest@width.pos.\the\jlreq at zref@reference at count}}%
+  \edef\jlreq at savepos@iflabelundefined{\jlreq at reference@ifexist{jlreq at rest@width.pos.X.\the\jlreq at reference@count}{\noexpand\@secondoftwo}{\noexpand\@firstoftwo}}%
+  }%
 }
 
 \ifx l\jlreq at engine
@@ -848,6 +871,8 @@
 \def\@ptsize{0}
 % JFMに関連する設定
 \ifx l\jlreq at engine
+  \def\ltj at stdyokojfm{jlreq}
+  \def\ltj at stdtatejfm{jlreqv}
   % この値は後で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
@@ -1241,7 +1266,7 @@
   \else\def\jlreq at option@headfoot at verticalpos{2zw}\fi
 \fi
 \setlength{\headsep}{\jlreq at speciallength{\jlreq at option@headfoot at verticalpos}}
-\ifdim\headsep<1\zw\relax\jlreq at note{基本版面との上下方向の最低の空き量を,基本版面の文字サイズの全角アキとする (26.1.a).}\fi
+\if at tate\ifdim\headsep<1\zw\relax\jlreq at note{基本版面との上下方向の最低の空き量を,基本版面の文字サイズの全角アキとする (26.1.a).}\fi\fi
 \if at tate
   \if at twocolumn
     \addtolength{\headsep}{\dimexpr\marginparwidth + \marginparsep\relax}
@@ -1468,6 +1493,14 @@
 % \maxdepth + \topskip = フォントサイズ×1.5(だってさ)
 \setlength{\maxdepth}{\dimexpr1.5\zw - \topskip\relax}
 
+%. システム設定
+%.. 逆ノンブル
+\ifjlreq at option@use at reverse@pagination
+  \AtEndDocument{\clearpage\jlreq at reference@immediate at write{lastpage}{\noexpand\arabic{page}}}%
+  \def\c at jlreqreversepage{\numexpr\jlreq at reference@ref{lastpage}{0} - \c at page + 1\relax}
+  \def\thejlreqreversepage{\arabic{jlreqreversepage}}
+\fi
+
 %. 見出し関係 (4.1)
 % \clear***page
 \newcommand*{\cleartooddpage}[1][]{%
@@ -1550,6 +1583,7 @@
     }%
   }{}%
 }
+
 %.. 中/半扉見出し
 % addcontentslineに渡すやつ:番号出すのと出さないの
 \newcommand{\DeclareTobiraHeading}[3]{%
@@ -1596,23 +1630,23 @@
             \unexpanded{\refstepcounter{#1}}%
           \noexpand\fi
         \fi
-        \expandonce{\csname jlreq at heading@maketoc@#1\endcsname}{\ifjlreq at number\else -\fi}{\expandonce{\jlreq at label@format}}{####1}%
         \unexpanded{\jlreq at ifempty{##2}%
           {\long\gdef\jlreqHeadingText####1{}}%
           {\long\gdef\jlreqHeadingText####1{####1}}%
         }%
         \ifjlreq at number
-          \unexpanded{\ifnum#2>\c at secnumdepth\relax}%
+          \unexpanded{\ifnum#2>\c at secnumdepth\relax\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi}{%
             \unexpanded{\long\gdef\jlreqHeadingLabel####1{}}%
             \expandonce{\jlreq at format{}{##1}}%
-          \noexpand\else
+          }{%
             \unexpanded{\long\gdef\jlreqHeadingLabel####1{####1}}%
             \expandafter\expandonce\expandafter{\jlreq at formatwlabel{##2}}%
-          \noexpand\fi
+          }%
         \else
           \unexpanded{\long\gdef\jlreqHeadingLabel####1{}}%
           \expandonce{\jlreq at format{}{##1}}%
         \fi
+        \expandonce{\csname jlreq at heading@maketoc@#1\endcsname}{\ifjlreq at number\else -\fi}{\expandonce{\jlreq at label@format}}{####1}%
         \noexpand\@afterheading
         \expandonce{\jlreq at heading@clearpage}%
         \unexpanded{\if at restonecol\twocolumn\fi}%
@@ -1682,7 +1716,6 @@
 
 % {1 = 命令}{2 = レベル}{3 = スペース関連}{4 = *}{5 = running head}{6 = 見出し}[7 = 副題]
 \long\def\jlreq at BlockHeading@start@@@#1#2#3#4#5#6[#7]{%
-  
   \edef\jlreq at do{\unexpanded{\jlreq at BlockHeading@start@@@@{#1}{#2}{#3}}{\expandonce{\jlreq at BlockHeading@start at totalformat}}}%
   \jlreq at do{#4}{#5}{#6}{#7}%
 }
@@ -1702,13 +1735,20 @@
   \expandafter\xdef\csname jlreq at BlockHeading@spaces at current@space@\the\jlreq at BlockHeading@spaces at current@count\endcsname{%
     \expandonce{\jlreq at tempb}%
   }%
-  \expandafter\xdef\csname jlreq at BlockHeading@spaces at current@format@\the\jlreq at BlockHeading@spaces at current@count\endcsname{%
-    \unexpanded{#4}%
-  }%
+  \def\@tempa##1##2##3{##1}%
   \expandafter\xdef\csname jlreq at BlockHeading@spaces at current@before@\the\jlreq at BlockHeading@spaces at current@count\endcsname{%
+    \expandonce{\@tempa#4}%
     \expandonce{\jlreq at resulta}%
   }%
-  \expandafter\xdef\csname jlreq at BlockHeading@spaces at current@after@\the\jlreq at BlockHeading@spaces at current@count\endcsname{}%
+  \def\@tempa##1##2##3{##2}%
+  \expandafter\xdef\csname jlreq at BlockHeading@spaces at current@format@\the\jlreq at BlockHeading@spaces at current@count\endcsname{%
+    \expandonce{\@tempa#4}%
+  }%
+  \def\@tempa##1##2##3{##3}%
+  \expandafter\xdef\csname jlreq at BlockHeading@spaces at current@after@\the\jlreq at BlockHeading@spaces at current@count\endcsname{%
+    \expandonce{\jlreq at resultc}%
+    \expandonce{\@tempa#4}%
+  }%
   \ifx\jlreq at BlockHeading@spaces at headingslist\@empty
     \expandafter\jlreq at BlockHeading@spaces at outputwospace
     \expandafter\ignorespaces
@@ -1773,7 +1813,7 @@
 % 特別扱いしたいマクロを並べる
 \def\jlreq at BlockHeading@HeadingSpaces at ignoretokens{\label}
 
-% \jlreq at resultaにaux吐き出しとかを入れて,\jlreq at resultbに出力を入れる(縦方向調整なし)
+% \jlreq at resulta -> before, \jlreq at resultb -> 本体,\jlreq at resultc -> after
 % {1 = 命令}{2 = レベル}{3 = スペース関連(横方向のみ)}{4 = フォーマット群}{5 = まとめたフォーマット群}{6 = *}{7 = running head}{8 = 見出し}{9 = 副題}
 \long\def\jlreq at BlockHeading@start at makeoutput#1#2#3#4#5#6#7#8#9{%
   \begingroup
@@ -1805,11 +1845,13 @@
         \jlreq at ifempty{#9}%
           {\unexpanded{\long\gdef\jlreqHeadingSubtitle####1{}}}%
           {\unexpanded{\long\gdef\jlreqHeadingSubtitle####1{####1}}}%
-        \expandonce{\csname jlreq at heading@maketoc@#1\endcsname}{\unexpanded{#6}}{\expandonce{\jlreq at tempa}}{\unexpanded{#7}}%
       }%
       \unexpanded{\def\jlreq at resultb}{%
         \expandonce{\jlreq at result}%
       }%
+      \unexpanded{\def\jlreq at resultc}{%
+        \expandonce{\csname jlreq at heading@maketoc@#1\endcsname}{\unexpanded{#6}}{\expandonce{\jlreq at tempa}}{\unexpanded{#7}}%
+      }%
     }%
   \expandafter\endgroup
   \jlreq at do
@@ -2241,7 +2283,8 @@
     \eappto\jlreq at do{\expandonce{\jlreq at result}}%
     \jlreq at BlockHeading@gyodori at parsekeyval*[BlockHeading:#1]{#3}{}{}{1}%
     \let\jlreq at spaceset=\jlreq at result
-    \edef\jlreq at totalformat{\unexpanded{##1}\expandonce{\jlreq at afterindent}\noexpand\@afterheading}%
+    \edef\jlreq at totalformat{\unexpanded{##1}}%
+    \edef\jlreq at totalformat@after{\expandonce{\jlreq at afterindent}\noexpand\@afterheading}%
     \if at twocolumn
       \ifthenelse{\equal{\jlreq at column@spanning}{true}}{%
         \def\@tempa##1##2##3{%
@@ -2261,7 +2304,9 @@
           }%
         }%
         \expandafter\@tempa\jlreq at spaceset
-      }{}%
+        \def\jlreq at totalformat@after{}%
+      }{%
+      }%
     \fi
     \edef\jlreq at do{%
       \expandonce{\jlreq at do}%
@@ -2283,7 +2328,7 @@
             {}{}%
           }%
         }%
-        {\expandonce{\jlreq at totalformat}}%
+        {{}{\expandonce{\jlreq at totalformat}}{\expandonce{\jlreq at totalformat@after}}}%
       }}%
       \noexpand\def\expandonce{\csname #1\endcsname}{\expandonce{\csname jlreq at headingcs@#1\endcsname}}%
     }%
@@ -2617,7 +2662,6 @@
     \def\jlreq at font{\normalfont\normalsize}%
     \def\jlreq at indent{0\zw}%
     \def\jlreq at after@label at space{1\zw}%
-    \def\jlreq at mark{}%
     \def\jlreq at label@font{}%
     \def\jlreq at label@format{\@seccntformat{#1}}%
     \def\jlreq at after@space{1\zw}%
@@ -2625,11 +2669,10 @@
     \jlreq at parsekeyval[RuninHeading:#1]{%
       {font}{\def\jlreq at font{##1}}
       {indent}{\def\jlreq at indent{##1}}
-      {mark}{\def\jlreq at mark{##1}}
       {label_format}{\def\jlreq at label@format{##1}}
-      {after_label_space}{
+      {after_label_space}{%
         \ifdim\dimexpr##1\relax<0pt \ClassWarning{jlreq}{after_label_space in Runin Heading #1 should be not negative}\fi
-        \def\jlreq at after@label at space{##1}
+        \def\jlreq at after@label at space{##1}%
       }
       {after_space}{%
         \ifdim\dimexpr##1\relax<0pt \ClassWarning{jlreq}{after_space in Runin Heading #1 should be not negative}\fi
@@ -2790,7 +2833,7 @@
 }
 
 \newcommand{\ModifyHeading}[2]{%
-  \@ifundefined{jlreq at heading@setting@#1}{\ClassError{jlreq}{Unknown heading: #1}{\@ehc}}%
+  \@ifundefined{jlreq at heading@setting@#1}{\ClassError{jlreq}{Unknown heading: #1}{\@ehc}}{}%
   \edef\jlreq at do{\csexpandonce{jlreq at heading@type@#1}{#1}{\csexpandonce{jlreq at heading@level@#1}}{\csexpandonce{jlreq at heading@setting@#1},\unexpanded{#2}}}%
   \jlreq at do
 }
@@ -2851,7 +2894,7 @@
   }%
 }
 
-%.. 各種定義
+%.. カウンターの定義(見出し本体はこのファイルの末尾で)
 \setcounter{secnumdepth}{3}
 \newcounter{part}
 \jlreq at switch{\jlreq at article@type}{
@@ -2864,74 +2907,7 @@
 \newcounter{subparagraph}[paragraph]
 \renewcommand*{\@seccntformat}[1]{\csname the#1\endcsname}
 
-\if at tate
-  \renewcommand{\thepart}{\jlreq at Kanji{part}}
-  \ifthenelse{\equal{\jlreq at article@type}{article}}{}{\renewcommand{\thechapter}{\jlreq at Kanji{chapter}}}
-  \renewcommand{\thesection}{\jlreq at rensuji{\@arabic\c at section}}
-  \renewcommand{\thesubsection}{\jlreq at rensuji{\@alph\c at subsection}}
-  \renewcommand{\thesubsubsection}{\jlreq at rensuji{\@arabic\c at subsubsection}}
-  \renewcommand{\theparagraph}{(\jlreq at rensuji{\@arabic\c at paragraph})}
-  \renewcommand{\thesubparagraph}{(\jlreq at rensuji{\@arabic\c at subparagraph})}
 
-  \ifthenelse{\equal{\jlreq at article@type}{article}}{
-    \NewBlockHeading{part}{0}{font={\jlreq at keepbaselineskip{\LARGE}},indent=4\zw,lines=4,after_label_space=1\zw,second_heading_text_indent={-1\zw,1\zw},subtitle_font={\jlreq at keepbaselineskip{\large}}}
-    \if at twoside\ModifyHeading{part}{allowbreak_if_evenpage=true}\fi
-  }
-  {% book, report
-    \NewTobiraHeading{part}{-1}{label_format={第\thepart 部\hspace*{1\zw}},format={\null\vfill {\Huge\hspace*{2\zw}#1#2}\vspace*{2\jlreq at gol}}}
-    \NewBlockHeading{chapter}{0}{indent=2\zw,lines=6,label_format={第\thechapter 章},font={\huge},after_label_space=1\zw,second_heading_text_indent={-1\zw,1\zw},subtitle_font={\jlreq at keepbaselineskip{\Large}}}
-    \if at twoside\ModifyHeading{chapter}{allowbreak_if_evenpage=true}\fi
-    \renewcommand{\thechapter}{\jlreq at Kanji{chapter}}
-  }
-  \NewBlockHeading{section}{1}{font={\jlreq at keepbaselineskip{\Large}},indent=6\zw,lines=3,after_label_space=1\zw,second_heading_text_indent={-1\zw,1\zw},subtitle_font={\jlreq at keepbaselineskip{\normalsize}}}
-  \if at twoside\ModifyHeading{section}{allowbreak_if_evenpage=true}\fi
-  \NewBlockHeading{subsection}{2}{font={\jlreq at keepbaselineskip{\large}},indent=8\zw,lines=2,after_label_space=1\zw,second_heading_text_indent={-1\zw,1\zw},subtitle_font={\jlreq at keepbaselineskip{\small}}}
-  \if at twoside\ModifyHeading{subsection}{allowbreak_if_evenpage=true}\fi
-  \NewBlockHeading{subsubsection}{3}{font={\jlreq at keepbaselineskip{\normalsize}},indent=10\zw,lines=1,before_lines=1,subtitle_break=false,after_label_space=1\zw,second_heading_text_indent={-1\zw,1\zw},,subtitle_font={\jlreq at keepbaselineskip{\scriptsize}}}
-  \if at twoside\ModifyHeading{subsubsection}{allowbreak_if_evenpage=true}\fi
-  \NewRuninHeading{paragraph}{4}{font={\jlreq at keepbaselineskip{\normalsize}}}
-  \NewRuninHeading{subparagraph}{5}{font={\jlreq at keepbaselineskip{\normalsize}},indent=1\zw}
-\else% yoko
-  \renewcommand{\thepart}{\Roman{part}}
-  \renewcommand{\thesubsection}{\thesection .\arabic{subsection}}
-  \renewcommand{\thesubsubsection}{\thesubsection .\arabic{subsubsection}}
-  \renewcommand{\theparagraph}{\thesubsubsection .\arabic{paragraph}}
-  \renewcommand{\thesubparagraph}{\theparagraph .\arabic{subparagraph}}
-  \ifthenelse{\equal{\jlreq at article@type}{article}}{
-    \NewBlockHeading{part}{0}{font={\jlreq at keepbaselineskip{\LARGE\sffamily\bfseries}},label_format={第\thepart 部},lines=4,after_label_space=1\zw,second_heading_text_indent={-1\zw,1\zw},subtitle_font={\jlreq at keepbaselineskip{\large}}}
-    \renewcommand{\thesection}{\arabic{section}}
-  }
-  {% book, report
-    \NewTobiraHeading{part}{-1}{label_format={第\thepart 部\hspace*{1\jlreq at gol}},format={\null\vfil {\Huge\sffamily\bfseries #1#2}\vfil}}
-    \NewBlockHeading{chapter}{0}{%
-      font={\jlreq at keepbaselineskip{\huge\sffamily\bfseries}},
-      label_format={第\thechapter 章},
-      lines=5,after_label_space=1\zw,second_heading_text_indent={-1\zw,1\zw},
-      subtitle_font={\jlreq at keepbaselineskip{\Large}}}
-    \renewcommand{\thechapter}{\arabic{chapter}}
-    \renewcommand{\thesection}{\thechapter.\arabic{section}}
-  }
-  \NewBlockHeading{section}{1}{font={\jlreq at keepbaselineskip{\Large\sffamily\bfseries}},lines=3,after_label_space=1\zw,second_heading_text_indent={-1\zw,1\zw},subtitle_font={\jlreq at keepbaselineskip{\normalsize}}}
-  \NewBlockHeading{subsection}{2}{font={\jlreq at keepbaselineskip{\large\sffamily\bfseries}},lines=2,after_label_space=1\zw,second_heading_text_indent={-1\zw,1\zw},subtitle_font={\jlreq at keepbaselineskip{\small}}}
-  \NewBlockHeading{subsubsection}{3}{font={\jlreq at keepbaselineskip{\normalsize\sffamily\bfseries}},lines=1,before_lines=1,subtitle_break=false,after_label_space=1\zw,second_heading_text_indent={-1\zw,1\zw},subtitle_font={\jlreq at keepbaselineskip{\scriptsize}}}
-  \NewRuninHeading{paragraph}{4}{font={\jlreq at keepbaselineskip{\normalsize\sffamily\bfseries}},indent=1\zw}
-  \NewRuninHeading{subparagraph}{5}{font={\jlreq at keepbaselineskip{\normalsize\sffamily\bfseries}},indent=2\zw}
-\fi
-
-\ifthenelse{\equal{\jlreq at article@type}{article}}{}{% book, report
-  \if at openright
-    \ModifyHeading{part}{type=naka}
-    \if at tate
-      \ModifyHeading{chapter}{pagebreak=begin_with_even_page}
-    \else
-      \ModifyHeading{chapter}{pagebreak=begin_with_odd_page}
-    \fi
-  \else
-    \ModifyHeading{part}{type=han}
-    \ModifyHeading{chapter}{pagebreak=clearpage}
-  \fi
-}
-
 %. 注
 % 文字サイズは6ポイントくらい(4.2.3.a)とりあえす\scriptsize
 %.. 合印(4.2.3)
@@ -2981,7 +2957,6 @@
     \def\jlreq at hook@postnote{\jlreq at fixjfm}
   }
 }
-\jlreqsetup{reference_mark=inline}
 % \@footnotemarkをシンプルなものにする
 \def\jlreq at setdefaultnotemark#1#2{%
   \def#1{%
@@ -3016,7 +2991,7 @@
 % インデントの計算:脚注の長さが文字の整数倍になるように字下げする(4.2.5.b)
 \jlreq at jlreqsetup@add{footnote_indent}{%
   \if at tate\else
-    \ifdim\dimexpr#1\relax=0pt\else\jlreq at note{脚注は,一般にその前に区切りのための罫線を挿入するので,字下げは行わなくてよい(4.2.5.b).}\fi
+    \ifdim\dimexpr#1\relax=0pt \else\jlreq at note{脚注は,一般にその前に区切りのための罫線を挿入するので,字下げは行わなくてよい(4.2.5.b).}\fi
   \fi
   \begingroup
     \footnotesize
@@ -3028,11 +3003,6 @@
   \expandafter\endgroup
   \jlreq at do
 }
-\if at tate
-  \jlreqsetup{footnote_indent=1\zw}% 根拠なし
-\else
-  \jlreqsetup{footnote_indent=0pt}% (4.2.5.b)
-\fi
 
 \newcommand{\@makefntext}[1]{\jlreq at makefntext{#1}}
 \jlreq at jlreqsetup@add{footnote_second_indent}{%
@@ -3058,7 +3028,6 @@
     }##1%
   }
 }
-\jlreqsetup{footnote_second_indent=1\zw}
 
 \jlreq at jlreqsetup@add{footnotetext_indent}{
   \ClassWarningNoLine{jlreq}{footnotetext_indent was removed}
@@ -3079,23 +3048,32 @@
   \jlreq at hook@prenote
   \@ifnextchar[{\jlreq at footnotemark@impl at woption}{\jlreq at footnotemark@impl at wooption}%
 }
-\if at tate
+\ifthenelse{\boolean{@tate} \AND \(\boolean{@twoside} \OR \boolean{@twocolumn}\)}{
   % 縦組の傍注は,その見開き内に付いている合印に対応する注を,奇数ページの左端にそろえて配置する.多段組では最下段の左端にそろえて配置する.(4.2.6.a)
   % 必要ならば\footnoteを\footnotemarkと\footnotetextにわけ,\footnotetextをアウトプット時まで遅延することで実現する.
   \def\jlreq at footnote@delayfootnoteslist{}
-  \preto\@opcol{%
+  \def\jlreq at hook@@opcol{%
     \expandafter\gdef\expandafter\jlreq at footnote@delayfootnoteslist\expandafter{\expandafter}%
     \jlreq at footnote@delayfootnoteslist
   }
+  \preto\@opcol{\jlreq at hook@@opcol}
   % \jlreq at footnote@delayfootnote at delay#1#2#3:#1ページ目に\footnotetext[#2]{#3}を出す
   % \jlreq at footnote@delayfootnote at page:何ページ目に\footnotetextを入れるかを\jlreq at resultcntに入れる.その場での場合は-1.
   \if at twocolumn
-    \def\jlreq at footnote@delayfootnote at page{%
-      \jlreq at setcurrentpage
-      \jlreq at resultcnt=\numexpr\jlreq at currentpage\ifodd\jlreq at currentpage\else + 1\fi\relax
-      % このページに表示&上の段処理済みだと\output内では間に合わない
-      \ifnum\jlreq at resultcnt=\value{page}\if at firstcolumn\else\jlreq at resultcnt=-1 \fi\fi
-    }
+    \if at twoside
+      \def\jlreq at footnote@delayfootnote at page{%
+        \jlreq at setcurrentpage
+        \jlreq at resultcnt=\numexpr\jlreq at currentpage\ifodd\jlreq at currentpage\else + 1\fi\relax
+        % このページに表示&上の段処理済みだと\output内では間に合わない
+        \ifnum\jlreq at resultcnt=\value{page}\if at firstcolumn\else\jlreq at resultcnt=-1 \fi\fi
+      }
+    \else
+      \def\jlreq at footnote@delayfootnote at page{%
+        \jlreq at setcurrentpage
+        \jlreq at resultcnt=\numexpr\jlreq at currentpage\relax
+        \ifnum\jlreq at resultcnt=\value{page}\if at firstcolumn\else\jlreq at resultcnt=-1 \fi\fi
+      }
+    \fi
     \long\def\jlreq at footnote@delayfootnote at delay#1#2#3{%
       % 二段組みの場合は上段を組んだ直後に\footnotetextを挿入(そのページの下段に入る)
       \ifnum 0\if at firstcolumn\else 1\fi\ifnum#1>\value{page}1\fi>0
@@ -3161,7 +3139,7 @@
     \fi
     \jlreq at hook@postnote
   }
-\else
+}{
   \long\def\jlreq at footnote@impl at woption[#1]#2{%
     \jlreq at useoriginalcs{\footnote}[#1]{#2}%
     \jlreq at hook@postnote
@@ -3170,7 +3148,7 @@
     \jlreq at useoriginalcs{\footnote}{#1}%
     \jlreq at hook@postnote
   }
-\fi
+}
 \long\def\jlreq at footnotemark@impl at woption[#1]{%
   \jlreq at useoriginalcs{\footnotemark}[#1]%
   \jlreq at hook@postnote
@@ -3286,7 +3264,6 @@
     \( \lengthtest{1.99\zw < #1} \AND \lengthtest{#1 < 2.01\zw} \)
   }{}{\jlreq at note{後注が2行以上となった場合,後注の2行目以下の字下げは,1行目より,後注の文字サイズの2倍又は全角とする (4.2.4.d).}}
 }
-\jlreqsetup{endnote_second_indent=2\zw}
 \newcommand{\@makeendtext}[1]{%
   \csname\jlreq at endnotemarkname\endcsname
   \hskip\glueexpr1\zw\relax% 見出し出力と一文字分の空き(4.2.4.c)
@@ -3343,7 +3320,6 @@
     }
   \fi
 }
-\jlreqsetup{endnote_position=headings}
 \AtEndDocument{\theendnotes}
 
 
@@ -3368,7 +3344,7 @@
   \jlreq at setdefaultnotemark\@sidenotemark\@makesidemark
   \def\jlreq at sidenotecounter{footnote}% 傍注用のカウンタ名
   \jlreq at jlreqsetup@add{sidenote_type}[number,symbol]{\def\jlreq at sidenote@type{#1}}
-  \jlreqsetup{sidenote_type=number}
+  \def\jlreq at 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[]}}
@@ -3434,7 +3410,6 @@
   }
   \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)
@@ -3462,8 +3437,8 @@
   \ifvmode\leavevmode\fi
   \@ifstar\jlreq at inlinenote@noauto\jlreq at inlinenote@auto
 }
-\newcommand*{\inlinenote}{\jlreq at inlinenote@{\inlinenote}}
-\newcommand*{\warichu}{\jlreq at inlinenote@{\warichu}}
+\DeclareRobustCommand*{\inlinenote}{\jlreq at inlinenote@{\inlinenote}}
+\DeclareRobustCommand*{\warichu}{\jlreq at inlinenote@{\warichu}}
 
 \newcommand*{\jlreq at inlinenote@auto}[1]{%
   % 割注初め括弧の前の場所を保存
@@ -4591,43 +4566,6 @@
   \jlreq at do
 }
 
-%.. 各種定義
-\RenewPageStyle{empty}{nombre={},odd_running_head={},even_running_head={}}
-\ifthenelse{\equal{\jlreq at article@type}{article}}{
-  \if at twoside
-    \NewPageStyle{headings}{odd_running_head={_subsection},even_running_head={_section}}
-  \else
-    \NewPageStyle{headings}{odd_running_head={_section},even_running_head={}}
-  \fi
-}{% book, article
-  \if at twoside
-    \NewPageStyle{headings}{odd_running_head={_section},even_running_head={_chapter}}
-  \else
-    \NewPageStyle{headings}{odd_running_head={_chapter},even_running_head={}}
-  \fi
-  \ModifyPageStyle{headings}{mark_format={_chapter={第\thechapter 章\quad #1}}}
-}
-\if at tate
-  \RenewPageStyle{plain}{nombre=\thepage,odd_running_head={},even_running_head={},clear_markcommand=false}
-  \NewPageStyle{myheadings}{nombre=\thepage,odd_running_head=\rightmark,even_running_head=\leftmark,clear_markcommand=false}
-  \if at twoside
-    \ModifyPageStyle{plain}{nombre_position={top-left}}
-    \ModifyPageStyle{headings}{nombre=\thepage,nombre_position=bottom-left,running_head_position=top-left}
-    \ModifyPageStyle{myheadings}{nombre_position=bottom-left,running_head_position=top-left}
-  \else
-    \ModifyPageStyle{plain}{nombre_position={top-center}}
-    \ModifyPageStyle{headings}{nombre=\thepage,nombre_position=bottom-center,running_head_position=top-center}
-    \ModifyPageStyle{myheadings}{nombre_position=bottom-center,running_head_position=top-center}
-  \fi
-\else% yoko
-  \RenewPageStyle{plain}{nombre=\thepage,odd_running_head={},even_running_head={},nombre_position={bottom-center},clear_markcommand=false}
-  \ModifyPageStyle{headings}{nombre=\thepage,nombre_position=bottom-center,running_head_position=top-center}
-  \NewPageStyle{myheadings}{nombre=\thepage,nombre_position=bottom-center,running_head_position=top-center,odd_running_head=\rightmark,even_running_head=\leftmark,clear_markcommand=false}
-\fi
-\ModifyPageStyle{plain}{font=\small}
-\ModifyPageStyle{headings}{font=\small}
-\ModifyPageStyle{myheadings}{font=\small}
-
 %. フロート関連
 % 4.3.3.dの例,縦組みの時だけど横にも適用……
 \setlength{\floatsep}{1\jlreq at gol plus 1\jlreq at gol}
@@ -4637,15 +4575,47 @@
 \dbltextfloatsep=\textfloatsep
 % 残りはデフォルトにしておく.
 
-% 4.3.1 注4
-\newlength\abovecaptionskip
-\newlength\belowcaptionskip
+%. 環境も引数にとる可能性のある\jlreqsetup用マクロ.
+% #3={<設定1>,<環境名>=<設定2>}のようなものを受け付ける.
+% #2に<設定1>が,#2@<環境名>に<設定2>が入る.#1には#2@<環境名>が定義されている<環境名>をカンマ区切りで入れる.
+% \jlreqsetup{X,env=B}の後に\jlreqsetup{Y}を指定すると,env環境に対する設定はYになるようにする.
+% ただし\jlreqsetup{env=C,Y}とした場合はenv環境に対してはC.
+\long\def\jlreq at jlreqsetup@withenv#1#2#3{%
+  \@ifundefined{#1}{\expandafter\def\csname #1\endcsname{}}{}%
+  \begingroup
+    \def\jlreq at do{}%
+    \jlreq at parsekeyval@nokey{%
+      \ifjlreq at parsekeyval@nokey at novalue{%
+        \epreto\jlreq at do{%
+          \noexpand\edef\expandonce{\csname #2\endcsname}{\unexpanded{\unexpanded{##1}}}
+          \noexpand\def\expandonce{\csname #1\endcsname}{}%
+        }%
+        \expandafter\@for\expandafter\jlreq at tempa\expandafter:\expandafter=\csname #1\endcsname\do{%
+          \epreto\jlreq at do{\noexpand\let\expandonce{\csname #2@\jlreq at tempa\endcsname}\noexpand\@undefined}%
+        }%
+      }{%
+        \eappto\jlreq at do{%
+          \noexpand\edef\expandonce{\csname #2@##1\endcsname}{\unexpanded{\unexpanded{##2}}}%
+          \unexpanded{\def\jlreq at tempa{\jlreq at helper@removeelement{##1}}}%
+          \unexpanded{\expandafter\jlreq at tempa\expandafter}{\expandonce{\csname #1\endcsname}}{\expandonce{\csname #1\endcsname}}%
+          \unexpanded{\csappto{#1}{,##1}}%
+        }%
+      }%
+    }{#3}%
+  \expandafter\endgroup
+  \jlreq at do
+}
+
 % #1@#2が定義されていれば\#1@#2の中身に,そうでなければ\#1の中身に展開される.
 % 展開は\unexpandedで抑制される.
-\def\jlreq@@makecaption at nameuse#1#2{%
+\def\jlreq at jlreqsetup@withenv at nameuse#1#2{%
   \expandafter\ifx\csname #1@#2\endcsname\relax\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi{\csexpandonce{#1}}{\csexpandonce{#1@#2}}%
 }
+% 4.3.1 注4
+\newlength\abovecaptionskip
+\newlength\belowcaptionskip
 
+%. 図表
 \newcommand{\@makecaption}[2]{{%
   % \jlreq at tempbに現在の環境を入れる.
   \@ifundefined{@currenvir}{%
@@ -4655,20 +4625,20 @@
   }{\let\jlreq at tempb=\@currenvir}%
   \reset at font\small
   \vskip\abovecaptionskip
-  \edef\jlreq at do{\unexpanded{\def\jlreq at tempa##1}{\jlreq@@makecaption at nameuse{jlreq@@makecaption at label@format}{\jlreq at tempb}}}%
+  \edef\jlreq at do{\unexpanded{\def\jlreq at tempa##1}{\jlreq at jlreqsetup@withenv at nameuse{jlreq@@makecaption at label@format at setting}{\jlreq at tempb}}}%
   \jlreq at do
-  \setbox\jlreq at tempboxa=\hbox{\jlreq@@makecaption at nameuse{jlreq@@makecaption at label@font}{\jlreq at tempb}#1}%
+  \setbox\jlreq at tempboxa=\hbox{\jlreq at jlreqsetup@withenv at nameuse{jlreq@@makecaption at label@font at setting}{\jlreq at tempb}#1}%
   \ifdim\wd\jlreq at tempboxa=0pt
-    \edef\jlreq at tempa{{\jlreq@@makecaption at nameuse{jlreq@@makecaption at font}{\jlreq at tempb}\unexpanded{#2}}}%
+    \edef\jlreq at tempa{{\jlreq at jlreqsetup@withenv at nameuse{jlreq@@makecaption at font@setting}{\jlreq at tempb}\unexpanded{#2}}}%
   \else
     \edef\jlreq at tempa{%
-      {\jlreq@@makecaption at nameuse{jlreq@@makecaption at label@font}{\jlreq at tempb}\expandonce{\jlreq at tempa{#1}}}%
-      \unexpanded{\hskip\glueexpr}\jlreq@@makecaption at nameuse{jlreq@@makecaption at after@label at space}{\jlreq at tempb}\noexpand\relax
-      {\jlreq@@makecaption at nameuse{jlreq@@makecaption at font}{\jlreq at tempb}\unexpanded{#2}}%
+      {\jlreq at jlreqsetup@withenv at nameuse{jlreq@@makecaption at label@font at setting}{\jlreq at tempb}\expandonce{\jlreq at tempa{#1}}}%
+      \unexpanded{\hskip\glueexpr}\jlreq at jlreqsetup@withenv at nameuse{jlreq@@makecaption at after@label at space@setting}{\jlreq at tempb}\noexpand\relax
+      {\jlreq at jlreqsetup@withenv at nameuse{jlreq@@makecaption at font@setting}{\jlreq at tempb}\unexpanded{#2}}%
     }%
   \fi
   \setbox\@tempboxa=\hbox{\jlreq at tempa}%
-  \edef\jlreq at tempc{\jlreq@@makecaption at nameuse{jlreq@@makecaption at align}{\jlreq at tempb}}%
+  \edef\jlreq at tempc{\jlreq at jlreqsetup@withenv at nameuse{jlreq@@makecaption at align@setting}{\jlreq at tempb}}%
   \expandafter\let\expandafter\jlreq at align\jlreq at tempc
   \ifdim\wd\@tempboxa>\hsize\relax
     {%
@@ -4686,44 +4656,55 @@
   \fi
   \vskip\belowcaptionskip}}
 
-% #2={figure=X}ならば\#1 at figureにXを入れる.そうでなければ\#1に入れる.
-\def\jlreq at caption@jlreqsetup#1#2{%
-  \jlreq at parsekeyval@nokey{%
-    \ifjlreq at parsekeyval@nokey at novalue{%
-      \expandafter\edef\csname #1\endcsname{\unexpanded{##1}}%
-    }{%
-      \expandafter\edef\csname #1@##1\endcsname{\unexpanded{##2}}%
-    }%
-  }{#2}%
-}
-\jlreq at jlreqsetup@add{caption_font}{\jlreq at caption@jlreqsetup{jlreq@@makecaption at font}{#1}}
-\jlreq at jlreqsetup@add{caption_label_font}{\jlreq at caption@jlreqsetup{jlreq@@makecaption at label@font}{#1}}
-\jlreq at jlreqsetup@add{caption_label_format}{\jlreq at caption@jlreqsetup{jlreq@@makecaption at label@format}{#1}}
-\jlreq at jlreqsetup@add{caption_after_label_space}{\jlreq at caption@jlreqsetup{jlreq@@makecaption at after@label at space}{#1}}
-\def\jlreq at caption@setalign#1#2{%
-  \jlreq at switch{#2}{
-    {center}{\let#1=c}
-    {left}{\let#1=l}
-    {right}{\let#1=r}
-    {top}{\let#1=l}
-    {bottom}{\let#1=r}
+\jlreq at jlreqsetup@add{caption_font}{\jlreq at jlreqsetup@withenv{jlreq@@makecaption at font@envlist}{jlreq@@makecaption at font@setting}{#1}}
+\jlreq at jlreqsetup@add{caption_label_font}{\jlreq at jlreqsetup@withenv{jlreq@@makecaption at label@font at envlist}{jlreq@@makecaption at label@font at setting}{#1}}
+\jlreq at jlreqsetup@add{caption_label_format}{\jlreq at jlreqsetup@withenv{jlreq@@makecaption at label@format at envlist}{jlreq@@makecaption at label@format at setting}{#1}}
+\jlreq at jlreqsetup@add{caption_after_label_space}{\jlreq at jlreqsetup@withenv{jlreq@@makecaption at after@label at space@envlist}{jlreq@@makecaption at after@label at space@setting}{#1}}
+
+\def\jlreq@@makecaption at align@clearandsetalign#1{%
+  \@for\jlreq at tempa:=\jlreq@@makecaption at align@envlist\do{%
+    \ifx\jlreq at tempa\@empty\else
+      \eappto\jlreq at generalset{\noexpand\let\expandonce{\csname jlreq@@makecaption at align@setting@\jlreq at tempa\endcsname}=\noexpand\@undefined}%
+    \fi
   }%
+  \appto\jlreq at generalset{%
+    \def\jlreq@@makecaption at align@envlist{}%
+    \let\jlreq@@makecaption at align@setting=#1%
+  }%
 }
 \jlreq at jlreqsetup@add{caption_align}{%
-  \jlreq at parsekeyval@nokey{%
-    \jlreq at ifempty{##1}{}{%
-      \jlreq at switch{##1}{%
-        {center}{\let\jlreq@@makecaption at align=c}
-        {left}{\let\jlreq@@makecaption at align=l}
-        {right}{\let\jlreq@@makecaption at align=r}
-        {top}{\let\jlreq@@makecaption at align=l}
-        {bottom}{\let\jlreq@@makecaption at align=r}
-        {\expandafter\jlreq at caption@setalign\csname jlreq@@makecaption at align@##1\endcsname{##2}}
+  \@ifundefined{jlreq@@makecaption at align@envlist}{\def\jlreq@@makecaption at align@envlist{}}{}%
+  \begingroup
+    \def\jlreq at generalset{}\def\jlreq at envset{}%
+    \jlreq at parsekeyval@nokey{%
+      \jlreq at ifempty{##1}{}{%
+        \jlreq at switch{##1}{%
+          {center}{\jlreq@@makecaption at align@clearandsetalign{c}}
+          {left}{\jlreq@@makecaption at align@clearandsetalign{l}}
+          {right}{\jlreq@@makecaption at align@clearandsetalign{r}}
+          {top}{\jlreq@@makecaption at align@clearandsetalign{l}}
+          {bottom}{\jlreq@@makecaption at align@clearandsetalign{r}}
+          {%
+            \jlreq at switch{##2}{%
+              {center}{\eappto\jlreq at envset{\noexpand\let\expandonce{\csname jlreq@@makecaption at align@setting@##1\endcsname}=c}}%
+              {left}{\eappto\jlreq at envset{\noexpand\let\expandonce{\csname jlreq@@makecaption at align@setting@##1\endcsname}=l}}%
+              {right}{\eappto\jlreq at envset{\noexpand\let\expandonce{\csname jlreq@@makecaption at align@setting@##1\endcsname}=r}}%
+              {top}{\eappto\jlreq at envset{\noexpand\let\expandonce{\csname jlreq@@makecaption at align@setting@##1\endcsname}=l}}%
+              {bottom}{\eappto\jlreq at envset{\noexpand\let\expandonce{\csname jlreq@@makecaption at align@setting@##1\endcsname}=r}}%
+            }%
+            \appto\jlreq at envset{%
+              \def\jlreq at tempa{\jlreq at helper@removeelement{##1}}%
+              \expandafter\jlreq at tempa\expandafter{\jlreq@@makecaption at align@envlist}{\jlreq@@makecaption at align@envlist}%
+              \appto\jlreq@@makecaption at align@envlist{,##1}%
+            }%
+          }%
+        }%
       }%
-    }%
-  }{#1}%
+    }{#1}%
+    \edef\jlreq at do{\expandonce{\jlreq at generalset}\expandonce{\jlreq at envset}}%
+  \expandafter\endgroup
+  \jlreq at do
 }
-\jlreqsetup{caption_font={\sffamily\bfseries},caption_label_font={\sffamily\bfseries},caption_after_label_space=1\zw,caption_label_format={#1},caption_align=center}
 % 特に根拠のない値
 \setlength\abovecaptionskip{.5\jlreq at gol}
 \setlength\belowcaptionskip{0pt}
@@ -4742,8 +4723,6 @@
 \newcommand*{\fnum at figure}{\figurename\thefigure}
 \newenvironment{figure}{\@float{figure}}{\end at float}
 \newenvironment{figure*}{\@dblfloat{figure}}{\end at dblfloat}
-\newcommand*{\listfigurename}{図目次}
-\newcommand{\figurename}{図}
 
 %.. table環境
 \newcounter{table}
@@ -4759,8 +4738,6 @@
 \newcommand*{\fnum at table}{\tablename\thetable}
 \newenvironment{table}{\@float{table}}{\end at float}
 \newenvironment{table*}{\@dblfloat{table}}{\end at dblfloat}
-\newcommand{\listtablename}{表目次}
-\newcommand{\tablename}{表}
 
 %. タイトル周り
 \newenvironment{titlepage}{%
@@ -4969,7 +4946,7 @@
     }
   \fi
 }
-%. 箇条書き.cf. JISX4051 8.4
+%. 箇条書き. cf. JISX4051 8.4
 % 用語定義型
 \newenvironment{description}{\list{}{%
   \setlength{\leftmargin}{0\zw}% 下げない
@@ -4984,136 +4961,98 @@
   }}{\endlist}
 \newcommand{\descriptionlabel}[1]{\normalfont\sffamily\bfseries #1}
 
-% enumerateとitemize
-% 見出しが一つ上のレベルからどのくらいずれているかを入れる.
-% (見出しは2\zwの箱に右/下詰めで入る.)
-\setlength\leftmargini{2\zw}
-\setlength\leftmarginii{1\zw}
-\setlength\leftmarginiii{1\zw}
-\setlength\leftmarginiv{1\zw}
-\setlength\leftmarginv{1\zw}
-\setlength\leftmarginvi{1\zw}
-
 %.. 箇条書き
-\jlreq at jlreqsetup@add{itemization_beforeafter_space}{
+% #3={<設定1>,i=<設定2>,<環境名>={<設定3>,ii=<設定4>}}のような設定を解釈する.
+% <設定2>は#2 at iに,<設定4>は#2 at ii@<環境名>に格納される.
+% <設定1>の指定はi=<設定1>,..,vi=<設定1>と等価.<設定3>も同様.
+% #1には現在何か値が定義されている環境名をカンマ区切りで入れる.
+\long\def\jlreq at jlreqsetup@itemization#1#2#3{
+  \@ifundefined{#1}{\expandafter\def\csname #1\endcsname{}}{}%
   \begingroup
-    \def\jlreq at do{}%
-    \def\jlreq at keyvallist{}%
-    \@for\@tempa:=#1\do{%
-      \expandafter\jlreq at helper@trim\expandafter{\@tempa}{\@tempa}%
-      \expandafter\jlreq at ifcontains\expandafter{\@tempa}{=}{%
-        \expandafter\appto\expandafter\jlreq at keyvallist\expandafter{\@tempa,}%
+    \def\jlreq at generalset{}%
+    \def\jlreq at levelset{}%
+    \def\jlreq at envset{}%
+    \jlreq at parsekeyval@nokey{%
+      \ifjlreq at parsekeyval@nokey at novalue{%
+        % 生の値.環境に対するものをクリアし,全ての<i-iv>に同じ値を設定
+        % 環境一覧リストもクリア.
+        \@for\jlreq at tempa:=i,ii,iii,iv,v,vi\do{%
+          \expandafter\@for\expandafter\jlreq at tempb\expandafter:\expandafter=\csname #1\endcsname\do{%
+            \ifx\jlreq at tempb\@empty\else
+              \eappto\jlreq at generalset{\noexpand\let\expandonce{\csname #2@\jlreq at tempa @\jlreq at tempb\endcsname}\noexpand\@undefined}%
+            \fi
+          }%
+          \eappto\jlreq at generalset{%
+            \noexpand\edef\expandonce{\csname #2@\jlreq at tempa\endcsname}{\unexpanded{\unexpanded{##1}}}%
+          }%
+        }%
+        \appto\jlreq at generalset{\expandafter\def\csname #1\endcsname{}}%
       }{%
-        \@for\@tempb:=i,ii,iii,iv,v,vi\do{%
-          \eappto\jlreq at do{\noexpand\def\expandonce{\csname jlreq at itemization@beforeafter at space@\@tempb\endcsname}{\expandonce{\@tempa}}}%
+        \ifthenelse{\equal{##1}{i} \OR \equal{##1}{ii} \OR \equal{##1}{iii} \OR \equal{##1}{iv} \OR \equal{##1}{v} \OR \equal{##1}{vi}}{%
+          % i=とかの時,環境に対応するものをクリアし,\#2@##1に値を入れる
+          \expandafter\@for\expandafter\jlreq at tempa\expandafter:\expandafter=\csname #1\endcsname\do{
+            \ifx\jlreq at tempa\@empty\else
+              \epreto\jlreq at envset{\noexpand\let\expandonce{\csname #2@##1@\jlreq at tempa\endcsname}\noexpand\@undefined}%
+            \fi
+          }%
+          \eappto\jlreq at envset{\noexpand\edef\expandonce{\csname #2@##1\endcsname}{\unexpanded{\unexpanded{##2}}}}%
+        }{%
+          % そうでないとき,環境.##1 = 環境名
+          \jlreq at parsekeyval@nokey{%
+            \ifjlreq at parsekeyval@nokey at novalue{%
+              % i - viまでに全てセットする.
+              \@for\jlreq at tempa:=i,ii,iii,iv,v,vi\do{%
+                \epreto\jlreq at envset{\noexpand\edef\expandonce{\csname #2@\jlreq at tempa @##1\endcsname}{\unexpanded{\unexpanded{####1}}}}%
+              }%
+            }{%
+              % ピンポイント代入
+              \eappto\jlreq at envset{\noexpand\edef\expandonce{\csname #2@####1@##1\endcsname}{\unexpanded{\unexpanded{####2}}}}%
+            }%
+          }{##2}%
+          \eappto\jlreq at envset{%
+            \unexpanded{\def\jlreq at tempa{\jlreq at helper@removeelement{##1}}}%
+            \unexpanded{\expandafter\jlreq at tempa\expandafter}{\expandonce{\csname #1\endcsname}}{\expandonce{\csname #1\endcsname}}%
+            \noexpand\appto\expandonce{\csname #1\endcsname}{\unexpanded{,##1}}%
+          }%
         }%
       }%
-    }%
-    \def\jlreq at tempa{%
-      \jlreq at parsekeyval[jlreqsetup: itemization_beforeafter_space]{%
-        {i}{\appto\jlreq at do{\def\jlreq at itemization@beforeafter at space@i{####1}}}
-        {ii}{\appto\jlreq at do{\def\jlreq at itemization@beforeafter at space@ii{####1}}}
-        {iii}{\appto\jlreq at do{\def\jlreq at itemization@beforeafter at space@iii{####1}}}
-        {iv}{\appto\jlreq at do{\def\jlreq at itemization@beforeafter at space@iv{####1}}}
-        {v}{\appto\jlreq at do{\def\jlreq at itemization@beforeafter at space@v{####1}}}
-        {vi}{\appto\jlreq at do{\def\jlreq at itemization@beforeafter at space@vi{####1}}}
-      }%
-    }%
-    \expandafter\jlreq at tempa\expandafter{\jlreq at keyvallist}%
+    }{#3}%
+    \edef\jlreq at do{\expandonce{\jlreq at generalset}\expandonce{\jlreq at levelset}\expandonce{\jlreq at envset}}%
   \expandafter\endgroup
   \jlreq at do
 }
-\jlreq at jlreqsetup@add{itemization_itemsep}{\def\jlreq at itemization@itemsep{#1}}
-\jlreqsetup{itemization_beforeafter_space={0pt,i=.5\baselineskip},itemization_itemsep=0pt}
-% enumerate, itemize用初期化
-\def\jlreq at init@list{%
-  \setlength{\labelwidth}{2\zw}%
+
+\def\jlreq at itemization@beforeafter at space@envlist{}
+\jlreq at jlreqsetup@add{itemization_beforeafter_space}{\jlreq at jlreqsetup@itemization{jlreq at itemization@beforeafter at space@envlist}{jlreq at itemization@beforeafter at space@setting}{#1}}
+\jlreq at jlreqsetup@add{itemization_itemsep}{\jlreq at jlreqsetup@withenv{jlreq at itemization@itemsep at envlist}{jlreq at itemization@itemsep at setting}{#1}}
+\jlreq at jlreqsetup@add{itemization_labelsep}{\jlreq at jlreqsetup@withenv{jlreq at itemization@labelsep at envlist}{jlreq at itemization@labelsep at setting}{#1}}
+\jlreq at jlreqsetup@add{itemization_label_length}{\jlreq at jlreqsetup@itemization{jlreq at itemization@label at length@envlist}{jlreq at itemization@label at length@setting}{#1}}
+% enumerate, itemize用初期化,#1 = i,ii,...
+\def\jlreq at init@list#1{%
   \setlength{\partopsep}{0pt}%
-  \setlength{\itemsep}{\dimexpr\jlreq at itemization@itemsep\relax}%
+  \setlength{\itemsep}{\dimexpr\jlreq at jlreqsetup@withenv at nameuse{jlreq at itemization@itemsep at setting}{\@currenvir}}%
   \setlength{\parsep}{0pt}%
   \setlength{\listparindent}{\parindent}%
-% itemizeは直後ベタ,enumerateは直後全角空き.
-  \ifthenelse{\equal{\@currenvir}{itemize}}{%
-    \setlength{\labelsep}{0\zw}%
-  }{%
-    \setlength{\labelsep}{1\zw}%
-  }%
-  % \labelsepだけあけるのは一つ目(ラベルの直後)のみ
-  \setlength{\itemindent}{\labelsep}%
+  \setlength{\labelsep}{\dimexpr\jlreq at jlreqsetup@withenv at nameuse{jlreq at itemization@labelsep at setting}{\@currenvir}\relax}%
+  \setlength{\labelwidth}{\dimexpr\jlreq at jlreqsetup@withenv at nameuse{jlreq at itemization@label at length@setting@#1}{\@currenvir}\relax}%
+  \setlength{\topsep}{\dimexpr\jlreq at jlreqsetup@withenv at nameuse{jlreq at itemization@beforeafter at space@setting@#1}{\@currenvir}\relax}%
+  \setlength{\leftmargin}{\dimexpr\csname leftmargin#1\endcsname}%
+  \setlength{\itemindent}{\dimexpr\jlreq at jlreqsetup@withenv at nameuse{jlreq at itemization@label at length@setting@#1}{\@currenvir} + \labelsep - \leftmargin\relax}%
 }
 
-\def\@listi{%
-  \jlreq at init@list
-  \setlength{\topsep}{\dimexpr\jlreq at itemization@beforeafter at space@i\relax}%
-  \setlength{\leftmargin}{\leftmargini}%
-}
+\def\@listi{\jlreq at init@list{i}}%
 \let\@listI\@listi
-\def\@listii{%
-  \jlreq at init@list
-  \setlength{\topsep}{\dimexpr\jlreq at itemization@beforeafter at space@ii\relax}%
-  \setlength{\leftmargin}{\leftmarginii}%
-}
-\def\@listiii{%
-  \jlreq at init@list
-  \setlength{\topsep}{\dimexpr\jlreq at itemization@beforeafter at space@iii\relax}%
-  \setlength{\leftmargin}{\leftmarginiii}%
-}
-\def\@listiv{%
-  \jlreq at init@list
-  \setlength{\topsep}{\dimexpr\jlreq at itemization@beforeafter at space@iv\relax}%
-  \setlength{\leftmargin}{\leftmarginiv}%
-}
-\def\@listv{%
-  \jlreq at init@list
-  \setlength{\topsep}{\dimexpr\jlreq at itemization@beforeafter at space@v\relax}%
-  \setlength{\leftmargin}{\leftmarginv}%
-}
-\def\@listvi{%
-  \jlreq at init@list
-  \setlength{\topsep}{\dimexpr\jlreq at itemization@beforeafter at space@vi\relax}%
-  \setlength{\leftmargin}{\leftmarginvi}%
-}
+\def\@listii{\jlreq at init@list{ii}}
+\def\@listiii{\jlreq at init@list{iii}}
+\def\@listiv{\jlreq at init@list{iv}}
+\def\@listv{\jlreq at init@list{v}}
+\def\@listvi{\jlreq at init@list{vi}}
 
-\if at tate
-  \renewcommand{\theenumi}{\jlreq at Kanji{enumi}}
-  \renewcommand{\theenumii}{\jlreq at rensuji{\@arabic\c at enumii}}
-  \renewcommand{\theenumiii}{\jlreq at rensuji{\@arabic\c at enumiii}}
-  \renewcommand{\theenumiv}{\jlreq at rensuji{\@arabic\c at enumiv}}
-  \newcommand{\labelenumi}{\theenumi}
-  \newcommand{\labelenumii}{\theenumii}
-  \newcommand{\labelenumiii}{\theenumiii}
-  \newcommand{\labelenumiv}{\theenumiv}
-\else
-  \renewcommand{\theenumi}{\@arabic\c at enumi}
-  \renewcommand{\theenumii}{\@alph\c at enumii}
-  \renewcommand{\theenumiii}{\@roman\c at enumiii}
-  \renewcommand{\theenumiv}{\@Alph\c at enumiv}
-  \newcommand{\labelenumi}{\theenumi.}
-  \newcommand{\labelenumii}{(\theenumii)}
-  \newcommand{\labelenumiii}{\theenumiii.}
-  \newcommand{\labelenumiv}{\theenumiv.}
-\fi
-\renewcommand{\p at enumii}{\theenumi}
-\renewcommand{\p at enumiii}{\theenumi(\theenumii)}
-\renewcommand{\p at enumiv}{\p at enumiii\theenumiii}
-
-\newcommand{\labelitemi}{\hbox to 1\zw{\hss\textbullet\hss}}
-%\newcommand{\labelitemi}{•}
-\if at tate
-  \newcommand{\labelitemii}{○}
-  \newcommand{\labelitemiii}{*}
-\else
-  \newcommand{\labelitemii}{\hbox to 1\zw{\hss\textendash\hss}}
-  \newcommand{\labelitemiii}{\hbox to 1\zw{\hss\textasteriskcentered\hss}}
-\fi
-\newcommand{\labelitemiv}{\hbox to 1\zw{\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
@@ -5299,6 +5238,7 @@
   \@mkboth{\refname}{\refname}%
   \list{\@biblabel{\@arabic\c at enumiv}}%
       {\settowidth\labelwidth{\@biblabel{#1}}%
+      \labelsep=1\zw
       \leftmargin\labelwidth
       \advance\leftmargin\labelsep
       \itemindent=0pt
@@ -5331,11 +5271,13 @@
   \columnseprule\z@ \columnsep 2\jlreq at mol
   \twocolumn[\section*{\indexname}]%
   \@mkboth{\indexname}{\indexname}%
-  \thispagestyle{plain}%
+  \jlreq at theindex@pagestyle
   \parindent\z@
   \parskip\z@ \@plus .03\jlreq at gol\relax
   \let\item\@idxitem
 }{%
+  \ifx\jlreq at theindex@savedpagestyle\@undefined\else\expandafter\pagestyle\expandafter{\jlreq at theindex@savedpagestyle}\fi
+  \let\jlreq at theindex@savedpagestyle\@undefined
   \if at restonecol\onecolumn\else\clearpage\fi
   \ifjlreq at resttate\tate\fi
   \jlreq at oldfontcommand@disable
@@ -5344,9 +5286,25 @@
 \newcommand{\subitem}{\@idxitem \hspace*{2\jlreq at mol}}
 \newcommand{\subsubitem}{\@idxitem \hspace*{3\jlreq at mol}}
 \newcommand{\indexspace}{\par \vskip 1\jlreq at gol \@plus .5\jlreq at gol \@minus .3\jlreq at gol\relax}
+\def\jlreq at theindex@pagestyle{}
+\jlreq at jlreqsetup@add{theindex_pagestyle}{
+  \def\jlreq at tempa{}% ページスタイル名
+  \def\jlreq at theindex@pagestyle{}%
+  \jlreq at tempafalse % restore
+  \jlreq at parsekeyval@nokey{%
+    \ifjlreq at parsekeyval@nokey at novalue{\def\jlreq at tempa{##1}}{%
+      \jlreq at switch{##1}{%
+        {restore}{\csname jlreq at tempa##2\endcsname}%
+      }%
+    }%
+  }{#1}%
+  \eappto\jlreq at theindex@pagestyle{\unexpanded{\let\jlreq at theindex@savedpagestyle}\ifjlreq at tempa\noexpand\jlreq at current@pagestyle\else\noexpand\@undefined\fi}%
+  \ifx\jlreq at tempa\@empty\else
+    \eappto\jlreq at theindex@pagestyle{\noexpand\pagestyle{\expandonce{\jlreq at tempa}}}%
+  \fi
+}
 
 %. 前付,後付,付録
-
 % \jlreq at matter@heading[restoreする見出し一覧を入れる制御綴]{#2@<見出し命令名>に今の見出しの中身を入れる}{生成する制御綴の名前}{設定}
 \def\jlreq at matter@heading{\@ifnextchar[{\jlreq at matter@heading@}{\jlreq at matter@heading@[]{}}}
 \def\jlreq at matter@heading@[#1]#2#3#4{%
@@ -5395,21 +5353,19 @@
         \fi
       }%
       % \jlreq at declareに\ModifyHeadingか\Renew***Headingを入れる
-      \ifx\jlreq@\@empty\else
-        \edef\jlreq at declare{\expandonce{\csname\jlreq at declaretype Heading\endcsname}{##1}}%
-        \ifthenelse{\NOT \equal{\jlreq at declaretype}{Modify}}{%
-          \ifx\jlreq at level\@empty
-            % \frontmatter時でのレベルを引用する.
-            \edef\jlreq at declare{%
-              \unexpanded{\edef\jlreq at tempa}{\noexpand\unexpanded{\expandonce{\jlreq at declare}}{\noexpand\expandonce{\expandonce{\csname jlreq at heading@level@##1\endcsname}}}}%
-              \noexpand\jlreq at tempa
-            }%
-          \else
-            \eappto\jlreq at declare{{\expandonce{\jlreq at level}}}%
-          \fi
-        }{}%
-        \eappto\jlreq at headingscmds{\expandonce{\jlreq at declare}{\expandonce{\jlreq at headingsettings}}}%
-      \fi
+      \edef\jlreq at declare{\expandonce{\csname\jlreq at declaretype Heading\endcsname}{##1}}%
+      \ifthenelse{\NOT \equal{\jlreq at declaretype}{Modify}}{%
+        \ifx\jlreq at level\@empty
+          % \frontmatter時でのレベルを引用する.
+          \edef\jlreq at declare{%
+            \unexpanded{\edef\jlreq at tempa}{\noexpand\unexpanded{\expandonce{\jlreq at declare}}{\noexpand\expandonce{\expandonce{\csname jlreq at heading@level@##1\endcsname}}}}%
+            \noexpand\jlreq at tempa
+          }%
+        \else
+          \eappto\jlreq at declare{{\expandonce{\jlreq at level}}}%
+        \fi
+      }{}%
+      \eappto\jlreq at headingscmds{\expandonce{\jlreq at declare}{\expandonce{\jlreq at headingsettings}}}%
     }{#4}%
     \edef\jlreq at do{%
       \unexpanded{\def#3}{%
@@ -5424,7 +5380,7 @@
 \def\jlreq at matter@counter at norestore#1#2{%
   \def#1{}%
   \jlreq at parsekeyval@nokey{%
-    \jlreq at parsekeyval{
+    \jlreq at parsekeyval*{
       {value}{\appto#1{\setcounter{##1}{####1}}}
       {the}{\eappto#1{\noexpand\def\expandonce{\csname the##1\endcsname}{\unexpanded{####1}}}}
     }{##2}%
@@ -5432,7 +5388,6 @@
 }
 
 \ifthenelse{\equal{\jlreq at article@type}{book}}{
-%  \tracingmacros=1
   \newif\if at mainmatter
   \@mainmattertrue
   \jlreq at jlreqsetup@add{frontmatter_pagebreak}{%
@@ -5485,6 +5440,7 @@
     \def\jlreq at pagination@frontmatterstyle{arabic}%
     \let\jlreq at pagination@mainmatterpagecommand=\pagenumbering
     \@for\jlreq at tempa:=#1\do{%
+      \expandafter\jlreq at helper@trim\expandafter{\jlreq at tempa}{\jlreq at tempa}%
       \jlreq at switch{\jlreq at tempa}{
         {continuous}{%
           \def\jlreq at pagination@mainmatterpagecommand##1{\gdef\thepage{\csname @##1\endcsname\c at page}}%
@@ -5557,6 +5513,7 @@
     \let\jlreq at pagination@backmatterpagecommand=\pagenumbering
     \def\jlreq at pagination@backmatterstyle{arabic}%
     \@for\jlreq at tempa:=#1\do{%
+      \expandafter\jlreq at helper@trim\expandafter{\jlreq at tempa}{\jlreq at tempa}%
       \jlreq at switch{\jlreq at tempa}{
         {continuous}{%
           \def\jlreq at pagination@backmatterpagecommand##1{\gdef\thepage{\csname @##1\endcsname\c at page}}%
@@ -5576,48 +5533,6 @@
     \expandafter\jlreq at pagination@backmatterpagecommand\expandafter{\jlreq at pagination@backmatterstyle}%
     \jlreq at backmatter@postcode
   }
-  \jlreqsetup{
-    frontmatter_pagebreak = cleardoublepage,
-    frontmatter_pagestyle = {plain,restore = true},
-    frontmatter_heading = {chapter={number=false, restore = true}},
-    frontmatter_counter = {
-      figure = {the = \arabic{figure},restore = true},
-      table = {the = \arabic{table},restore = true},
-    },
-    frontmatter_precode = {},
-    frontmatter_postcode = {},
-  }
-  \jlreqsetup{
-    mainmatter_pagebreak = cleardoublepage,
-    mainmatter_counter = {
-      chapter = {value = 0},
-    },
-    mainmatter_pagestyle = {},
-    mainmatter_heading = {},
-    mainmatter_precode = {},
-    mainmatter_postcode = {},
-  }
-  \if at openright
-    \jlreqsetup{backmatter_pagebreak=cleardoublepage}
-  \else
-    \jlreqsetup{backmatter_pagebreak=clearpage}
-  \fi
-  \jlreqsetup{
-    backmatter_pagestyle = plain,
-    backmatter_counter = {
-      chapter={value = 0, the = {}},
-      figure = {value = 0, the = {\arabic{figure}}},
-      table = {value = 0, the = {\arabic{table}}}
-    },
-    backmatter_heading = {chapter = {number = false}},
-    backmatter_precode = {},
-    backmatter_postcode = {}
-  }
-  \jlreqsetup{
-    frontmatter_pagination = {independent,roman},
-    mainmatter_pagination = {arabic},
-    backmatter_pagination = {continuous,arabic},
-  }
 }{}
 
 \jlreq at jlreqsetup@add{appendix_counter}{\jlreq at matter@counter at norestore{\jlreq at appendix@counter}{#1}}
@@ -5632,51 +5547,6 @@
   \jlreq at appendix@postcode
 }
 
-\ifthenelse{\equal{\jlreq at article@type}{article}}{
-  \if at tate
-    \jlreqsetup{
-      appendix_counter = {
-        section = {value = 0, the = {\jlreq at rensuji{\Alph{section}}}},
-        subsection = {value = 0},
-      }
-    }
-  \else
-    \jlreqsetup{
-      appendix_counter = {
-        section = {value = 0, the = {\Alph{chapter}}},
-        subsection = {value = 0},
-      }
-    }
-  \fi
- \jlreqsetup{appendix_heading = {},appendix_precode = {},appendix_postcode = {}}
-}{%book, report
-  \if at tate
-    \jlreqsetup{
-      appendix_counter = {
-        chapter = {value = 0, the = {\jlreq at rensuji{\Alph{chapter}}}},
-      }
-    }
- \else
-    \jlreqsetup{
-      appendix_counter = {
-        chapter = {value = 0, the = {\Alph{chapter}}},
-      }
-    }
- \fi
- \jlreqsetup{
-   appendix_heading = {
-     chapter = {label_format = {付録\thechapter}}
-   },
-   appendix_postcode = {%
-     \ifthenelse{\equal{\jlreq at current@pagestyle}{headings}}{%
-       \def\chaptermark#1{\markboth{付録\thechapter\quad #1}{}}%
-       \ModifyPageStyle{headings}{mark_format={_chapter={付録\thechapter\quad #1}}}%
-     }{}%
-   },
-   appendix_precode = {}
- }
-}
-
 %. その他諸々
 %.. 縦中横
 \edef\@tempa{%
@@ -5731,14 +5601,14 @@
 }
 \def\jlreq at warekiyear#1#2#3#4{%
   % 昭和:1989年1月7日まで
-  \ifnum0\ifnum#1<1988 1\fi\ifnum#1=1989 \ifnum#2=1 \ifnum#3<8 1\fi\fi\fi>0
+  \ifnum0\ifnum#1<1989 1\fi\ifnum#1=1989 \ifnum#2=1 \ifnum#3<8 1\fi\fi\fi>0
     昭和\jlreq at warekiyear@{#1}{1926}{#4}%
   % 平成:2019年4月末日まで
-  \else%\ifnum0\ifnum#1<2019 1\fi\ifnum#1=1989 \ifnum#2<5 1\fi\fi>0
+  \else\ifnum0\ifnum#1<2019 1\fi\ifnum#1=2019 \ifnum#2<5 1\fi\fi>0
     平成\jlreq at warekiyear@{#1}{1989}{#4}%
-%  \else
-%    新元号\jlreq at warekiyear@{#1}{2019}{#4}%
-  \fi%\fi
+  \else
+    令和\jlreq at warekiyear@{#1}{2019}{#4}%
+  \fi\fi
 }
 \def\jlreq at warekiyear@#1#2#3{\ifnum#1=#2 元年\else #3\numexpr#1-#2+1\relax 年\fi}
 \def\today{%
@@ -5766,11 +5636,6 @@
     {wareki}{\西暦false}
   }
 }
-\if at tate
-  \jlreqsetup{year_style=wareki}
-\else
-  \jlreqsetup{year_style=seireki}
-\fi
 
 % 時刻
 \hour=\time \divide\hour by 60
@@ -5813,15 +5678,301 @@
   \def\jlreq at theorem@indent{#1}
   \@ifpackageloaded{amsthm}{\jlreq at setupamsthm}{}
 }
+
+
+%. デフォルト設定
+%.. 見出し
+\if at tate
+  \renewcommand{\thepart}{\jlreq at Kanji{part}}
+  \ifthenelse{\equal{\jlreq at article@type}{article}}{}{\renewcommand{\thechapter}{\jlreq at Kanji{chapter}}}
+  \renewcommand{\thesection}{\jlreq at rensuji{\@arabic\c at section}}
+  \renewcommand{\thesubsection}{\jlreq at rensuji{\@alph\c at subsection}}
+  \renewcommand{\thesubsubsection}{\jlreq at rensuji{\@arabic\c at subsubsection}}
+  \renewcommand{\theparagraph}{(\jlreq at rensuji{\@arabic\c at paragraph})}
+  \renewcommand{\thesubparagraph}{(\jlreq at rensuji{\@arabic\c at subparagraph})}
+
+  \ifthenelse{\equal{\jlreq at article@type}{article}}{
+    \NewBlockHeading{part}{0}{font={\jlreq at keepbaselineskip{\LARGE}},indent=4\zw,lines=4,after_label_space=1\zw,second_heading_text_indent={-1\zw,1\zw},subtitle_font={\jlreq at keepbaselineskip{\large}}}
+    \if at twoside\ModifyHeading{part}{allowbreak_if_evenpage=true}\fi
+  }
+  {% book, report
+    \NewTobiraHeading{part}{-1}{label_format={第\thepart 部\hspace*{1\zw}},format={\null\vfill {\Huge\hspace*{2\zw}#1#2}\vspace*{2\jlreq at gol}}}
+    \NewBlockHeading{chapter}{0}{indent=2\zw,lines=6,label_format={第\thechapter 章},font={\huge},after_label_space=1\zw,second_heading_text_indent={-1\zw,1\zw},subtitle_font={\jlreq at keepbaselineskip{\Large}}}
+    \if at twoside\ModifyHeading{chapter}{allowbreak_if_evenpage=true}\fi
+    \renewcommand{\thechapter}{\jlreq at Kanji{chapter}}
+  }
+  \NewBlockHeading{section}{1}{font={\jlreq at keepbaselineskip{\Large}},indent=6\zw,lines=3,after_label_space=1\zw,second_heading_text_indent={-1\zw,1\zw},subtitle_font={\jlreq at keepbaselineskip{\normalsize}}}
+  \if at twoside\ModifyHeading{section}{allowbreak_if_evenpage=true}\fi
+  \NewBlockHeading{subsection}{2}{font={\jlreq at keepbaselineskip{\large}},indent=8\zw,lines=2,after_label_space=1\zw,second_heading_text_indent={-1\zw,1\zw},subtitle_font={\jlreq at keepbaselineskip{\small}}}
+  \if at twoside\ModifyHeading{subsection}{allowbreak_if_evenpage=true}\fi
+  \NewBlockHeading{subsubsection}{3}{font={\jlreq at keepbaselineskip{\normalsize}},indent=10\zw,lines=1,before_lines=1,subtitle_break=false,after_label_space=1\zw,second_heading_text_indent={-1\zw,1\zw},,subtitle_font={\jlreq at keepbaselineskip{\scriptsize}}}
+  \if at twoside\ModifyHeading{subsubsection}{allowbreak_if_evenpage=true}\fi
+  \NewRuninHeading{paragraph}{4}{font={\jlreq at keepbaselineskip{\normalsize}}}
+  \NewRuninHeading{subparagraph}{5}{font={\jlreq at keepbaselineskip{\normalsize}},indent=1\zw}
+\else% yoko
+  \renewcommand{\thepart}{\Roman{part}}
+  \renewcommand{\thesubsection}{\thesection .\arabic{subsection}}
+  \renewcommand{\thesubsubsection}{\thesubsection .\arabic{subsubsection}}
+  \renewcommand{\theparagraph}{\thesubsubsection .\arabic{paragraph}}
+  \renewcommand{\thesubparagraph}{\theparagraph .\arabic{subparagraph}}
+  \ifthenelse{\equal{\jlreq at article@type}{article}}{
+    \NewBlockHeading{part}{0}{font={\jlreq at keepbaselineskip{\LARGE\sffamily\bfseries}},label_format={第\thepart 部},lines=4,after_label_space=1\zw,second_heading_text_indent={-1\zw,1\zw},subtitle_font={\jlreq at keepbaselineskip{\large}}}
+    \renewcommand{\thesection}{\arabic{section}}
+  }
+  {% book, report
+    \NewTobiraHeading{part}{-1}{label_format={第\thepart 部\hspace*{1\jlreq at gol}},format={\null\vfil {\Huge\sffamily\bfseries #1#2}\vfil}}
+    \NewBlockHeading{chapter}{0}{%
+      font={\jlreq at keepbaselineskip{\huge\sffamily\bfseries}},
+      label_format={第\thechapter 章},
+      lines=5,after_label_space=1\zw,second_heading_text_indent={-1\zw,1\zw},
+      subtitle_font={\jlreq at keepbaselineskip{\Large}}}
+    \renewcommand{\thechapter}{\arabic{chapter}}
+    \renewcommand{\thesection}{\thechapter.\arabic{section}}
+  }
+  \NewBlockHeading{section}{1}{font={\jlreq at keepbaselineskip{\Large\sffamily\bfseries}},lines=3,after_label_space=1\zw,second_heading_text_indent={-1\zw,1\zw},subtitle_font={\jlreq at keepbaselineskip{\normalsize}}}
+  \NewBlockHeading{subsection}{2}{font={\jlreq at keepbaselineskip{\large\sffamily\bfseries}},lines=2,after_label_space=1\zw,second_heading_text_indent={-1\zw,1\zw},subtitle_font={\jlreq at keepbaselineskip{\small}}}
+  \NewBlockHeading{subsubsection}{3}{font={\jlreq at keepbaselineskip{\normalsize\sffamily\bfseries}},lines=1,before_lines=1,subtitle_break=false,after_label_space=1\zw,second_heading_text_indent={-1\zw,1\zw},subtitle_font={\jlreq at keepbaselineskip{\scriptsize}}}
+  \NewRuninHeading{paragraph}{4}{font={\jlreq at keepbaselineskip{\normalsize\sffamily\bfseries}},indent=1\zw}
+  \NewRuninHeading{subparagraph}{5}{font={\jlreq at keepbaselineskip{\normalsize\sffamily\bfseries}},indent=2\zw}
+\fi
+
+\ifthenelse{\equal{\jlreq at article@type}{article}}{}{% book, report
+  \if at openright
+    \ModifyHeading{part}{type=naka}
+    \if at tate
+      \ModifyHeading{chapter}{pagebreak=begin_with_even_page}
+    \else
+      \ModifyHeading{chapter}{pagebreak=begin_with_odd_page}
+    \fi
+  \else
+    \ModifyHeading{part}{type=han}
+    \ModifyHeading{chapter}{pagebreak=clearpage}
+  \fi
+}
+
+%.. ページスタイル
+\RenewPageStyle{empty}{nombre={},odd_running_head={},even_running_head={}}
+\ifthenelse{\equal{\jlreq at article@type}{article}}{
+  \if at twoside
+    \NewPageStyle{headings}{odd_running_head={_subsection},even_running_head={_section}}
+  \else
+    \NewPageStyle{headings}{odd_running_head={_section},even_running_head={}}
+  \fi
+}{% book, article
+  \if at twoside
+    \NewPageStyle{headings}{odd_running_head={_section},even_running_head={_chapter}}
+  \else
+    \NewPageStyle{headings}{odd_running_head={_chapter},even_running_head={}}
+  \fi
+  \ModifyPageStyle{headings}{mark_format={_chapter={第\thechapter 章\quad #1}}}
+}
+\if at tate
+  \RenewPageStyle{plain}{nombre=\thepage,odd_running_head={},even_running_head={},clear_markcommand=false}
+  \NewPageStyle{myheadings}{nombre=\thepage,odd_running_head=\rightmark,even_running_head=\leftmark,clear_markcommand=false}
+  \if at twoside
+    \ModifyPageStyle{plain}{nombre_position={top-left}}
+    \ModifyPageStyle{headings}{nombre=\thepage,nombre_position=bottom-left,running_head_position=top-left}
+    \ModifyPageStyle{myheadings}{nombre_position=bottom-left,running_head_position=top-left}
+  \else
+    \ModifyPageStyle{plain}{nombre_position={top-center}}
+    \ModifyPageStyle{headings}{nombre=\thepage,nombre_position=bottom-center,running_head_position=top-center}
+    \ModifyPageStyle{myheadings}{nombre_position=bottom-center,running_head_position=top-center}
+  \fi
+\else% yoko
+  \RenewPageStyle{plain}{nombre=\thepage,odd_running_head={},even_running_head={},nombre_position={bottom-center},clear_markcommand=false}
+  \ModifyPageStyle{headings}{nombre=\thepage,nombre_position=bottom-center,running_head_position=top-center}
+  \NewPageStyle{myheadings}{nombre=\thepage,nombre_position=bottom-center,running_head_position=top-center,odd_running_head=\rightmark,even_running_head=\leftmark,clear_markcommand=false}
+\fi
+\ModifyPageStyle{plain}{font=\small}
+\ModifyPageStyle{headings}{font=\small}
+\ModifyPageStyle{myheadings}{font=\small}
+
+%.. 注
+\jlreqsetup{reference_mark=inline}
+\if at tate
+  \jlreqsetup{footnote_indent=1\zw}% 根拠なし
+\else
+  \jlreqsetup{footnote_indent=0pt}% (4.2.5.b)
+\fi
+\jlreqsetup{footnote_second_indent=1\zw}
+\jlreqsetup{endnote_second_indent=2\zw}
+\jlreqsetup{endnote_position=headings}
+\ifdim\marginparwidth>0pt
+  \jlreqsetup{sidenote_type=number}
+  \jlreqsetup{sidenote_symbol=*,sidenote_keyword_font={}}
+\fi
+
+%.. キャプション
+\jlreqsetup{
+  caption_font={\sffamily\bfseries},
+  caption_label_font={\sffamily\bfseries},
+  caption_after_label_space=1\zw,
+  caption_label_format={#1},
+  caption_align=center
+}
+
+%.. 箇条書き
+\if at tate
+  \renewcommand{\theenumi}{\jlreq at Kanji{enumi}}
+  \renewcommand{\theenumii}{\jlreq at rensuji{\@arabic\c at enumii}}
+  \renewcommand{\theenumiii}{\jlreq at rensuji{\@arabic\c at enumiii}}
+  \renewcommand{\theenumiv}{\jlreq at rensuji{\@arabic\c at enumiv}}
+  \newcommand{\labelenumi}{\theenumi}
+  \newcommand{\labelenumii}{\theenumii}
+  \newcommand{\labelenumiii}{\theenumiii}
+  \newcommand{\labelenumiv}{\theenumiv}
+\else
+  \renewcommand{\theenumi}{\@arabic\c at enumi}
+  \renewcommand{\theenumii}{\@alph\c at enumii}
+  \renewcommand{\theenumiii}{\@roman\c at enumiii}
+  \renewcommand{\theenumiv}{\@Alph\c at enumiv}
+  \newcommand{\labelenumi}{\theenumi.\hspace{.5\zw}}
+  \newcommand{\labelenumii}{(\theenumii)\hspace{.5\zw}}
+  \newcommand{\labelenumiii}{\theenumiii.\hspace{.5\zw}}
+  \newcommand{\labelenumiv}{\theenumiv.\hspace{.5\zw}}
+\fi
+\renewcommand{\p at enumii}{\theenumi}
+\renewcommand{\p at enumiii}{\theenumi(\theenumii)}
+\renewcommand{\p at enumiv}{\p at enumiii\theenumiii}
+
+\newcommand{\labelitemi}{\hbox to 1\zw{\hss\textbullet\hss}}
+%\newcommand{\labelitemi}{•}
+\if at tate
+  \newcommand{\labelitemii}{○}
+  \newcommand{\labelitemiii}{*}
+\else
+  \newcommand{\labelitemii}{\hbox to 1\zw{\hss\textendash\hss}}
+  \newcommand{\labelitemiii}{\hbox to 1\zw{\hss\textasteriskcentered\hss}}
+\fi
+\newcommand{\labelitemiv}{\hbox to 1\zw{\hss ・\hss}}
+
+% 見出しが一つ上のレベルからどのくらいずれているかを入れる.
+\setlength\leftmargini{2\zw}
+\setlength\leftmarginii{2\zw}
+\setlength\leftmarginiii{1\zw}
+\setlength\leftmarginiv{1\zw}
+\setlength\leftmarginv{1\zw}
+\setlength\leftmarginvi{1\zw}
+\jlreqsetup{
+  itemization_beforeafter_space={0pt,i=.5\baselineskip},
+  itemization_itemsep=0pt,
+  itemization_labelsep={0pt},
+  itemization_label_length={1\zw,i=2\zw,ii=2\zw}
+}
+
+%.. 引用
+\jlreqsetup{
+  quote_indent=2\zw,
+  quote_end_indent=0pt,
+  quote_fontsize=,
+  quote_beforeafter_space=0pt
+}
+
+%.. その他
+\ifthenelse{\equal{\jlreq at article@type}{book}}{
+  \jlreqsetup{
+    frontmatter_pagebreak = cleardoublepage,
+    frontmatter_pagestyle = {plain,restore = true},
+    frontmatter_heading = {chapter={number=false, restore = true}},
+    frontmatter_counter = {
+      figure = {the = \arabic{figure},restore = true},
+      table = {the = \arabic{table},restore = true},
+    },
+    frontmatter_precode = {},
+    frontmatter_postcode = {},
+  }
+  \jlreqsetup{
+    mainmatter_pagebreak = cleardoublepage,
+    mainmatter_counter = {
+      chapter = {value = 0},
+    },
+    mainmatter_pagestyle = {},
+    mainmatter_heading = {},
+    mainmatter_precode = {},
+    mainmatter_postcode = {},
+  }
+  \if at openright
+    \jlreqsetup{backmatter_pagebreak=cleardoublepage}
+  \else
+    \jlreqsetup{backmatter_pagebreak=clearpage}
+  \fi
+  \jlreqsetup{
+    backmatter_pagestyle = plain,
+    backmatter_counter = {
+      chapter={value = 0, the = {}},
+      figure = {value = 0, the = {\arabic{figure}}},
+      table = {value = 0, the = {\arabic{table}}}
+    },
+    backmatter_heading = {chapter = {number = false}},
+    backmatter_precode = {},
+    backmatter_postcode = {}
+  }
+  \jlreqsetup{
+    frontmatter_pagination = {independent,roman},
+    mainmatter_pagination = {arabic},
+    backmatter_pagination = {continuous,arabic},
+  }
+}{}
+\ifthenelse{\equal{\jlreq at article@type}{article}}{
+  \if at tate
+    \jlreqsetup{
+      appendix_counter = {
+        section = {value = 0, the = {\jlreq at rensuji{\Alph{section}}}},
+        subsection = {value = 0},
+      }
+    }
+  \else
+    \jlreqsetup{
+      appendix_counter = {
+        section = {value = 0, the = {\Alph{chapter}}},
+        subsection = {value = 0},
+      }
+    }
+  \fi
+ \jlreqsetup{appendix_heading = {},appendix_precode = {},appendix_postcode = {}}
+}{%book, report
+  \if at tate
+    \jlreqsetup{
+      appendix_counter = {
+        chapter = {value = 0, the = {\jlreq at rensuji{\Alph{chapter}}}},
+      }
+    }
+ \else
+    \jlreqsetup{
+      appendix_counter = {
+        chapter = {value = 0, the = {\Alph{chapter}}},
+      }
+    }
+ \fi
+ \jlreqsetup{
+   appendix_heading = {
+     chapter = {label_format = {付録\thechapter}}
+   },
+   appendix_postcode = {%
+     \ifthenelse{\equal{\jlreq at current@pagestyle}{headings}}{%
+       \def\chaptermark#1{\markboth{付録\thechapter\quad #1}{}}%
+       \ModifyPageStyle{headings}{mark_format={_chapter={付録\thechapter\quad #1}}}%
+     }{}%
+   },
+   appendix_precode = {}
+ }
+}
+\jlreqsetup{theindex_pagestyle=plain}
+\jlreqsetup{year_style=seireki}
 \jlreqsetup{theorem_beforeafter_space=1\baselineskip,theorem_indent=0pt}
 
 
-% デフォルト設定
 \newcommand{\contentsname}{目次}
 \newcommand{\refname}{参考文献}
 \newcommand{\indexname}{索引}
+\newcommand{\listfigurename}{図目次}
+\newcommand{\figurename}{図}
+\newcommand{\listtablename}{表目次}
+\newcommand{\tablename}{表}
 \pagestyle{plain}
 \pagenumbering{arabic}
+
+%. 最終処理
 \if at twocolumn
   \twocolumn
   \sloppy



More information about the tex-live-commits mailing list