From 480b01a5b1314cc8e719ae8e402e7fd13b63006e Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Thu, 6 Aug 2015 22:00:18 +0000 Subject: bxjscls (6aug15) git-svn-id: svn://tug.org/texlive/trunk@38062 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/bxjscls/LICENSE | 44 +- Master/texmf-dist/doc/latex/bxjscls/README | 81 -- Master/texmf-dist/doc/latex/bxjscls/README-ja.md | 124 +++ Master/texmf-dist/doc/latex/bxjscls/README.md | 95 +++ .../texmf-dist/doc/latex/bxjscls/bxjsclasses.pdf | Bin 193480 -> 0 bytes .../doc/latex/bxjscls/bxjscls-manual.pdf | Bin 0 -> 714908 bytes .../doc/latex/bxjscls/bxjscls-manual.tex | 872 +++++++++++++++++++++ Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf | Bin 0 -> 891277 bytes 8 files changed, 1116 insertions(+), 100 deletions(-) delete mode 100644 Master/texmf-dist/doc/latex/bxjscls/README create mode 100644 Master/texmf-dist/doc/latex/bxjscls/README-ja.md create mode 100644 Master/texmf-dist/doc/latex/bxjscls/README.md delete mode 100644 Master/texmf-dist/doc/latex/bxjscls/bxjsclasses.pdf create mode 100644 Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdf create mode 100644 Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.tex create mode 100644 Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf (limited to 'Master/texmf-dist/doc/latex/bxjscls') diff --git a/Master/texmf-dist/doc/latex/bxjscls/LICENSE b/Master/texmf-dist/doc/latex/bxjscls/LICENSE index 9f4021fc174..6fae9a04933 100644 --- a/Master/texmf-dist/doc/latex/bxjscls/LICENSE +++ b/Master/texmf-dist/doc/latex/bxjscls/LICENSE @@ -1,24 +1,30 @@ -$BK\%=%U%H%&%'%"$O(B MIT $B%i%$%;%s%9$N2<$GG[I[$5$l$^$9!#Cx:n8"$O:nZ$G$9!#(B +本ソフトウェアは修正BSDライセンス(The BSD 2-Clause License)の下で +配布されます。 +著作権は作者である「八登 崇之(別名 ZR)」に属します。 +また本ソフトウェアは無保証です。 -The MIT License +The BSD 2-Clause License -Copyright (c) 2010 ZR +Copyright (c) 2015 Takayuki YATO (aka. "ZR") +All rights reserved. -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +1. Redistributions of source code must retain the above copyright notice, +this list of conditions and the following disclaimer. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +2. Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/Master/texmf-dist/doc/latex/bxjscls/README b/Master/texmf-dist/doc/latex/bxjscls/README deleted file mode 100644 index cbeaf5f90e8..00000000000 --- a/Master/texmf-dist/doc/latex/bxjscls/README +++ /dev/null @@ -1,81 +0,0 @@ -================================================== -== BXjscls バンドル v0.3a <2012/05/01> == -== by「ZR」(八登 崇之/Takayuki YATO)== -== == -================================================== -(This file is encoded in UTF-8,) - -■ 対応環境 - - ・UTF-8 直接入力が可能な日本語対応 LaTeX2e であれば、その日本語処理 - 機構と連携するコードを用意することでこのバンドルに含まれる文書クラス - を使用できる。現状では、このバンドルの作者により、次の環境に対する - 連携コードが用意されている。 - - XeLaTeX 0.997 版以降 + zxjatype 0.3 版以降 - (連携機構は zxjatype 自身に含まれるので、単に zxjatype の読込を - 行えば連携される) - - pLaTeX (ptexenc 版) または upLaTeX - (本バンドルに含まれる bxjsptex モジュールを利用する。方法は、 - 文書クラスのオプションに platex または uplatex を指定する。) - -■ 本ソフトウェアの作者のサイト - - En toi Pythmeni tes TeXnopoleos 〜電脳世界の奥底にて〜 - http://zrbabbler.sp.land.to/ - -■ インストール - - 本バンドルは DocStrip 形式ファイル bxjsclasses.dtx の形で提供されて - いて、ファイル抽出を行うことで文書クラスファイル等を得ることができる。 - ただし、ユーザの便宜のため、予め抽出したファイルと組版した説明文書を - バンドルに同梱したので、実際にはファイル抽出処理は不要である。 - - TDS 1.1 に従ったシステムでは、各ファイルを次の場所に移動する。 - ・*.cls, *.def → $TEXMF/tex/latex/bxjscls/ - - W32TeX を C:\usr\local にインストールした場合の例。 - ・*.cls, *.def - → C:\usr\local\share\texmf-local\tex\latex\bxjscls - - ・(参考)ファイル抽出の方法 - - 以下のコマンドを実行すると - bxjsarticle.cls, bxjsreport.cls, bxjsptex.def - の各ファイルが抽出される: - platex -kanji=utf8 bxjsclasses.dtx - または - xelatex bxjsclasses.dtx - - 以下のコマンドを実行すると解説文書 bxjsclasses.dvi が得られる。 - platex bxjsclasses.dtx (2 回実行) - ※ 現状では、解説文書は jsarticle クラスで作成しているので組版には - pLaTeX が必要である。 - --------------------------------------- - - まだ解説が書けておりません…。基本的な機能の説明については以下の Web - ページで行っていますのでそちらを参照してください。 - - BXjscls パッケージ - http://zrbabbler.sp.land.to/bxjscls.html - - 連携モジュールの仕様については解説文書 bxjsclasses.pdf の付録 A に - 述べられている。 - ----------------------------------------- - -■ 更新履歴 - -Version 0.3a <2012/05/01> - - 一部の用紙サイズオプション(b4paper 等)で、縦と横の長さを逆に - 指定していたのを修正した。 - -Version 0.3 <2010/08/15> - - (u)pLaTeX 用連携モジュールを追加。 - - jbase クラスオプションを追加。 - - base, jbase, mag を calc パッケージの数式で記述できるようにした。 - -Version 0.2 <2009/08/15> - - 最初の公開版。 - -W# EOF diff --git a/Master/texmf-dist/doc/latex/bxjscls/README-ja.md b/Master/texmf-dist/doc/latex/bxjscls/README-ja.md new file mode 100644 index 00000000000..5f38198fbf2 --- /dev/null +++ b/Master/texmf-dist/doc/latex/bxjscls/README-ja.md @@ -0,0 +1,124 @@ +BXjscls パッケージバンドル +========================== + +LaTeX: 全エンジン対応日本語文書クラス集 + +奥村晴彦氏作製の [pLaTeX2e 新ドキュメントクラス] の和文文書クラス集を +拡張したもの。元のクラスは (u)pLaTeX 専用であるが、こちらは pdfLaTeX / +XeLaTeX / LuaLaTeX の上でも日本語処理パッケージと連携して使用すること +ができる。 + +[pLaTeX2e 新ドキュメントクラス]: +(http://oku.edu.mie-u.ac.jp/~okumura/jsclasses/) + +### 前提環境 + + * TeX エンジン: pdfTeX / XeTeX / LuaTeX / pTeX / upTeX + - e-TeX 拡張は必須でない + - XeTeX は 0.997 版以降が必要 + * フォーマット: LaTeX + * DVI ウェア: 不問 + * 必須パッケージ: + - keyval + - calc + - geometry + * standard 和文ドライバで連携するパッケージ: + - (pdf)LaTeX の場合: + CJK / bxcjkjatype(v0.2c以降) + - XeLaTeX の場合: + xeCJK(v3.0以降) / zxjatype(v0.6以降) + - LuaLaTeX の場合: + LuaTeX-ja + * その他、場合により必須となるパッケージ: + - type1cm : `magstyle` が `real`/`xreal` である場合 + - pxchfon(v0.5以降): pLaTeX で `jafont` を指定した場合 + - zxjafont(v0.2a以降): XeLaTeX で `jafont` を指定した場合 + * エンジンが (u)pTeX 以外で、かつ和文ドライバが standard 以外の場合、 + そのエンジンに対応する日本語処理パッケージが必要となる。 + +### 構成物 + + * `bxjscls-manual.pdf`: ユーザ向け説明書 + * `bxjscls-manual.tex`: 上項のソースファイル + * `bxjscls.dtx`: DocStrip ソースファイル + * `bxjscls.ins`: DocStrip インストーラファイル + * `bxjscls.pdf`: DocStrip 文書(ソースコード説明書) + +※アーカイブ中に DocStrip からの生成ファイル(`*.cls`/`*.def`、一覧は +次節に後掲)が含まれる場合もある。 + +### インストール + +本パッケージバンドルは DocStrip 形式ファイルの形で提供されている。 + +アーカイブに文書クラスファイル(`*.cls`/`*.def`)が含まれていない場合 +は、以下のコマンドを実行して生成する。 + + luatex bxjscls.ins + +このコマンドにより次のファイル群が生成される。 + + * `bxjsarticle.cls`: BXJS版 article クラスファイル + * `bxjsbook.cls`: BXJS版 book クラスファイル + * `bxjsreport.cls`: BXJS版 report クラスファイル + * `bxjsslide.cls`: BXJS版 slide クラスファイル + * `bxjsja-minimal.def`: minimal 和文ドライバファイル + * `bxjsja-standard.def`: standard 和文ドライバファイル + +その後、各ファイルを次の場所に移動する。 +(TDS 1.1 に従ったシステムの場合。) + + - `*.cls`/`*.def` → $TEXMF/tex/latex/bxjscls/ + - `*.dtx`/`*.ins` → $TEXMF/source/latex/bxjscls/ + - `*.pdf`/`*.tex` → $TEXMF/doc/latex/bxjscls/ + +その後、(必要に応じて)`mktexlsr` を実行する。 + +#### (参考)説明書文書のコンパイル + +アーカイブに含まれる説明書の PDF 文書は以下のコマンドによって生成 +されたものである。 + + * `bxjscls-manual.pdf` ← `lualatex bxjscls-manual.tex` + * `bxjscls.pdf` ← `lualatex bxjscls.dtx` + +### 使用方法 + +ユーザ向け説明書 `bxjscls-manual.pdf` を参照されたい。 + +### ライセンス + +修正BSDライセンス(The BSD 2-Clause License)の下で配布される。 + +更新履歴 +-------- + + * Version 1.0 [2015/08/05] + - bxjsreport と bxjsslide クラスを提供する。 + - `jafont` オプションを追加。 + - `nopapersize` オプションを追加。 + - hyperref 対策を追加。 + - microtype 対策を追加。 + - `\ifdraft` の定義を遅延させる。 + - その他もろもろ。 + * Version 0.9 [2013/10/03] + - LuaTeX-ja との連携をサポート。 + - `magstyle`、`(no)zw`、`(no)js` オプションを追加。 + - “和文ドライバ”の概念を採用して、ソースコードの構成を + 大幅に変更した。 + * Version 0.4 [2013/08/03] + - CJK + bxcjkjatype との連携を追加。 + * Version 0.3a [2012/05/01] + - 一部の用紙サイズオプション(`b4paper` 等)で、縦と横の長さを + 逆に指定していたのを修正した。 + * Version 0.3 [2010/08/15] + - (u)pLaTeX 用連携モジュールを追加。 + - `jbase` クラスオプションを追加。 + - `base`, `jbase`, `mag` を calc パッケージの数式で + 記述できるようにした。 + * Version 0.2 [2009/08/15] + - 最初の公開版。 + +-------------------- +Takayuki YATO (aka. "ZR") +http://zrbabbler.sp.land.to/ diff --git a/Master/texmf-dist/doc/latex/bxjscls/README.md b/Master/texmf-dist/doc/latex/bxjscls/README.md new file mode 100644 index 00000000000..508ec55ca01 --- /dev/null +++ b/Master/texmf-dist/doc/latex/bxjscls/README.md @@ -0,0 +1,95 @@ +BXjscls Package +=============== + +LaTeX: Japanese document class collection for all major engines + +This package provides an extended version of the Japanese document +class collection provided by [jsclasses package]. While the original +version supports only pLaTeX and upLaTeX, the extended version also +supports pdfLaTeX, XeLaTeX and LuaLaTeX, with the aid of suitable +packages that provide capability of Japanese typesetting. + +[jsclasses package]: (https://www.ctan.org/pkg/jsclasses) + +### SYSTEM REQUIREMENTS + + * TeX engine: pdfTeX, XeTeX, LuaTeX, pTeX, or upTeX. + - e-TeX extension is not needed. + - XeTeX must be of version 0.997 or later. + * TeX format: LaTeX. + * DVIware: Anything. + * Prerequisite packages: + - keyval + - calc + - geometry + * Packages that the standard ja-driver cooperates with: + - On (pdf)LaTeX: + CJK + bxcjkjatype (v0.2c+) + - On XeLaTeX: + xeCJK (v3.0+) + zxjatype (v0.6+) + - On LuaLaTeX: + LuaTeX-ja + * Other packages required on occasion: + - type1cm: when `magstyle` is `real`/`xreal` + - pxchfon (v0.5+): when `jafont` is used on pLaTeX + - zxjafont (v0.2a+): when `jafont` is used on XeLaTeX + * When you use ja-drivers other than standard, you generally need + packages for processing Japanese documents that the employed + combination of the ja-driver and the engine supports. + +### PACKAGE CONTENT + + * `bxjscls-manual.pdf`: the user manual + * `bxjscls-manual.tex`: the source file for the above + * `bxjscls.dtx`: the DocStrip source file + * `bxjscls.ins`: the DocStrip installer file + * `bxjscls.pdf`: the DocStrip document (source code description) + +### INSTALLATION + +This package bundle is provided in the form of a DocStrip file. + +First, run the command to create some files: + + luatex bxjscls.ins + +This command will generate the following files: + + * `bxjsarticle.cls`: the BXJS-flavored article class file + * `bxjsbook.cls`: the BXJS-flavored book class file + * `bxjsreport.cls`: the BXJS-flavored report class file + * `bxjsslide.cls`: the BXJS-flavored slide class file + * `bxjsja-minimal.def`: the `minimal` ja-driver file + * `bxjsja-standard.def`: the `standard` ja-driver file + +After that, move the files as follows (in a system compliant to +TDS 1.1): + + - `*.cls`/`*.def` → $TEXMF/tex/latex/bxjscls/ + - `*.dtx`/`*.ins` → $TEXMF/source/latex/bxjscls/ + - `*.pdf`/`*.tex` → $TEXMF/doc/latex/bxjscls/ + +And rehash your TEXMF trees if necessary. + +### USAGE + +Please refer to the user manual `bxjscls-manual.pdf`. +Unfortunately, the manual is available only in Japanese.... + +### LICENSE + +This package is distributed under the BSD 2-Clause License. + +Revision History +---------------- + + * Version 1.0 [2015/08/05] + * Version 0.9 [2013/10/03] + * Version 0.4 [2013/08/03] + * Version 0.3a [2012/05/01] + * Version 0.3 [2010/08/15] + * Version 0.2 [2009/08/15] + +-------------------- +Takayuki YATO (aka. "ZR") +http://zrbabbler.sp.land.to/ diff --git a/Master/texmf-dist/doc/latex/bxjscls/bxjsclasses.pdf b/Master/texmf-dist/doc/latex/bxjscls/bxjsclasses.pdf deleted file mode 100644 index 719eafb8c47..00000000000 Binary files a/Master/texmf-dist/doc/latex/bxjscls/bxjsclasses.pdf and /dev/null differ diff --git a/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdf b/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdf new file mode 100644 index 00000000000..400946b6ecb Binary files /dev/null and b/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdf differ diff --git a/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.tex b/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.tex new file mode 100644 index 00000000000..c118f9da86b --- /dev/null +++ b/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.tex @@ -0,0 +1,872 @@ +% 文字コードは UTF-8 +% lualatex で組版する +\documentclass[a4paper]{ltjsarticle} +\usepackage{url} +\usepackage{metalogo} +\usepackage{shortvrb} +\MakeShortVerb{\|} +\newcommand{\PkgVersion}{1.0} +\newcommand{\PkgDate}{2015/08/05} +\newcommand{\Pkg}[1]{\textsf{#1}} +\newcommand{\Meta}[1]{$\langle$\mbox{}#1\mbox{}$\rangle$} +\newcommand{\Note}{\par\noindent ※} +\newcommand{\Means}{:\ } +\newcommand{\jemph}{\textsf} +\newcommand{\Ord}[1]{#1$^\circ$} +\newcommand{\Prn}[1]{\<(#1)\<} +\providecommand{\pTeX}{p\TeX} +\providecommand{\pLaTeX}{p\LaTeX} +\providecommand{\upTeX}{u\pTeX} +\providecommand{\upLaTeX}{u\pLaTeX} +\providecommand{\pdfLaTeX}{pdf\LaTeX} +%----------------------------------------------------------- +\begin{document} +\title{\Pkg{BXjscls} パッケージ\\ + (BXJS文書クラス集)\\ + ユーザマニュアル} +\author{八登崇之\ (Takayuki YATO; aka.~``ZR'')} +\date{v\PkgVersion\quad[\PkgDate]} +\maketitle + +%=========================================================== +\section*{注意} + +このマニュアルは\textgt{暫定版}であり、内容に不完全な点がある。 + +BXJS文書クラスについては、“{\TeX} Wiki”中の記事、 +\footnote{\url{http://oku.edu.mie-u.ac.jp/~okumura/texwiki/?BXjscls}}% +およびそこからたどれるサイトにある情報も参照してほしい。 + +%=========================================================== +\section{概要} +\label{sec:Ovewview} + +本パッケージに含まれる文書クラス集 +(以下では\jemph{BXJS(文書)クラス}と呼ぶ) +は、奥村晴彦氏製作の「p{\LaTeXe}新ドキュメントクラス」 +(以下では\jemph{JS(文書)クラス}と呼ぶ) +の拡張版に相当する。 +JSクラスのレイアウトデザインと機能をほぼ踏襲しているが、 +以下の点で改良が加えられている。 +\begin{itemize} +\item JSクラスは{\pLaTeX}と{\upLaTeX}のみをサポートするが、 + BXJSクラスはこれらに加えて{\pdfLaTeX}と{\XeLaTeX}と{\LuaLaTeX}を + サポートしており主要エンジンの全てで使用可能である。 +\item (u){\pLaTeX}以外では各々のエンジンの日本語処理パッケージを + 利用するが、“標準設定”を用いることで、それらのパッケージの + 設定を書かずに済ませられるので、{\pLaTeX}並に簡単に日本語の + 文書を書き始めることができる。 +\item JSクラスでは、フォントのオプティカルサイズを最適にするため、 + (基底フォントサイズが10pt以外の時に){\TeX}の版面拡大(mag)機能を + 利用しているが、これが他のパッケージと衝突して + 不具合を起こすことがある。 + BXJSクラスではmag機能を使う他に別の方式を選べるようにしている。 +\item 用紙サイズや基底フォントサイズについて、任意の値を指定する + ことができる。 +\end{itemize} + +%=========================================================== +\section{最も基本的な使い方} +\label{sec:Basic} + +ここでは、BXJSクラスを“標準設定”(standard和文ドライバ)で +用いる場合について解説する。 +この場合、|\documentclass| 命令を次のように書く。 +\footnote{もちろんクラスオプションの順序は任意である。}% + +\begin{quote} +|\documentclass[|\Meta{エンジン}|,|\Meta{ドライバ}% +|,ja=standard,jafont=|\Meta{フォント指定}|,|\Meta{他オプション}|]|\\ +| {|\Meta{クラス名}|}| +\end{quote} + +\begin{itemize} +\item \Meta{エンジン}の指定は必須で、実際に使っている + 「{\LaTeX}のコマンド名」を書く。 + |latex|、|platex|、|uplatex|、 + |pdflatex|、|xelatex|、|lualatex|が指定できる。 +\item DVI出力のエンジンを使う場合は、\Meta{ドライバ}の指定が必須で、 + これは実際に使っている「DVIウェアの名前」を書く。 + |dvips|、|dvipdfmx|、|dviout|、|xdvi|が指定できる。 + PDF出力のエンジンの場合は\Meta{ドライバ}の指定は不要である。 +\item “標準設定”を適用するので |ja=standard| を指定する。 + (|ja| の代わりに |jadriver| と書いてもよい。) +\item 既定以外のフォント設定を利用する場合は、\Meta{フォント指定}に + その名前を書く。 + 既定の設定を用いる場合は |jafont=...| 自体を省略する。 +\item その他のクラスオプション(|a4paper| 等)については、 + 多くの場合JSクラスと同じものが使える。 +\item BXJSクラスについて、\Meta{クラス名}は以下のものがある。 + \begin{itemize} + \item \Pkg{bxjsarticle}\Means 章のないレポート + (\Pkg{jsarticle}に相当する) + \item \Pkg{bxjsreport}\Means 章のあるレポート + (\Pkg{jsbook}\,+\,|report| に相当する) + \item \Pkg{bxjsbook}\Means 書籍 + (\Pkg{jsbook}に相当する) + \item \Pkg{bxjsslide}\Means スライド + (\Pkg{jsarticle}\,+\,|slide|に相当する) + \end{itemize} +\end{itemize} + +{\XeLaTeX}で\Pkg{bxjsarticle}クラスを用いた文書の例を示す。 +\footnote{組版結果における日付の出力はJSクラスと同様の +「2015年7月3日」の形式になる。}% + +\begin{quote}\small\begin{verbatim} +\documentclass[a4paper,xelatex,ja=standard]{bxjsarticle} +\usepackage[unicode,colorlinks, + pdftitle={いきなり日本語}]{hyperref} +\title{いきなり日本語} +\author{七篠 権兵衛} +\begin{document} +\maketitle + +\section{日本語で{\LaTeX}する} +中身はまだない。 + +\end{document} +\end{verbatim}\end{quote} + +以下では各エンジンについて、挙動を少し詳しく説明する。 + +%------------------- +\subsection{{\pLaTeX}の場合} + +例えば次の設定は: + +\begin{quote}\small\begin{verbatim} +\documentclass[a4paper,platex,dvipdfmx,ja=standard]{bxjsarticle} +\end{verbatim}\end{quote} + +対応するJSクラスを用いた次の設定と(ほぼ)等価になる +\footnote{すなわち、論理フォントは明朝がjis、 +ゴシックがjisgが使われる。 +なお、BXJSでは |mingoth| 等の論理フォント変更の +オプションはサポートされていない。}: + +\begin{quote}\small\begin{verbatim} +\documentclass[a4paper,dvipdfmx]{jsarticle} +\end{verbatim}\end{quote} + +次のように |jafont| を指定した場合は: + +\begin{quote}\small\begin{verbatim} +\documentclass[a4paper,platex,dvipdfmx,ja=standard,jafont=ms]{bxjsarticle} +\end{verbatim}\end{quote} + +その値をプリセットオプションとして\Pkg{pxchfon}が読み込まれる: + +\begin{quote}\small\begin{verbatim} +\documentclass[a4paper,dvipdfmx]{jsarticle} +\usepackage[ms]{pxchfon} +\end{verbatim}\end{quote} + +%------------------- +\subsection{{\upLaTeX}の場合} + +例えば次の設定は: + +\begin{quote}\small\begin{verbatim} +\documentclass[a5paper,uplatex,dvipdfmx,ja=standard]{bxjsarticle} +\end{verbatim}\end{quote} + +次の設定と(ほぼ)等価になる +\footnote{論理フォントについては、従来のもの + (明朝がupjisr-h、ゴシックがupjisg-h) + に代わって、BMP外の文字に対応したもの + (明朝がupjpnrm-h、ゴシックがupjpngt-h) + を採用した。 + 組み方は従来のものと変わらない。}: + +\begin{quote}\small\begin{verbatim} +\documentclass[uplatex,a4paper,dvipdfmx]{jsarticle} +\end{verbatim}\end{quote} + +|jafont| オプションの扱いは{\pLaTeX}の場合と同じである。 + +%------------------- +\subsection{{\pdfLaTeX}の場合} + +エンジン指定が |pdflatex| の場合、 +日本語処理パッケージとして\Pkg{bxcjkjatype} +(これ自体は内部で\Pkg{CJK}パッケージを読み込む) +を利用する。 + +例えば次の設定は: + +\begin{quote}\small\begin{verbatim} +\documentclass[a4paper,pdflatex,ja=standard]{bxjsarticle} +\end{verbatim}\end{quote} + +次の設定と大体同じであるが、ただし文書レイアウトは +\Pkg{article}でなく\Pkg{jsarticle}とほぼ同じになっている: + +\begin{quote}\small\begin{verbatim} +\documentclass[a4paper]{article} +\usepackage[whole,autotilde]{bxcjkjatype} +\end{verbatim}\end{quote} + +|jafont| を指定した場合は: + +\begin{quote}\small\begin{verbatim} +\documentclass[a4paper,pdflatex,ja=standard,jafont=ipaex]{bxjsarticle} +\end{verbatim}\end{quote} + +その値が\Pkg{bxcjkjatype}のフォントプリセットになる。 + +\begin{quote}\small\begin{verbatim} +\documentclass[a4paper]{article} +\usepackage[whole,autotilde,ipaex]{bxcjkjatype} +\end{verbatim}\end{quote} + +\Note 補足: +\begin{itemize} +\item 自動的に文書本体が |CJK*| 環境 + \footnote{\Pkg{CJKspace}パッケージが読み込まれた下での |CJK*| + 環境である。}% + で囲まれかつ |\CJKtilde| が有効な状態になっている。 + 従っていきなり日本語を書き始めることができる。 + ただし和欧文間空白(四分空き)は手動で |~| を入れる必要がある。 + \footnote{\Pkg{CJK}パッケージには自動で和欧文間空白を入れる + 機能はない。}% + 日本語出力の挙動の詳細については\Pkg{bxcjkjatype}のマニュアルを + 参照してほしい。 + 以下に完全な文書ソースの例を示す: +\begin{quote}\small\begin{verbatim} +\documentclass[a4paper,pdflatex,ja=standard]{bxjsarticle} +\begin{document} +日本語で~pdf{\LaTeX}~するテスト。 +\end{document} +\end{verbatim}\end{quote} +\item BXJSクラスでは(JSクラスと同様に)通常は和文に約92.5\%の + スケールを施している。 + ところが、\Pkg{CJK}パッケージは「和文のスケール」をサポートしていない。 + このため、エンジンが |pdflatex| の場合は他の場合と比べて和文が大きめに + 出力される。 +\footnote{同じ理由で、|pdflatex| では |scale| オプションも無効になる。}% +\item \Pkg{bxcjkjatype}パッケージにおけるフォントの既定設定は + 「Type1形式のIPAexフォント」(\Pkg{ipaex-type1}パッケージ)である。 + 一方、|ipaex| プリセットを指定した場合は + 「TrueType形式のIPAexフォント」が使われるので、両者の出力は + “PDFデータとしては”異なる(見かけは同じのはずだが)。 + \footnote{ちなみに、\Pkg{bxcjkjatype}には |ipaex-type1| という + オプションもあるが、この設定と既定設定(オプション無し)も + 動作は異なる。 + BXJSクラスが用いるのは既定設定の方である。}% +\end{itemize} + +%------------------- +\subsection{{\XeLaTeX}の場合} + +エンジン指定が |xelatex| の場合、 +日本語処理パッケージとして\Pkg{zxjatype} +(これ自体は内部で\Pkg{xeCJK}パッケージを読み込む) +を利用する。 + +例えば次の設定は: + +\begin{quote}\small\begin{verbatim} +\documentclass[a4paper,twocolumn,xelatex,ja=standard]{bxjsarticle} +\end{verbatim}\end{quote} + +次の設定と大体同じであるが、ただし文書レイアウトは +\Pkg{jsarticle}とほぼ同じになっている: + +\begin{quote}\small\begin{verbatim} +\documentclass[a4paper,twocolumn]{article} +\usepackage{zxjatype} +\setCJKmainfont[BoldFont=IPAexGothic]{IPAexMincho}% 明朝→IPAex明朝 +\setCJKsansfont[BoldFont=IPAexGothic]{IPAexGothic}% ゴシック→IPAexゴシック +\end{verbatim}\end{quote} + +|jafont| を指定した場合は: + +\begin{quote}\small\begin{verbatim} +\documentclass[a4paper,xelatex,ja=standard,jafont=ms]{bxjsarticle} +\end{verbatim}\end{quote} + +その値が\Pkg{zxjafont}のプリセットになる。 + +\begin{quote}\small\begin{verbatim} +\usepackage{zxjatype} +\usepackage[ms]{zxjafont} +\end{verbatim}\end{quote} + +%------------------- +\subsection{{\LuaLaTeX}の場合} + +エンジン指定が |lualatex| の場合、 +日本語処理パッケージとして\Pkg{\LuaTeX-ja}を利用する。 + +例えば次の設定は: + +\begin{quote}\small\begin{verbatim} +\documentclass[b5paper,9pt,lualatex,ja=standard]{bxjsarticle} +\end{verbatim}\end{quote} + +次の設定と(ほぼ)等価になる +(ただし\Pkg{luatexja-preset}は実際には読み込まれない): + +\begin{quote}\small\begin{verbatim} +\documentclass[b5paper,9pt]{ltjsarticle} +\usepackage{luatexja-fontspec} +\usepackage[ipaex]{luatexja-preset} +\end{verbatim}\end{quote} + +|jafont| を指定した場合は: + +\begin{quote}\small\begin{verbatim} +\documentclass[b5paper,lualatex,ja=standard,jafont=ms]{bxjsarticle} +\end{verbatim}\end{quote} + +次の設定と(ほぼ)等価になる: + +\begin{quote}\small\begin{verbatim} +\documentclass[b5paper]{ltjsarticle} +\usepackage{luatexja-fontspec} +\usepackage[ms]{luatexja-preset} +\end{verbatim}\end{quote} + +\Note 補足: + +\begin{itemize} +\item \Pkg{luatexja-preset}パッケージの読込が行われるのは |jafont| を + 指定した場合に限られる。 +\end{itemize} + +%------------------- +\subsection{注意事項} + +主にJSクラスとの違いについての注意。 + +\begin{itemize} +\item ページレイアウトについて、JSクラスの設計思想を受け継いで + いるが、全く同じになるわけではない。 +\item JSクラスの一部のオプションで、 + BXJSクラスでは使用不可能なものがある。 + (\ref{ssec:JS-deleted-option}節参照。) +\item BXJSクラスではページレイアウトを設定するために + 内部で\Pkg{geometry}パッケージを読み込んでいる。 + そのため、後からユーザが\Pkg{geometry}を読み込むことはできない。 + ページレイアウトを変更する場合は、BXJSクラスが用意している + 再設定用の命令(\ref{ssec:page-layout}節参照)か、または + \Pkg{geometry}パッケージが提供する再設定用命令(|\geometry| 等) + を利用する。 +\item \Pkg{hyperref}パッケージにおける“PDFの文字コード”の設定は + エンジンごとに適切な値が異なっていて複雑であり、 + これが不適切であるためにPDF文書情報(しおり等)が文字化けして + しまう事例が数知れない。 + そこで、文書クラス側でエンジン毎に適切な設定を予め行う + ようにした。 + \footnote{従って、(u){\pLaTeX}において、ほとんどの場合に + \Pkg{pxjahyper}パッケージを読み込む必要がない。 + ただし読み込んでも構わないし、必要な場合もある。}% + (ただし文書クラスが\Pkg{hyperref}を読み込むわけではない。) +\item |jafont| が無い場合の“既定のフォント設定”は多くのエンジンに + おいて「IPAexフォント使用」であるが、(u){\pLaTeX}だけは異なっていて + 「何も指定しない状態」(JSクラスと同様)である。 + すなわち実際に使われる物理フォントの選択はDVIウェアの設定に + 委ねられている。 +\item JSクラスは |\ifdraft| という公開名のスイッチ + \footnote{スイッチなので{\LaTeX}レベルの命令ではない。 + 標準クラスではこれに相当するものは |\if@draft| という非公開の + 制御綴で定義されている。}% + を用いているが、これは\Pkg{ifdraft}パッケージと衝突する。 + そこでBXJSクラスでは代わりに |\ifjsDraft| の名前を + 用い、本文開始時に |\ifdraft| が未定義の場合に限り、 + |\ifjsDraft| を |\ifdraft| にコピーする処理にしている。 +% TODO: \@ptsize の話 +\end{itemize} + +%=========================================================== +\section{クラスオプション} +\label{sec:Class-Option} + +%------------------- +\subsection{BXJSクラスに特有のオプション} +\label{ssec:BXJS-specific-option} + +JSクラスには無くBXJSクラスで追加されたクラスオプション。 + +\begin{itemize} +\item エンジンオプション\Means + 実際に使用するエンジン({\LaTeX}コマンド名)を指定する。 + 有効な値は |latex|、|platex|、|uplatex|、|pdflatex|、|xelatex|、 + |lualatex| である。 + エンジンオプション(と次項の |autodetect-engine| の何れか) + の指定は必須である。 +\item |autodetect-engine|\Means + 使用しているエンジンを判定して、自動的に適切なエンジンオプションを + 設定する。 + \footnote{実はエンジンの判定は常に行っていて、エンジンオプションが + 指定された場合はそれが正しいかを検査して、誤りの場合はエラーを + 出すようにしている。}% + \Note BXJSクラスの設計の思想としては、 + 「{\LaTeX}文書がどのエンジンでコンパイルすべきものかは + ソース中に明示されるべき」と考えていて、 + 従って、“人間が普通に”文書を作る際にはこのオプションの + 使用は推奨されない。 + このオプションは“{\LaTeX}ソースの自動生成”が絡む処理を念頭において + 用意されている。 +\item ドライバオプション\Means + DVI出力のエンジンを用いる場合に、実際に使用するDVIウェアの名前を + 指定する。 + 有効な値は |dvips|、|dvipdfmx|、|dviout|、|xdvi|、そして特殊な + 値として |dvipdfmx-if-dvi| がある。 + これは「エンジンがDVI出力の場合に限り |dvipdfmx| を指定する」 + ことを表すもので、|autodetect-engine| と一緒に使うことが + 想定されている。 + \footnote{「実際に |dvipdfmx| が指定された」場合は、 + |dvipdfmx| がグローバルオプションとしても働く。}% + ドライバオプションの指定は必須である。 +\item |nopapersize|\Means + “papersize special出力”を抑止する。 + (JSクラスとは異なり、special出力のオプション |papersize| + は既定で有効である。) + \Note papersize specialを出力する他のパッケージとの干渉に + 対する対策。 +\item |zw|(既定)\Means + |\jsZw| と等価な命令として |\zw| を定義する。 +\item |nozw|\Means + |zw| の否定。 + \Note 命令名の衝突に対する対策。 +\item |js|(既定)\Means + JSクラス(例えば\Pkg{bxjsreport}の場合は\Pkg{jsbook}) + が読込済であるように振舞う。 + \Note 「JSクラスであるかによって挙動を変える」 + パッケージに対する対策。 +\item |nojs|\Means + |js| の否定。 + \Note つまり「JSクラスの一種である」と判定されると不都合な場合に + このオプションを指定する。 +\item |ja=|\Meta{名前}\Means + 使用する和文ドライバの名前を指定する。 + (詳細は\ref{sec:Ja-Driver}節を参照。) + 標準で提供されている和文ドライバには |minimal| と |standard| がある。 + 既定値は、エンジンが |platex| か |uplatex| の時は |standard|、 + それ以外は |minimal|。 +\item |jadriver=|\Meta{名前}\Means + 「|ja=|\Meta{名前}」の(0.9版以前で使われていた)別名。 +\item |jafont=|\Meta{名前}\Means + “和文フォントプリセット指定”の名雨を設定する。 +\item |japaram=|\Meta{値}\Means + “和文ドライバパラメタ”の値を設定する。 + \Note |jafont| と |japaram| の値がどのように解釈されるかは + 和文ドライバの仕様次第である。 + minimal和文ドライバではこの2つの値は全く参照されない。 + \ref{sec:Basic}節で解説した通り、standard和文ドライバでは |jafont| + の値が利用される。 + 現状では |japaram| は参照されない。 +\item |base=|\Meta{長さ}\Means + 基底フォントサイズ(|\normalsize| のフォントのサイズ)を指定する。 + JSクラスの |10pt|、|11pt| 等と同じ役割で、任意の値を指定できる。 + 基底フォントサイズの既定値は10\,ptである。 + \Note |##pt| の形のオプションには名前と実際に設定される値が + ずれているものが多く、例えば |11pt| は10.95\,pt、 + |14pt| は 14.4\,pt が実際の設定値である。 + \footnote{これは昔の{\LaTeX}の“magstep”の習慣に由来する。}% + これに対して |base=14pt| は文字通り14\,ptを設定する。 +\item |jbase=|\Meta{長さ}\Means + 和文を基準にして基底フォントサイズを指定する。 + すなわち和文フォントの |\normalsize| のサイズを指定の長さとする。 + \footnote{この場合に決定されるmag値は和文スケール値にも依存する + ことに注意。}% +\item |scale=|\Meta{実数}\Means + 和文スケール値を設定する。 + 既定値は 0.924715(= 13\,Q/10\,pt)である。 + \footnote{これはJSクラスの設計に基づく値である。 + ただし実装の都合で、JSクラスの実際のスケール値はこれから + 僅かだけずれている。}% + \Note エンジンが |(pdf)latex| の時は和文スケールが無効になる。 +\item |noscale|\Means + |scale=1| と同値。 +\item |paper={|\Meta{横幅}|}{|\Meta{縦幅}|}|\Means + 用紙サイズ設定。 + |a4paper| 等と同じ役割で、任意の値を指定できる。 + 用紙サイズの既定値はA4縦 + ($\mbox{210\,mm}\times\mbox{294\,mm}$)である。 +\item |mag=|\Meta{整数}\Means + 版面拡大率(mag値)の直接設定。 + 既定は |base| から算出する。 + \Note mag値が$n$の場合、版面が $n/1000$ 倍に拡大される。 +\item |magstyle=|\Meta{値}\Means + “版面拡大”の実現方法を指定する。 + 有効な値は |mag|、|real|、|xreal| の何れか。 + 詳細は\ref{ssec:magstyle}節を参照。 +\end{itemize} + +%------------------- +\subsection{JSクラスのオプションで使用可能なもの} +\label{ssec:JS-inherited-option} + +これらについては名前だけ列挙するに留める。 +ただし、“JSクラス特有”(標準クラスに無い)オプションの一部に +ついては解説を加える。 + +\paragraph{用紙サイズ指定} +|a3paper|、|a4paper|、|a5paper|、|a6paper|、 +|b4paper|、|b5paper|、|b6paper|、 +|a4j|、|a5j|、|b4j|、|b5j|、|a4var|、|b5var|、 +|letterpaper|、|legalpaper|、|executivepaper|。 +\Note |a4var| はA4変判($\mbox{210\,mm}\times\mbox{283\,mm}$)、 +|b5var| はB5変判($\mbox{182\,mm}\times\mbox{230\,mm}$)。 +\Note (BX)\}{<テキスト>} +% n全角の幅にテキストを均等割りで出力する. +\newcommand\kintouwari[2]{{% + \setlength{\kanjiskip}{\fill}% + \makebox[#1zw][s]{#2}}} +\end{verbatim}\end{quote} + +これと同等のものを、次のようにエンジン非依存な形で書くことができる。 + +\begin{quote}\small\begin{verbatim} +\newcommand\kintouwari[2]{{% + \setkanjiskip{\fill}% + \makebox[#1\zw][s]{#2}}} +\end{verbatim}\end{quote} + +%=========================================================== +\end{document} +%% EOF diff --git a/Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf b/Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf new file mode 100644 index 00000000000..12fc2354069 Binary files /dev/null and b/Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf differ -- cgit v1.2.3