texlive[74652] Master/texmf-dist: jlreq (16mar25)

commits+karl at tug.org commits+karl at tug.org
Sun Mar 16 20:57:41 CET 2025


Revision: 74652
          https://tug.org/svn/texlive?view=revision&revision=74652
Author:   karl
Date:     2025-03-16 20:57:41 +0100 (Sun, 16 Mar 2025)
Log Message:
-----------
jlreq (16mar25)

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-ja.pdf
    trunk/Master/texmf-dist/doc/latex/jlreq/jlreq.html
    trunk/Master/texmf-dist/doc/latex/jlreq/jlreq.pdf
    trunk/Master/texmf-dist/fonts/vf/public/jlreq/ubjlreq-v.vf
    trunk/Master/texmf-dist/fonts/vf/public/jlreq/ubjlreq.vf
    trunk/Master/texmf-dist/fonts/vf/public/jlreq/ubjlreqg-v.vf
    trunk/Master/texmf-dist/fonts/vf/public/jlreq/ubjlreqg.vf
    trunk/Master/texmf-dist/fonts/vf/public/jlreq/ubzjlreq-v.vf
    trunk/Master/texmf-dist/fonts/vf/public/jlreq/ubzjlreq.vf
    trunk/Master/texmf-dist/fonts/vf/public/jlreq/ubzjlreqg-v.vf
    trunk/Master/texmf-dist/fonts/vf/public/jlreq/ubzjlreqg.vf
    trunk/Master/texmf-dist/fonts/vf/public/jlreq/ujlreq-jidori.vf
    trunk/Master/texmf-dist/fonts/vf/public/jlreq/ujlreq-v-jidori.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-jidori.vf
    trunk/Master/texmf-dist/fonts/vf/public/jlreq/ujlreqg-v-jidori.vf
    trunk/Master/texmf-dist/fonts/vf/public/jlreq/ujlreqg-v.vf
    trunk/Master/texmf-dist/fonts/vf/public/jlreq/ujlreqg.vf
    trunk/Master/texmf-dist/fonts/vf/public/jlreq/uzjlreq-v.vf
    trunk/Master/texmf-dist/fonts/vf/public/jlreq/uzjlreq.vf
    trunk/Master/texmf-dist/fonts/vf/public/jlreq/uzjlreqg-v.vf
    trunk/Master/texmf-dist/fonts/vf/public/jlreq/uzjlreqg.vf
    trunk/Master/texmf-dist/tex/latex/jlreq/jlreq-complements.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	2025-03-16 19:57:23 UTC (rev 74651)
+++ trunk/Master/texmf-dist/doc/latex/jlreq/README-ja.md	2025-03-16 19:57:41 UTC (rev 74652)
@@ -121,6 +121,7 @@
     - `zw`, `zh`:全角幅として解釈されます.
 * `<コード>`:LaTeXのコードです.
 * `<フォント設定コード>`:`\Large`や`\bfseries`のようなフォント設定の命令です.`\Large\bfseries`のように複数指定することもできます.
+* `<カウンタ名>`: LaTeXのカウンタの名前です.
 
 
 ### 基本版面
@@ -162,6 +163,7 @@
 * `sidenote_type=[number/symbol]`:傍注と本文との対応の方法を指定します.`number`が規定で,注の位置に通し番号が入り,それにより対応が示されます.`symbol`とすると,注の位置に特定の記号が入り,また注がついている単語が強調されます.
 * `sidenote_symbol=<コード>`:`sidenote_symbol=symbol`の時に,注の位置に入る記号.デフォルト*
 * `sidenote_keyword_font=<フォント設定コード>`:`sidenote_symbol=symbol`の時に,注のついている単語のフォント指定.デフォルトは無し(強調しない)
+* `endnote_counter=<カウンタ名>`: 後注に使うカウンタ名です.デフォルトは`endnote_counter=footnote`.
 * `endnote_second_indent=<寸法>`: 後柱の二行目以降の字下げ量を指定します.一行目からの相対字下げ量です.
 * `endnote_position=[headings/paragraph/{_<見出し名1>,_<見出し名2>,...}]`:後注の出力場所を指定します.`headings`は各見出しの直前(デフォルト),`paragraph`は改段落の際に出力します.また,`endnote_position={_chapter,_section}`とすると,`\chapter`と`\section`の直前に出力します.`<_見出し名>`を指定するためには,対象の見出しが本クラスファイルの機能を使って作られていなければいけません.
 * `warichu_opening=<コード>`, `warichu_closing=<コード>`:それぞれ,割注の前と後ろに挿入されます.デフォルトは`(`と`)`です.
@@ -204,6 +206,8 @@
 * `mainmatter_pagination`に`continuous`と`independent`は指定できません.
 * `appendix_pagebreak`,`appendix_pagestyle`,`appendix_pagination`はありません.
 
+クラスオプションに`book`をしているときには,デフォルトでは`frontmatter_heading`に`chapter={number=false, restore = true}`および`backmatter_heading = {chapter = {number = false}}`を指定しています.したがって,`\chapter`を窓見出しに変更している場合はエラーが発生しますので,必要に応じて設定をし直してください.
+
 ### 概要
 * `abstract_with_maketitle=[true/false]`:abstract環境が`\maketitle`に先行して書かれた場合,その中身を`\maketitle`とともに遅延します.二段組みの場合でも一段で出力されます.デフォルトは`false`です.`article`および`report`時のみ.
 
@@ -600,6 +604,11 @@
     - Makefileでのパターンマッチングの使用をやめた
 * 2024-10-03
     - Makefile内のvf一覧にtfmが紛れていたのを修正.
+* 2025-03-16
+    - hyperrefパッケージへの対応を進めた.
+    - 割注の深さと高さをまわりにあわせた.
+    - 見出し内での`\addconentsline`の発行場所を変更.
+    - 定理環境前後の空白や見出しのフォントなどのデフォルト値を少し変更.
 
 
 --------------

Modified: trunk/Master/texmf-dist/doc/latex/jlreq/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/jlreq/README.md	2025-03-16 19:57:23 UTC (rev 74651)
+++ trunk/Master/texmf-dist/doc/latex/jlreq/README.md	2025-03-16 19:57:41 UTC (rev 74652)
@@ -101,6 +101,7 @@
     - `zw`, `zh`: Interpreted as full-width width.
 * `<code>`: LaTeX code.
 * `<font setting code>`: Commands for font settings, such as `\Large` or `\bfseries`. Multiple specifications like `\Large\bfseries` are also possible.
+* `<counter_name>`: The name of the counter in LaTeX.
 
 ### Kihon-hanmen
 Class option.
@@ -144,6 +145,7 @@
 * `sidenote_type=[number/symbol]`: Determines the correspondence between the sidenote and the text. Options are `number` (default, with a serial number indicating the note) or `symbol` (with a specific symbol and the word with the note emphasized).
 * `sidenote_symbol=<code>`: When `sidenote_type=symbol` is specified, this sets the symbol to be used at the note's location. THe default is *
 * `sidenote_keyword_font=<font setting code>`: Specifies the font for the word with the sidenote when `sidenote_type=symbol` is used.
+* `endnote_counter=<counter_name>`: The counter name used for endnotes. The default is endnote_counter=footnote.
 * `endnote_second_indent=<dimension>`: Sets the indent for the second and subsequent lines of endnotes.
 ` endnote_position=[headings/paragraph/{_<heading name 1>,_<heading name 2>,...}]`: The output location of the endnote can be specified. `headings` will output the note before each heading (default), `paragraph` will output it when a new paragraph starts, and specifying `endnote_position={_chapter,_section}` will output it before `\chapter` and `\section`. To specify `<_heading name>`, the target heading must be created using the functionality of this class file.
 * `warichu_opening=<code>`, `warichu_closing=<code>`: These are inserted before and after the warichu (split annotation). The default is parentheses ().
@@ -185,6 +187,9 @@
 * Pmainmatter_pagination` cannot specify continuous or independent.
 * `appendix_pagebreak`, `appendix_pagestyle`, `appendix_pagination` do not exist.
 
+When using the `book` class option, by default, `frontmatter_heading` is set to `chapter={number=false, restore=true}` and `backmatter_heading` is set to `chapter={number=false}`. Therefore, if you change `\chapter` to a cutin heading, an error will occur, so please adjust the settings as needed.
+
+
 #### Abstract
 * `abstract_with_maketitle=[true/false]`: If the abstract environment is written before `\maketitle`, it delays its content and outputs it with `\maketitle`. Even in the case of two columns, it is output in one column. The default is false. This option is available only when `article` and `report` are specified.
 
@@ -586,6 +591,11 @@
     - Removed pattern matchings from Makefile.
 * 2024-10-04
     - Fixed: tfm files are mixed into the list of vf files in Makefile.
+* 2025-03-16
+    - Improved compatibility with the hyperref package.
+    - Adjusted the depth and height of side notes to match the surrounding text.
+    - Changed the placement of `\addcontentsline` in heading commands.
+    - Modified the default values for spacing around theorem environments and the font of headings.
 
 
 --------------

Modified: trunk/Master/texmf-dist/doc/latex/jlreq/jlreq-ja.html
===================================================================
--- trunk/Master/texmf-dist/doc/latex/jlreq/jlreq-ja.html	2025-03-16 19:57:23 UTC (rev 74651)
+++ trunk/Master/texmf-dist/doc/latex/jlreq/jlreq-ja.html	2025-03-16 19:57:41 UTC (rev 74652)
@@ -197,6 +197,7 @@
 </ul></li>
 <li><code><コード></code>:LaTeXのコードです.</li>
 <li><code><フォント設定コード></code>:<code>\Large</code>や<code>\bfseries</code>のようなフォント設定の命令です.<code>\Large\bfseries</code>のように複数指定することもできます.</li>
+<li><code><カウンタ名></code>: LaTeXのカウンタの名前です.</li>
 </ul>
 <h3 id="基本版面">基本版面</h3>
 <p>クラスオプションです.</p>
@@ -246,6 +247,8 @@
 <li><code>sidenote_type=[number/symbol]</code>:傍注と本文との対応の方法を指定します.<code>number</code>が規定で,注の位置に通し番号が入り,それにより対応が示されます.<code>symbol</code>とすると,注の位置に特定の記号が入り,また注がついている単語が強調されます.</li>
 <li><code>sidenote_symbol=<コード></code>:<code>sidenote_symbol=symbol</code>の時に,注の位置に入る記号.デフォルト*</li>
 <li><code>sidenote_keyword_font=<フォント設定コード></code>:<code>sidenote_symbol=symbol</code>の時に,注のついている単語のフォント指定.デフォルトは無し(強調しない)</li>
+<li><code>endnote_counter=<カウンタ名></code>:
+後注に使うカウンタ名です.デフォルトは<code>endnote_counter=footnote</code>.</li>
 <li><code>endnote_second_indent=<寸法></code>:
 後柱の二行目以降の字下げ量を指定します.一行目からの相対字下げ量です.</li>
 <li><code>endnote_position=[headings/paragraph/{_<見出し名1>,_<見出し名2>,...}]</code>:後注の出力場所を指定します.<code>headings</code>は各見出しの直前(デフォルト),<code>paragraph</code>は改段落の際に出力します.また,<code>endnote_position={_chapter,_section}</code>とすると,<code>\chapter</code>と<code>\section</code>の直前に出力します.<code><_見出し名></code>を指定するためには,対象の見出しが本クラスファイルの機能を使って作られていなければいけません.</li>
@@ -299,6 +302,7 @@
 <li><code>mainmatter_pagination</code>に<code>continuous</code>と<code>independent</code>は指定できません.</li>
 <li><code>appendix_pagebreak</code>,<code>appendix_pagestyle</code>,<code>appendix_pagination</code>はありません.</li>
 </ul>
+<p>クラスオプションに<code>book</code>をしているときには,デフォルトでは<code>frontmatter_heading</code>に<code>chapter={number=false, restore = true}</code>および<code>backmatter_heading = {chapter = {number = false}}</code>を指定しています.したがって,<code>\chapter</code>を窓見出しに変更している場合はエラーが発生しますので,必要に応じて設定をし直してください.</p>
 <h3 id="概要">概要</h3>
 <ul>
 <li><code>abstract_with_maketitle=[true/false]</code>:abstract環境が<code>\maketitle</code>に先行して書かれた場合,その中身を<code>\maketitle</code>とともに遅延します.二段組みの場合でも一段で出力されます.デフォルトは<code>false</code>です.<code>article</code>および<code>report</code>時のみ.</li>
@@ -787,6 +791,13 @@
 <ul>
 <li>Makefile内のvf一覧にtfmが紛れていたのを修正.</li>
 </ul></li>
+<li>2025-03-16
+<ul>
+<li>hyperrefパッケージへの対応を進めた.</li>
+<li>割注の深さと高さをまわりにあわせた.</li>
+<li>見出し内での<code>\addconentsline</code>の発行場所を変更.</li>
+<li>定理環境前後の空白や見出しのフォントなどのデフォルト値を少し変更.</li>
+</ul></li>
 </ul>
 <hr />
 <p>Noriyuki Abe <a

Modified: trunk/Master/texmf-dist/doc/latex/jlreq/jlreq-ja.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/jlreq/jlreq.html
===================================================================
--- trunk/Master/texmf-dist/doc/latex/jlreq/jlreq.html	2025-03-16 19:57:23 UTC (rev 74651)
+++ trunk/Master/texmf-dist/doc/latex/jlreq/jlreq.html	2025-03-16 19:57:41 UTC (rev 74652)
@@ -278,6 +278,8 @@
 <li><code><font setting code></code>: Commands for font settings,
 such as <code>\Large</code> or <code>\bfseries</code>. Multiple
 specifications like <code>\Large\bfseries</code> are also possible.</li>
+<li><code><counter_name></code>: The name of the counter in
+LaTeX.</li>
 </ul>
 <h3 id="kihon-hanmen">Kihon-hanmen</h3>
 <p>Class option.</p>
@@ -383,6 +385,8 @@
 <li><code>sidenote_keyword_font=<font setting code></code>:
 Specifies the font for the word with the sidenote when
 <code>sidenote_type=symbol</code> is used.</li>
+<li><code>endnote_counter=<counter_name></code>: The counter name
+used for endnotes. The default is endnote_counter=footnote.</li>
 <li><code>endnote_second_indent=<dimension></code>: Sets the
 indent for the second and subsequent lines of endnotes.
 <code> endnote_position=[headings/paragraph/{_<heading name 1>,_<heading name 2>,...}]</code>:
@@ -506,6 +510,13 @@
 <li><code>appendix_pagebreak</code>, <code>appendix_pagestyle</code>,
 <code>appendix_pagination</code> do not exist.</li>
 </ul>
+<p>When using the <code>book</code> class option, by default,
+<code>frontmatter_heading</code> is set to
+<code>chapter={number=false, restore=true}</code> and
+<code>backmatter_heading</code> is set to
+<code>chapter={number=false}</code>. Therefore, if you change
+<code>\chapter</code> to a cutin heading, an error will occur, so please
+adjust the settings as needed.</p>
 <h4 id="abstract">Abstract</h4>
 <ul>
 <li><code>abstract_with_maketitle=[true/false]</code>: If the abstract
@@ -1295,6 +1306,16 @@
 <li>Fixed: tfm files are mixed into the list of vf files in
 Makefile.</li>
 </ul></li>
+<li>2025-03-16
+<ul>
+<li>Improved compatibility with the hyperref package.</li>
+<li>Adjusted the depth and height of side notes to match the surrounding
+text.</li>
+<li>Changed the placement of <code>\addcontentsline</code> in heading
+commands.</li>
+<li>Modified the default values for spacing around theorem environments
+and the font of headings.</li>
+</ul></li>
 </ul>
 <hr />
 <p>Noriyuki Abe <a

Modified: trunk/Master/texmf-dist/doc/latex/jlreq/jlreq.pdf
===================================================================
(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-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-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-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-jidori.vf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/fonts/vf/public/jlreq/ujlreq-v-jidori.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-jidori.vf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/fonts/vf/public/jlreq/ujlreqg-v-jidori.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-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-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-complements.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/jlreq/jlreq-complements.sty	2025-03-16 19:57:23 UTC (rev 74651)
+++ trunk/Master/texmf-dist/tex/latex/jlreq/jlreq-complements.sty	2025-03-16 19:57:41 UTC (rev 74652)
@@ -1,5 +1,5 @@
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{jlreq-complements}[2024/08/23 jlreq-complements]
+\ProvidesPackage{jlreq-complements}[2025/03/16 jlreq-complements]
 \RequirePackage{jlreq-helpers}[2024/02/13]
 
 \ExplSyntaxOn
@@ -71,7 +71,7 @@
 %. thebibliography
 \prop_new:N \g__jlreq_complements_thebibliography_prop
 
-\clist_map_inline:nn { heading,mark,precode,postcode,indent,after_label_space } {
+\clist_map_inline:nn { heading,mark,precode,postcode,presystemcode,postsystemcode,indent,after_label_space } {
   \keys_define:Vn \g__jlreq_complements_setupname_str {
     thebibliography_#1 .code:n = {
       \prop_gput:Nnn \g__jlreq_complements_thebibliography_prop { #1 } { ##1 }
@@ -86,9 +86,12 @@
   thebibliography_indent = { 0pt },
   thebibliography_precode = {},
   thebibliography_postcode = {},
+  thebibliography_presystemcode = {},
+  thebibliography_postsystemcode = {},
 }
 
 \renewenvironment{thebibliography}[1]{%
+  \prop_item:Nn \g__jlreq_complements_thebibliography_prop { presystemcode }
   \prop_item:Nn \g__jlreq_complements_thebibliography_prop { precode }
   \prop_item:Nn \g__jlreq_complements_thebibliography_prop { heading }
   \prop_item:Nn \g__jlreq_complements_thebibliography_prop { mark }
@@ -111,12 +114,13 @@
   \def\@noitemerr{\@latex at warning{Empty~`thebibliography'~environment}}%
   \endlist
   \prop_item:Nn \g__jlreq_complements_thebibliography_prop { postcode }
+  \prop_item:Nn \g__jlreq_complements_thebibliography_prop { postsystemcode }
 }
 \let\@openbib at code\@empty
 
 %. theindex
 \prop_new:N \g__jlreq_complements_theindex_prop
-\clist_map_inline:nn { precode,postcode,heading,mark,column_gap,column_rule_width,pagestyle } {
+\clist_map_inline:nn { precode,postcode,presystemcode,postsystemcode,heading,mark,column_gap,column_rule_width,pagestyle } {
   \keys_define:Vn \g__jlreq_complements_setupname_str {
     theindex_#1 .code:n = {
       \prop_gput:Nnn \g__jlreq_complements_theindex_prop { #1 } { ##1 }
@@ -135,6 +139,8 @@
 \keys_set:Vn \g__jlreq_complements_setupname_str {
   theindex_precode = {},
   theindex_postcode = {},
+  theindex_presystemcode = {},
+  theindex_postsystemcode = {},
   theindex_heading = { \section*{\indexname} },
   theindex_mark = { \@mkboth{\indexname}{\indexname} },
   theindex_column_gap = { 2\jlreq at zw },
@@ -149,6 +155,7 @@
 \bool_new:N \l__jlreq_complements_resttate_bool
 \bool_new:N \l__jlreq_complements_theindex_maincolumn_bool
 \renewenvironment{theindex}{%
+  \prop_item:Nn \g__jlreq_complements_theindex_prop { presystemcode }
   \prop_item:Nn \g__jlreq_complements_theindex_prop { precode }
   \bool_set_false:N \l__jlreq_complements_resttate_bool
   \bool_if:NT \g__jlreq_complements_theindex_yoko_bool {
@@ -182,6 +189,7 @@
   \clearpage
   \bool_if:NT \l__jlreq_complements_resttate_bool { \tate }
   \prop_item:Nn \g__jlreq_complements_theindex_prop { postcode }
+  \prop_item:Nn \g__jlreq_complements_theindex_prop { postsystemcode }
 }
 
 %. 定理環境
@@ -201,7 +209,7 @@
 }
 
 \keys_set:Vn \g__jlreq_complements_setupname_str {
-  theorem_beforeafter_space=1\baselineskip,
+  theorem_beforeafter_space=0.5\baselineskip,
   theorem_indent=0pt,
   theorem_label_font = {\bfseries\gtfamily\sffamily},
   theorem_font = {\normalfont},
@@ -210,12 +218,15 @@
 
 \let\jlreq at complements@original@@begintheorem=\@begintheorem
 \let\jlreq at complements@original@@opargbegintheorem=\@opargbegintheorem
-\def\@begintheorem#1#2{\topsep=\dimexpr\prop_item:Nn \g__jlreq_complements_theorem_prop { beforeafter_space }\relax
+\def\@begintheorem#1#2{%
+  \topsep=\dimexpr\prop_item:Nn \g__jlreq_complements_theorem_prop { beforeafter_space }\relax
   \trivlist\labelsep=1\jlreq at zw\relax
   \itemindent=\dimexpr\prop_item:Nn \g__jlreq_complements_theorem_prop { indent }\relax
   \prop_item:Nn \g__jlreq_complements_theorem_prop { font }
    \item[\hskip \labelsep{\reset at font\prop_item:Nn \g__jlreq_complements_theorem_prop { label_font } #1\ #2}]}
-\def\@opargbegintheorem#1#2#3{\topsep=\dimexpr\prop_item:Nn \g__jlreq_complements_theorem_prop { beforeafter_space }\relax
+\def\@opargbegintheorem#1#2#3{%
+  \renewcommand{\@currentlabelname}{#3}%
+  \topsep=\dimexpr\prop_item:Nn \g__jlreq_complements_theorem_prop { beforeafter_space }\relax
   \trivlist\labelsep=1\jlreq at zw\relax
   \itemindent=\dimexpr\prop_item:Nn \g__jlreq_complements_theorem_prop { indent }\relax
   \prop_item:Nn \g__jlreq_complements_theorem_prop { font }

Modified: trunk/Master/texmf-dist/tex/latex/jlreq/jlreq.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/jlreq/jlreq.cls	2025-03-16 19:57:23 UTC (rev 74651)
+++ trunk/Master/texmf-dist/tex/latex/jlreq/jlreq.cls	2025-03-16 19:57:41 UTC (rev 74652)
@@ -5,8 +5,7 @@
 %%
 % (based on JLReq 20200811 https://www.w3.org/TR/2020/NOTE-jlreq-20200811/)
 \NeedsTeXFormat{LaTeX2e}
-\ProvidesClass{jlreq}[2024/10/04 jlreq]
-\RequirePackage{etoolbox}
+\ProvidesClass{jlreq}[2025/3/16 jlreq]
 \RequirePackage{jlreq-helpers}[2024/02/13]
 
 \ExplSyntaxOn
@@ -509,13 +508,18 @@
 
 %. helper2(エンジン依存系:和文文字を含むものもこれ以降)
 % #1のboxを今の真ん中に配置する.
+% \hboxじゃないとダメかも
+% 高さと深さは普通の文字にあわせる
 \def\jlreq at box@putcenter#1{%
   \begingroup
     \jlreq at tempdima=\dimexpr(\ht#1 - \dp#1)/2\relax
     \setbox\jlreq at tempboxa=\hbox{阿}%
+    \jlreq at tempdima=\dimexpr(\ht\jlreq at tempboxa - \dp\jlreq at tempboxa)/2 - \jlreq at tempdima\relax
     \edef\jlreq at do{%
-      \noexpand\lower\the\dimexpr(\jlreq at tempdima - (\ht\jlreq at tempboxa - \dp\jlreq at tempboxa)/2)\relax\unexpanded{\box#1}%
-    }%
+      \unexpanded{\ht#1}=\the\dimexpr\ht\jlreq at tempboxa - \jlreq at tempdima\relax
+      \unexpanded{\dp#1}=\the\dimexpr\dp\jlreq at tempboxa + \jlreq at tempdima\relax
+      \noexpand\raise\the\jlreq at tempdima\unexpanded{\box#1}%
+    }
   \expandafter\endgroup
   \jlreq at do
 }
@@ -1220,7 +1224,7 @@
   \jlreq at note { 行間は二分以上全角以下が望ましい (2.4.2.d~注3).}
 }
 
-\emergencystretch 3\jlreq at gol
+\emergencystretch 3\jlreq at zh
 \setlength{\parindent}{1\zw}
 \newcommand{\jlreqparindent}{1\zw}
 \apptocmd\set at fontsize {
@@ -1276,14 +1280,26 @@
   \jlreq at do
 \fi
 
-\renewcommand{\normalsize}{%
-  \@setfontsize\normalsize{\jlreq at fontsize}{\dimexpr\jlreqbaselineskip\relax}%
-  \abovedisplayskip 1.1\jlreq at fontsize \@plus .3\jlreq at fontsize \@minus .4\jlreq at fontsize
-  \abovedisplayshortskip \z@ \@plus .3\jlreq at fontsize
-  \belowdisplayskip .9\jlreq at fontsize \@plus.3\jlreq at fontsize \@minus.4\jlreq at fontsize
-  \belowdisplayshortskip \belowdisplayskip
-  \let\@listi\@listI}
+\cs_new:Nn \__jlreq_definenormalsize: {
+  \edef\jlreq at tempa{
+    \unexpanded{\@setfontsize\normalsize}{\the\dimexpr\jlreq at fontsize\relax}{\the\dimexpr\jlreqbaselineskip\relax}%
+    \noexpand\abovedisplayskip \the\glueexpr1.1\jlreq at fontsize \@plus .3\jlreq at fontsize \@minus .4\jlreq at fontsize\relax
+    \noexpand\abovedisplayshortskip \the\glueexpr\z@ \@plus .3\jlreq at fontsize\relax
+    \noexpand\belowdisplayskip \the\glueexpr.9\jlreq at fontsize \@plus.3\jlreq at fontsize \@minus.4\jlreq at fontsize\relax
+    \unexpanded{\belowdisplayshortskip \belowdisplayskip  \let\@listi\@listI}%
+  }
+  \exp_args:Nno \renewcommand {\normalsize} {\jlreq at tempa}
+}
+\__jlreq_definenormalsize:
 
+%\renewcommand{\normalsize}{%
+%  \@setfontsize\normalsize{\jlreq at fontsize}{\dimexpr\jlreqbaselineskip\relax}%
+%  \abovedisplayskip 1.1\jlreq at fontsize \@plus .3\jlreq at fontsize \@minus .4\jlreq at fontsize
+%  \abovedisplayshortskip \z@ \@plus .3\jlreq at fontsize
+%  \belowdisplayskip .9\jlreq at fontsize \@plus.3\jlreq at fontsize \@minus.4\jlreq at fontsize
+%  \belowdisplayshortskip \belowdisplayskip
+%  \let\@listi\@listI}
+%
 \if at tate\tate\fi % ここで発行しておく
 \mcfamily\selectfont\normalsize
 \setbox\jlreq at tempboxa\hbox{阿}
@@ -1296,50 +1312,86 @@
 % 4.1.3.a
 % 2.5.2 \baselineskipは一定の方がよい?
 % \@listiは再定義しないようにした.(\normalsizeと共用でJLReq通りだと思う.)
-\newcommand{\footnotesize}{%
-  \setlength{\jlreq at tempdima}{\dimexpr\jlreqbaselineskip\relax}
-  \@setfontsize\footnotesize{.8\jlreq at fontsize}{\dimexpr 115\jlreq at tempdima/170\relax}% 脚注文字サイズの二分より少し小さい値を行間に: 4.2.5.e
-  \abovedisplayskip .6\jlreq at fontsize \@plus.2\jlreq at fontsize \@minus.4\jlreq at fontsize
-  \abovedisplayshortskip \z@ \@plus.1\jlreq at fontsize
-  \belowdisplayshortskip .3\jlreq at fontsize \@plus.1\jlreq at fontsize \@minus.2\jlreq at fontsize
-  \belowdisplayskip \abovedisplayskip}
+% \jlreq at fontsizeの値を展開して定義.
+\cs_new:Nn \__jlreq_definefontsizecommands: {
+  \edef\jlreq at tempa{%
+    \unexpanded{\setlength{\jlreq at tempdima}{\dimexpr\jlreqbaselineskip\relax}}%
+    \noexpand\@setfontsize\noexpand\footnotesize{\the\dimexpr.8\jlreq at fontsize\relax}{\unexpanded{\dimexpr 115\jlreq at tempdima/170\relax}}% 脚注文字サイズの二分より少し小さい値を行間に: 4.2.5.e
+    \noexpand\abovedisplayskip \the\glueexpr .6\jlreq at fontsize \@plus \dimexpr.2\jlreq at fontsize \@minus \dimexpr.4\jlreq at fontsize\relax
+    \noexpand\abovedisplayshortskip \the\glueexpr\z@ \@plus \dimexpr.1\jlreq at fontsize\relax
+    \noexpand\belowdisplayshortskip \the\glueexpr.3\jlreq at fontsize \@plus\dimexpr.1\jlreq at fontsize \@minus\dimexpr.2\jlreq at fontsize\relax
+    \unexpanded{\belowdisplayskip \abovedisplayskip}%
+  }
+  \exp_args:Nno \newcommand {\footnotesize} {\jlreq at tempa}
+  \edef\jlreq at tempa{%
+    \unexpanded{\setlength{\jlreq at tempdima}{\dimexpr\jlreqbaselineskip\relax}}%
+    \unexpanded{\@setfontsize\small}{\the\dimexpr.9\jlreq at fontsize\relax}{\unexpanded{\dimexpr 13\jlreq at tempdima/17\relax}}%
+    \noexpand\abovedisplayskip \the\glueexpr.9\jlreq at fontsize \@plus.3\jlreq at fontsize \@minus.4\jlreq at fontsize\relax
+    \noexpand\abovedisplayshortskip \the\glueexpr\z@ \@plus.3\jlreq at fontsize\relax
+    \unexpanded{\belowdisplayshortskip \abovedisplayshortskip
+    \belowdisplayskip \abovedisplayskip}%
+  }
+  \exp_args:Nno \newcommand {\small} {\jlreq at tempa}
+  \cs_new:Nn \l__jlreq_do:Nnn {
+    \edef\jlreq at tempa{%
+      \unexpanded{\setlength{\jlreq at tempdima}{\dimexpr\jlreqbaselineskip\relax}}%
+      \unexpanded{\@setfontsize##1}{\the\dimexpr ##2\relax}{\unexpanded{\the\dimexpr ##3\relax}}%
+    }
+    \exp_args:Nno \newcommand {##1} {\jlreq at tempa}
+  }
+  \l__jlreq_do:Nnn { \scriptsize } { 7\jlreq at fontsize/10 }  { 8\jlreq at tempdima/17 }
+  \l__jlreq_do:Nnn { \tiny }       { 5\jlreq at fontsize/10 }  { 6\jlreq at tempdima/17 }
+  \l__jlreq_do:Nnn { \large }      { 12\jlreq at fontsize/10 } { \jlreq at tempdima }
+  \l__jlreq_do:Nnn { \Large }      { 14\jlreq at fontsize/10 } { 21\jlreq at tempdima/17 }
+  \l__jlreq_do:Nnn { \LARGE }      { 17\jlreq at fontsize/10 } { 25\jlreq at tempdima/17 }
+  \l__jlreq_do:Nnn { \huge }       { 2\jlreq at fontsize }     { 28\jlreq at tempdima/17 }
+  \l__jlreq_do:Nnn { \Huge }       { 25\jlreq at fontsize/10 } { 33\jlreq at tempdima/17 }
+}
+\__jlreq_definefontsizecommands:
+%\newcommand{\footnotesize}{%
+%  \setlength{\jlreq at tempdima}{\dimexpr\jlreqbaselineskip\relax}
+%  \@setfontsize\footnotesize{.8\jlreq at fontsize}{\dimexpr 115\jlreq at tempdima/170\relax}% 脚注文字サイズの二分より少し小さい値を行間に: 4.2.5.e
+%  \abovedisplayskip .6\jlreq at fontsize \@plus.2\jlreq at fontsize \@minus.4\jlreq at fontsize
+%  \abovedisplayshortskip \z@ \@plus.1\jlreq at fontsize
+%  \belowdisplayshortskip .3\jlreq at fontsize \@plus.1\jlreq at fontsize \@minus.2\jlreq at fontsize
+%  \belowdisplayskip \abovedisplayskip}
 % tsize10.cloの引数を,そのまま\jlreq at fontsize/\jlreqbaselineskipでスケーリングしているだけ.
-\newcommand{\small}{%
-  % jsarticleのもの
-  \setlength{\jlreq at tempdima}{\dimexpr\jlreqbaselineskip\relax}
-  \@setfontsize\small{.9\jlreq at fontsize}{\dimexpr 13\jlreq at tempdima/17\relax}%
-  \abovedisplayskip .9\jlreq at fontsize \@plus.3\jlreq at fontsize \@minus.4\jlreq at fontsize
-  \abovedisplayshortskip \z@ \@plus.3\jlreq at fontsize
-  \belowdisplayshortskip \abovedisplayshortskip
-  \belowdisplayskip \abovedisplayskip}
-\newcommand{\scriptsize}{
-  \setlength{\jlreq at tempdima}{\dimexpr\jlreqbaselineskip\relax}
-  \@setfontsize\scriptsize{\dimexpr 7\jlreq at fontsize/10\relax}{\dimexpr 8\jlreq at tempdima/17\relax}
-}
-\newcommand{\tiny}{
-  \setlength{\jlreq at tempdima}{\dimexpr\jlreqbaselineskip\relax}
-  \@setfontsize\tiny{\dimexpr 5\jlreq at fontsize/10\relax}{\dimexpr 6\jlreq at tempdima/17\relax}
-}
-\newcommand{\large}{
-  \setlength{\jlreq at tempdima}{\dimexpr\jlreqbaselineskip\relax}
-  \@setfontsize\large{\dimexpr12\jlreq at fontsize/10\relax}{\jlreq at tempdima}
-}
-\newcommand{\Large}{
-  \setlength{\jlreq at tempdima}{\dimexpr\jlreqbaselineskip\relax}
-  \@setfontsize\Large{\dimexpr14\jlreq at fontsize/10\relax}{\dimexpr 21\jlreq at tempdima/17\relax}
-}
-\newcommand{\LARGE}{
-  \setlength{\jlreq at tempdima}{\dimexpr\jlreqbaselineskip\relax}
-  \@setfontsize\LARGE{\dimexpr17\jlreq at fontsize/10\relax}{\dimexpr 25\jlreq at tempdima/17\relax}
-}
-\newcommand{\huge}{
-  \setlength{\jlreq at tempdima}{\dimexpr\jlreqbaselineskip\relax}
-  \@setfontsize\huge{2\jlreq at fontsize}{\dimexpr 28\jlreq at tempdima/17\relax}
-}
-\newcommand{\Huge}{
-  \setlength{\jlreq at tempdima}{\dimexpr\jlreqbaselineskip\relax}
-  \@setfontsize\Huge{\dimexpr 25\jlreq at fontsize/10\relax}{\dimexpr 33\jlreq at tempdima/17\relax}
-}
+%\newcommand{\small}{%
+%  % jsarticleのもの
+%  \setlength{\jlreq at tempdima}{\dimexpr\jlreqbaselineskip\relax}
+%  \@setfontsize\small{.9\jlreq at fontsize}{\dimexpr 13\jlreq at tempdima/17\relax}%
+%  \abovedisplayskip .9\jlreq at fontsize \@plus.3\jlreq at fontsize \@minus.4\jlreq at fontsize
+%  \abovedisplayshortskip \z@ \@plus.3\jlreq at fontsize
+%  \belowdisplayshortskip \abovedisplayshortskip
+%  \belowdisplayskip \abovedisplayskip}
+%\newcommand{\scriptsize}{
+%  \setlength{\jlreq at tempdima}{\dimexpr\jlreqbaselineskip\relax}
+%  \@setfontsize\scriptsize{\dimexpr 7\jlreq at fontsize/10\relax}{\dimexpr 8\jlreq at tempdima/17\relax}
+%}
+%\newcommand{\tiny}{
+%  \setlength{\jlreq at tempdima}{\dimexpr\jlreqbaselineskip\relax}
+%  \@setfontsize\tiny{\dimexpr 5\jlreq at fontsize/10\relax}{\dimexpr 6\jlreq at tempdima/17\relax}
+%}
+%\newcommand{\large}{
+%  \setlength{\jlreq at tempdima}{\dimexpr\jlreqbaselineskip\relax}
+%  \@setfontsize\large{\dimexpr12\jlreq at fontsize/10\relax}{\jlreq at tempdima}
+%}
+%\newcommand{\Large}{
+%  \setlength{\jlreq at tempdima}{\dimexpr\jlreqbaselineskip\relax}
+%  \@setfontsize\Large{\dimexpr14\jlreq at fontsize/10\relax}{\dimexpr 21\jlreq at tempdima/17\relax}
+%}
+%\newcommand{\LARGE}{
+%  \setlength{\jlreq at tempdima}{\dimexpr\jlreqbaselineskip\relax}
+%  \@setfontsize\LARGE{\dimexpr17\jlreq at fontsize/10\relax}{\dimexpr 25\jlreq at tempdima/17\relax}
+%}
+%\newcommand{\huge}{
+%  \setlength{\jlreq at tempdima}{\dimexpr\jlreqbaselineskip\relax}
+%  \@setfontsize\huge{2\jlreq at fontsize}{\dimexpr 28\jlreq at tempdima/17\relax}
+%}
+%\newcommand{\Huge}{
+%  \setlength{\jlreq at tempdima}{\dimexpr\jlreqbaselineskip\relax}
+%  \@setfontsize\Huge{\dimexpr 25\jlreq at fontsize/10\relax}{\dimexpr 33\jlreq at tempdima/17\relax}
+%}
 
 %. plextから拝借
 \def\jlreq at Kanji#1{\expandafter\kansuji\csname c@#1\endcsname}
@@ -1756,19 +1808,38 @@
     \expandafter\def\csname jlreq at heading@maketoc@#1\endcsname##1##2##3{%
       \jlreq at iffirsttoken{##1}{*}{}{%
         \csname #1mark\endcsname{##3}%
-        \ifnum0\jlreq at iffirsttoken{##1}{-}{1}{}\ifnum #2>\c at secnumdepth 1\fi>0
-          \addcontentsline{toc}{#1}{##3}%
-        \else
-          \addcontentsline{toc}{#1}{\jlreq at ifempty{##2}{}{\protect\numberline{##2}}##3}%
-        \fi
+        \@ifpackageloaded{hyperref}{\phantomsection}{}%
+        \jlreq at if{\ifnum0\jlreq at iffirsttoken{##1}{-}{1}{}\ifnum #2>\c at secnumdepth 1\fi>0~\fi}
+          {\addcontentsline{toc}{#1}{##3}}%
+          {\addcontentsline{toc}{#1}{\jlreq at ifempty{##2}{}{\protect\numberline{##2}}##3}}%
       }{}%
     }%
   }{}%
 }
 
+% #1がchapterならば#3を\@makechapterhead{#2}経由で出力するコードを出す.\edef内で使う.
+% 必要なら#3は\exp_not:nなどで囲う.
+\cs_set:Nn \__jlreq_insertmakechapterhead:nnn {
+  \str_if_eq:nnTF {#1} {chapter}{
+    \exp_not:N \edef \exp_not:N \jlreq@@makechapterhead { \exp_not:N \unexpanded { #3 } }
+    \exp_not:n { \@makechapterhead{#2} }
+  }{ #3 }
+}
+
+% #1がchapterならば\@chapter,\@schapter,\@makechapterheadを定義
+% #1がpartならば\@part,\@spartを定義
+\cs_set:Nn \__jlreq_define_compatible_heading_macros:n {
+  \bool_if:nT { \str_if_eq_p:nn {#1} {part} || \str_if_eq_p:nn {#1} {chapter} } {
+    \@ifundefined{@#1}{\exp_args:Nco \edef {@#1} { \csname jlreq@#1 \endcsname} }{}
+    \@ifundefined{@s#1}{\exp_args:Nco \edef {@s#1} { \csname jlreq at s#1 \endcsname} }{}
+  }%
+  \str_if_eq:nnT {#1} {chapter} { \@ifundefined{@makechapterhead} { \def\@makechapterhead##1{ \jlreq@@makechapterhead } }{} }
+}
+
 %.. 中/半扉見出し
 % addcontentslineに渡すやつ:番号出すのと出さないの
 \NewDocumentCommand{\DeclareTobiraHeading}{ m m +m } {
+  \__jlreq_define_compatible_heading_macros:n {#1}
   \seq_put_right:Nn \l__jlreq_heading_allheadings_seq {#1}
   \seq_remove_duplicates:N \l__jlreq_heading_allheadings_seq
   \expandafter\def\csname jlreq at heading@level@#1\endcsname{#2}%
@@ -1803,6 +1874,7 @@
     \edef\jlreq at do{%
       \exp_not:o {\jlreq at do}%
       \noexpand\def\exp_not:c {jlreq at TobiraHeading@start@#1}[####1]####2{%
+        \unexpanded{\renewcommand{\@currentlabelname}}{####1}%
         \ifjlreq at number
           \unexpanded{\ifnum#2>\c at secnumdepth\else}%
             \unexpanded{\refstepcounter{#1}}%
@@ -1812,6 +1884,7 @@
           {\long\gdef\jlreqHeadingText####1{}}%
           {\long\gdef\jlreqHeadingText####1{####1}}%
         }%
+        \exp_not:c {jlreq at heading@maketoc@#1}{\ifjlreq at number\else -\fi}{\exp_not:o {\jlreq at label@format}}{####1}%
         \ifjlreq at number
           \unexpanded{\jlreq at if{\ifnum#2>\c at secnumdepth\relax\fi}}{%
             \unexpanded{\long\gdef\jlreqHeadingLabel####1{}}%
@@ -1818,13 +1891,12 @@
             \exp_not:o {\jlreq at format{}{##1}}%
           }{%
             \unexpanded{\long\gdef\jlreqHeadingLabel####1{####1}}%
-            \expandafter\exp_not:o \expandafter{\jlreq at formatwlabel{##2}}%
+            \__jlreq_insertmakechapterhead:nnn {#1} {##2} { \expandafter\exp_not:o \expandafter{\jlreq at formatwlabel{##2}} }
           }%
         \else
           \unexpanded{\long\gdef\jlreqHeadingLabel####1{}}%
-          \exp_not:o {\jlreq at format{}{##1}}%
+          \__jlreq_insertmakechapterhead:nnn {#1} {##2} { \expandafter\exp_not:o \expandafter{\jlreq at format{}{##2}} }
         \fi
-        \exp_not:c {jlreq at heading@maketoc@#1}{\ifjlreq at number\else -\fi}{\exp_not:o {\jlreq at label@format}}{####1}%
         \noexpand\@afterheading
         \exp_not:o {\jlreq at heading@clearpage}%
         \unexpanded{\if at restonecol\twocolumn\fi}%
@@ -1835,17 +1907,26 @@
           {\long\gdef\jlreqHeadingText####1{}}%
           {\long\gdef\jlreqHeadingText####1{####1}}%
         }%
-        \exp_not:o {\jlreq at format{}{##1}}
         \exp_not:c {jlreq at heading@maketoc@#1}{*}{\exp_not:o {\jlreq at label@format}}{####1}%
+        \__jlreq_insertmakechapterhead:nnn {#1} {##1} { \expandafter\exp_not:o \expandafter{\jlreq at format{}{##1}} }
         \noexpand\@afterheading
         \exp_not:o {\jlreq at heading@clearpage}%
         \unexpanded{\if at restonecol\twocolumn\fi}%
       }%
+      \bool_if:nT { \str_if_eq_p:nn {#1} {part} || \str_if_eq_p:nn {#1} {chapter} } {
+        \noexpand\let \exp_not:c {jlreq@#1} \exp_not:c {jlreq at TobiraHeading@start@#1}
+        \noexpand\let \exp_not:c {jlreq at s#1} \exp_not:c {jlreq at TobiraHeading@start at s@#1}
+      }
       \noexpand\def\exp_not:c {jlreq at headingcs@#1}{%
         % 改丁.これでよいのかな.
         \unexpanded{\if at twocolumn\onecolumn\@restonecoltrue\else\@restonecolfalse\fi\jlreq at cleartooddpage[empty]}%
         \ifx\jlreq at pagestyle\@empty\else\noexpand\thispagestyle{\exp_not:o {\jlreq at pagestyle}}\fi
-        \noexpand\secdef{\exp_not:c {jlreq at TobiraHeading@start@#1}}{\exp_not:c {jlreq at TobiraHeading@start at s@#1}}}%
+        \bool_if:nTF { \str_if_eq_p:nn {#1} {part} || \str_if_eq_p:nn {#1} {chapter} } {
+          \noexpand\secdef{\exp_not:c {jlreq@#1}}{\exp_not:c {jlreq at s#1}}%
+        }{
+          \noexpand\secdef{\exp_not:c {jlreq at TobiraHeading@start@#1}}{\exp_not:c {jlreq at TobiraHeading@start at s@#1}}%
+        }
+      }
       \noexpand\def\exp_not:c {#1}{%
         \exp_not:N \g__jlreq_hook_beforeheading:n {#1}
         \exp_not:c {jlreq at headingcs@#1}%
@@ -1905,6 +1986,7 @@
     \exp_not:o { \jlreq at resultc }
   }%
   % 連続する見出しの間の処理をするために,即時では出力せず,いったんマクロに格納する.
+  % \jlreq at BlockHeading@spaces at current@headingname@<n>: sectionとか
   % \jlreq at BlockHeading@spaces at current@beforeoutsideiffirst@<n>
   % \jlreq at BlockHeading@spaces at current@before@<n>
   % \jlreq at BlockHeading@start at gyodori\jlreq at BlockHeading@spaces at current@space@<n>{jlreq at BlockHeading@spaces at current@output@<n>}
@@ -1914,6 +1996,7 @@
   % \jlreq at BlockHeading@spaces at current@afteroutsideiflast@<n>
   % として後に呼び出される.(spaceは書き換えられる可能性がある.)
   % outsideとついているものは全体が行取りされた場合はその外に出される.
+  \expandafter\def\csname jlreq at BlockHeading@spaces at current@headingname@\the\jlreq at BlockHeading@spaces at current@count\endcsname{#1}%
   \expandafter\xdef\csname jlreq at BlockHeading@spaces at current@output@\the\jlreq at BlockHeading@spaces at current@count\endcsname{%
     \exp_not:o {\jlreq at resultb}%
   }%
@@ -1933,7 +2016,7 @@
   }%
   \long\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{%
-    \exp_not:o {\@tempa#4}%
+    \__jlreq_insertmakechapterhead:nnn {#1} {#7} { \exp_not:o {\@tempa#4} }
   }%
   \long\def\@tempa##1##2##3{##3}%
   \expandafter\gdef\csname jlreq at BlockHeading@spaces at current@after@\the\jlreq at BlockHeading@spaces at current@count\endcsname{%
@@ -2040,6 +2123,7 @@
     \edef\jlreq at tempa{\jlreq at BlockHeading@start at getonlylabelformat#4}%
     \edef\jlreq at do{%
       \unexpanded{\def\jlreq at resulta}{%
+        \unexpanded{\renewcommand{\@currentlabelname}{#7}}%
         \ifx\jlreq at tempc\@empty
           \unexpanded{\long\gdef\jlreqHeadingLabel####1{####1}}%
           \unexpanded{\refstepcounter{#1}}%
@@ -2052,12 +2136,12 @@
         \jlreq at ifempty{#9}%
           {\unexpanded{\long\gdef\jlreqHeadingSubtitle####1{}}}%
           {\unexpanded{\long\gdef\jlreqHeadingSubtitle####1{####1}}}%
+        \exp_not:c {jlreq at heading@maketoc@#1}{\unexpanded{#6}}{\exp_not:o {\jlreq at tempa}}{\unexpanded{#7}}%
       }%
       \unexpanded{\def\jlreq at resultb}{%
-        \exp_not:o {\jlreq at result}%
+        \exp_not:o {\jlreq at result}
       }%
       \unexpanded{\def\jlreq at resultc}{%
-        \exp_not:c {jlreq at heading@maketoc@#1}{\unexpanded{#6}}{\exp_not:o {\jlreq at tempa}}{\unexpanded{#7}}%
       }%
     }%
   \expandafter\endgroup
@@ -2168,7 +2252,7 @@
       \jlreq at tempskipb=\glueexpr\jlreq at ushiroaki\relax
     \fi
   \else
-    % 行取り時の前後の空きを足した値を\jlreq at tempdimaに入れる
+    % 行取り時の前後の空きを足した値を\jlreq at tempskipaに入れる
     \jlreq at tempdima=\glueexpr(#3\baselineskip - \baselineskip - \ht\jlreq at tempboxa - \dp\jlreq at tempboxa)\relax
     \ifx\jlreq at maeakitype\@empty
       \jlreq at tempskipa=\glueexpr(\jlreq at tempdima + \dp\jlreq at tempboxb - \ht\jlreq at tempboxb)/2\relax
@@ -2288,6 +2372,7 @@
 % \DeclareBlockHeading{命令名}{レベル}{設定}
 \seq_new:N \l__jlreq_BlockHeading_allheadings_seq
 \NewDocumentCommand {\DeclareBlockHeading} { m m +m } {
+  \__jlreq_define_compatible_heading_macros:n {#1}
   \def\jlreq at do{\@removeelement{#1}}%
   \seq_put_right:Nn \l__jlreq_heading_allheadings_seq {#1}
   \seq_remove_duplicates:N \l__jlreq_heading_allheadings_seq
@@ -2543,16 +2628,29 @@
     }
     \edef\jlreq at do{%
       \exp_not:o {\jlreq at do}%
+      \bool_if:nT { \str_if_eq_p:nn {#1} {part} || \str_if_eq_p:nn {#1} {chapter} } {
+        \exp_not:N \edef \exp_not:c {jlreq@#1}{\exp_not:N \exp_not:n {
+          \exp_not:o \l__jlreq_tmpa_tl
+          \exp_not:N \jlreq at BlockHeading@start{\exp_not:n {#1}}{\exp_not:n {#2}}{\exp_not:o {\l__jlreq_tmpb_tl}}{\ifjlreq at number\else -\fi}
+        }}
+        \exp_not:N \edef \exp_not:c {jlreq at schapter}{\exp_not:N \exp_not:n {
+          \exp_not:o \l__jlreq_tmpa_tl
+          \exp_not:N \@dblarg{\exp_not:N \jlreq at BlockHeading@start{\exp_not:n {#1}}{\exp_not:n {#2}}{\exp_not:o {\l__jlreq_tmpb_tl}}{*}}
+        }}%
+      }
       \noexpand\edef\exp_not:c {jlreq at headingcs@#1}{\noexpand\unexpanded{%
         \exp_not:N \g__jlreq_hook_beforeheading:n {#1}
         \exp_not:o {\jlreq at pagebreak}%
         \tl_if_empty:NF \l__jlreq_pagestyle_tl { \exp_not:N \thispagestyle {\exp_not:o { \l__jlreq_pagestyle_tl } } }
-        \exp_not:o \l__jlreq_tmpa_tl
-        \exp_not:N \@ifstar
-          {\exp_not:N \@dblarg{\exp_not:N \jlreq at BlockHeading@start{\exp_not:n {#1}}{\exp_not:n {#2}}{\exp_not:o {\l__jlreq_tmpb_tl}}{*}}}%
-          {\exp_not:N \@dblarg{\exp_not:N \jlreq at BlockHeading@start{\exp_not:n {#1}}{\exp_not:n {#2}}{\exp_not:o {\l__jlreq_tmpb_tl}}{\ifjlreq at number\else -\fi}}}%
-       }
-      }%
+        \bool_if:nTF { \str_if_eq_p:nn {#1} {part} || \str_if_eq_p:nn {#1} {chapter} } {
+          \exp_not:N \secdef \exp_not:c {@#1} \exp_not:c {@s#1}
+        }{
+          \exp_not:o \l__jlreq_tmpa_tl
+          \exp_not:N \@ifstar
+            {\exp_not:N \@dblarg{\exp_not:N \jlreq at BlockHeading@start{\exp_not:n {#1}}{\exp_not:n {#2}}{\exp_not:o {\l__jlreq_tmpb_tl}}{*}}}%
+            {\exp_not:N \@dblarg{\exp_not:N \jlreq at BlockHeading@start{\exp_not:n {#1}}{\exp_not:n {#2}}{\exp_not:o {\l__jlreq_tmpb_tl}}{\ifjlreq at number\else -\fi}}}%
+        }
+      }}%
       \noexpand\def\exp_not:c {#1}{
         \exp_not:c {jlreq at headingcs@#1}
       }%
@@ -2586,6 +2684,8 @@
 % 現在状況保存に以下のマクロを使う,nは1から始まる.
 % \jlreq at BlockHeading@spaces at current@sequence
 %   : 現在どのような見出しが続いているかリスト.
+% \jlreq at BlockHeading@spaces at current@headingname@@<n>
+%   : 現在処理中のn番目の見出し命令名(sectionなど)
 % \jlreq at BlockHeading@spaces at current@space@<n>
 %   : 現在処理中のn番目の見出しに対する空き情報.{前空き}{後ろ空き}{トータル行数}{偶数ページbreak情報}.n=1から始まる.
 % \jlreq at BlockHeading@spaces at current@output@<n>
@@ -2905,24 +3005,20 @@
 %.. 同行見出し
 % {1 = 命令名}{2 = レベル}{3 = */-}{4 = ラベルフォーマット}{5 = ラベルありフォーマット}{6 = ラベルなしフォーマット}
 % 4,5は見出し文字列が#1になる.
-\long\def\jlreq at RuninHeading@start#1#2#3#4#5#6{%
-  \edef\jlreq at RuninHeading@start at format@label{\unexpanded{#4}}%
-  \edef\jlreq at RuninHeading@start at format@wlabel{\unexpanded{#5}}%
-  \edef\jlreq at RuninHeading@start at format@wolabel{\unexpanded{#6}}%
-  \@ifstar{\@dblarg{\jlreq at RuninHeading@start@{#1}{#2}{*}}}{\@dblarg{\jlreq at RuninHeading@start@{#1}{#2}{#3}}}%
-}
+% \@dblargはパラメータを持っていると失敗するので一度退避
 % {1 = 命令名}{2 = レベル}{3 = */-}{4 = running head}{5 = 見出し}
-\long\def\jlreq at RuninHeading@start@#1#2#3[#4]#5{%
-  \edef\jlreq at do{\unexpanded{\jlreq at RuninHeading@start@@{#1}{#2}{#3}{#4}{#5}}{\exp_not:o {\jlreq at RuninHeading@start at format@label}}{\exp_not:o {\jlreq at RuninHeading@start at format@wlabel}}{\exp_not:o {\jlreq at RuninHeading@start at format@wolabel}}}%
+\long\def\jlreq at RuninHeading@start#1#2#3[#4]#5{%
+  \edef\jlreq at do{\unexpanded{\jlreq at RuninHeading@start@{#1}{#2}{#3}{#4}{#5}}{\exp_not:o {\jlreq at RuninHeading@start at format@label}}{\exp_not:o {\jlreq at RuninHeading@start at format@wlabel}}{\exp_not:o {\jlreq at RuninHeading@start at format@wolabel}}}%
   \jlreq at do
 }
 % {1 = 命令名}{2 = レベル}{3 = *}{4 = running head}{5 = 見出し}{6 = ラベルフォーマット}{7 = ラベルありフォーマット}{8 = ラベルなしフォーマット}
 \edef\jlreq at tempa{%
-  \unexpanded{\long\def\jlreq at RuninHeading@start@@#1#2#3#4#5#6#7#8}{%
+  \unexpanded{\long\def\jlreq at RuninHeading@start@#1#2#3#4#5#6#7#8}{%
     \unexpanded{%
     \if at noskipsec\leavevmode\fi
     \begingroup
       \def\jlreq at do{\@nobreakfalse\global\@noskipsectrue}%
+      \renewcommand{\@currentlabelname}{#4}%
       \ifnum0\jlreq at ifempty{#3}{}{1}\ifnum #2>\c at secnumdepth 1\fi>0
         \long\def\jlreq at tempa##1{#8}%
       \else
@@ -2937,8 +3033,8 @@
             \unexpanded{\global\@noskipsecfalse}%
             \unexpanded{{\setbox\jlreq at tempboxa\lastbox}}%
             \noexpand\begingroup
-              \exp_not:o {\jlreq at tempa{#5}}%
               \exp_not:c {jlreq at heading@maketoc@#1}\unexpanded{{#3}{#6}{#4}}%
+              \__jlreq_insertmakechapterhead:nnn {#1} {#5} { \exp_not:o {\jlreq at tempa{#5}} }
             \noexpand\endgroup
             \noexpand\inhibitglue
           \noexpand\else
@@ -2962,6 +3058,7 @@
   \__jlreq_declare_runin_heading:nnn {#1} {#2} {#3}
 }
 \cs_set:Nn \__jlreq_declare_runin_heading:nnn {
+  \__jlreq_define_compatible_heading_macros:n {#1}
   \def\jlreq at do{\@removeelement{#1}}%
   \seq_put_right:Nn \l__jlreq_heading_allheadings_seq {#1}
   \seq_remove_duplicates:N \l__jlreq_heading_allheadings_seq
@@ -3017,16 +3114,25 @@
     \jlreq at heading@make at l@{#1}{#2}{\l__jlreq_label_format_tl}%
     \cs_set:Nx \l__jlreq_do: {
       \exp_not:o { \jlreq at result }
+      \bool_if:nT { \str_if_eq_p:nn {#1} {part} || \str_if_eq_p:nn {#1} {chapter} } {
+        \exp_not:N \def \exp_not:c {jlreq at s#1} {\exp_not:n {\@dblarg{\jlreq at RuninHeading@start{#1}{#2}{*}}}}
+        \exp_not:N \def \exp_not:c {jlreq@#1} {\exp_not:N \@dblarg {\exp_not:n {\jlreq at RuninHeading@start{#1}{#2}}{\bool_if:NF \l__jlreq_number_bool {-}}}}
+      }
       % パラメータトークンを含むので,\edefして\unexpandedで包む
       \noexpand\edef\exp_not:c {#1}{%
-        \noexpand\unexpanded{%
+        \noexpand\unexpanded{
+          \exp_not:N \edef \exp_not:N \jlreq at RuninHeading@start at format@label{\exp_not:N \unexpanded{\exp_not:o {\l__jlreq_label_format_tl}}}
+          \exp_not:N \edef \exp_not:N \jlreq at RuninHeading@start at format@wlabel{\exp_not:N \unexpanded{\exp_not:o {\l__jlreq_format_wlabel_tl}}}
+          \exp_not:N \edef \exp_not:N \jlreq at RuninHeading@start at format@wolabel{\exp_not:N \unexpanded{\exp_not:o {\l__jlreq_format_wolabel_tl}}}
           \exp_not:N \g__jlreq_hook_beforeheading:n {#1}
-          \exp_not:n {\jlreq at RuninHeading@start{#1}{#2}}
-            {\bool_if:NF \l__jlreq_number_bool {-}}
-            {\exp_not:o {\l__jlreq_label_format_tl}}
-            {\exp_not:o {\l__jlreq_format_wlabel_tl}}
-            {\exp_not:o {\l__jlreq_format_wolabel_tl}}
-        }%
+          \bool_if:nTF { \str_if_eq_p:nn {#1} {part} || \str_if_eq_p:nn {#1} {chapter} } {
+            \exp_not:N \@ifstar \exp_not:c {jlreq at s#1} \exp_not:c {jlreq@#1}
+          }{
+            \noexpand\@ifstar
+              {\exp_not:n {\@dblarg{\jlreq at RuninHeading@start{#1}{#2}{*}}}}
+              {\exp_not:N \@dblarg {\exp_not:n {\jlreq at RuninHeading@start{#1}{#2}}{\bool_if:NF \l__jlreq_number_bool {-}}}}
+          }
+        }
       }%
     }%
   \exp_after:wN \group_end:
@@ -3048,22 +3154,22 @@
   \if at noskipsec\leavevmode\fi
   \par
   \int_compare:nTF { \hangafter=1 } {
-    \__jlreq_CutinHeading_start_aux:nnnnnn{#2}{#3}{#4}{#5}{#6}{#7}%
+    \__jlreq_CutinHeading_start_aux:nnnnnnn{#1}{#2}{#3}{#4}{#5}{#6}{#7}%
   }{%
     \ClassError{jlreq}{Can~not~use~\expandafter\string\csname#1\endcsname\space here}{\@ehc}%
   }%
 }
-% 1 = 書式指定,2 = インデント, 3 = 見出しと本文の間, 4 = これを越えたら二行以上,5 = これを越えたら三行以上,6 = テキスト
-\cs_set:Nn \__jlreq_CutinHeading_start_aux:nnnnnn{%
+% 1 = 命令名,2 = 書式指定,3 = インデント, 4 = 見出しと本文の間, 5 = これを越えたら二行以上,6 = これを越えたら三行以上,7 = テキスト
+\cs_set:Nn \__jlreq_CutinHeading_start_aux:nnnnnnn{%
   % 一行で処理したときの見出し長さを計測
   \group_begin:
-    \hbox_set:Nn \l__jlreq_tmpa_box {#1#6}
+    \hbox_set:Nn \l__jlreq_tmpa_box {#2#7}
     \dim_set:Nn \l__jlreq_tmpa_dim { \box_wd:N \l__jlreq_tmpa_box}
     % 何行必要かを\l__jlreq_cutinheading_linecount_tlに入れる
-    \dim_compare:nTF { \l__jlreq_tmpa_dim > #5} {
+    \dim_compare:nTF { \l__jlreq_tmpa_dim > #6 } {
       \tl_set:Nn \l__jlreq_cutinheading_linecount_tl {3}
     }{
-      \dim_compare:nTF { \l__jlreq_tmpa_dim > #4 }{
+      \dim_compare:nTF { \l__jlreq_tmpa_dim > #5 }{
         \tl_set:Nn \l__jlreq_cutinheading_linecount_tl {2}
       } { \tl_set:Nn \l__jlreq_cutinheading_linecount_tl {1} } }
     % \l__jlreq_tmpa_dimが実際の一行の長さに近い
@@ -3073,7 +3179,7 @@
       \vbox_set:Nn \l__jlreq_tmpb_box {\parindent=0pt\rightskip=0pt\leftskip=0pt\box_use_drop:N \l__jlreq_tmpa_box}
       \tl_set:Nn \l__jlreq_cutinheading_linecount_tl {2}
     }{
-      \jlreq at inlinenote@determinelength{#6}{#1}{}{\l__jlreq_cutinheading_linecount_tl}{\l__jlreq_cutinheading_linecount_tl}{\l__jlreq_tmpa_dim}{\linewidth}%
+      \jlreq at inlinenote@determinelength{#7}{#2}{}{\l__jlreq_cutinheading_linecount_tl}{\l__jlreq_cutinheading_linecount_tl}{\l__jlreq_tmpa_dim}{\linewidth}%
       \box_set_eq:NN \l__jlreq_tmpb_box \jlreq at resultbox
       \tl_set:Nn \l__jlreq_cutinheading_linecount_tl {3}
     }
@@ -3084,19 +3190,29 @@
     \box_set_dp:Nn \l__jlreq_tmpa_box { \box_ht:N \l__jlreq_tmpa_box + \box_dp:N \l__jlreq_tmpa_box - \box_ht:N \l__jlreq_tmpc_box }
     \box_set_ht:Nn \l__jlreq_tmpa_box { \box_ht:N \l__jlreq_tmpc_box }
     \noindent
-    \hspace*{#2}%
-    \box_use:N \l__jlreq_tmpa_box
-    \hspace*{#3}%
+    \str_if_eq:nnTF {#1} {chapter}{
+      \def\jlreq@@makechapterhead{
+        \hspace*{#3}%
+        \box_use:N \l__jlreq_tmpa_box
+        \hspace*{#4}%
+      }
+      \@makechapterhead{#7}%
+    }{
+      \hspace*{#3}%
+      \box_use:N \l__jlreq_tmpa_box
+      \hspace*{#4}%
+    }
     % でかい見出しボックスの分をキャンセルする空きを入れる
     % \baselineskip - box_ht:N \l__jlreq_tmpc_boxはTeXが挿入するスキップの分
     \cs_set:Nx \l__jlreq_do:{
       \exp_not:N \par
       \exp_not:N \skip_vertical:n {\dim_eval:n {-\box_ht:N \l__jlreq_tmpa_box - \box_dp:N \l__jlreq_tmpa_box - \baselineskip + \box_ht:N \l__jlreq_tmpc_box}}
-      \exp_not:N\hangindent= \dim_eval:n {#2 + \box_wd:N \l__jlreq_tmpa_box + #3} \exp_not:N \relax
+      \exp_not:N\hangindent= \dim_eval:n {#3 + \box_wd:N \l__jlreq_tmpa_box + #4} \exp_not:N \relax
       \exp_not:N\hangafter=-\l__jlreq_cutinheading_linecount_tl\relax
     }%
   \exp_after:wN \group_end:
   \l__jlreq_do:
+  \renewcommand{\@currentlabelname}{#7}%
   \prevdepth=0pt\relax
   % 改段落が起こっても\hang****をキープするように\parを書き換えておく(終わったら元に戻す).
   \def\par{%
@@ -3118,6 +3234,7 @@
 }
 
 \NewDocumentCommand{\DeclareCutinHeading}{ m m +m }{
+  \__jlreq_define_compatible_heading_macros:n {#1}
   \expandafter\def\csname jlreq at heading@level@#1\endcsname{#2}
   \expandafter\def\csname jlreq at heading@setting@#1\endcsname{#3}
   \expandafter\def\csname jlreq at heading@type@#1\endcsname{\RenewCutinHeading}
@@ -3141,9 +3258,18 @@
       \jlreq at note{窓見出しと本文との空き量は,基本版面の文字サイズの全角以上,2倍未満とする~(4.1.10.c).}%
     }{}%
     \cs_set:Nx \l__jlreq_do: {
+      \bool_if:nT { \str_if_eq_p:nn {#1} {part} || \str_if_eq_p:nn {#1} {chapter} } {
+        % 採番はつねになし
+        \exp_not:N \def \exp_not:c {jlreq at s#1} {\exp_not:N \__jlreq_CutinHeading_start:nnnnnnn{#1}{\exp_not:o \l__jlreq_fontcommand_tl}{\exp_not:o \l__jlreq_indent_tl}{\exp_not:o \l__jlreq_after_space_tl}{\exp_not:o \l__jlreq_onelinemax_tl}{\exp_not:o \l__jlreq_twolinemax_tl}}
+        \exp_not:N \def \exp_not:c {jlreq@#1} {}
+      }
       \exp_not:N \DeclareDocumentCommand \exp_not:c {#1} {m} {
         \exp_not:N \g__jlreq_hook_beforeheading:n {#1}
-        \exp_not:N \__jlreq_CutinHeading_start:nnnnnnn{#1}{\exp_not:o \l__jlreq_fontcommand_tl}{\exp_not:o \l__jlreq_indent_tl}{\exp_not:o \l__jlreq_after_space_tl}{\exp_not:o \l__jlreq_onelinemax_tl}{\exp_not:o \l__jlreq_twolinemax_tl}{####1}
+        \bool_if:nTF { \str_if_eq_p:nn {#1} {part} || \str_if_eq_p:nn {#1} {chapter} } {
+          \exp_not:c {jlreq at s#1} {####1}
+        }{
+          \exp_not:N \__jlreq_CutinHeading_start:nnnnnnn{#1}{\exp_not:o \l__jlreq_fontcommand_tl}{\exp_not:o \l__jlreq_indent_tl}{\exp_not:o \l__jlreq_after_space_tl}{\exp_not:o \l__jlreq_onelinemax_tl}{\exp_not:o \l__jlreq_twolinemax_tl}{####1}
+        }
       }
     }
   \exp_after:wN \group_end:
@@ -3193,23 +3319,14 @@
   }%
 }
 
-\def\jlreq at keepbaselineskip#1{%
-  \begingroup
-    \edef\jlreq at do{\unexpanded{#1}\noexpand\baselineskip=\the\baselineskip}%
-  \expandafter\endgroup
-  \jlreq at do
-}
-
 \def\jlreq at HeadingType#1{%
-  \ifcsname jlreq at heading@type@#1\endcsname
+  \jlreq at if{\ifcsname jlreq at heading@type@#1\endcsname\fi}{%
     \jlreq at HeadingType@{#1}{\RenewTobiraHeading}{TobiraHeading}{%
     \jlreq at HeadingType@{#1}{\RenewBlockHeading}{BlockHeading}{%
     \jlreq at HeadingType@{#1}{\RenewRuninHeading}{RuninHeading}{%
     \jlreq at HeadingType@{#1}{\RenewCutinHeading}{CutinHeading}{%
     UnknownHeading}}}}%
-  \else
-    UndefinedHeading%
-  \fi
+  }{UndefinedHeading}%
 }
 \def\jlreq at HeadingType@#1#2{%
   \jlreq at if{\expandafter\expandafter\expandafter\ifx\csname jlreq at heading@type@#1\endcsname#2\fi}%
@@ -3254,7 +3371,7 @@
         \hbox{}\hbox{\@textsuperscript{\normalfont\jlreq at referencemark@format{##1}}}\hbox{}%
       }{%
         \setbox\@tempboxa=\hbox{\scriptsize\jlreq at referencemark@format{##1}}%
-        \raise\dimexpr.5\jlreq at gol - \ht\@tempboxa\relax\box\@tempboxa
+        \raise\dimexpr.5\jlreq at zh - \ht\@tempboxa\relax\box\@tempboxa
       }%
     }
     \def\jlreq at hook@prenote{\inhibitglue}
@@ -3316,7 +3433,7 @@
 %.. 脚注(4.2.5)
 % (縦書きの時は傍注,4.2.6)
 % 罫線の前は行間分,最大+文字サイズ分伸びる(4.2.5.g)
-\setlength{\skip\footins}{\dimexpr\baselineskip - 1\jlreq at gol \relax plus 1\jlreq at gol}
+\setlength{\skip\footins}{\dimexpr\baselineskip - 1\jlreq at zh \relax plus 1\jlreq at zh}
 % 罫線の長さは,基本版面で設定した行長にもよるが,行長の1/3くらいにする.
 \def\jlreq at footnote@rulewidth{0.333\columnwidth}
 \begingroup
@@ -3386,12 +3503,41 @@
 % \footnoteと\footnotemarkの前後に\jlreq at hook@prenote/\jlreq at hook@postnoteを入れる
 \jlreq at saveoriginalcs{footnote}
 \jlreq at saveoriginalcs{footnotemark}
+\newcounter{__jlreq_footnotetemporary}
+\def\jlreq at savedHref{}
+\long\def\jlreq at footnotemark@for at footnote[#1]{%
+  \@ifpackageloaded{hyperref}{%
+    \def\jlreq at result{%
+      \setcounter{__jlreq_footnotetemporary}{\value{footnote}}%
+      \setcounter{footnote}{\numexpr #1 - 1\relax}%
+      \footnotemark
+      \let\jlreq at savedHref\Hy at footnote@currentHref
+      \setcounter{footnote}{\value{__jlreq_footnotetemporary}}%
+    }%
+  }{%
+    \def\jlreq at result{\footnotemark[#1]}%
+  }%
+}
 \long\def\jlreq at footnotetext@for at footnote[#1]#2{%
-  \def\jlreq at result{\footnotetext[#1]{#2}}%
+  \@ifpackageloaded{hyperref}{%
+    \edef\jlreq at result{%
+      \exp_not:n {\setcounter{__jlreq_footnotetemporary}{\value{footnote}}}%
+      \exp_not:n {\setcounter{footnote}{#1}}%
+      \exp_not:n {\def\Hy at footnote@currentHref}{\exp_not:o {\jlreq at savedHref}}%
+      \exp_not:n {\footnotetext{#2}}%
+      \exp_not:n {\setcounter{footnote}{\value{__jlreq_footnotetemporary}}}%
+    }%
+  }{%
+    \def\jlreq at result{\footnotetext[#1]{#2}}%
+  }%
 }
+
 \def\footnote{%
-  \jlreq at footnote{\footnote}{\footnotemark}{\jlreq at footnotetext@for at footnote}%
+  \jlreq at footnote{\footnote}{\jlreq at footnotemark@for at footnote}{\jlreq at footnotetext@for at footnote}%
 }
+% 1 = \footnote, 2 = \footnotemark, 3 = \footnotetextを想定
+% ただし#2と#3は実行するべきものを\jlreq at resultに入れて返すように実装されている必要がある.
+% 通常は#1を実行するだけ.脚注の出力を次ページなどまで遅延する必要があるときは#2でマークだけだし#3で遅延して出力する.
 \long\def\jlreq at footnote#1#2#3{%
   \jlreq at hook@prenote
   \@ifnextchar[{\jlreq at footnote@impl at woption{#1}{#2}{#3}}{\jlreq at footnote@impl at wooption{#1}{#2}{#3}}%
@@ -3430,7 +3576,7 @@
     \expandafter\gdef\expandafter\jlreq at footnote@delayfootnoteslist\expandafter{\expandafter}%
     \jlreq at footnote@delayfootnoteslist
   }
-  \tl_put_left:Nn \@opcol{\jlreq at hook@@opcol}
+  \tl_put_left:Nn \@opcol{\jlreq at hook@@opcol} % カーネルへ入り込む
   % \jlreq at footnote@delayfootnote at delay#1#2:#1ページ目に#2を出す
   % \jlreq at footnote@delayfootnote at page:何ページ目に\footnotetextを入れるかを\jlreq at resultcntに入れる.その場での場合は-1.
   \if at twocolumn
@@ -3563,7 +3709,7 @@
 % 文字サイズは\footnotesizeを使う
 \newdimen\jlreq at endnote@prepostspace
 % 前の分との間は行間分空ける(4.2.4.f)
-\jlreq at endnote@prepostspace=\dimexpr\baselineskip - 1\jlreq at gol\relax
+\jlreq at endnote@prepostspace=\dimexpr\baselineskip - 1\jlreq at zh\relax
 \newdimen\jlreq at endnote@indent
 % 現在の後注一覧を,\jlreq at endnote@textsに{{合印1}{後注1}}{{合印2}{後注2}}...の形で保持する
 \def\jlreq at endnote@texts{}
@@ -3625,7 +3771,7 @@
   \ifx\jlreq at endnote@texts\@empty\else
     \let\jlreq at tempa=\jlreq at endnote@texts
     \gdef\jlreq at endnote@texts{}%
-    \edef\jlreq at endnote@beforeafterspace{\the\dimexpr\baselineskip - 1\jlreq at gol\relax plus \the\dimexpr 1\jlreq at gol\relax}%
+    \edef\jlreq at endnote@beforeafterspace{\the\dimexpr\baselineskip - 1\jlreq at zh\relax plus \the\dimexpr 1\jlreq at zh\relax}%
     \begingroup
       \par
       \footnotesize
@@ -3864,7 +4010,7 @@
         \tl_set:Nn \l__jlreq_tmpa_tl { \jlreq at open@bracket at before@space }
       }
     }
-    \edef\jlreq at warichu@opening{\expandonce{\l__jlreq_tmpa_tl}\unexpanded{#1}}
+    \edef\jlreq at warichu@opening{\exp_not:o {\l__jlreq_tmpa_tl}\unexpanded{#1}}
   },
   warichu_closing .tl_set:N = \jlreq at warichu@closing
 }
@@ -3966,6 +4112,7 @@
             \hbox{\unhbox\jlreq at tempboxa}%
             \hbox{\unhbox\jlreq at tempboxb}}%
         \fi
+        \setbox\jlreq at tempboxa=\hbox{\box\jlreq at tempboxa}%
         \jlreq at box@putcenter\jlreq at tempboxa
       }%
       \advance\@tempcnta by 2\relax
@@ -5090,8 +5237,8 @@
 
 %. フロート関連
 % 4.3.3.dの例,縦組みの時だけど横にも適用……
-\setlength{\floatsep}{1\jlreq at gol plus 1\jlreq at gol}
-\setlength{\textfloatsep}{1\jlreq at gol plus \baselineskip}
+\setlength{\floatsep}{1\jlreq at zh plus 1\jlreq at zh}
+\setlength{\textfloatsep}{1\jlreq at zh plus \baselineskip}
 \intextsep=\textfloatsep
 \dblfloatsep=\floatsep
 \dbltextfloatsep=\textfloatsep
@@ -5280,7 +5427,7 @@
 }
 
 % 特に根拠のない値
-\setlength\abovecaptionskip{.5\jlreq at gol}
+\setlength\abovecaptionskip{.5\jlreq at zh}
 \setlength\belowcaptionskip{0pt}
 
 %.. figure環境
@@ -5434,9 +5581,9 @@
   \newpage\null
   \vskip 2\baselineskip%
   \begin{center}%
-  {\jlreq at keepbaselineskip{\LARGE}\@title\par}%
+  {\LARGE\@title\par}%
   \vskip\baselineskip
-  {\jlreq at keepbaselineskip{\large}%
+  {\large
     \lineskip .5\jlreq at zh
     % 縦書き時には表組み内でも縦書きにするようにする
     \if at tate
@@ -5450,7 +5597,7 @@
   }%
   \ifx\@date\@empty\else
     \vskip\baselineskip
-    {\jlreq at keepbaselineskip{\large}\@date}%
+    {\large\@date}%
   \fi
   \end{center}%
   \par
@@ -5715,7 +5862,7 @@
     \labelwidth\z@
     \labelsep\z@
     \topsep=\dimexpr\jlreq at quote@beforeafter at space\relax
-    \parsep\z@ \@plus.1\jlreq at gol}%
+    \parsep\z@ \@plus.1\jlreq at zh}%
     \item\relax\jlreq at quote@fontsize}{\endlist}
 \newenvironment{quote}
   {\list{}{%
@@ -5767,18 +5914,11 @@
 \newcommand{\@dotsep}{2} % 狭くしてみた
 \prop_new:N \g__jlreq_tableofcontents_prop
 \newskip\toclineskip
-\setlength\toclineskip{0\jlreq at gol plus .02\jlreq at gol}
+\setlength\toclineskip{0\jlreq at zh plus .02\jlreq at zh}
 % tarticleから
 \newdimen\@lnumwidth
 \def\numberline#1{\hbox to\@lnumwidth{#1\hfil}}
 
-% from latex.ltx
-\legacy_if:nT { @tate } {
-  \def\addcontentsline#1#2#3{%
-    \addtocontents{#1}{\protect\contentsline{#2}{#3}{\tatechuyoko*{\thepage}}{}%
-                       \protected at file@percent}}
-}
-
 \newcount\jlreq at top@contents % トップ見出しを入れる.レベルと同じ値.
 \jlreq at top@contents=-100
 \def\jlreq at set@top at contents#1{%
@@ -5846,7 +5986,7 @@
     {#4}\nobreak
     \leaders\hbox{$\m at th\mkern \@dotsep mu$\null\inhibitglue ・\inhibitglue\null$\m at th\mkern \@dotsep mu$}%
     \hfill\nobreak
-    \hb at xt@\@pnumwidth{\hss\normalfont\normalcolor #5}%
+    \hb at xt@\@pnumwidth{\hss\normalfont\normalcolor \tatechuyoko*{#5}}%
     \par}%
   \fi
 }
@@ -5858,7 +5998,7 @@
   \@mkboth{\listfigurename}{\listfigurename}%
   \@starttoc{lof}%
 }
-\newcommand*{\l at figure}{\@dottedtocline{1}{0\jlreq at gol}{2\jlreq at gol}}
+\newcommand*{\l at figure}{\@dottedtocline{1}{0\jlreq at zh}{2\jlreq at zh}}
 \newcommand{\listoftables}{%
   \jlreq at top@contents=-100
   \section*{\listtablename}%
@@ -5906,7 +6046,7 @@
   \@mkboth{\indexname}{\indexname}%
   \jlreq at theindex@pagestyle
   \parindent\z@
-  \parskip\z@ \@plus .03\jlreq at gol\relax
+  \parskip\z@ \@plus .03\jlreq at zh\relax
   \let\item\@idxitem
 }{%
   \ifx\jlreq at theindex@savedpagestyle\@undefined\else\expandafter\pagestyle\expandafter{\jlreq at theindex@savedpagestyle}\fi
@@ -5918,7 +6058,7 @@
 \newcommand{\@idxitem}{\par\hangindent 4\jlreq at mol}
 \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}
+\newcommand{\indexspace}{\par \vskip 1\jlreq at zh \@plus .5\jlreq at zh \@minus .3\jlreq at zh\relax}
 \def\jlreq at theindex@pagestyle{\pagestyle{plain}}
 
 %. 前付,後付,付録
@@ -6369,23 +6509,23 @@
   \renewcommand{\thesubparagraph}{(\tatechuyoko*{\@arabic\c at subparagraph})}
 
   \str_if_eq:VnTF \jlreq at article@type { article } {
-    \NewBlockHeading{part}{0}{font={\jlreq at keepbaselineskip{\LARGE}},indent=4\jlreq at zw,lines=4,after_label_space=1\jlreq at zw,second_heading_text_indent={-1\jlreq at zw,1\jlreq at zw},subtitle_font={\jlreq at keepbaselineskip{\large}}}
+    \NewBlockHeading{part}{0}{font={\LARGE},indent=4\jlreq at zw,lines=4,after_label_space=1\jlreq at zw,second_heading_text_indent={-1\jlreq at zw,1\jlreq at zw},subtitle_font={\large}}
     \if at twoside\ModifyHeading{part}{allowbreak_if_evenpage=true}\fi
   }
   {% book, report
     \NewTobiraHeading{part}{-1}{label_format={第\thepart 部\hspace*{1\jlreq at zw}},format={\null\vfill {\Huge\hspace*{2\jlreq at zw}#1#2}\vspace*{2\jlreq at gol}}}
-    \NewBlockHeading{chapter}{0}{indent=2\jlreq at zw,lines=6,label_format={第\thechapter 章},font={\huge},after_label_space=1\jlreq at zw,second_heading_text_indent={-1\jlreq at zw,1\jlreq at zw},subtitle_font={\jlreq at keepbaselineskip{\Large}}}
+    \NewBlockHeading{chapter}{0}{indent=2\jlreq at zw,lines=6,label_format={第\thechapter 章},font={\huge},after_label_space=1\jlreq at zw,second_heading_text_indent={-1\jlreq at zw,1\jlreq at zw},subtitle_font={\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\jlreq at zw,lines=3,after_label_space=1\jlreq at zw,second_heading_text_indent={-1\jlreq at zw,1\jlreq at zw},subtitle_font={\jlreq at keepbaselineskip{\normalsize}}}
+  \NewBlockHeading{section}{1}{font={\Large},indent=6\jlreq at zw,lines=3,after_label_space=1\jlreq at zw,second_heading_text_indent={-1\jlreq at zw,1\jlreq at zw},subtitle_font={\normalsize}}
   \if at twoside\ModifyHeading{section}{allowbreak_if_evenpage=true}\fi
-  \NewBlockHeading{subsection}{2}{font={\jlreq at keepbaselineskip{\large}},indent=8\jlreq at zw,lines=2,after_label_space=1\jlreq at zw,second_heading_text_indent={-1\jlreq at zw,1\jlreq at zw},subtitle_font={\jlreq at keepbaselineskip{\small}}}
+  \NewBlockHeading{subsection}{2}{font={\large},indent=8\jlreq at zw,lines=2,after_label_space=1\jlreq at zw,second_heading_text_indent={-1\jlreq at zw,1\jlreq at zw},subtitle_font={\small}}
   \if at twoside\ModifyHeading{subsection}{allowbreak_if_evenpage=true}\fi
-  \NewBlockHeading{subsubsection}{3}{font={\jlreq at keepbaselineskip{\normalsize}},indent=10\jlreq at zw,lines=1,before_lines=1,subtitle_break=false,after_label_space=1\jlreq at zw,second_heading_text_indent={-1\jlreq at zw,1\jlreq at zw},,subtitle_font={\jlreq at keepbaselineskip{\scriptsize}}}
+  \NewBlockHeading{subsubsection}{3}{font={\normalsize},indent=10\jlreq at zw,lines=1,before_lines=1,subtitle_break=false,after_label_space=1\jlreq at zw,second_heading_text_indent={-1\jlreq at zw,1\jlreq at zw},,subtitle_font={\scriptsize}}
   \if at twoside\ModifyHeading{subsubsection}{allowbreak_if_evenpage=true}\fi
-  \NewRuninHeading{paragraph}{4}{font={\jlreq at keepbaselineskip{\normalsize}\sffamily\gtfamily\bfseries}}
-  \NewRuninHeading{subparagraph}{5}{font={\jlreq at keepbaselineskip{\normalsize}\sffamily\gtfamily\bfseries},indent=1\jlreq at zw}
+  \NewRuninHeading{paragraph}{4}{font={\normalsize\sffamily\gtfamily\bfseries}}
+  \NewRuninHeading{subparagraph}{5}{font={\normalsize\sffamily\gtfamily\bfseries},indent=1\jlreq at zw}
 \else% yoko
   \renewcommand{\thepart}{\Roman{part}}
   \renewcommand{\thesubsection}{\thesection .\arabic{subsection}}
@@ -6393,23 +6533,23 @@
   \renewcommand{\theparagraph}{\thesubsubsection .\arabic{paragraph}}
   \renewcommand{\thesubparagraph}{\theparagraph .\arabic{subparagraph}}
   \str_if_eq:VnTF \jlreq at article@type { article } {
-    \NewBlockHeading{part}{0}{font={\jlreq at keepbaselineskip{\LARGE\sffamily\gtfamily\bfseries}},label_format={第\thepart 部},lines=4,after_label_space=1\jlreq at zw,second_heading_text_indent={-1\jlreq at zw,1\jlreq at zw},subtitle_font={\jlreq at keepbaselineskip{\large}}}
+    \NewBlockHeading{part}{0}{font={\LARGE\sffamily\gtfamily\bfseries},label_format={第\thepart 部},lines=4,after_label_space=1\jlreq at zw,second_heading_text_indent={-1\jlreq at zw,1\jlreq at zw},subtitle_font={\large}}
     \renewcommand{\thesection}{\arabic{section}}
   }{% book, report
     \NewTobiraHeading{part}{-1}{label_format={第\thepart 部\hspace*{1\jlreq at gol}},format={\null\vfil {\Huge\sffamily\gtfamily\bfseries #1#2}\vfil}}
     \NewBlockHeading{chapter}{0}{%
-      font={\jlreq at keepbaselineskip{\huge\sffamily\gtfamily\bfseries}},
+      font={\huge\sffamily\gtfamily\bfseries},
       label_format={第\thechapter 章},
       lines=5,after_label_space=1\jlreq at zw,second_heading_text_indent={-1\jlreq at zw,1\jlreq at zw},
-      subtitle_font={\jlreq at keepbaselineskip{\Large}}}
+      subtitle_font={\Large}}
     \renewcommand{\thechapter}{\arabic{chapter}}
     \renewcommand{\thesection}{\thechapter.\arabic{section}}
   }
-  \NewBlockHeading{section}{1}{font={\jlreq at keepbaselineskip{\Large\sffamily\gtfamily\bfseries}},lines=3,after_label_space=1\jlreq at zw,second_heading_text_indent={-1\jlreq at zw,1\jlreq at zw},subtitle_font={\jlreq at keepbaselineskip{\normalsize}}}
-  \NewBlockHeading{subsection}{2}{font={\jlreq at keepbaselineskip{\large\sffamily\gtfamily\bfseries}},lines=2,after_label_space=1\jlreq at zw,second_heading_text_indent={-1\jlreq at zw,1\jlreq at zw},subtitle_font={\jlreq at keepbaselineskip{\small}}}
-  \NewBlockHeading{subsubsection}{3}{font={\jlreq at keepbaselineskip{\normalsize\sffamily\gtfamily\bfseries}},lines=1,before_lines=1,subtitle_break=false,after_label_space=1\jlreq at zw,second_heading_text_indent={-1\jlreq at zw,1\jlreq at zw},subtitle_font={\jlreq at keepbaselineskip{\scriptsize}}}
-  \NewRuninHeading{paragraph}{4}{font={\jlreq at keepbaselineskip{\normalsize\sffamily\gtfamily\bfseries}},indent=1\jlreq at zw}
-  \NewRuninHeading{subparagraph}{5}{font={\jlreq at keepbaselineskip{\normalsize\sffamily\gtfamily\bfseries}},indent=2\jlreq at zw}
+  \NewBlockHeading{section}{1}{font={\Large\sffamily\gtfamily\bfseries},lines=3,after_label_space=1\jlreq at zw,second_heading_text_indent={-1\jlreq at zw,1\jlreq at zw},subtitle_font={\normalsize}}
+  \NewBlockHeading{subsection}{2}{font={\large\sffamily\gtfamily\bfseries},lines=2,after_label_space=1\jlreq at zw,second_heading_text_indent={-1\jlreq at zw,1\jlreq at zw},subtitle_font={\small}}
+  \NewBlockHeading{subsubsection}{3}{font={\normalsize\sffamily\gtfamily\bfseries},lines=1,before_lines=1,subtitle_break=false,after_label_space=1\jlreq at zw,second_heading_text_indent={-1\jlreq at zw,1\jlreq at zw},subtitle_font={\scriptsize}}
+  \NewRuninHeading{paragraph}{4}{font={\normalsize\sffamily\gtfamily\bfseries},indent=1\jlreq at zw}
+  \NewRuninHeading{subparagraph}{5}{font={\normalsize\sffamily\gtfamily\bfseries},indent=2\jlreq at zw}
 \fi
 
 \str_if_eq:VnF \jlreq at article@type { article } {
@@ -6666,14 +6806,14 @@
     \ifx p\jlreq at engine platex\fi
     \ifx u\jlreq at engine uplatex\fi
     ,setupname=jlreqsetup
-  ]{jlreq-complements}[2022/11/28]
+  ]{jlreq-complements}[2025/03/16]
 }
 \l__jlreq_tmpa_tl
 \jlreqsetup{
-  thebibliography_precode = { \jlreq at oldfontcommand@enable },
-  thebibliography_postcode = { \jlreq at oldfontcommand@disable },
-  theindex_precode = { \jlreq at oldfontcommand@enable },
-  theindex_postcode = { \jlreq at oldfontcommand@disable }
+  thebibliography_presystemcode = { \jlreq at oldfontcommand@enable },
+  thebibliography_postsystemcode = { \jlreq at oldfontcommand@disable },
+  theindex_presystemcode = { \jlreq at oldfontcommand@enable },
+  theindex_postsystemcode = { \jlreq at oldfontcommand@disable }
 }
 
 \ExplSyntaxOff



More information about the tex-live-commits mailing list.