From 1746288313031e72e55dfa7fb223cc2e66ce9606 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 22 Dec 2017 21:23:18 +0000 Subject: jlreq (22dec17) git-svn-id: svn://tug.org/texlive/trunk@46121 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/jlreq/README-ja.md | 42 ++++- Master/texmf-dist/doc/latex/jlreq/README.md | 4 + Master/texmf-dist/doc/latex/jlreq/jlreq-ja.html | 196 ++++++++++++++---------- Master/texmf-dist/doc/latex/jlreq/jlreq.html | 11 +- 4 files changed, 168 insertions(+), 85 deletions(-) (limited to 'Master/texmf-dist/doc/latex/jlreq') diff --git a/Master/texmf-dist/doc/latex/jlreq/README-ja.md b/Master/texmf-dist/doc/latex/jlreq/README-ja.md index 4e1afabafbd..5369bda26f1 100644 --- a/Master/texmf-dist/doc/latex/jlreq/README-ja.md +++ b/Master/texmf-dist/doc/latex/jlreq/README-ja.md @@ -200,7 +200,12 @@ } ``` -のように使います. +のように使います.この意味は次の通りです. + +* `\part`,`\section`,`\subsection`という順番で見出しが掲げられていて,その前後が見出しでない場合は,`\part`は三行取り+前に一行空き,`\section`と`\subsection`は二行取りとなります. +* `\section`,`\subsection`という順番で見出しが掲げられていて,その前後が乱し出ない場合は,全体で五行取りとし,`\section`と`\subsection`との間に`23pt`の空き,`\subsection`の後に`16pt`の空きを入れます. + +個々の設定は以下のようになります. * 各々の``{}``内には``_<見出し命令名>``か``<寸法>``をカンマ区切りで並べます. * 先頭に``[]``で囲まれた設定を追加できます.これは連続して掲げられた見出し全体への設定となります.``lines / before_lines / after_lines / before_space / after_space``が利用可能です.各々の意味は上述の行取り指定と同じです. @@ -209,7 +214,7 @@ * 見出しに対する``{}``で囲まれた設定内では,``lines / before_lines / after_lines / before_space / after_space``が利用可能です.各々の意味は上述の行取り指定と同じです. * ``{}``で囲まれた部分を``*``のみにすると(例えば``_section{*}``とすると)単独で掲げた場合と同じ設定を使います. -なお,見出しが連続しているかは単純に別行見出しの命令が並んで書かれているかのみで判断します.従ってそれらの命令間に出力には関係しないような命令が挟まっていたとしても,見出しが連続して掲げられているとは判断されません.ただし,見出し命令の間に空白または`\label`のみが挟まれている場合は,見出しが連続していると判断されます. +なお,見出しが連続しているかは単純に別行見出しの命令が並んで書かれているかのみで判断します.従ってそれらの命令間に出力には関係しないような命令が挟まっていたとしても,見出しが連続して掲げられているとは判断されません.ただし,見出し命令の間に空白,改行または`\label[<オプション>]{<引数>}…{<引数>}`という形のもののみが挟まれている場合は,見出しが連続していると判断されます. ### 同行見出し `\DeclareRuninHeading`で作成します.通常の文書クラスにおける`\section`と同様の,`\<命令名>*[running head]{見出し文字列}`という書式の命令が作成されます.設定は以下の通り. @@ -259,6 +264,35 @@ `\NewPageStyle`,`\RenewPageStyle`,`\ProvidePageStyle`もあります.`\ModifyPageStyle`により既存のページスタイルを改変することが可能です. +## JFM +以下のような独自のJFMを使います.パッケージによっては,パッケージ独自のJFMや,また標準のJFMを使うように設定がし直される場合があります.例えばLuaTeX-jaに付属するluatexja-presetパッケージは通常LuaTeX-ja標準のJFMを使います.本クラスファイルで使っているJFMを使う場合は, +```LaTeX +\usepackage[jfm_yoko=jlreq,jfm_tate=jlreqv,hiragino-pron]{luatexja-preset} +``` +のようにオプションで指定する必要があります. + +### pLaTeX/upLaTeXの場合 +JFMの名前は次の通りです.`[]`で囲まれている文字は設定により入ったり入らなかったりします. +``` +[u][b][z]jlreq[g][-v] +``` +それぞれの文字は以下の場合に入ります. + +* `u`: upLaTeX利用時 +* `b`: ぶら下げ組み利用時.(クラスオプションに`hanging_punctuation`が指定された時.) +* `z`: 行頭における開き括弧類の前の空きが,段落開始時が全角二分,折り返し時が二分の時.(クラスオプションに`open_bracket_pos=zenkakunibu_nibu`が指定された時.) +* `g`: ゴシック用フォント. +* `-v`: 縦書き用. + +例えば,ぶら下げ組みを利用せず,クラスオプションに`open_bracket_pos=zenkakunibu_nibu`が指定されいてるソースをpLaTeXで処理した場合,横書き明朝体には`zjlreq`という名前のJFMが使われます. + +### LuaLaTeXの場合 +* 横書き用のJFMは`jlreq` +* 縦書き用のJFMは`jlreqv` + +となります.ゴシックも同じJFMを使います. + + ## その他 * クラスオプション`jlreq_notes`が渡されると,日本語組版処理の記述と矛盾する設定が行われた場合に通知がされます. @@ -310,6 +344,10 @@ - `\contentsname` と `\indexname`に入っていたスペースを削除. * 2017-12-02 - バグ修正 +* 2017-12-22 + - JFMを改善. + - 別行見出しの間の`\label`の検出方法を変更. + - `\theequation`,`\thefigure`,`\thetable`に章番号を追加. diff --git a/Master/texmf-dist/doc/latex/jlreq/README.md b/Master/texmf-dist/doc/latex/jlreq/README.md index f03fb696ff9..6d00ba2dd30 100644 --- a/Master/texmf-dist/doc/latex/jlreq/README.md +++ b/Master/texmf-dist/doc/latex/jlreq/README.md @@ -64,6 +64,10 @@ This package is distributed under the BSD 2-Clause License. See [LICENSE](LICENS - Removed a space from `\contentsname` and `\indexname`. * 2017-12-02 - Fixed bugs. +* 2017-12-22 + - Improved JFM. + - Change the way to detect `\label` between block headings. + - Added chapter number to `\theequation`,`\thefigure`,`\thetable`. diff --git a/Master/texmf-dist/doc/latex/jlreq/jlreq-ja.html b/Master/texmf-dist/doc/latex/jlreq/jlreq-ja.html index 9b467ace760..fe3b66bf5d1 100644 --- a/Master/texmf-dist/doc/latex/jlreq/jlreq-ja.html +++ b/Master/texmf-dist/doc/latex/jlreq/jlreq-ja.html @@ -53,45 +53,45 @@ border-style: none; } div.sourceCode { overflow-x: auto; text-indent: 0em;} - code > span.kw { color: #007020; font-weight: bold; } /* Keyword */ - code > span.dt { color: #902000; } /* DataType */ - code > span.dv { color: #40a070; } /* DecVal */ - code > span.bn { color: #40a070; } /* BaseN */ - code > span.fl { color: #40a070; } /* Float */ - code > span.ch { color: #4070a0; } /* Char */ - code > span.st { color: #4070a0; } /* String */ - code > span.co { color: #008000; } /* Comment */ - code > span.ot { color: #007020; } /* Other */ - code > span.al { color: #ff0000; font-weight: bold; } /* Alert */ - code > span.fu { color: #0040FF; } /* Function */ - code > span.er { color: #ff0000; font-weight: bold; } /* Error */ - code > span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */ - code > span.cn { color: #880000; } /* Constant */ - code > span.sc { color: #4070a0; } /* SpecialChar */ - code > span.vs { color: #4070a0; } /* VerbatimString */ - code > span.ss { color: #bb6688; } /* SpecialString */ - code > span.im { } /* Import */ - code > span.va { color: #19177c; } /* Variable */ - code > span.cf { color: #007020; font-weight: bold; } /* ControlFlow */ - code > span.op { color: #666666; } /* Operator */ - code > span.bu { color: #0040FF; } /* BuiltIn */ - code > span.ex { } /* Extension */ - code > span.pp { color: #bc7a00; } /* Preprocessor */ - code > span.at { color: #7d9029; } /* Attribute */ - code > span.do { color: #ba2121; font-style: italic; } /* Documentation */ - code > span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */ - code > span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */ - code > span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */ + code span.kw { color: #007020; font-weight: bold; } /* Keyword */ + code span.dt { color: #902000; } /* DataType */ + code span.dv { color: #40a070; } /* DecVal */ + code span.bn { color: #40a070; } /* BaseN */ + code span.fl { color: #40a070; } /* Float */ + code span.ch { color: #4070a0; } /* Char */ + code span.st { color: #4070a0; } /* String */ + code span.co { color: #008000; } /* Comment */ + code span.ot { color: #007020; } /* Other */ + code span.al { color: #ff0000; font-weight: bold; } /* Alert */ + code span.fu { color: #0040FF; } /* Function */ + code span.er { color: #ff0000; font-weight: bold; } /* Error */ + code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */ + code span.cn { color: #880000; } /* Constant */ + code span.sc { color: #4070a0; } /* SpecialChar */ + code span.vs { color: #4070a0; } /* VerbatimString */ + code span.ss { color: #bb6688; } /* SpecialString */ + code span.im { } /* Import */ + code span.va { color: #19177c; } /* Variable */ + code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */ + code span.op { color: #666666; } /* Operator */ + code span.bu { color: #0040FF; } /* BuiltIn */ + code span.ex { } /* Extension */ + code span.pp { color: #bc7a00; } /* Preprocessor */ + code span.at { color: #7d9029; } /* Attribute */ + code span.do { color: #ba2121; font-style: italic; } /* Documentation */ + code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */ + code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */ + code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */

jlreq

-

これは何?

+

これは何?

日本語組版処理の要件の実装を試みるLuaTeX-ja / pLaTeX / upLaTeX用のクラスファイルと,それに必要なJFMの組み合わせです.

-

提供されるもの

+

提供されるもの

クラスファイルjlreq.clsと,横書きLuaTeX-ja用のJFMであるjfm-jlreq.luaが用意されています.また,縦書きのJFMやpLaTeX / upLaTeX 用のJFMを生成するいくつかのスクリプトがあります.

-

インストール

+

インストール

makeで必要なJFMを生成してください.その後,

と配置します.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というよくあるオプションを受け付けます.

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

@@ -112,33 +112,34 @@

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

\section

\section*[running head]{見出し文字列}[副題]というように,通常の書式に加えて副題を受け付けられるように拡張されています.その他,\part(articleのみ),\chapter(book/reportのみ),\subsection\subsubsectionも副題を受け付けます.

-

abstract環境

+

abstract環境

プリアンブルにもかけるようになっています.プリアンブルに書かれた場合は,\maketitleとともに出力されます.二段組の場合は,段組にならず概要を出力することができます.

\sidenote

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

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

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

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

\endnote

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

\warichu

割注を出力します.行分割位置などは自動で計算されます.(複数回のコンパイルが必要.)\warichu*ではこれらの位置を手動で指定できます.書式は

-
\warichu*{(一行目前) & (一行目後)\\ (二行目前) & (二行目後)...}
+
\warichu*{(一行目前) & (一行目後)\\ (二行目前) & (二行目後)...}
+

です.&が省略されている場合は自動で調整されます.

\tatechuyoko

縦中横を出力します.\tatechuyoko{<文字列>}とします.縦書きでない場所で使うとエラーになります.

\jafontsize

和文フォントサイズを指定する\fontsizeです.クラスオプションでjafontscale=0.9とされている場合,\fontsize{9pt}{15pt}とすると和文フォントのサイズは8.1ptとなりますが,\jafontsize{9pt}{15pt}とすると9ptとなります.(欧文フォントサイズは10ptとなる.)なお,第二引数は\fontsizeの第二引数と全く同じです.

-

\ 

+

\ 

全角空白(U+3000)一文字からなるマクロです.和文間隔を挿入します.LuaLaTeXでは のみでも和文間隔を入力できます.

-

その他

+

その他

-

各種設計

+
\usepackage[balance]{nidanfloat}
+

とするとこの処理が行われます.ただし,最終ページでの\newpage\clearpageが正しく動作しません.詳しくはnidanfloatパッケージのマニュアルをご覧ください.

+

各種設計

設計はクラスオプションまたは\jlreqsetupによりkeyval形式で行います.以下では次の用法を使います.

-

基本版面

+

基本版面

クラスオプションです.

-

組み方

+

組み方

クラスオプションです.

-

注関係

+

注関係

\jlreqsetupで指定します.

-

キャプション

+

キャプション

図表のキャプションを\jlreqsetupで変更できます.

-

引用

+

引用

quote / quotation / verse環境の挙動を\jlreqsetupで指定できます.

-

箇条書き

+

箇条書き

\jlreqsetupで指定します.

-

定理環境

+

定理環境

\jlreqsetupで指定します.

-

見出し

+

見出し

見出しの設定は,\Declare***Headingという命令で行います(***には見出しの種類に応じた文字列が入る).書式はすべて

-
\Declare***Heading{<命令名>}{<レベル>}{<設定>}
+
\Declare***Heading{<命令名>}{<レベル>}{<設定>}
+

となっています.また,\New***Heading\Renew***Heading\Provide***Headingも同時に用意されます.それぞれ\newcommand\renewcommand\providecommandに対応した動きをします.

-

扉見出し

+

扉見出し

\DeclareTobiraHeadingで作成します.通常のクラスファイルにおける\section等と同じ書式の命令ができます.設定は以下の通り.

-

別行見出し

+

別行見出し

\DeclareBlockHeadingで作成します.\<命令名>*[running head]{見出し文字列}[副題]という書式の命令を作成します.設定は以下の通り.

-

書式関連

+

書式関連

-

インデント関連

+

インデント関連

-

その他

+

その他

-

行取り

+

行取り

行取りの指定は以下のいずれかの方法で行うことができます.

-

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

+

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

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

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

のように使います.

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

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

+ +

個々の設定は以下のようになります.

-

なお,見出しが連続しているかは単純に別行見出しの命令が並んで書かれているかのみで判断します.従ってそれらの命令間に出力には関係しないような命令が挟まっていたとしても,見出しが連続して掲げられているとは判断されません.ただし,見出し命令の間に空白または\labelのみが挟まれている場合は,見出しが連続していると判断されます.

-

同行見出し

+

なお,見出しが連続しているかは単純に別行見出しの命令が並んで書かれているかのみで判断します.従ってそれらの命令間に出力には関係しないような命令が挟まっていたとしても,見出しが連続して掲げられているとは判断されません.ただし,見出し命令の間に空白,改行または\label[<オプション>]{<引数>}…{<引数>}という形のもののみが挟まれている場合は,見出しが連続していると判断されます.

+

同行見出し

\DeclareRuninHeadingで作成します.通常の文書クラスにおける\sectionと同様の,\<命令名>*[running head]{見出し文字列}という書式の命令が作成されます.設定は以下の通り.

-

窓見出し

+

窓見出し

\DeclareCutinHeadingで作成します.\<命令名>{見出し文字列}という書式の命令を作成します.設定は以下の通り.

\ModifyHeading

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

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

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

\SaveHeading

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

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

のように使います.

-

ページスタイル

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

ページスタイル

+
\DeclarePageStyle{<ページスタイル名>}{<設定>}
+

によりページスタイルを定義することができます.<設定>はkeyval形式です.定義したページスタイルは\pagestyleで適用できます.設定は以下の通り.

\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の名前は次の通りです.[]で囲まれている文字は設定により入ったり入らなかったりします.

+
[u][b][z]jlreq[g][-v]
+
+

それぞれの文字は以下の場合に入ります.

+ +

例えば,ぶら下げ組みを利用せず,クラスオプションにopen_bracket_pos=zenkakunibu_nibuが指定されいてるソースをpLaTeXで処理した場合,横書き明朝体にはzjlreqという名前のJFMが使われます.

+

LuaLaTeXの場合

+ +

となります.ゴシックも同じJFMを使います.

+

その他

-

ライセンス

+

ライセンス

このパッケージは二条項BSDライセンスの元で配布されています.詳しくはLICENSEをご覧ください.

-

履歴

+

履歴

diff --git a/Master/texmf-dist/doc/latex/jlreq/jlreq.html b/Master/texmf-dist/doc/latex/jlreq/jlreq.html index fc11659dea4..35236912238 100644 --- a/Master/texmf-dist/doc/latex/jlreq/jlreq.html +++ b/Master/texmf-dist/doc/latex/jlreq/jlreq.html @@ -1,5 +1,5 @@ - + @@ -140,10 +140,15 @@ +
  • 2017-12-22 +

  • -

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

    +

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

    -- cgit v1.2.3