From 7296fc79309858e6bcb41b7e4e28dfa73e3dd773 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 1 Sep 2018 22:16:58 +0000 Subject: jlreq (1sep18) git-svn-id: svn://tug.org/texlive/trunk@48535 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/jlreq/README-ja.md | 5 +- Master/texmf-dist/doc/latex/jlreq/README.md | 4 +- Master/texmf-dist/doc/latex/jlreq/jlreq-ja.html | 27 +++-- .../doc/latex/jlreq/jlreq-trimmarks-ja.html | 25 ++-- .../doc/latex/jlreq/jlreq-trimmarks-ja.md | 26 ++-- .../doc/latex/jlreq/jlreq-trimmarks.html | 21 ++-- .../texmf-dist/doc/latex/jlreq/jlreq-trimmarks.md | 22 ++-- Master/texmf-dist/doc/latex/jlreq/jlreq.html | 5 + .../texmf-dist/tex/latex/jlreq/jlreq-helpers.sty | 75 +++++++----- .../texmf-dist/tex/latex/jlreq/jlreq-trimmarks.sty | 88 ++++++++++---- Master/texmf-dist/tex/latex/jlreq/jlreq.cls | 131 ++++++++++++--------- 11 files changed, 275 insertions(+), 154 deletions(-) (limited to 'Master/texmf-dist') diff --git a/Master/texmf-dist/doc/latex/jlreq/README-ja.md b/Master/texmf-dist/doc/latex/jlreq/README-ja.md index d38548b4644..df4d5028984 100644 --- a/Master/texmf-dist/doc/latex/jlreq/README-ja.md +++ b/Master/texmf-dist/doc/latex/jlreq/README-ja.md @@ -29,7 +29,7 @@ その他,`oneside / twoside / onecolumn / twocolumn / titlepage / notitlepage / draft / final / openright / openany / leqno / fleqn`というよくあるオプションを受け付けます. -標準的な文書クラスと同じように中身を書くことができますが,次のような命令が追加 / 拡張されています. +標準的な文書クラスと同じように中身を書くことができますが,次のような命令が追加 / 拡張されています.なお,本ドキュメントでは[日本語組版処理の要件](https://www.w3.org/TR/jlreq/ja/)における用語を断りなく使います. ### `\jlreqsetup` 設定用命令です.プリアンブルでしか使えません.文書に対する設定は,クラスオプションとして行うか`\jlreqsetup`を通じて行うかします.どちらで設定するかは設定項目によります. @@ -395,6 +395,9 @@ JFMの名前は次の通りです.`[]`で囲まれている文字は設定に - `\jlreqsetup`に`footnote_second_indent`と`endnote_second_indent`を追加. * 2018-08-15 - バグ修正. +* 2018-09-01 + - `\mag`が`1000`でない場合も動くようにした(つもり). + - バグ修正. -------------- diff --git a/Master/texmf-dist/doc/latex/jlreq/README.md b/Master/texmf-dist/doc/latex/jlreq/README.md index db94ef0fa07..b9a49687f2c 100644 --- a/Master/texmf-dist/doc/latex/jlreq/README.md +++ b/Master/texmf-dist/doc/latex/jlreq/README.md @@ -93,7 +93,9 @@ This package is distributed under the BSD 2-Clause License. See [LICENSE](LICENS - Added `footnote_second_indent` and `endnote_second_indent` to `\jlreqsetup`. * 2018-08-15 - Fixed bugs. - +* 2018-09-01 + - jlreq works with unusual `\mag`. + - Fixed bugs. -------------- Noriyuki Abe diff --git a/Master/texmf-dist/doc/latex/jlreq/jlreq-ja.html b/Master/texmf-dist/doc/latex/jlreq/jlreq-ja.html index c7a342fed69..60d4f9d9bc1 100644 --- a/Master/texmf-dist/doc/latex/jlreq/jlreq-ja.html +++ b/Master/texmf-dist/doc/latex/jlreq/jlreq-ja.html @@ -102,12 +102,12 @@

と配置します.make installとすると,$TEXMF=$TEXMFHOMEとしてこのコピーを行います.

使い方

通常通り

-
\documentclass{jlreq}
+
\documentclass{jlreq}

とします.これで横書きのarticle相当の文書クラスとなります.エンジンは自動判定されますが,指定する場合はクラスオプションにplatex/uplatex/lualatexのいずれかを渡してください.縦書きにするにはtateオプションを渡します.また,reportやbook相当の文書クラスとするには,それぞれreportbookオプションを渡します.たとえば,縦書きの本を作成するには

-
\documentclass[tate,book]{jlreq}
+
\documentclass[tate,book]{jlreq}

とします.

その他,oneside / twoside / onecolumn / twocolumn / titlepage / notitlepage / draft / final / openright / openany / leqno / fleqnというよくあるオプションを受け付けます.

-

標準的な文書クラスと同じように中身を書くことができますが,次のような命令が追加 / 拡張されています.

+

標準的な文書クラスと同じように中身を書くことができますが,次のような命令が追加 / 拡張されています.なお,本ドキュメントでは日本語組版処理の要件における用語を断りなく使います.

\jlreqsetup

設定用命令です.プリアンブルでしか使えません.文書に対する設定は,クラスオプションとして行うか\jlreqsetupを通じて行うかします.どちらで設定するかは設定項目によります.

\section

@@ -117,7 +117,7 @@

\sidenote

この命令は傍注の幅が正の時にのみ定義されます.デフォルトの基本版面ではこの幅は0に設定されています.従って\sidenoteは定義されません.後の基本版面の設定を参考にしてください.

\sidenoteは傍注(縦組みの場合は脚注)を出力します.内部では\marginparを使っています.デフォルトでは\footnoteと同様の書式となりますが,\jlreqsetupsidenote_type=symbolが指定されている場合,その書式は\sidenote{該当項目}{注}となります.たとえば

-
刊行できる\sidenote{原稿}{印刷などの方法により……}を入手する仕事である.
+
刊行できる\sidenote{原稿}{印刷などの方法により……}を入手する仕事である.

とします.後の説明も参照してください.

\endnote

後注を指定します.\footnoteと同様の書式です.デフォルトでは,注自身の出力は見出し直前に行われます.この動作は\jlreqsetupendnote_positionを渡すことで制御できます.詳しくは後の注関係の説明をご覧ください.また\theendnotesを実行するとその場に出力をします.

@@ -136,7 +136,7 @@ @@ -272,10 +272,10 @@

連続して掲げる見出しの行取り

\SetBlockHeadingSpacesにより,見出しが連続して掲げられたときの行取りを設定することができます.\SetBlockHeadingSpaces

-
\SetBlockHeadingSpaces{
+
\SetBlockHeadingSpaces{
   {_part{lines=3,before_lines=1},_section{lines=2},_subsection{lines=2}}
   [lines=5]{_section,23pt,_subsection,16pt}
-}
+}

のように使います.この意味は次の通りです.

\ModifyHeading

既に(上のどれかを使い)定義された見出し命令の設定を変更します.たとえば

-
\ModifyHeading{section}{lines=10}
+
\ModifyHeading{section}{lines=10}

とすると,\sectionのフォントなどの設定はそのままに,行取りのみが10行に変更されます.見出しの種類を変更することはできません.

\SaveHeading

見出し命令の定義を待避します.

-
\SaveHeading{section}{\restoresection} % \sectionの中身を\restoresectionに待避.
+
\SaveHeading{section}{\restoresection} % \sectionの中身を\restoresectionに待避.
 \RenewBlockHeading{section}{1}{font=……} % \sectionを新しく定義する.
 ……
-\restoresection % \sectionの中身を元に戻す.
+\restoresection % \sectionの中身を元に戻す.

のように使います.

ページスタイル

\DeclarePageStyle{<ページスタイル名>}{<設定>}
@@ -339,7 +339,7 @@
 

\NewPageStyle\RenewPageStyle\ProvidePageStyleもあります.\ModifyPageStyleにより既存のページスタイルを改変することが可能です.

JFM

以下のような独自のJFMを使います.パッケージによっては,パッケージ独自のJFMや,また標準のJFMを使うように設定がし直される場合があります.例えばLuaTeX-jaに付属するluatexja-presetパッケージは通常LuaTeX-ja標準のJFMを使います.本クラスファイルで使っているJFMを使う場合は,

- +
\usepackage[jfm_yoko=jlreq,jfm_tate=jlreqv,hiragino-pron]{luatexja-preset}

のようにオプションで指定する必要があります.

pLaTeX/upLaTeXの場合

JFMの名前は次の通りです.[]で囲まれている文字は設定により入ったり入らなかったりします.

@@ -477,6 +477,11 @@
  • バグ修正.
+
  • 2018-09-01 +
      +
    • \mag1000でない場合も動くようにした(つもり).
    • +
    • バグ修正.
    • +

  • Noriyuki Abe https://github.com/abenori/jlreq

    diff --git a/Master/texmf-dist/doc/latex/jlreq/jlreq-trimmarks-ja.html b/Master/texmf-dist/doc/latex/jlreq/jlreq-trimmarks-ja.html index d6fe74f89b5..9acc37879e5 100644 --- a/Master/texmf-dist/doc/latex/jlreq/jlreq-trimmarks-ja.html +++ b/Master/texmf-dist/doc/latex/jlreq/jlreq-trimmarks-ja.html @@ -58,7 +58,7 @@

    jlreq-trimmarks

    これは何?

    -

    トンボ(トリムマーク)を出力するためのパッケージです.LuaTeX-ja / pLaTeX / upLaTeX / dvipdfmx / Dvips / dviout上で動きます.以下の機能を提供します.

    +

    トンボ(トリムマーク)を出力するためのパッケージです.LuaTeX-ja / pLaTeX / upLaTeX / dvipdfmx / Dvips / dviout上で動きます.jlreqクラスファイルのみでなく,汎用的に動くように設計されています.以下の機能を提供します.

    • トンボの出力
    • 可能な場合には,TrimBox / BleedBoxを設定
    • @@ -71,6 +71,9 @@

      ドライバおよびエンジンを指定して\usepackageで読み込みます.エンジンは省略が可能です.

      \usepackage[dvipdfmx,platex]{jlreq-trimmarks}
       
      +

      なお,クラスファイルのtombowオプションは使わないでください.

      +

      ノート

      +

      jlreq-trimmarksは紙サイズを設定しますが,その他のパッケージとの兼ね合いで正しく機能しないことがあります.その際はbxpapersizeのようなより強力なパッケージを試してみてください.

      オプション

      以下のパッケージオプションを受け付けます.keyval形式です.

      platex, uplatex, lulatex

      @@ -81,16 +84,12 @@

    です.

    dvipdfmxdvipsdviout

    -

    dviドライバの指定です.省略時は

    -
      -
    • lualatex利用時はLuaLaTeXによりPDF出力が行われると見なされる.
    • -
    • platexまたはuplatex利用時はdvipdfmx
    • -
    +

    dviドライバの指定です.エンジンにlualatexを利用する場合は指定する必要はありません.省略時はdvipdfmxが使われます.

    trimmarks_paper

    トンボ付きの紙サイズを指定します.

    • trimmarks_paper=a4のように,a0--a10, b0--b10, c2--c8(BはJIS B列)を指定できる他,trimmarks_paper={<width>,<height>}と直接寸法を指定することができます.
    • -
    • a4+{1cm,2cm}のように<紙サイズ>+{<寸法横>,<寸法縦>}とした場合は,指定された紙サイズから指定された寸法だけ増やした紙サイズを設定します.
    • +
    • a4+{1cm,2cm}{10cm,20cm}+{1cm,2cm}のように<紙サイズ>+{<寸法横>,<寸法縦>}とした場合は,指定された紙サイズから指定された寸法だけ増やした紙サイズを設定します.
    • a4+2cma4+{2cm,2cm}と等価です.
    • +2cmと紙サイズの部分を省略すると,現在の紙サイズを利用します.
    • デフォルトは+2inです.
    • @@ -98,19 +97,19 @@

      landscape

      紙のサイズの縦と横とを入れ替えます.ただし入れ替えるのはtrimmarks_paperで明示的に指定された値に限ります.例えばlandscape,trimmarks_paper=+{1cm,2cm}とすると,もともとの紙サイズ(これは入れ替わらない)の横幅が2cm増え,縦幅が1cm増えた紙サイズとなります.

      show

      -

      何を出力するか指定します.show={trimmarks,banner,digital}のようにカンマ区切りのリストを与えます.引数を与えない場合は全て表示します.

      +

      出力する対象を指定します.show={trimmarks,banner,digital}のようにカンマ区切りのリストを与えます.引数を与えない場合は全て表示します.

      • trimmarks:トンボ自身を出力します.
      • banner:日付などを出力します.
      • digital:TrimBoxとBleedBoxの設定を行います(デジタルトンボ).
      • no:何も表示しません.
      +

      bleed_margin

      +

      仕上がりと裁ち落としの間(ドブ)の長さを指定します.

      \jlreqtrimmarkssetup

      パッケージオプションで指定できない設定を行えます.keyval形式です.

      show=banner時に出力される文字列.

      -

      bleed_margin

      -

      仕上がりと裁ち落としの間(ドブ)の長さを指定します.

      trimmarks_width

      トンボ自身の太さを指定します.

      color

      @@ -140,6 +139,12 @@
    • trimmarks_paperを拡張.
    • パッケージオプションlandscapeを追加.
    +
  • 2018-09-01 +
      +
    • bleed_margin\jlreqtrimmarkssetupからパッケージオプションに移した.
    • +
    • \mag1000でない場合も動くようにした(つもり)
    • +
    • バグ修正
    • +

  • Noriyuki Abe https://github.com/abenori/jlreq

    diff --git a/Master/texmf-dist/doc/latex/jlreq/jlreq-trimmarks-ja.md b/Master/texmf-dist/doc/latex/jlreq/jlreq-trimmarks-ja.md index d488bd1f181..c76deae6780 100644 --- a/Master/texmf-dist/doc/latex/jlreq/jlreq-trimmarks-ja.md +++ b/Master/texmf-dist/doc/latex/jlreq/jlreq-trimmarks-ja.md @@ -1,7 +1,7 @@ # jlreq-trimmarks ## これは何? -トンボ(トリムマーク)を出力するためのパッケージです.[LuaTeX-ja](https://osdn.jp/projects/luatex-ja/wiki/FrontPage) / pLaTeX / upLaTeX / dvipdfmx / Dvips / dviout上で動きます.以下の機能を提供します. +トンボ(トリムマーク)を出力するためのパッケージです.[LuaTeX-ja](https://osdn.jp/projects/luatex-ja/wiki/FrontPage) / pLaTeX / upLaTeX / dvipdfmx / Dvips / dviout上で動きます.jlreqクラスファイルのみでなく,汎用的に動くように設計されています.以下の機能を提供します. * トンボの出力 * 可能な場合には,TrimBox / BleedBoxを設定 @@ -20,6 +20,11 @@ $TEXMF/tex/latex/jlreq内にjlreq-trimmarks.styとjlreq-helpers.styを配置し \usepackage[dvipdfmx,platex]{jlreq-trimmarks} ```` +なお,クラスファイルの`tombow`オプションは使わないでください. + +## ノート +jlreq-trimmarksは紙サイズを設定しますが,その他のパッケージとの兼ね合いで正しく機能しないことがあります.その際は[bxpapersize](https://github.com/zr-tex8r/BXpapersize)のようなより強力なパッケージを試してみてください. + ## オプション 以下のパッケージオプションを受け付けます.keyval形式です. @@ -32,15 +37,12 @@ $TEXMF/tex/latex/jlreq内にjlreq-trimmarks.styとjlreq-helpers.styを配置し です. ### `dvipdfmx`,`dvips`,`dviout` -dviドライバの指定です.省略時は - -* `lualatex`利用時はLuaLaTeXによりPDF出力が行われると見なされる. -* `platex`または`uplatex`利用時は`dvipdfmx`. +dviドライバの指定です.エンジンに`lualatex`を利用する場合は指定する必要はありません.省略時は`dvipdfmx`が使われます. ### `trimmarks_paper` トンボ付きの紙サイズを指定します. * `trimmarks_paper=a4`のように,`a0--a10`, `b0--b10`, `c2--c8`(BはJIS B列)を指定できる他,`trimmarks_paper={,}`と直接寸法を指定することができます. -* `a4+{1cm,2cm}`のように`<紙サイズ>+{<寸法横>,<寸法縦>}`とした場合は,指定された紙サイズから指定された寸法だけ増やした紙サイズを設定します. +* `a4+{1cm,2cm}`や`{10cm,20cm}+{1cm,2cm}`のように`<紙サイズ>+{<寸法横>,<寸法縦>}`とした場合は,指定された紙サイズから指定された寸法だけ増やした紙サイズを設定します. * `a4+2cm`は`a4+{2cm,2cm}`と等価です. * `+2cm`と紙サイズの部分を省略すると,現在の紙サイズを利用します. * デフォルトは`+2in`です. @@ -49,22 +51,22 @@ dviドライバの指定です.省略時は 紙のサイズの縦と横とを入れ替えます.ただし入れ替えるのは`trimmarks_paper`で明示的に指定された値に限ります.例えば`landscape,trimmarks_paper=+{1cm,2cm}`とすると,もともとの紙サイズ(これは入れ替わらない)の横幅が2cm増え,縦幅が1cm増えた紙サイズとなります. ### `show` -何を出力するか指定します.`show={trimmarks,banner,digital}`のようにカンマ区切りのリストを与えます.引数を与えない場合は全て表示します. +出力する対象を指定します.`show={trimmarks,banner,digital}`のようにカンマ区切りのリストを与えます.引数を与えない場合は全て表示します. * `trimmarks`:トンボ自身を出力します. * `banner`:日付などを出力します. * `digital`:TrimBoxとBleedBoxの設定を行います(デジタルトンボ). * `no`:何も表示しません. +### `bleed_margin` +仕上がりと裁ち落としの間(ドブ)の長さを指定します. + ## `\jlreqtrimmarkssetup` パッケージオプションで指定できない設定を行えます.keyval形式です. ### `banner` `show=banner`時に出力される文字列. -### `bleed_margin` -仕上がりと裁ち落としの間(ドブ)の長さを指定します. - ### `trimmarks_width` トンボ自身の太さを指定します. @@ -88,6 +90,10 @@ dviドライバの指定です.省略時は * 2018-08-08 - `trimmarks_paper`を拡張. - パッケージオプション`landscape`を追加. +* 2018-09-01 + - `bleed_margin`を`\jlreqtrimmarkssetup`からパッケージオプションに移した. + - `\mag`が`1000`でない場合も動くようにした(つもり) + - バグ修正 -------------- diff --git a/Master/texmf-dist/doc/latex/jlreq/jlreq-trimmarks.html b/Master/texmf-dist/doc/latex/jlreq/jlreq-trimmarks.html index 1186f439f7f..9ecdcdf93ae 100644 --- a/Master/texmf-dist/doc/latex/jlreq/jlreq-trimmarks.html +++ b/Master/texmf-dist/doc/latex/jlreq/jlreq-trimmarks.html @@ -58,7 +58,7 @@

    jlreq-trimmarks

    What is this?

    -

    This package outputs trim marks. It works with LuaTeX-ja / pLaTeX / upLaTeX / dvipdfmx / Dvips / dviout. It provides the following.

    +

    This package outputs trim marks. It works with LuaTeX-ja / pLaTeX / upLaTeX / dvipdfmx / Dvips / dviout and any document class (not only with jlreq class). It provides the following.

    • Output trim marks
    • Set TrimBox and BleedBox if possible.
    • @@ -71,6 +71,9 @@

      Load it by \usepackage with specifying the TeX engine and the DVI driver.

      \usepackage[dvipdfmx,platex]{jlreq-trimmarks}
       
      +

      Do not use tombow option in the document class.

      +

      Note

      +

      jlreq-trimmarks sets the size of the paper. However, it may not work due to a conflict with other packages. In this case, please use more powerful package, e.g., bxpapersize.

      Options

      The following package options (keyval style) are available.

      platex, uplatex, lulatex

      @@ -80,11 +83,7 @@
    • guessed one if the jlreq class is not loaded.

    dvipdfmx, dvips, dviout

    -

    Set the dvi driver. If it is not specified, then

    -
      -
    • the package outputs PDF file via LuaLaTeX when the engine is lualatex.
    • -
    • the driver is dvipdmx if the engine is platex or uplatex
    • -
    +

    Set the dvi driver. You do not have to specify it when using the engine lualatex. If it is not specified (with platex or uplatex), then dvipdfmx is used.

    trimmarks_paper

    Set the size of the paper including trim marks.

      @@ -104,12 +103,12 @@
    • digital:TrimBox and BleedBox.
    • no: nothing will be showed
    +

    bleed_margin

    +

    Set the bleed margin.

    \jlreqtrimmarkssetup

    Set the additional settings with the keyval style.

    The things which the package outputs when show=banner is specified in the package option.

    -

    bleed_margin

    -

    Set the bleed margin.

    trimmarks_width

    Set the width of trim marks.

    color

    @@ -137,6 +136,12 @@
  • Extended trimmarks_paper.
  • Added a package option landscape.
  • +
  • 2018-09-01 +
      +
    • Moved bleed_margin from \jlreqtrimmarkssetup to a package option.
    • +
    • jlreq-trimmarks works with unusugal\mag.
    • +
    • Fixed bugs.
    • +

  • Noriyuki Abe https://github.com/abenori/jlreq

    diff --git a/Master/texmf-dist/doc/latex/jlreq/jlreq-trimmarks.md b/Master/texmf-dist/doc/latex/jlreq/jlreq-trimmarks.md index 8be01236445..bcaaf774185 100644 --- a/Master/texmf-dist/doc/latex/jlreq/jlreq-trimmarks.md +++ b/Master/texmf-dist/doc/latex/jlreq/jlreq-trimmarks.md @@ -1,7 +1,7 @@ # jlreq-trimmarks ## What is this? -This package outputs trim marks. It works with [LuaTeX-ja](https://osdn.jp/projects/luatex-ja/wiki/FrontPage) / pLaTeX / upLaTeX / dvipdfmx / Dvips / dviout. It provides the following. +This package outputs trim marks. It works with [LuaTeX-ja](https://osdn.jp/projects/luatex-ja/wiki/FrontPage) / pLaTeX / upLaTeX / dvipdfmx / Dvips / dviout and any document class (not only with jlreq class). It provides the following. * Output trim marks * Set TrimBox and BleedBox if possible. @@ -19,6 +19,11 @@ Load it by `\usepackage` with specifying the TeX engine and the DVI driver. \usepackage[dvipdfmx,platex]{jlreq-trimmarks} ```` +Do not use `tombow` option in the document class. + +## Note +jlreq-trimmarks sets the size of the paper. However, it may not work due to a conflict with other packages. In this case, please use more powerful package, e.g., [bxpapersize](https://github.com/zr-tex8r/BXpapersize). + ## Options The following package options (keyval style) are available. @@ -29,10 +34,7 @@ Set the engine. If it is not specified, then the engine is * guessed one if the jlreq class is not loaded. ### `dvipdfmx`, `dvips`, `dviout` -Set the dvi driver. If it is not specified, then - -* the package outputs PDF file via LuaLaTeX when the engine is `lualatex`. -* the driver is `dvipdmx` if the engine is `platex` or `uplatex` +Set the dvi driver. You do not have to specify it when using the engine `lualatex`. If it is not specified (with `platex` or `uplatex`), then `dvipdfmx` is used. ### `trimmarks_paper` Set the size of the paper including trim marks. @@ -54,15 +56,15 @@ Specify the types of trim marks which the package outputs. It is specified with * `digital`:TrimBox and BleedBox. * `no`: nothing will be showed +### `bleed_margin` +Set the bleed margin. + ## `\jlreqtrimmarkssetup` Set the additional settings with the keyval style. ### `banner` The things which the package outputs when `show=banner` is specified in the package option. -### `bleed_margin` -Set the bleed margin. - ### `trimmarks_width` Set the width of trim marks. @@ -85,6 +87,10 @@ This package is distributed under the BSD 2-Clause License. See [LICENSE](LICENS * 2018-08-08 - Extended `trimmarks_paper`. - Added a package option `landscape`. +* 2018-09-01 + - Moved `bleed_margin` from `\jlreqtrimmarkssetup` to a package option. + - jlreq-trimmarks works with unusugal`\mag`. + - Fixed bugs. -------------- diff --git a/Master/texmf-dist/doc/latex/jlreq/jlreq.html b/Master/texmf-dist/doc/latex/jlreq/jlreq.html index 7f58c1119d4..9deb07b3a6c 100644 --- a/Master/texmf-dist/doc/latex/jlreq/jlreq.html +++ b/Master/texmf-dist/doc/latex/jlreq/jlreq.html @@ -183,6 +183,11 @@
    • Fixed bugs.
    +
  • 2018-09-01 +
      +
    • jlreq works with unusual \mag.
    • +
    • Fixed bugs.
    • +

  • Noriyuki Abe https://github.com/abenori/jlreq

    diff --git a/Master/texmf-dist/tex/latex/jlreq/jlreq-helpers.sty b/Master/texmf-dist/tex/latex/jlreq/jlreq-helpers.sty index 9532669172a..9bf28042489 100644 --- a/Master/texmf-dist/tex/latex/jlreq/jlreq-helpers.sty +++ b/Master/texmf-dist/tex/latex/jlreq/jlreq-helpers.sty @@ -162,14 +162,14 @@ % もしカンマがない場合は\ifjlreq@resultがfalseになる. \newcommand*{\jlreq@helper@dividebycomma}[1]{\jlreq@helper@dividebycomma@#1,\jlreq@endmark} \def\jlreq@helper@dividebycomma@#1,#2\jlreq@endmark{% - \jlreq@remove@spaceandbracket{#1}{\jlreq@resulta}% - \jlreq@remove@spaceandbracket{#2}{\jlreq@resultb}% + \jlreq@helper@trim{#1}{\jlreq@resulta}% + \jlreq@helper@trim{#2}{\jlreq@resultb}% \ifx\jlreq@resultb\@empty\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi{% \jlreq@resultfalse }{% \jlreq@resulttrue \expandafter\def\expandafter\jlreq@resultb\expandafter{\jlreq@helper@removelastcomma#2\jlreq@endmark}% - \expandafter\jlreq@remove@spaceandbracket\expandafter{\jlreq@resultb}{\jlreq@resultb}% + \expandafter\jlreq@helper@trim\expandafter{\jlreq@resultb}{\jlreq@resultb}% }% } \def\jlreq@helper@removelastcomma#1,\jlreq@endmark{#1} @@ -245,6 +245,7 @@ % キー指定しないkeyval(独自実装) % \jlreq@parsekeyval@nokey{}{} % action内では#1=key, #2=val +% は一回だけ展開される. \newcommand{\jlreq@parsekeyval@nokey}[2]{% \begingroup \def\jlreq@do{}% @@ -265,11 +266,10 @@ \long\def\jlreq@parsekeyval@nokey@iii#1#2{% \jlreq@remove@spaceandbracket{#1}{\jlreq@tempa}% \jlreq@remove@spaceandbracket{#2}{\jlreq@tempb}% - \ifx\jlreq@tempa\@empty\expandafter\@gobble\else\expandafter\@firstofone\fi - {% - \edef\@tempa{\noexpand\jlreq@parsekeyval@nokey@iv{\expandonce{\jlreq@tempb}}{\expandonce{\jlreq@tempa}}}% - \@tempa - }% + \ifx\jlreq@tempb\@empty\else + \edef\@tempa{\noexpand\jlreq@parsekeyval@nokey@iv{\expandonce{\jlreq@tempb}}{\expandonce{\jlreq@tempa}}}% + \@tempa + \fi \jlreq@parsekeyval@nokey@i } \long\def\jlreq@parsekeyval@nokey@iv#1#2{% @@ -280,29 +280,36 @@ % #1の先頭のスペースを削除し,#2に入れる.ただし#1={ X}の時は" X"が入る. \def\jlreq@do#1{% #1 = " "として後で実行 - \long\def\jlreq@remove@spaceandbracket##1##2{% - \begingroup - \def\jlreq@tempa{}% - \futurelet\jlreq@nextchar\jlreq@remove@spaceandbracket@i##1\jlreq@uniqtoken#1\jlreq@uniqtoken\jlreq@endmark - \edef\jlreq@do{\noexpand\edef\noexpand##2{\noexpand\unexpanded{\expandonce{\jlreq@tempa}}}}% - \expandafter\endgroup - \jlreq@do + \long\def\jlreq@helper@trim##1##2{\edef##2{\jlreq@helper@trim@i{##1}}} + \long\def\jlreq@helper@trim@i##1{% + \jlreq@iffirsttoken{##1}{#1}% + % 先頭スペースの除去.{}を外さないために\jlreq@uniqtokenを前後にいったん挟む. + {\jlreq@helper@trim@ii##1\jlreq@uniqtoken\jlreq@endmark}% + % 後方スペースの除去.先頭に\jlreq@uniqtokenを加えて{}が外れるのを防ぐ. + {\jlreq@helper@trim@iii\jlreq@uniqtoken##1\jlreq@uniqtoken#1\jlreq@uniqtoken\jlreq@endmark}% } - \def\jlreq@remove@spaceandbracket@i{% - \ifx#1\jlreq@nextchar\expandafter\jlreq@remove@spaceandbracket@ii\else\expandafter\jlreq@remove@spaceandbracket@iii\fi - }% - \def\jlreq@remove@spaceandbracket@ii#1{\futurelet\jlreq@nextchar\jlreq@remove@spaceandbracket@i}% - \long\def\jlreq@remove@spaceandbracket@iii##1#1\jlreq@uniqtoken##2\jlreq@endmark{% - \jlreq@ifempty{##2}{% - \expandafter\jlreq@remove@spaceandbracket@iv\expandafter{\jlreq@removelastuniqtoken##1}% - }{% - \jlreq@remove@spaceandbracket@iv{##1}% - }% + \long\def\jlreq@helper@trim@ii#1##1\jlreq@endmark{% + \expandafter\expandafter\expandafter\jlreq@helper@trim@i\jlreq@helper@trim@vi\jlreq@uniqtoken##1\jlreq@endmark + } + \long\def\jlreq@helper@trim@iii##1#1\jlreq@uniqtoken##2\jlreq@endmark{% + \jlreq@ifempty{##2}% + {\expandafter\jlreq@helper@trim@iv\jlreq@helper@trim@v##1\jlreq@endmark}% + {\jlreq@helper@trim@iii##1\jlreq@uniqtoken#1\jlreq@uniqtoken\jlreq@endmark}% }% + \long\def\jlreq@helper@trim@iv##1{\expandafter\unexpanded\expandafter{\@gobble ##1}} + \long\def\jlreq@helper@trim@v##1\jlreq@uniqtoken\jlreq@endmark{{##1}} + \long\def\jlreq@helper@trim@vi##1\jlreq@uniqtoken\jlreq@endmark{\expandafter{\@gobble ##1}} } \jlreq@do{ } -\long\def\jlreq@removelastuniqtoken#1\jlreq@uniqtoken{#1} -\long\def\jlreq@remove@spaceandbracket@iv#1{\edef\jlreq@tempa{\unexpanded{#1}}} + +\long\def\jlreq@remove@spaceandbracket#1#2{% + \begingroup + \jlreq@helper@trim{#1}{\jlreq@tempa}% + \edef\jlreq@do{\unexpanded{\jlreq@remove@spaceandbracket@{#2}}\expandonce{\jlreq@tempa}\noexpand\jlreq@endmark}% + \expandafter\endgroup + \jlreq@do +} +\long\def\jlreq@remove@spaceandbracket@#1#2\jlreq@endmark{\edef#1{\unexpanded{#2}}} % \jlreq@switch{str}{ % {str}{abcd} @@ -507,11 +514,17 @@ \def\jlreq@for@noexpand#1:={\@for#1:=\@empty} -\def\jlreq@swap#1#2{% - \let\jlreq@swaptoken=#1% +\def\jlreq@helper@swap#1#2{% + \let\jlreq@helper@swaptoken=#1% \let#1=#2% - \let#2=\jlreq@swaptoken - \let\jlreq@swaptoken=\@undefined + \let#2=\jlreq@helper@swaptoken + \let\jlreq@helper@swaptoken=\@undefined +} +\def\jlreq@helper@swap@register#1#2{% + \edef\jlreq@helper@swaptoken{\the#1}% + #1=#2% + #2=\jlreq@helper@swaptoken\relax + \let\jlreq@helper@swaptoken=\@undefined } \endinput diff --git a/Master/texmf-dist/tex/latex/jlreq/jlreq-trimmarks.sty b/Master/texmf-dist/tex/latex/jlreq/jlreq-trimmarks.sty index d6242c6c56d..e5d13f08ff7 100644 --- a/Master/texmf-dist/tex/latex/jlreq/jlreq-trimmarks.sty +++ b/Master/texmf-dist/tex/latex/jlreq/jlreq-trimmarks.sty @@ -1,5 +1,5 @@ \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{jlreq-trimmarks}[2018/08/08 jlreq-trimmarks] +\ProvidesPackage{jlreq-trimmarks}[2018/09/01 jlreq-trimmarks] \RequirePackage{xkeyval,etoolbox} \RequirePackage{jlreq-helpers} @@ -123,12 +123,17 @@ \newif\ifjlreq@trimmarks@show \jlreq@trimmarks@showtrue \newif\ifjlreq@trimmarks@show@artbox \jlreq@trimmarks@show@artboxfalse \tombowdatetrue +% flag: `show` is specified or not +\newif\ifjlreq@trimmarks@option@show \jlreq@trimmarks@option@showfalse + \DeclareOptionX{show}{% + \jlreq@trimmarks@showtrue \jlreq@ifempty{#1}{ \jlreq@trimmarks@showtrue\tombowdatetrue\jlreq@trimmarks@digitaltrue }{ \jlreq@trimmarks@showfalse\tombowdatefalse\jlreq@trimmarks@digitalfalse \@for\jlreq@trimmarks@tempa:=#1\do{% + \expandafter\jlreq@helper@trim\expandafter{\jlreq@trimmarks@tempa}{\jlreq@trimmarks@tempa} \jlreq@switch{\jlreq@trimmarks@tempa}{ {trimmarks}{\jlreq@trimmarks@showtrue} {banner}{\tombowdatetrue} @@ -139,6 +144,10 @@ } } } +\def\jlreq@trimmarks@bleed{3mm} +\DeclareOptionX{bleed_margin}{\def\jlreq@trimmarks@bleed{#1}} + + \newif\ifjlreq@trimmarks@landscape \jlreq@trimmarks@landscapefalse \jlreq@trimmarks@DeclareOption{landscape}{\jlreq@trimmarks@landscapetrue} \jlreq@trimmarks@afterpkg@addtodeleteif{\ifjlreq@trimmarks@landscape} @@ -149,27 +158,37 @@ \let\@removeelement=\jlreq@temporary@original@@removeelement \let\jlreq@temporary@original@@removeelement=\@undefined -\def\jlreq@trimmarks@setpapersize#1{% +\ifjlreq@trimmarks@option@show\else + \ifx o\jlreq@trimmarks@driver + \jlreq@trimmarks@digitalfalse + \jlreq@trimmarks@showtrue + \jlreq@trimmarks@show@artboxfalse + \fi +\fi + +\def\jlreq@trimmarks@setpapersize#1{ \jlreq@ifcontains{#1}{+}{ - \def\@tempa##1+##2\jlreq@endmark{% - \jlreq@ifempty{##1}{ + \def\@tempa##1+##2\jlreq@endmark{ + \jlreq@helper@trim{##1}{\jlreq@trimmarks@tempa} + \jlreq@helper@trim{##2}{\jlreq@trimmarks@tempb} + \ifx\jlreq@trimmarks@tempa\@empty \let\jlreq@tempa=\paperwidth \let\jlreq@tempb=\paperheight - }{ - \jlreq@trimmarks@analyzepapersize{##1} + \else + \expandafter\jlreq@trimmarks@analyzepapersize\expandafter{\jlreq@trimmarks@tempa} \let\jlreq@tempa=\jlreq@resulta \let\jlreq@tempb=\jlreq@resultb - \ifjlreq@trimmarks@landscape\jlreq@swap{\jlreq@tempa}{\jlreq@tempb}\fi - } - \jlreq@trimmarks@analyzepapersize{##2} - \ifjlreq@trimmarks@landscape\jlreq@swap{\jlreq@resulta}{\jlreq@resultb}\fi + \ifjlreq@trimmarks@landscape\jlreq@helper@swap{\jlreq@tempa}{\jlreq@tempb}\fi + \fi + \expandafter\jlreq@trimmarks@analyzepapersize\expandafter{\jlreq@trimmarks@tempb} + \ifjlreq@trimmarks@landscape\jlreq@helper@swap{\jlreq@resulta}{\jlreq@resultb}\fi \edef\jlreq@trimmarks@paperwidth{\the\dimexpr\jlreq@tempa + \jlreq@resulta\relax} \edef\jlreq@trimmarks@paperheight{\the\dimexpr\jlreq@tempb + \jlreq@resultb\relax} } \@tempa#1\jlreq@endmark }{ \jlreq@trimmarks@analyzepapersize{#1} - \ifjlreq@trimmarks@landscape\jlreq@swap{\jlreq@resulta}{\jlreq@resultb}\fi + \ifjlreq@trimmarks@landscape\jlreq@helper@swap{\jlreq@resulta}{\jlreq@resultb}\fi \edef\jlreq@trimmarks@paperwidth{\jlreq@resulta} \edef\jlreq@trimmarks@paperheight{\jlreq@resultb} } @@ -186,7 +205,6 @@ \newcommand{\jlreqtrimmarkssetup}[1]{% \jlreq@parsekeyval{% {banner}{\@bannertoken{##1}\maketombowbox} - {bleed_margin}{\def\jlreq@trimmarks@bleed{##1}\maketombowbox} {trimmarks_width}{\setlength{\@tombowwidth}{##1}\maketombowbox} {color}{ \jlreq@ifempty{##1}{ @@ -231,7 +249,6 @@ \jobname\space(\number\year-\two@digits\month-\two@digits\day \space\two@digits\hour:\two@digits\minute)% }, - bleed_margin=3mm, color={} } @@ -257,18 +274,41 @@ \setlength{\pdfpageheight}{\dimexpr\jlreq@trimmarks@paperheight\relax} \fi -\hoffset=\dimexpr(\jlreq@trimmarks@paperwidth - \paperwidth)/2 - 1in\relax -\voffset=\dimexpr(\jlreq@trimmarks@paperheight - \paperheight)/2 - 1in\relax +\hoffset=\dimexpr(\jlreq@trimmarks@paperwidth - \paperwidth)/2 - \ifx l\jlreq@engine 1in\else 1truein\fi\relax +\voffset=\dimexpr(\jlreq@trimmarks@paperheight - \paperheight)/2 - \ifx l\jlreq@engine 1in\else 1truein\fi\relax +\ifx l\jlreq@engine\else + \@ifundefined{@tombowreset@@paper}{ + \AtBeginDocument{% + \addtolength{\oddsidemargin}{\dimexpr 1truein - 1in\relax}% + \addtolength{\evensidemargin}{\dimexpr 1truein - 1in\relax}% + \addtolength{\topmargin}{\dimexpr 1truein - 1in\relax}% + } + }{ + \def\@tombowreset@@paper{% + \@@topmargin\topmargin + \iftombow + \@@paperwidth\paperwidth + \advance\@@paperwidth 2\dimexpr\@tombowbleed\relax + \@@paperheight\paperheight \advance\@@paperheight 10mm\relax + \advance\@@paperheight 2\dimexpr\@tombowbleed\relax + % 1in -> 1truein + \advance\@@topmargin 1truein\relax \advance\@themargin 1truein\relax + \fi + } + } +\fi \ifx l\jlreq@trimmarks@driver\else - \edef\@tempa{\noexpand\AtBeginDvi{\noexpand\special{papersize=\the\dimexpr\jlreq@trimmarks@paperwidth\relax,\the\dimexpr\jlreq@trimmarks@paperheight\relax}}} + \jlreq@helper@divide{\the\mag pt}{1000pt} + \edef\@tempa{\noexpand\AtBeginDvi{\noexpand\special{papersize=\the\dimexpr\strip@pt\jlreq@resultdimen\dimexpr\jlreq@trimmarks@paperwidth\relax\relax, \the\dimexpr\strip@pt\jlreq@resultdimen\dimexpr\jlreq@trimmarks@paperheight\relax\relax}}} \@tempa \fi -\@ifundefined{stockwidth}{\newdimen\stockwidth}{} -\@ifundefined{stockheight}{\newdimen\stockheight}{} +\@ifundefined{stockheight}{\newlength{\stockheight}}{} +\@ifundefined{stockwidth}{\newlength{\stockwidth}}{} \setlength{\stockwidth}{\dimexpr\jlreq@trimmarks@paperwidth\relax} \setlength{\stockheight}{\dimexpr\jlreq@trimmarks@paperheight\relax} + \def\maketombowbox{% \setbox\@TL\hbox to\z@{\yoko\hss \vrule width\dimexpr 10mm + \jlreq@trimmarks@bleed\relax height\@tombowwidth depth\z@ @@ -313,7 +353,7 @@ \vrule height.5\@tombowwidth depth.5\@tombowwidth width10mm\hss}% } \def\@outputtombow{% - % 6mm: from plcore + % 6mm = \@tombowbleed: from plcore \@@paperwidth=\dimexpr\@@paperwidth - 6mm + 2\dimexpr\jlreq@trimmarks@bleed\relax\relax \@@paperheight=\dimexpr\@@paperheight - 6mm + 2\dimexpr\jlreq@trimmarks@bleed\relax\relax \ifjlreq@trimmarks@show @@ -338,7 +378,13 @@ } \ifjlreq@trimmarks@digital - \def\jlreq@trimmarks@pttobp#1{\strip@pt\dimexpr0.9963\dimexpr#1\relax\relax} + \ifx l\jlreq@engine + \setlength\jlreq@resultdimen{1pt} + \else + \jlreq@helper@divide{\the\mag pt}{1000pt} + \fi + % 0.9963 = 1pt/1bp (almost) + \edef\jlreq@trimmarks@pttobp#1{\noexpand\strip@pt\noexpand\dimexpr\strip@pt\jlreq@resultdimen\noexpand\dimexpr0.9963\noexpand\dimexpr#1\unexpanded{\relax\relax\relax}} \edef\jlreq@trimmarks@trimboxsize{% [% \jlreq@trimmarks@pttobp{(\jlreq@trimmarks@paperwidth - \paperwidth)/2} @@ -374,7 +420,7 @@ \fi \ifx s\jlreq@trimmarks@driver \edef\@tempa{\noexpand\special{ps:SDict begin - [ /TrimBox \jlreq@trimmarks@trimboxsize /PAGE pdfmark + [ /TrimBox \jlreq@trimmarks@trimboxsize /PAGE pdfmark \ifjlreq@trimmarks@show@artbox [ /ArtBox \jlreq@trimmarks@trimboxsize /PAGE pdfmark \fi [ /BleedBox \jlreq@trimmarks@bleedboxsize /PAGE pdfmark end}}% diff --git a/Master/texmf-dist/tex/latex/jlreq/jlreq.cls b/Master/texmf-dist/tex/latex/jlreq/jlreq.cls index d513a760f98..d3712ede72a 100644 --- a/Master/texmf-dist/tex/latex/jlreq/jlreq.cls +++ b/Master/texmf-dist/tex/latex/jlreq/jlreq.cls @@ -5,7 +5,7 @@ %% % (based on JLReq 20120403 https://www.w3.org/TR/2012/NOTE-jlreq-20120403/ja/) \NeedsTeXFormat{LaTeX2e} -\ProvidesClass{jlreq}[2018/08/15 jlreq] +\ProvidesClass{jlreq}[2018/09/01 jlreq] \RequirePackage{xkeyval,everyhook,filehook,etoolbox,ifthen} \RequirePackage{jlreq-helpers} @@ -406,18 +406,28 @@ % 現在行の残りを得る. \ifx l\jlreq@engine - % 以下のコードはおかしい. + % 以下のコードはLuaTeX-jaのバグ?に依存している + % https://ja.osdn.net/projects/luatex-ja/ticket/36489 \newcommand*{\jlreq@calc@current@linewidth@onecolumn}{% - \dimexpr\zposx{jlreq@rest@width.pos.\the\jlreq@zref@reference@count} sp - \@totalleftmargin - - \ifodd\jlreq@currentpage - \oddsidemargin - \else - \evensidemargin - \fi - \iftombow - 1in\fi - - 1in - \hoffset\relax + \dimexpr + \zposx{jlreq@rest@width.pos.\the\jlreq@zref@reference@count} sp - \@totalleftmargin - + \ifodd\jlreq@currentpage + \oddsidemargin + \else + \evensidemargin + \fi + \iftombow -1in \fi + - \pdfvariable horigin - \hoffset + \relax } \else + % トンボ出力時にはjlreq-trimmarksであることを仮定する. + % 新しいpLaTeXに対しては,jlreq-trimmarksは内部の1inを1trueinに書き換える + \@ifundefined{@tombowreset@@paper}{ + \def\jlreq@tombow@adjust{\iftombow -1in \fi} + }{ + \def\jlreq@tombow@adjust{\iftombow -1truein \fi} + } \newcommand*{\jlreq@calc@current@linewidth@onecolumn}{% \dimexpr \jlreq@ifydir{% @@ -436,7 +446,7 @@ - \topmargin - \headheight - \headsep - \voffset - \zposy{jlreq@rest@width.pos.\the\jlreq@zref@reference@count} sp }% - \iftombow - 1in\fi + \jlreq@tombow@adjust - \@totalleftmargin - 1in \relax } @@ -1158,25 +1168,18 @@ %. ページレイアウト % landscapeの場合縦横をひっくり返す \if@landscape - \jlreq@swap{\paperwidth}{\paperheight} + \jlreq@helper@swap@register{\paperwidth}{\paperheight} \fi % \pdfpagewidthとか設定 \ifx l\jlreq@engine - \let\jlreq@pagewidth=\pagewidth - \let\jlreq@pageheight=\pageheight + \setlength{\pagewidth}{\paperwidth} + \setlength{\pageheight}{\paperheight} \else - \let\jlreq@pagewidth=\pdfpagewidth - \let\jlreq@pageheight=\pdfpageheight -\fi -\setlength{\jlreq@pagewidth}{\paperwidth} -\setlength{\jlreq@pageheight}{\paperheight} -\iftombow - \addtolength{\jlreq@pagewidth}{2in} - \addtolength{\jlreq@pageheight}{2in} + \setlength{\pdfpagewidth}{\paperwidth} + \setlength{\pdfpageheight}{\paperheight} \fi - \ifx l\jlreq@engine \def\jlreq@expand@speciallength#1{% % zhやzwを\zhや\zwにする. @@ -1203,6 +1206,11 @@ \jlreq@tempdimb=1\zw \divide\jlreq@tempdima\jlreq@tempdimb \multiply\jlreq@tempdima\jlreq@tempdimb + \ifdim\jlreq@tempdima>0pt + \ifnum 0\ifdim\jlreq@tempdima>25\zw 1\fi\ifdim\jlreq@tempdima<15\zw 1\fi>0 + \jlreq@note{並列注の字詰め方向の長さ(行長)は,15字から20字くらいである.ケースによっては25字程度にする場合もある (4.2.7).} + \fi + \fi \edef\jlreq@do{ \noexpand\setlength{\noexpand\marginparwidth}{\the\jlreq@tempdima} \noexpand\setlength{\noexpand\marginparpush}{\the\dimexpr 0.5\zw\relax} % 同上:4.2.7.g @@ -1215,11 +1223,6 @@ \setlength{\marginparsep}{0pt} \fi -\ifdim\marginparwidth>0pt - \ifnum 0\ifdim\marginparwidth>25\zw 1\fi\ifdim\marginparwidth<15\zw 1\fi>0 - \jlreq@note{並列注の字詰め方向の長さ(行長)は,15字から20字くらいである.ケースによっては25字程度にする場合もある (4.2.7).} - \fi -\fi % 縦書きの時は脚注に固定 % (TODO: 頭注) \if@tate\@mparswitchfalse\fi @@ -1345,13 +1348,13 @@ } \def\jlreq@setsidemargin@by@fore@edge#1{ \jlreq@setsidemargin@by@gutter{#1} - \@tempdima=\evensidemargin - \evensidemargin=\oddsidemargin - \oddsidemargin=\@tempdima + \jlreq@helper@swap@register{\oddsidemargin}{\evensidemargin} \ifjlreq@determine@kihonhanmen@warning@first \jlreq@note{基本版面の配置はのどの空き量を指定する (2.4.1.b).} \fi } +\jlreq@aftercls@addtodeletecs{\jlreq@setsidemargin@by@gutter} +\jlreq@aftercls@addtodeletecs{\jlreq@setsidemargin@by@fore@edge} \ifx\jlreq@option@gutter\@empty \ifx\jlreq@option@fore@edge\@empty @@ -1377,36 +1380,41 @@ \else \jlreq@setsidemargin@by@gutter{\jlreq@speciallength{\jlreq@option@gutter}} \ifx\jlreq@option@fore@edge\@empty\else - \ifjlreq@determine@kihonhanmen@warning@first\else + \ifjlreq@determine@kihonhanmen@warning@first \ClassWarningNoLine{jlreq}{fore_edge is ignored} \fi \fi \fi -\addtolength{\oddsidemargin}{-1in} -\addtolength{\evensidemargin}{-1in} +\ifx l\jlreq@engine + \addtolength{\oddsidemargin}{-1in} + \addtolength{\evensidemargin}{-1in} +\else + \addtolength{\oddsidemargin}{-1truein} + \addtolength{\evensidemargin}{-1truein} +\fi %.. 縦 % \topmarginに全体の頭からテキストの頭までの長さを入れる % 天の値からtopmarginを設定する \def\jlreq@settopmarginbyhead#1{ \if@tate - \setlength{\topmargin}{\dimexpr #1 - \headsep - \headheight - 1in\relax} + \setlength{\topmargin}{\dimexpr #1 - \headsep - \headheight\relax} \if@twocolumn \addtolength{\topmargin}{\dimexpr\marginparwidth + \marginparsep\relax} \fi \jlreq@note{縦組の場合は地の空き量を指定する (2.4.1.b).} \else - \setlength{\topmargin}{\dimexpr #1 - \headsep - \headheight - 1in - \topskip + \Cht\relax} + \setlength{\topmargin}{\dimexpr #1 - \headsep - \headheight - \topskip + \Cht\relax} \fi } \jlreq@aftercls@addtodeletecs{\jlreq@settopmarginbyhead} % 地の値から \def\jlreq@settopmarginbyfoot#1{ \if@tate - \setlength{\topmargin}{\dimexpr\paperheight - \textwidth - \headsep - \headheight - 1in - #1 - \marginparsep - \marginparwidth\relax} + \setlength{\topmargin}{\dimexpr\paperheight - \textwidth - \headsep - \headheight - #1 - \marginparsep - \marginparwidth\relax} \else \jlreq@note{横組の場合は天の空き量を指定する (2.4.1.b).} - \setlength{\topmargin}{\dimexpr\paperheight - \textheight + \topskip - 1\zh - \headsep - \headheight - 1in - #1\relax} + \setlength{\topmargin}{\dimexpr\paperheight - \textheight + \topskip - 1\zh - \headsep - \headheight - #1\relax} \fi } \jlreq@aftercls@addtodeletecs{\jlreq@settopmarginbyfoot} @@ -1442,7 +1450,11 @@ \fi \fi \fi - +\ifx l\jlreq@engine + \addtolength{\topmargin}{-1in} +\else + \addtolength{\topmargin}{-1truein} +\fi %.. 下 \setlength{\footskip}{\dimexpr\headsep + \if@tate\marginparwidth + \marginparsep\else\topskip - \Cht\fi + \headheight\relax} % \maxdepth + \topskip = フォントサイズ×1.5(だってさ) @@ -1612,6 +1624,7 @@ % ラベルフォーマットでは#1=カウンタ名,見出し文字列フォーマットでは#1=見出し文字列,副題フォーマットでは#1=副題 % ラベルのみのフォーマットは目次に使われる. \newcommand{\jlreq@BlockHeading@start}[5]{% + \if@noskipsec\leavevmode\fi \edef\jlreq@BlockHeading@start@format{\unexpanded{#4}}% この二つは\parを含むかもしれないので引数渡しはしない(後の\@ifstarで詰まる) \edef\jlreq@BlockHeading@start@totalformat{\unexpanded{#5}}% \jlreq@BlockHeading@start@{#1}{#2}{#3}% @@ -2224,7 +2237,7 @@ } \def\jlreq@SetBlockHeadingSpaces@iii#1{% \@for\@tempa:=#1\do{% - \expandafter\jlreq@remove@spaceandbracket\expandafter{\@tempa}{\@tempa}% + \expandafter\jlreq@helper@trim\expandafter{\@tempa}{\@tempa}% \expandafter\jlreq@iffirsttoken@ignorespaces\expandafter{\@tempa}{_}{% \ifx\jlreq@lastdimen\@empty\else\eappto\jlreq@set{{\expandonce{\jlreq@lastdimen}}}\fi% \def\jlreq@lastdimen{}% @@ -2513,12 +2526,13 @@ %.. 窓見出し \def\jlreq@CutinHeading@start#1#2#3#4#5#6#7{% + \if@noskipsec\leavevmode\fi \par - \ifnum\hangafter=1 + \ifnum\hangafter=1 \expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi{% \jlreq@CutinHeading@start@{#2}{#3}{#4}{#5}{#6}{#7}% - \else + }{% \ClassError{jlreq}{Can not use \expandafter\string\csname#1\endcsname\space here}{\@ehc}% - \fi + }% } % 1 = 書式指定,2 = インデント, 3 = 見出しと本文の間, 4 = これを越えたら二行以上,5 = これを越えたら三行以上,6 = テキスト \def\jlreq@CutinHeading@start@#1#2#3#4#5#6{% @@ -2825,12 +2839,12 @@ \ifx l\jlreq@engine \def\jlreq@hook@prenote{% \jlreq@lastnodechar=\lastnodechar\relax - \ifnum\lastnodechar>-1\inhibitglue\fi + \ifnum\jlreq@lastnodechar>-1 \inhibitglue\fi } \else % (u)platexの時は代入すると\inhibitglueが効かなくなる \def\jlreq@hook@prenote{% - \ifnum\lastnodechar>-1\inhibitglue\fi + \ifnum\lastnodechar>-1 \inhibitglue\fi \jlreq@lastnodechar=\lastnodechar\relax } \fi @@ -3160,7 +3174,7 @@ % \jlreq@tempcにセクション名たちを入れていく \def\jlreq@tempc{} \@for\jlreq@tempa:=#1\do{ - \expandafter\jlreq@remove@spaceandbracket\expandafter{\jlreq@tempa}{\jlreq@tempa}% + \expandafter\jlreq@helper@trim\expandafter{\jlreq@tempa}{\jlreq@tempa}% \jlreq@switch{\jlreq@tempa}{ {headings}{\jlreq@tempatrue} {paragraph}{ @@ -4694,7 +4708,7 @@ \def\jlreq@do{}% \def\jlreq@keyvallist{}% \@for\@tempa:=#1\do{% - \expandafter\jlreq@remove@spaceandbracket\expandafter{\@tempa}{\@tempa}% + \expandafter\jlreq@helper@trim\expandafter{\@tempa}{\@tempa}% \expandafter\jlreq@ifcontains\expandafter{\@tempa}{=}{% \expandafter\appto\expandafter\jlreq@keyvallist\expandafter{\@tempa,}% }{% @@ -5108,13 +5122,24 @@ %. その他諸々 %.. 縦中横 -\DeclareRobustCommand*{\tatechuyoko}[1]{% - \jlreq@ifydir{\ClassError{jlreq}{\string\tatechuyoko\space is not allowed in yoko mode}{\@ehc}}{}% - \jlreq@lastnodechar=\lastnodechar - \ifvmode\leavevmode\fi +\edef\@tempa{% + \unexpanded{% + \jlreq@ifydir{\ClassError{jlreq}{\string\tatechuyoko\space is not allowed in yoko mode}{\@ehc}}{}% + \ifvmode\leavevmode\fi + }% + \ifx l\jlreq@engine\unexpanded{% + \jlreq@lastnodechar=\lastnodechar\relax + \ifnum\jlreq@lastnodechar>-1 \inhibitglue\fi + }\else\unexpanded{% + \ifnum\lastnodechar>-1 \inhibitglue\fi + \jlreq@lastnodechar=\lastnodechar\relax + }\fi +} + +\expandafter\protected\expandafter\def\expandafter\tatechuyoko\expandafter#\expandafter1\expandafter{% + \@tempa % 前のJFM glue - \ifnum\jlreq@lastnodechar=-1\else - \inhibitglue + \ifnum\jlreq@lastnodechar>-1 \jlreq@calc@jfmglue{\char\jlreq@lastnodechar}{阿}% \jlreq@ifgluezero\jlreq@resultskip{}{\hskip\jlreq@resultskip}% \fi -- cgit v1.2.3