The Uplatex2ε Sources
Total Page:16
File Type:pdf, Size:1020Kb
The upLATEX 2" Sources Ken Nakano & Japanese TEX Development Community & TTK Version u04 (last updated: 2021/03/04) Contents a uplvers.dtx 1 1 upLATEX 2" のバージョンの設定 1 1.1 LATEX 2.09 互換モードの抑制 ..................... 2 1.2 起動時に表示するバナー ....................... 2 b uplfonts.dtx 3 2 概要 3 2.1 docstrip プログラムのためのオプション .............. 3 3 コード 4 4 デフォルト設定ファイル 4 4.1 テキストフォント ........................... 4 4.2 プリロードフォント .......................... 5 4.3 組版パラメータ ............................ 6 5 フォント定義ファイル 7 c ukinsoku.dtx 9 6 禁則 9 6.1 半角文字に対する禁則 ......................... 9 6.2 全角文字に対する禁則 ......................... 10 i 7 文字間のスペース 14 7.1 ある英字と前後の漢字の間の制御 . 14 7.2 ある漢字と前後の英字の間の制御 . 17 d ujclasses.dtx 20 8 オプションスイッチ 20 9 オプションの宣言 21 9.1 用紙オプション ............................ 22 9.2 サイズオプション ........................... 22 9.3 横置きオプション ........................... 23 9.4 トンボオプション ........................... 23 9.5 面付けオプション ........................... 23 9.6 組方向オプション ........................... 24 9.7 両面、片面オプション ......................... 24 9.8 二段組オプション ........................... 24 9.9 表題ページオプション ......................... 24 9.10 右左起こしオプション ......................... 24 9.11 数式のオプション ........................... 24 9.12 参考文献のオプション ......................... 25 9.13 日本語ファミリ宣言の抑制、和欧文両対応の数式文字 . 25 9.14 ドラフトオプション .......................... 26 9.15 オプションの実行 ........................... 26 10 フォント 26 11 レイアウト 30 11.1 用紙サイズの決定 ........................... 30 11.2 段落の形 ................................ 31 11.3 ページレイアウト ........................... 31 11.3.1 縦方向のスペース ....................... 31 11.3.2 本文領域 ............................ 32 11.3.3 マージン ............................ 38 11.4 脚注 .................................. 41 11.5 フロート ................................ 42 11.5.1 フロートパラメータ ...................... 42 ii 11.5.2 フロートオブジェクトの上限値 . 44 12 改ページ(日本語 TEX 開発コミュニティ版のみ) 45 13 ページスタイル 46 13.1 マークについて ............................ 47 13.2 plain ページスタイル ......................... 47 13.3 jpl@in ページスタイル ........................ 47 13.4 headnombre ページスタイル ..................... 48 13.5 footnombre ページスタイル ...................... 48 13.6 headings スタイル ........................... 48 13.7 bothstyle スタイル ........................... 50 13.8 myheading スタイル .......................... 51 14 文書コマンド 51 14.1 表題 .................................. 51 14.2 概要 .................................. 56 14.3 章見出し ................................ 57 14.3.1 マークコマンド ......................... 57 14.3.2 カウンタの定義 ......................... 57 14.3.3 前付け、本文、後付け ..................... 59 14.3.4 ボックスの組み立て ...................... 60 14.3.5 part レベル ........................... 61 14.3.6 chapter レベル ......................... 63 14.3.7 下位レベルの見出し ...................... 65 14.3.8 付録 ............................... 66 14.4 リスト環境 ............................... 66 14.4.1 enumerate 環境 ......................... 69 14.4.2 itemize 環境 .......................... 70 14.4.3 description 環境 ........................ 71 14.4.4 verse 環境 ............................ 71 14.4.5 quotation 環境 ......................... 72 14.4.6 quote 環境 ........................... 72 14.5 フロート ................................ 72 14.5.1 figure 環境 ........................... 73 14.5.2 table 環境 ............................ 73 14.6 キャプション .............................. 74 iii 14.7 コマンドパラメータの設定 ...................... 75 14.7.1 array と tabular 環境 ...................... 75 14.7.2 tabbing 環境 .......................... 75 14.7.3 minipage 環境 ......................... 75 14.7.4 framebox 環境 ......................... 75 14.7.5 equation と eqnarray 環境 ................... 76 15 フォントコマンド 76 16 相互参照 78 16.1 目次 .................................. 78 16.1.1 本文目次 ............................ 80 16.1.2 図目次と表目次 ......................... 82 16.2 参考文献 ................................ 83 16.3 索引 .................................. 84 16.4 脚注 .................................. 84 17 今日の日付 85 18 初期設定 86 変更履歴 88 索 引 93 iv File a uplvers.dtx 1 upLATEX 2" のバージョンの設定 まず、このディストリビューションでの upLATEX 2" の日付とバージョン番号を定義し ます。2018/03/09 以降、upLATEX 2" のフォーマット作成では pLATEX 2" が提供する plcore.ltx の後から uplcore.ltx が読まれなければなりません。また、2020/02/02 以降は \textmc や \em の定義も upldefs.ltx ではなく共通の plcore.ltx に依存 します。そのため、pLATEX のバージョンを確認します。 1 ⟨∗plcorei 2 \ifx\pfmtversion\@undefined 3 \errhelp{Please update your TeX installation; if not available, 4 obtain it^^Jmanually from CTAN 5 (https://ctan.org/pkg/uplatex) or from^^JGitHub 6 (https://github.com/texjporg/uplatex).}% 7 \errmessage{This should not happen!^^JThere should be some 8 inconsistency in your installation;^^Jtry 9 removing old `uplatex.ltx' and install the 10 latest one}\@@end 11 \else 12 \ifnum\expandafter\@parse@version\pfmtversion//00\@nil<20200202 13 \errhelp{Please update your TeX installation; if not available, 14 obtain it^^Jmanually from CTAN 15 (https://ctan.org/pkg/platex) or from^^JGitHub 16 (https://github.com/texjporg/platex).}% 17 \errmessage{This version of upLaTeX2e requires pLaTeX2e 2020/02/02 18 or newer!^^JObtain a newer version of `platex', 19 otherwise upLaTeX2e setup will^^Jnever succeed}\@@end 20 \fi 21 \fi 22 h=plcorei \pfmtname upLATEX 2" のフォーマットファイル名とバージョンです。フォーマット名は \pfmtversion pLATEX 2" のもの (pLaTeX2e) をそのまま引き継ぎ、バージョンは pLATEX 2" の \ppatch@level ものの末尾に \u04" のようにサフィックスを付けます。 23 ⟨∗plcorei 24 %\def\pfmtname{pLaTeX2e} 25 \def\uppatch@level{u04} 26 \edef\pfmtversion{\pfmtversion\uppatch@level} 27 h=plcorei File a: uplvers.dtx Date: 2020/02/01 Version v1.1r-u03 1 1.1 LATEX 2.09 互換モードの抑制 \documentstyle pLATEX は、\documentclass の代わりに \documentstyle が使われると LATEX 2.09 互換モードに入ります。しかし、upLATEX は新しいマクロパッケージですので、 LATEX 2.09 互換モードをサポートしません。このため、plcore.dtx の定義を上 書きして明確なエラーを出します。 28 ⟨∗plfinali 29 \def\documentstyle{% 30 \@latex@error{upLaTeX does NOT support LaTeX 2.09 compatibility 31 mode.\MessageBreak Use \noexpand\documentclass instead}{% 32 \noexpand\documentstyle is an old convention of LaTeX 2.09, 33 which has been\MessageBreak obsolete since 1995. upLaTeX is 34 first released in 2007, so we do\MessageBreak not provide any 35 emulation of the LaTeX 2.09 author environment.\MessageBreak 36 New documents should use Standard LaTeX conventions, and 37 start\MessageBreak with the \noexpand\documentclass command.}% 38 \documentclass} 39 h=plfinali 1.2 起動時に表示するバナー \everyjob upLATEX 2" が起動されたときに表示される文字列は、pLATEX 2" の中ですでに設定 されています。 File a: uplvers.dtx Date: 2020/02/01 Version v1.1r-u03 2 File b uplfonts.dtx 2 概要 ここでは、和文書体を NFSS2 のインターフェイスで選択するためのコマンドやマクロ について説明をしています。また、フォント定義ファイルや初期設定ファイルなどの 説明もしています。新しいフォント選択コマンドの使い方については、fntguide.tex や usrguide.tex を参照してください。 第 2 節 この節です。このファイルの概要と docstrip プログラムのためのオプショ ンを示しています。 第 3 節 実際のコードの部分です。 第 4 節 プリロードフォントやエラーフォントなどの初期設定について説明をして います。 第 5 節 フォント定義ファイルについて説明をしています。 2.1 docstrip プログラムのためのオプション docstrip プログラムのためのオプションを次に示します。 オプション 意味 plcore uplcore.ltx の断片を生成するオプションでしたが、削除。 trace uptrace.sty を生成します。 JY2mc 横組用、明朝体のフォント定義ファイルを生成します。 JY2gt 横組用、ゴシック体のフォント定義ファイルを生成します。 JT2mc 縦組用、明朝体のフォント定義ファイルを生成します。 JT2gt 縦組用、ゴシック体のフォント定義ファイルを生成します。 pldefs upldefs.ltx を生成します。次の4つのオプションを付加 することで、プリロードするフォントを選択することがで きます。デフォルトは 10pt です。 xpt 10pt プリロード xipt 11pt プリロード xiipt 12pt プリロード ori plfonts.tex に似たプリロード File b: uplfonts.dtx Date: 2020/02/01 Version v1.6v-u02 3 3 コード NFSS2 の拡張は、pLATEX において plfonts.dtx から生成される plcore.ltx をそ のまま利用するので、upLATEX では定義しません。後方互換性のため、uptrace.sty を提供しますが、これも単に ptrace.sty を読み込むだけとします。 1 ⟨∗tracei 2 \NeedsTeXFormat{pLaTeX2e} 3 \ProvidesPackage{uptrace} 4 [2019/09/22 v1.6t-u02 Standard upLaTeX package (font tracing)] 5 \RequirePackageWithOptions{ptrace} 6 h=tracei デフォルト設定ファイル upldefs.ltx は、もともと uplcore.ltx の途中で読み 込んでいましたが、2018 年以降の新しいコミュニティ版 upLATEX では uplatex.ltx から読み込むことにしました。実際の中身については、第 4 節を参照してください。 4 デフォルト設定ファイル ここでは、フォーマットファイルに読み込まれるデフォルト値を設定しています。こ の節での内容は upldefs.ltx に出力されます。このファイルの内容を uplcore.ltx に含めてもよいのですが、デフォルトの設定を参照しやすいように、別ファイルに してあります。 プリロードサイズは、docstrip プログラムのオプションで変更することができ ます。これ以外の設定を変更したい場合は、upldefs.ltx を直接、修正するのでは なく、このファイルを upldefs.cfg という名前でコピーをして、そのファイルに対 して修正を加えるようにしてください。 7 ⟨∗pldefsi 8 \ProvidesFile{upldefs.ltx} 9 [2020/02/01 v1.6v-u02 upLaTeX Kernel (Default settings)] 10 h=pldefsi 4.1 テキストフォント テキストフォントのための属性やエラー書体などの宣言です。pLATEX のデフォル トの横組エンコードは JY1、縦組エンコードは JT1 ですが、upLATEX では横組エン コードは JY2、縦組エンコードは JT2 とします。 縦横エンコード共通: 11 ⟨∗pldefsi 12 \DeclareKanjiEncodingDefaults{}{} 13 \DeclareErrorKanjiFont{JY2}{mc}{m}{n}{10} File b: uplfonts.dtx Date: 2020/02/01 Version v1.6v-u02 4 14 \kanjifamily{mc} 15 \kanjiseries{m} 16 \kanjishape{n} 17 \fontsize{10}{10} 横組エンコード: 18 \DeclareYokoKanjiEncoding{JY2}{}{} 19 \DeclareKanjiSubstitution{JY2}{mc}{m}{n} 縦組エンコード: 20 \DeclareTateKanjiEncoding{JT2}{}{} 21 \DeclareKanjiSubstitution{JT2}{mc}{m}{n} 縦横のエンコーディングのセット化: 22 \KanjiEncodingPair{JY2}{JT2} フォント属性のデフォルト値:LATEX 2" 2019-10-01 までは \shapedefault は \updefault でしたが、LATEX 2" 2020-02-02 で \updefault が \n" から \up" へ と修正されたことに伴い、\shapedefault は明示的に \n" に設定されました。 23 \newcommand\mcdefault{mc} 24 \newcommand\gtdefault{gt} 25 \newcommand\kanjiencodingdefault{JY2} 26 \newcommand\kanjifamilydefault{\mcdefault} 27 \newcommand\kanjiseriesdefault{\mddefault} 28 \newcommand\kanjishapedefault{n}% formerly \updefault 和文エンコードの指定: 29 \kanjiencoding{JY2} フォント定義:これらの具体的な内容は第 5 節を参照してください。 30 \input{jy2mc.fd} 31 \input{jy2gt.fd} 32 \input{jt2mc.fd} 33 \input{jt2gt.fd} フォントを有効にします。 34 \fontencoding{JT2}\selectfont 35 \fontencoding{JY2}\selectfont 4.2 プリロードフォント あらかじめフォーマットファイルにロードされるフォントの宣言です。docstrip プログラムのオプションでロードされるフォントのサイズを変更することができま す。uplfmt.ins では xpt を指定しています。 36 ⟨∗xpti 37 \DeclarePreloadSizes{JY2}{mc}{m}{n}{5,7,10,12} 38 \DeclarePreloadSizes{JY2}{gt}{m}{n}{5,7,10,12} 39 \DeclarePreloadSizes{JT2}{mc}{m}{n}{5,7,10,12}