From 29e8e79e67fce28014aba462e80fe387cdd724f8 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 20 Mar 2022 21:08:20 +0000 Subject: bxjscls (20mar22) git-svn-id: svn://tug.org/texlive/trunk@62825 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/bxjscls/LICENSE | 2 +- Master/texmf-dist/doc/latex/bxjscls/README-ja.md | 4 + Master/texmf-dist/doc/latex/bxjscls/README.md | 2 + .../doc/latex/bxjscls/bxjscls-manual.pdf | Bin 382333 -> 396121 bytes .../doc/latex/bxjscls/bxjscls-manual.tex | 169 ++++++++++++++++----- Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf | Bin 1178317 -> 1186301 bytes 6 files changed, 139 insertions(+), 38 deletions(-) (limited to 'Master/texmf-dist/doc') diff --git a/Master/texmf-dist/doc/latex/bxjscls/LICENSE b/Master/texmf-dist/doc/latex/bxjscls/LICENSE index 9f9db67d1e7..0ab060e9e95 100644 --- a/Master/texmf-dist/doc/latex/bxjscls/LICENSE +++ b/Master/texmf-dist/doc/latex/bxjscls/LICENSE @@ -3,7 +3,7 @@ The BSD 2-Clause License Copyright 1995-1999 ASCII Corporation. Copyright 1999-2016 Haruhiko Okumura Copyright 2016-2020 Japanese TeX Development Community -Copyright 2013-2021 Takayuki YATO (aka. "ZR") +Copyright 2013-2022 Takayuki YATO (aka. "ZR") All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/Master/texmf-dist/doc/latex/bxjscls/README-ja.md b/Master/texmf-dist/doc/latex/bxjscls/README-ja.md index e584fdfbaaa..5867d076017 100644 --- a/Master/texmf-dist/doc/latex/bxjscls/README-ja.md +++ b/Master/texmf-dist/doc/latex/bxjscls/README-ja.md @@ -99,6 +99,10 @@ XeLaTeX / LuaLaTeX の上でも日本語処理パッケージと連携して使 更新履歴 -------- + * Version 2.6 〈2022/03/20〉 + - LaTeX カーネル 2021/11/15 版への対応。 + - 新版の Pandoc テンプレートへの対策。 + - `\strongfontdeclare` 環境の補填。 * Version 2.5a 〈2021/05/18〉 - 新版の Pandoc テンプレートへの対策。 * Version 2.5 〈2021/02/02〉 diff --git a/Master/texmf-dist/doc/latex/bxjscls/README.md b/Master/texmf-dist/doc/latex/bxjscls/README.md index f54f4f6c56a..b5d1716a192 100644 --- a/Master/texmf-dist/doc/latex/bxjscls/README.md +++ b/Master/texmf-dist/doc/latex/bxjscls/README.md @@ -89,6 +89,8 @@ This package is distributed under the BSD 2-Clause License. Revision History ---------------- + * Version 2.6 〈2022/03/20〉 + - Support LaTeX kernel 2021/11/15. * Version 2.5a 〈2021/05/18〉 * Version 2.5 〈2021/02/02〉 * Version 2.4a 〈2021/01/27〉 diff --git a/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdf b/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdf index 3b42fbe3194..5da7dc08b95 100644 Binary files a/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.pdf 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 index c13b35f031f..c53fb7e9dc6 100644 --- a/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.tex +++ b/Master/texmf-dist/doc/latex/bxjscls/bxjscls-manual.tex @@ -11,8 +11,8 @@ \bxtexlogoimport{*} \usepackage{shortvrb} \MakeShortVerb{\|} -\newcommand{\PkgVersion}{2.5a} -\newcommand{\PkgDate}{2021/05/18} +\newcommand{\PkgVersion}{2.6} +\newcommand{\PkgDate}{2022/03/20} \newcommand{\Pkg}[1]{\textsf{#1}} \newcommand{\Meta}[1]{$\langle$\mbox{}\nobr#1\nobr\mbox{}$\rangle$} \newcommand{\Note}{\par\noindent ※} @@ -32,6 +32,17 @@ \author{八登崇之\ (Takayuki YATO; aka.~``ZR'')} \date{v\PkgVersion\quad[\PkgDate]} \maketitle + +\begin{abstract} +本パッケージに含まれる文書クラス集は、 +奥村晴彦氏および“日本語{\TeX}開発コミュニティ”により作製された +\Pkg{jsclasses}パッケージの文書クラス集 +の拡張版に相当する。 +元の\Pkg{jsclasses}のクラスが{\pLaTeX}と{\upLaTeX}のみを +サポートするのに対して、 +本パッケージのクラスは主要エンジンの全てをサポートする。 +\end{abstract} + \tableofcontents %=========================================================== @@ -42,7 +53,7 @@ BXJS文書クラスについては、サイト“{\TeX} Wiki”中の記事、 およびそこからたどれる情報も併せて参照してほしい。 %=========================================================== -\section{概要} +\section{本パッケージの目的} \label{sec:Ovewview} 本パッケージに含まれる文書クラス集 @@ -70,6 +81,8 @@ JSクラスのレイアウトデザインと機能をほぼ踏襲しているが 同様の機能が提供されている。 \item 用紙サイズや基底フォントサイズについて、任意の値を指定する ことができる。 +\item 文書形式変換ツールPandocを用いた日本語{\LaTeX}文書生成の + ために調整された設定である「Pandocモード」が利用できる。 \end{itemize} %=========================================================== @@ -197,7 +210,7 @@ JSクラスのレイアウトデザインと機能をほぼ踏襲しているが 次の設定と大体同じであるが、ただし文書レイアウトは \Pkg{article}でなく\Pkg{jsarticle}とほぼ同じになっている: \begin{quote}\small\begin{verbatim} -\documentclass[a4paper]{article} +\documentclass[a4paper]{article}%ただしレイアウトはjsarticle相当 \usepackage[whole,autotilde]{bxcjkjatype} \end{verbatim}\end{quote} @@ -256,7 +269,7 @@ JSクラスのレイアウトデザインと機能をほぼ踏襲しているが 次の設定と大体同じであるが、ただし文書レイアウトは \Pkg{jsarticle}とほぼ同じになっている: \begin{quote}\small\begin{verbatim} -\documentclass[a4paper,twocolumn]{article} +\documentclass[a4paper,twocolumn]{article}%ただしレイアウトはjsarticle相当 \usepackage{zxjatype} \setCJKmainfont[BoldFont=HaranoAjiGothic-Medium.otf]{HaranoAjiMincho-Regular.otf} \setCJKsansfont[BoldFont=HaranoAjiGothic-Medium.otf]{HaranoAjiGothic-Medium.otf} @@ -289,8 +302,7 @@ JSクラスのレイアウトデザインと機能をほぼ踏襲しているが (ただし\Pkg{luatexja-preset}は実際には読み込まれない): \begin{quote}\small\begin{verbatim} \documentclass[b5paper,9pt]{ltjsarticle} -\usepackage{luatexja-fontspec} -\usepackage[haranoaji]{luatexja-preset} +\usepackage[haranoaji]{luatexja-preset}%実際にはパッケージは読み込まれない \end{verbatim}\end{quote} \Note 2.0版より、既定の和文フォントが「IPAexフォント」から @@ -303,8 +315,7 @@ JSクラスのレイアウトデザインと機能をほぼ踏襲しているが 次の設定とほぼ等価になる: \begin{quote}\small\begin{verbatim} \documentclass[b5paper]{ltjsarticle} -\usepackage{luatexja-fontspec} -\usepackage[ms]{luatexja-preset} +\usepackage[ms]{luatexja-preset}%実際にパッケージが読み込まれる \end{verbatim}\end{quote} \Note 補足: @@ -379,13 +390,47 @@ JSクラスのレイアウトデザインと機能をほぼ踏襲しているが \end{itemize} %=========================================================== -\section{Pandocモードの使い方} +\section{Pandocモード} \label{sec:Pandoc-mode} 「Pandocモード」は文書形式変換ツールである Pandoc\footnote{\url{http://pandoc.org/}}% を用いた日本語{\LaTeX}文書生成(および{\LaTeX}経由のPDF生成) のために調整された設定である。 +特に +「Pandoc(2.0版以降)の既定の{\LaTeX}出力用テンプレートをそのまま +用いても日本語文書として適切な出力が得られる」 +ことを主要な目的としている。 + +現状のPandocモードでは以下の調整が行われる。 +\Note これらの一部についてはユーザによる設定変更が可能である。 +詳細は\ref{ssec:pandoc-param}節、\ref{ssec:ja-settings}節を参照。 + +\begin{itemize} +\item PandocのStrong(重要)要素の出力を |\strong| 命令に合わせるため、 + |\textbf| 命令を |\strong| 命令に移譲させる。 +\item |\texttt| 命令・|\verb| 命令と和文との間に入る和欧文間空白を + 調節している。 +\item Pandocは入力文書中の三点リーダ“…”を |\ldots| 命令に変換するが、 + このせいで欧文扱いになるのを回避するため、 + |\ldots| を一定の条件下において和文で出力させる。 +\item 全角空白文字の入力を(文字ではなく)空きの挿入と解釈する。 +\item Pandocの一部の設定は |\paragraph| の見出しの体裁を変更するが、 + この場合に連動して |paragraph-mark| の既定値を空に変更する。 +\item Pandocの一部の設定はプレアンブルでの\Pkg{geometry}の読込を + 発生させるが、この場合に重複読込のエラーになるのを回避するため、 + \Pkg{geometry}の読込を |\setpagelayout*| の呼出に振り替える。 +\item 入力文書が言語指定を含む場合にはBabelパッケージが読み込まれるが、 + この際に発生する可能性がある不整合を回避する。 +\item \Pkg{hyperref}パッケージの |unicode| オプションの有無について + 適切な選択(エンジンにより決まる)を強制する。 + ((u){\pLaTeX}をサポートするための措置。) +\end{itemize} + +%------------------- +\subsection{Pandocモードの使い方} + +Pandocモードを使う場合はクラスオプションを以下のように指定する。 \begin{quote} |\documentclass[pandoc,|\Meta{ドライバ}% @@ -407,20 +452,25 @@ Pandoc\footnote{\url{http://pandoc.org/}}% 従来通り使用できる。 \end{itemize} -以下でPandocでBXJSクラスを用いる例を示す。 +%------------------- +\subsection{Pandocの設定の例} + +BXJSクラスを用いる場合のPandocの設定について、以下で例を示す。 \Note なお、以下の記述はPandoc 2.x版に従う。 -(オプション体系が1.x版とかなり異なるので注意。) +Pandocのオプション体系は2.x版と1.x版とでかなり異なることに +注意されたい。 -\begin{itemize} -\item \Pkg{bxjsarticle}クラスを使用する一例。 +\paragraph{bxjsarticleの例} + +以下の設定で\Pkg{bxjsarticle}クラスを使用したい。 \begin{itemize} \item {\XeLaTeX}経由 \item 用紙サイズはA4判 \item 和文フォント設定は |ipaex| \end{itemize} - コマンド行は次のようになる。 + この場合のコマンド行は次のようになる: \footnote{もちろん、実際には改行を含めず1行で書く。 なお、日本語文書の場合、変換先書式(|-t|)は |latex| でなく |lates-smart|(|smart| 機能を無効化)とすべきである。} @@ -441,7 +491,10 @@ Pandoc\footnote{\url{http://pandoc.org/}}% |\documentclass[a4paper,jafont=ipaex,pandoc]{bxjsarticle}| \end{quote} -\item \Pkg{bxjsbook}クラスを用いる場合の一例。 +\paragraph{bxjsbookの例} + +以下の設定で\Pkg{bxjsbook}クラスを使用したい。 + \begin{itemize} \item 節番号を出力する \item Lua{\LaTeX}経由 @@ -451,7 +504,7 @@ Pandoc\footnote{\url{http://pandoc.org/}}% \item 欧文フォントをPandocの機能で設定 \end{itemize} - コマンド行は次のようになる: + この場合のコマンド行は次のようになる: \begin{quote} |pandoc| \Meta{入力ファイル名}\ |-o| \Meta{出力ファイル名}|.pdf| @@ -468,30 +521,30 @@ Pandoc\footnote{\url{http://pandoc.org/}}% |-V sansfont="TeX Gyre Heros"| \end{quote} - 注意事項: +\Note 注意事項: \begin{itemize} \item \Pkg{bxjsbook}クラスは「章(|\chapter|)」をもつクラスなので、 Pandocで |--top-level-division=|\linebreak[0]|chapter| の指定 が必要。 \end{itemize} -\item Pandocで{\LaTeX}経由でPDFを出力する場合、 - エンジン指定(|--pdf-engine|)は - |pdflatex|、|xelatex|、|lualatex|のみがサポートされる。 - しかし、Pandocの出力を「単体の{\LaTeX}文書」(|-s|指定)とすることで、 - {\LaTeX}エンジンに(u){\pLaTeX}を使用することができる。 - 出力された{\LaTeX}文書は通常の方法でPDFやPostScript形式に - 変換できる。 - - \begin{quote}\small -\begin{verbatim} -pandoc mydoc.md -o mydoc.tex -s -V documentclass=bxjsarticle -V classoption=pandoc +\paragraph{(u)\pLaTeX の使用} + +Pandocで{\LaTeX}経由でPDFを出力する場合、 +エンジン指定(|--pdf-engine|)は +|pdflatex|、|xelatex|、|lualatex|のみがサポートされる。 +これに対して、Pandocの出力を「単体の{\LaTeX}文書」(|-s|指定)と +するとPandocが{\LaTeX}を実行しなくなり、 +この場合は{\LaTeX}エンジンに(u){\pLaTeX}を使用することができる。 +出力された{\LaTeX}文書は通常の方法でPDFやPostScript形式に +変換できる。 + +\begin{quote}\small\begin{verbatim} +pandoc mydoc.md -o mydoc.tex -s -V documentclass=bxjsreport -V classoption=pandoc ... uplatex mydoc uplatex mydoc dvipdfmx mydoc -\end{verbatim} - \end{quote} -\end{itemize} +\end{verbatim}\end{quote} %=========================================================== \section{クラスオプション} @@ -791,6 +844,8 @@ JSクラスには無くBXJSクラスで追加されたクラスオプション パラメタを自分で設定しても構わない。 ただし\Pkg{geometry}の読込が強く推奨される。 (\Pkg{geometry}非読込時の動作テストはほとんど行っていない。)} + \Note 「自動読込の際に指定するはずのオプション列」 + が |\jsGeometryOptions| に保存されている。 \end{itemize} \Note 「どうしても\Pkg{geometry}パッケージを自分で読み込みたい」 という人のための設定。 @@ -1339,6 +1394,7 @@ minimal和文ドライバには有効な和文ドライバパラメタは存在 %------------------- \subsection{pandoc和文ドライバの場合} +\label{ssec:pandoc-param} standard用のものに加えて、以下の和文ドライバパラメタが存在する。 @@ -1533,11 +1589,16 @@ vscale=0.944, vmarginratio=1:1 \begin{itemize} \item |\strong{|\Meta{テキスト}|}|\Means - 引数のテキストに、重要性を表す装飾を施す。 - 具体的には\,|\bfseries|(太字)が適用される。 + 引数のテキストに、重要性を表す書体変更を適用する。 \item |strongenv|環境\Means |\strong|の環境版。 - \Note 以上の2つの機能は\Pkg{fontspec}パッケージとの互換を +\item |\strongfontdeclare{|\Meta{書体変更命令列}|,...}|\Means + |\strong| で実際に適用される書体変更(宣言型命令の列)を指定する。 + コンマ区切りで複数の値が指定可能で、 + $n$重の |\strong| が適用されたテキストに対して + $n$番目の書体変更命令列が実行される。 + \Note 既定値は“|\bfseries|”であり、|\strong| は太字で出力される。 + \Note 以上の3つの機能は\Pkg{fontspec}パッケージとの互換を 目的としたものである。 |strong-cmd=false| 指定時はこれらの機能は無効になる。 ただし、\Pkg{fontspec}が読み込まれている場合は、 @@ -1692,6 +1753,40 @@ standard和文ドライバ(およびそれを継承するドライバ)では \makebox[#1\zw][s]{#2}}} \end{verbatim}\end{quote} +\subsubsection{pandoc和文ドライバで追加される命令} + +Pandocモードにおける出力の調整の対象となる要素について、 +以下の命令を再定義することで +調整方法をカスタマイズできる。 +例えば +\begin{quote}\small +|\renewcommand{\pandocZWSpace}{\jachar{|\JSS|}}| +\end{quote} +(ここで {\JSS} は全角空白文字)と再定義することで、 +「全角空白文字の入力を空きに変換する」 +調整を実質的に無効化できる。 + +\begin{itemize} +\item |\pandocZWSpace|\Means + 全角空白文字が入力されたときに実際に実行される命令。 + \Note |\pandocZWSpace| を再定義する際に、その定義内容の中で + 全角空白文字を直接使うと無限ループになってしまうため、 + 代わりに |\jachar{|\JSS|}| と書く必要がある。 + +\item |\pandocLdots|\Means + 非数式で |\ldots| を実行したときに実際に実行される命令。 + \Note 一般にPandocの{\LaTeX}出力においては + 入力文書中の“…”が |\ldots| 命令に変換される。 + \Note |\pandocLdots| を再定義する際に、その定義内容の中で |\ldots| を + 使うと無限ループになってしまうため、 + 代わりに |\textellipsis| 等を適宜使う必要がある。 + ただし特別な規約として + \begin{quote}\small + |\renewcommand{\pandocLdots}{\ldots}| + \end{quote} + と再定義した場合は、|\ldots| に対する調整自体が無効になる。 +\end{itemize} + %=========================================================== \section{数式中の和文出力について} \label{sec:Ja-math-fonts} @@ -1828,7 +1923,7 @@ Class bxjsarticle Warning: Some old font commands were used in text: \end{itemize} %------------------- -\subsection{将来的な二文字フォント命令の扱い} +\subsection{将来の二文字フォント命令の扱い} \jemph{現在の版で存在する}和文ドライバを使用する場合には、 将来にわたって以下の方針が維持される。 @@ -1837,7 +1932,7 @@ Class bxjsarticle Warning: Some old font commands were used in text: \item 二文字フォント命令に対する警告の様式は、 今後変更される可能性がある。 \item しかし、将来に二文字フォント命令のサポートが廃止されることはない。 -\item |oldfontcommands| オプションよおび |\allowoldfontcommands| 命令 +\item |oldfontcommands| オプションおよび |\allowoldfontcommands| 命令 は継続して提供され、 これらの機能を用いた場合は、二文字フォント命令に関する警告が 端末に表示されることは一切無い。 diff --git a/Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf b/Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf index 1c6cc80fba2..a85d94c64d6 100644 Binary files a/Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf and b/Master/texmf-dist/doc/latex/bxjscls/bxjscls.pdf differ -- cgit v1.2.3