review 3.0.0.preview2 → 3.0.0.preview3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (82) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +7 -1
  3. data/NEWS.ja.md +49 -0
  4. data/NEWS.md +49 -0
  5. data/README.md +8 -2
  6. data/doc/LICENSE +20 -0
  7. data/doc/config.yml.sample +9 -2
  8. data/doc/customize_epub.ja.md +23 -0
  9. data/doc/customize_epub.md +23 -0
  10. data/doc/format.ja.md +98 -4
  11. data/doc/format.md +98 -1
  12. data/doc/makeindex.ja.md +2 -2
  13. data/doc/pdfmaker.ja.md +12 -3
  14. data/doc/pdfmaker.md +2 -2
  15. data/doc/preproc.ja.md +2 -2
  16. data/doc/quickstart.ja.md +1 -1
  17. data/doc/quickstart.md +1 -1
  18. data/lib/review/compiler.rb +1 -1
  19. data/lib/review/configure.rb +13 -1
  20. data/lib/review/epubmaker.rb +10 -4
  21. data/lib/review/htmlbuilder.rb +31 -9
  22. data/lib/review/init.rb +72 -3
  23. data/lib/review/makerhelper.rb +180 -1
  24. data/lib/review/pdfmaker.rb +23 -4
  25. data/lib/review/version.rb +1 -1
  26. data/lib/review/webmaker.rb +14 -4
  27. data/review.gemspec +1 -1
  28. data/samples/sample-book/src/Rakefile +20 -0
  29. data/samples/sample-book/src/config.yml +3 -2
  30. data/samples/sample-book/src/images/cover-a5.ai +5836 -16
  31. data/samples/sample-book/src/images/cover-b5.ai +5735 -15
  32. data/samples/syntax-book/config.yml +1 -1
  33. data/templates/LICENSE +1 -1
  34. data/templates/latex/config.erb +24 -11
  35. data/templates/latex/layout.tex.erb +15 -5
  36. data/templates/latex/review-jlreq/README.md +2 -1
  37. data/templates/latex/review-jlreq/review-base.sty +165 -22
  38. data/templates/latex/review-jlreq/review-jlreq.cls +180 -110
  39. data/templates/latex/review-jlreq/review-style.sty +13 -125
  40. data/templates/latex/review-jlreq/reviewmacro.sty +7 -0
  41. data/templates/latex/review-jsbook/README.md +129 -0
  42. data/templates/latex/review-jsbook/review-base.sty +33 -20
  43. data/templates/latex/review-jsbook/review-jsbook.cls +545 -0
  44. data/templates/latex/review-jsbook/reviewmacro.sty +7 -0
  45. data/test/assets/test_template.tex +27 -8
  46. data/test/assets/test_template_backmatter.tex +27 -8
  47. data/test/test_helper.rb +3 -0
  48. data/test/test_htmlbuilder.rb +3 -1
  49. data/test/test_pdfmaker.rb +2 -0
  50. data/vendor/gentombow/.gitignore +163 -0
  51. data/vendor/gentombow/LICENSE +27 -0
  52. data/vendor/gentombow/Makefile +36 -0
  53. data/vendor/gentombow/README.md +49 -0
  54. data/vendor/gentombow/bounddvi-en.pdf +0 -0
  55. data/vendor/gentombow/bounddvi-en.tex +135 -0
  56. data/vendor/gentombow/bounddvi.pdf +0 -0
  57. data/vendor/gentombow/bounddvi.sty +87 -0
  58. data/vendor/gentombow/bounddvi.tex +148 -0
  59. data/vendor/gentombow/create_archive.sh +24 -0
  60. data/vendor/gentombow/gentombow-ja.pdf +0 -0
  61. data/vendor/gentombow/gentombow-ja.tex +449 -0
  62. data/vendor/gentombow/gentombow.pdf +0 -0
  63. data/vendor/gentombow/gentombow.sty +747 -0
  64. data/vendor/gentombow/gentombow.tex +298 -0
  65. data/vendor/gentombow/pxgentombow.pdf +0 -0
  66. data/vendor/gentombow/pxgentombow.sty +16 -0
  67. data/vendor/gentombow/pxgentombow.tex +25 -0
  68. data/vendor/gentombow/tests/bounddvi-01-usage.tex +7 -0
  69. data/vendor/gentombow/tests/bounddvi-02-jstombow.tex +7 -0
  70. data/vendor/gentombow/tests/bounddvi-03-grfdvips.tex +9 -0
  71. data/vendor/gentombow/tests/bounddvi-04-grfdvipdfmx.tex +9 -0
  72. data/vendor/gentombow/tests/bounddvi-05-geodvips.tex +8 -0
  73. data/vendor/gentombow/tests/bounddvi-05a-geodvips.tex +9 -0
  74. data/vendor/gentombow/tests/bounddvi-06-geodvipdfmx.tex +8 -0
  75. data/vendor/gentombow/tests/bounddvi-06a-geodvipdfmx.tex +9 -0
  76. data/vendor/gentombow/tests/pxgentombow-01-usage.tex +6 -0
  77. data/vendor/gentombow/tests/pxgentombow-02-js.tex +6 -0
  78. data/vendor/gentombow/tests/pxgentombow-02a-js-error.tex +6 -0
  79. data/vendor/gentombow/tests/pxgentombow-03-notombowdate.tex +8 -0
  80. data/vendor/gentombow/tests/pxgentombow-04-pkgoption.tex +8 -0
  81. data/vendor/gentombow/tests/pxgentombow-05-tatecls.tex +6 -0
  82. metadata +40 -3
@@ -1,129 +1,11 @@
1
- % コードリスト装飾のデフォルト
2
- \RequirePackage{tcolorbox}
3
- \tcbuselibrary{xparse,hooks,skins,breakable}
1
+ \NeedsTeXFormat{LaTeX2e}
2
+ \ProvidesPackage{review-style}[2018/10/05]
4
3
 
5
- \newenvironment{reviewemlist}{%
6
- \begin{tcolorbox}[skin=enhanced jigsaw,breakable,colback=black!10,colframe=black!10,boxrule=0mm,arc=0mm]\begin{alltt}}%
7
- {\end{alltt}\end{tcolorbox}}
4
+ %% using Helvetica as sans-serif
5
+ \renewcommand{\sfdefault}{phv}
8
6
 
9
- \newenvironment{reviewlist}{%
10
- \begin{tcolorbox}[skin=enhanced jigsaw,breakable,colback=white,colframe=black,boxrule=0.15mm,arc=0mm]\begin{alltt}}%
11
- {\end{alltt}\end{tcolorbox}}
12
-
13
- \newenvironment{reviewsource}{%
14
- \begin{tcolorbox}[skin=enhanced jigsaw,breakable,colback=white,colframe=black,boxrule=0.15mm,arc=0mm]\begin{alltt}}%
15
- {\end{alltt}\end{tcolorbox}}
16
-
17
- \newenvironment{reviewcmd}{%
18
- \begin{tcolorbox}[skin=enhanced jigsaw,breakable,colback=black!99,colframe=black!99,boxrule=0mm,arc=0mm]\begin{alltt}\begingroup\color{white}\ignorespaces}%
19
- {\endgroup\end{alltt}\end{tcolorbox}}
20
-
21
- % 囲み記事
22
- \newenvironment{reviewnote}[1][]{%
23
- \begin{tcolorbox}[skin=enhanced jigsaw,breakable,empty,coltitle=black,title={\sffamily\bfseries NOTE #1},borderline horizontal={0.5mm}{0pt}{black!50}, left=1mm, right=1mm, left skip=6mm]}
24
- {\end{tcolorbox}}
25
-
26
- \newenvironment{reviewmemo}[1][]{%
27
- \begin{tcolorbox}[skin=enhanced jigsaw,breakable,empty,coltitle=black,title={\sffamily\bfseries MEMO #1},borderline horizontal={0.5mm}{0pt}{black!50}, left=1mm, right=1mm, left skip=6mm]}
28
- {\end{tcolorbox}}
29
-
30
- \newenvironment{reviewtip}[1][]{%
31
- \begin{tcolorbox}[skin=enhanced jigsaw,breakable,empty,coltitle=black,title={\sffamily\bfseries Tips #1},borderline horizontal={0.5mm}{0pt}{black!50}, left=1mm, right=1mm, left skip=6mm]}
32
- {\end{tcolorbox}}
33
-
34
- \newenvironment{reviewinfo}[1][]{%
35
- \begin{tcolorbox}[skin=enhanced jigsaw,breakable,empty,coltitle=black,title={\sffamily\bfseries INFORMATION #1},borderline horizontal={0.5mm}{0pt}{black!50}, left=1mm, right=1mm, left skip=6mm]}
36
- {\end{tcolorbox}}
37
-
38
- \newenvironment{reviewwarning}[1][]{%
39
- \begin{tcolorbox}[skin=enhanced jigsaw,breakable,empty,coltitle=black,title={\sffamily\bfseries WARNING! #1},borderline horizontal={0.5mm}{0pt}{black!50}, left=1mm, right=1mm, left skip=6mm]}
40
- {\end{tcolorbox}}
41
-
42
- \newenvironment{reviewimportant}[1][]{%
43
- \begin{tcolorbox}[skin=enhanced jigsaw,breakable,empty,coltitle=black,title={\sffamily\bfseries IMPORTANT! #1},borderline horizontal={0.5mm}{0pt}{black!50}, left=1mm, right=1mm, left skip=6mm]}
44
- {\end{tcolorbox}}
45
-
46
- \newenvironment{reviewcaution}[1][]{%
47
- \begin{tcolorbox}[skin=enhanced jigsaw,breakable,empty,coltitle=black,title={\sffamily\bfseries CAUTION! #1},borderline horizontal={0.5mm}{0pt}{black!50}, left=1mm, right=1mm, left skip=6mm]}
48
- {\end{tcolorbox}}
49
-
50
- \newenvironment{reviewnotice}[1][]{%
51
- \begin{tcolorbox}[skin=enhanced jigsaw,breakable,empty,coltitle=black,title={\sffamily\bfseries NOTICE #1},borderline horizontal={0.5mm}{0pt}{black!50}, left=1mm, right=1mm, left skip=6mm]}
52
- {\end{tcolorbox}}
53
-
54
- % コラム
55
- \newenvironment{reviewcolumn}[1][COLUMN]{%
56
- \begin{tcolorbox}[skin=enhanced jigsaw,breakable,boxrule=0.2mm,arc=2mm,colback=white,colframe=black!100!white,title={\sffamily\bfseries #1}]\par}
57
- {\end{tcolorbox}}
58
-
59
- \renewcommand{\@makecaption}[2]{{% %本当はl,c,rを[]で指定したい
60
- \reset@font\small
61
- \vskip\abovecaptionskip
62
- \jlreq@ifempty{#1}{%
63
- \sbox\@tempboxa{{\jlreq@@makecaption@font #2}}}{%
64
- \sbox\@tempboxa{{\jlreq@@makecaption@label@font #1}\review@intn@captionprefix{\jlreq@@makecaption@font #2}}}
65
- \ifdim \wd\@tempboxa >\hsize
66
- \jlreq@ifempty{#1}{%
67
- {\jlreq@@makecaption@font #2}}{%
68
- {\jlreq@@makecaption@label@font #1}\review@intn@captionprefix{\jlreq@@makecaption@font #2}}\relax\par
69
- \else
70
- \global\@minipagefalse
71
- \hbox to\hsize{\box\@tempboxa\hfil}% キャプションLeft
72
- % \hbox to\hsize{\hfil\box\@tempboxa\hfil}% キャプションCenter
73
- % \hbox to\hsize{\hfil\box\@tempboxa}% キャプションRight
74
- \fi
75
- \vskip\belowcaptionskip}}
76
-
77
- \newcommand{\review@commoncaption}[2]{\@makecaption{#1}{#2}}
78
- \newcommand{\reviewlistcaption}[1]{\review@commoncaption{}{#1}}
79
- \newcommand{\reviewemlistcaption}[1]{\review@commoncaption{}{#1}}
80
- \newcommand{\reviewsourcecaption}[1]{\review@commoncaption{}{#1}}
81
- \newcommand{\reviewcmdcaption}[1]{\review@commoncaption{}{#1}}
82
- \newenvironment{reviewlistblock}{\list{}{\topsep.5\baselineskip \leftmargin\z@ \itemindent\z@}\item\relax}{\endlist}% 上下アキ0.5
83
-
84
- \newenvironment{reviewimage}[1]{%
85
- \begin{figure}[#1]\begin{center}}{\end{center}\end{figure}}
86
-
87
- \newenvironment{reviewdummyimage}[1]{%
88
- \begin{reviewimage}[#1]}{\end{reviewimage}}
89
-
90
- \newcommand{\reviewindepimagecaption[2]}{\@makecaption{}{#2}}
91
-
92
- % 表
93
- \newenvironment{reviewtablesetup}{%
94
- }{}
95
- \newcommand{\reviewth}[1]{\cellcolor{black!70}\textcolor{white}{\bfseries #1}}
96
- \newcommand\reviewtablecaption[1]{\caption{#1}\vskip\abovecaptionskip}% アキをより広げる
97
- % \reviewtablecaption* を定義する(suffixパッケージ効果)
98
- %\WithSuffix\newcommand\reviewtablecaption*[1]{\@makecaption{}{#1}\vskip\abovecaptionskip}% アキをより広げる
99
- \newenvironment{reviewtable}[1]{%
100
- \begin{reviewtablesetup}\begin{tabular}{#1}}%
101
- {\end{tabular}\end{reviewtablesetup}}
102
-
103
- \newcommand*\reviewimgtablecaption[1]{\caption{#1}}
104
-
105
- \newcommand{\reviewimageref}[2]{\review@intn@image #1}
106
- \newcommand{\reviewtableref}[2]{\review@intn@table #1}
107
- \newcommand{\reviewlistref}[1]{\review@intn@list #1}
108
- \newcommand{\reviewbibref}[2]{#1}
109
- \newcommand{\reviewcolumnref}[2]{\review@intn@columnname #1}
110
- \newcommand{\reviewsecref}[2]{#1}
111
-
112
- % 書体
113
- \newcommand{\reviewkw}[1]{\textbf{\textgt{#1}}}
114
- \newcommand{\reviewami}[1]{#1}% FIXME
115
- \newcommand{\reviewballoon}[1]{←{#1}}
116
- \newcommand{\reviewem}[1]{\textbf{#1}}
117
- \newcommand{\reviewstrong}[1]{\textbf{#1}}
118
- \newcommand{\reviewunderline}[1]{\underline{#1}}% FIXME
119
- \newcommand{\reviewit}[1]{\textit{#1}}
120
- \newcommand{\reviewbold}[1]{\textbf{#1}}
121
- \newcommand{\reviewcode}[1]{\texttt{#1}}
122
- \newcommand{\reviewtt}[1]{\texttt{#1}}
123
- \newcommand{\reviewtti}[1]{\texttt{\textit{#1}}}
124
- \newcommand{\reviewttb}[1]{\texttt{\textbf{#1}}}
125
-
126
- \newcommand{\reviewbackslash}[0]{\textbackslash{}}
7
+ %% disable hyperlink color and border
8
+ \hypersetup{hidelinks}
127
9
 
128
10
  % コードリスト用色
129
11
  \definecolor{shadecolor}{gray}{0.9}
@@ -150,4 +32,10 @@
150
32
 
151
33
  % 図表フロートの配置
152
34
  \floatplacement{figure}{H}
153
- \floatplacement{table}{htp}
35
+ \floatplacement{table}{H}
36
+
37
+ % トンボ情報
38
+ \if@pdftombo
39
+ % https://github.com/abenori/jlreq/blob/master/jlreq-trimmarks-ja.md を参照
40
+ \jlreqtrimmarkssetup{banner={}}
41
+ \fi
@@ -6,3 +6,10 @@
6
6
 
7
7
  % ユーザー固有の定義
8
8
  \usepackage{review-custom}
9
+
10
+ %% run \@endofreviewmacrohook at the end of reviewmacro style
11
+ \@ifundefined{@endofreviewmacrohook}{}{%
12
+ \let\AtEndOfReVIEWMacro\@firstofone
13
+ \@endofreviewmacrohook}
14
+
15
+ \endinput
@@ -0,0 +1,129 @@
1
+ review-jsbook.cls Users Guide
2
+ ====================
3
+
4
+ 現時点における最新版 `jsbook.cls 2018/06/23 jsclasses (okumura, texjporg)` をベースに、Re:VIEW 向け review-jsbook.cls を実装しました。
5
+
6
+ 過去の Re:VIEW 2 で jsbook.cls で作っていた資産を、ほとんどそのまま Re:VIEW 3 でも利用できます。
7
+
8
+ ## 特徴
9
+
10
+ * クラスオプション `cameraready` により、「印刷用」「電子用」の用途を明示的な意思表示として与えることで、用途に応じた PDF ファイル生成を行えます。
11
+ * (基本的に)クラスオプションを `<key>=<value>` で与えられます。
12
+ * クラスオプション内で、用紙サイズや基本版面を自由に設計できます。
13
+
14
+ ここで、クラスオプションとは、親 LaTeX 文章ファイルにおいて、以下のような位置にカンマ(,)区切りで記述するオプションです。
15
+
16
+ ```latex
17
+ \documentclass[クラスオプションたち(省略可能)]{review-jsbook}
18
+ ```
19
+
20
+ ## Re:VIEW で利用する
21
+
22
+ クラスオプションオプションたちは、Re:VIEW 設定ファイル config.yml 内の texdocumentclass において、以下のような位置に記述します。
23
+
24
+ ```yaml
25
+ texdocumentclass: ["review-jsbook", "クラスオプションたち(省略可能)"]
26
+ ```
27
+
28
+ ## 利用可能なクラスオプションたち
29
+
30
+ ### 用途別 PDF データ作成 `cameraready=<用途名>`
31
+
32
+ 印刷用 `print`、電子用 `ebook` のいずれかの用途名を指定します。
33
+
34
+ * `print`[デフォルト]:印刷用 PDF ファイルを生成します。
35
+ * トンボあり、デジタルトンボあり、hyperref パッケージを `draft` モードで読み込み、表紙は入れない
36
+ * `ebook`:電子用PDFファイルを生成します。
37
+ * トンボなし、hyperref パッケージを読み込み、表紙を入れる
38
+
39
+ ### 表紙の挿入有無 `cover=<trueまたはfalse>`
40
+
41
+ `cameraready` の値によって表紙(config.yml の coverimage に指定した画像)の配置の有無は自動で切り替わりますが、`cover=true` とすれば必ず表紙を入れるようになります。
42
+
43
+ なお、config.yml の coverimage で指定する画像ファイルは、原寸を想定しています。
44
+
45
+ ### 特定の用紙サイズ `paper=<用紙サイズ>`
46
+
47
+ 利用可能な特定の用紙サイズを指定できます。
48
+
49
+ * `a3`
50
+ * `a4`
51
+ * `a5`[デフォルト]
52
+ * `a6`
53
+ * `b4`:JIS B4
54
+ * `b5`:JIS B5
55
+ * `b6`:JIS B6
56
+ * `a4var`:210mm x 283mm
57
+ * `b5var`:182mm x 230mm
58
+ * `letter`
59
+ * `legal`
60
+ * `executive`
61
+
62
+ ### トンボ用紙サイズ `tombopaper=<用紙サイズ>` および塗り足し幅 `bleed_margin=<幅>`
63
+
64
+ `tombopaper` ではトンボ用紙サイズを指定できます。
65
+ [デフォルト]値は自動判定します。
66
+
67
+ `bleed_margin` では塗り足し領域の幅を指定できます。
68
+ [デフォルト]3mm になります。
69
+
70
+ ### カスタム用紙サイズ `paperwidth=<用紙横幅>`, `paperheight=<用紙縦幅>`
71
+
72
+ カスタム用紙サイズ `paperwidth=<用紙横幅>`, `paperheight=<用紙縦幅>` (両方とも与える必要があります)を与えることで、特定の用紙サイズで設定できない用紙サイズを与えられます。
73
+
74
+ たとえば、B5変形 `paperwidth=182mm`, `paperheight=235mm`。
75
+
76
+ ### 基本版面設計 `Q=<級数>`, `W=<字詰>`, `L=<行数>`, `H=<行送り>` , `head=<天>`, `gutter=<ノド>`
77
+
78
+ 基本版面 QWLH, 天、ノドを与えます。
79
+ 天、ノドをそれぞれ与えない場合、それぞれ天地、左右中央になります。
80
+
81
+ * `Q=13`[デフォルト]:文字サイズを級数(1Q = 1H = 0.25mm)で与えます。
82
+ * `W=35`[デフォルト]:1行字詰めを与えます。
83
+ * `L=32`[デフォルト]:行数を与えます。
84
+ * `H=22`[デフォルト]:行送り(1Q = 1H = 0.25mm)を与えます。
85
+ * `head=<幅>`:天を与えます。[デフォルト]は天地中央です。
86
+ * `gutter=<幅>`:ノドを与えます。[デフォルト]は左右中央です。
87
+
88
+ 例をいくつか挙げます。
89
+
90
+ * `paper=a5, Q=13, W=35, L=32, H=22,`
91
+ * `paper=a5, Q=14, W=38, L=34, H=20.5, head=20mm, gutter=20mm,`
92
+ * `paper=b5, Q=13, W=43, L=35, H=24,`
93
+ * `paper=b5, Q=14, W=40, L=34, H=25.5,`
94
+
95
+ さらに、ヘッダー、フッターに関する位置調整は、TeX のパラメータ `\headheight`, `\headsep`, `\footskip` に対応しており、それぞれ `headheight`, `headsep`, `footskip` を与えられます。
96
+
97
+ ## 開始ページ番号 `startpage=<ページ番号>`
98
+
99
+ 大扉からのページ開始番号を指定します。
100
+
101
+ [デフォルト]は1です。表紙・表紙裏(表1・表2)のぶんを飛ばしたければ、`startpage=3` とします。
102
+
103
+ ## 通しページ番号(通しノンブル) `serial_pagination=<trueまたはfalse>`
104
+
105
+ 大扉からアラビア数字でページ番号を通すかどうかを指定します。
106
+
107
+ * `true`:大扉を開始ページとして、前付(catalog.yml で PREDEF に指定したもの)、さらに本文(catalog.yml で CHAPS に指定したもの)に連続したページ番号をアラビア数字で振ります(通しノンブルと言います)。
108
+ * `false`[デフォルト]:大扉を開始ページとして前付の終わり(通常は目次)までのページ番号をローマ数字で振ります。本文は 1 を開始ページとしてアラビア数字で振り直します(別ノンブルと言います)。
109
+
110
+ ### 隠しノンブル 'hiddenfolio=<プリセット>'
111
+
112
+ 印刷所固有の要件に合わせて、ノドの目立たない位置に小さくノンブルを入れます。
113
+ 'hiddenfolio` にプリセットを与えることで、特定の印刷所さん対応の隠しノンブルを出力することができます。
114
+ 利用可能なプリセットは、以下のとおりです。
115
+
116
+ * `default`:トンボ左上(塗り足しの外)にページ番号を入れます。
117
+ * `marusho-ink`(丸正インキ):塗り足し幅を5mmに設定、ノド中央にページ番号を入れます。
118
+ * `nikko-pc`(日光企画), `shippo`(ねこのしっぽ):ノド中央にページ番号を入れます。
119
+
120
+ 独自の設定を追加したいときには、review-jsbook.cls の実装を参照してください。
121
+
122
+ ページ番号は紙面に入れるものと同じものが入ります。アラビア数字で通したいときには、上記の `serial_pagination=true` も指定してください。
123
+
124
+ ## 標準で review-jsbook.cls を実行したときの jsbook.cls との違い
125
+
126
+ * jsbook.cls のクラスオプション `uplatex`:これまで texdocumentclass に指定が必要だった `uplatex` オプションは不要となっています。
127
+ * jsbook.cls のクラスオプション `nomag`:用紙サイズや版面設計は、すべて review-jsbook.cls 側で行います。
128
+ * hyperref パッケージ:あらかじめ hyperref パッケージを組み込んでおり、`cameraready` オプションにより用途別で挙動を制御します。
129
+ * 各種相対フォントサイズコマンド `\small`, `\footnotesize`, `\scriptsize`, `\tiny`, `\large`, `\Large`, `\LARGE`, `\huge`, `\Huge`, `\HUGE` は、級数ベースに書き換えています。おおむね妥当な値になっているはずです。
@@ -1,4 +1,8 @@
1
1
  \RequirePackage{ifthen}
2
+ \@ifundefined{Hy@Info}{% for jsbook.cls
3
+ \RequirePackage[dvipdfmx,bookmarks=true,bookmarksnumbered=true]{hyperref}
4
+ \RequirePackage[dvipdfmx]{pxjahyper}
5
+ }{}
2
6
  \ifthenelse{\equal{\review@texcompiler}{uplatex}}{%
3
7
  \RequirePackage[deluxe,uplatex]{otf}%
4
8
  }{%
@@ -37,12 +41,19 @@
37
41
  {\endMakeFramed}
38
42
 
39
43
  \newcommand{\parasep}{\vspace*{3zh}}
40
- \setlength{\footskip}{30pt}
41
44
 
42
- \RequirePackage[dvipdfmx,bookmarks=true,bookmarksnumbered=true,hidelinks,%
43
- pdftitle={\review@booktitlename},%
44
- pdfauthor={\review@autnames}]{hyperref}
45
- \RequirePackage[dvipdfmx]{pxjahyper}
45
+ \newcommand*\PDFDocumentInformation[1]{%
46
+ \AtBeginShipoutFirst{\special{pdf:docinfo <<#1>>}}}
47
+ \@onlypreamble\PDFDocumentInformation
48
+
49
+ \PDFDocumentInformation{
50
+ /Title (\review@booktitlename)
51
+ /Author (\review@autnames)
52
+ % /Subject ()
53
+ % /Keywords (,,)
54
+ /Creator (Re:VIEW \review@reviewversion, with LaTeX)
55
+ }
56
+
46
57
  \RequirePackage{pxrubrica}
47
58
  \@ifpackagelater{pxrubrica}{2017/04/20}{%
48
59
  \rubysetup{J}}{%
@@ -286,6 +297,10 @@
286
297
  }
287
298
 
288
299
  % hooks
300
+ \def\reviewbegindocumenthook{}
301
+
302
+ \def\reviewenddocumenthook{}
303
+
289
304
  \def\reviewfrontmatterhook{%
290
305
  \renewcommand{\chaptermark}[1]{{}}
291
306
  \frontmatter
@@ -306,17 +321,16 @@
306
321
  }
307
322
 
308
323
  % cover
309
- \ifdefined\review@cover
310
- \def\reviewcoverpagecont{\review@coverfile}
311
- \fi
312
- \ifdefined\review@coverimage
313
- \def\reviewcoverpagecont{%
314
- \thispagestyle{empty}
315
- \begin{center}
316
- \expandafter\includegraphics\expandafter[\review@coverimageoption]{\review@coverimage}% includefullpagegraphicsを導入すべき?
317
- \end{center}
318
- \clearpage
319
- }
324
+ \if@reclscover
325
+ \ifdefined\review@coverimage
326
+ \def\reviewcoverpagecont{%
327
+ \expandafter\includefullpagegraphics\expandafter[\review@coverimageoption]{\review@coverimage}
328
+ \cleardoublepage
329
+ }
330
+ \fi
331
+ \ifdefined\review@coverfile
332
+ \def\reviewcoverpagecont{\review@coverfile}
333
+ \fi
320
334
  \fi
321
335
 
322
336
  % titlepage
@@ -336,8 +350,8 @@
336
350
  \vskip 15em%
337
351
  {\huge
338
352
  \lineskip .75em
339
- \begin{tabular}[t]{c}%
340
- \review@titlepageauthors
353
+ \begin{tabular}[t]{p{\textwidth}}%
354
+ \centering\review@titlepageauthors
341
355
  \end{tabular}\par}%
342
356
  \vfill
343
357
  {\large\review@date \review@intn@edition\hspace{2zw}\review@intn@publishedby\par}%
@@ -377,7 +391,6 @@
377
391
  \reviewcolophon
378
392
  \thispagestyle{empty}
379
393
  \vspace*{\fill}
380
- \typeout{\review@booktitlename}
381
394
  {\noindent\reviewtitlefont\Large\review@booktitlename}\\
382
395
  \ifdefined\review@subtitlename
383
396
  {\noindent\reviewtitlefont\large\review@subtitlename} \\
@@ -385,7 +398,7 @@
385
398
  \rule[8pt]{\textwidth}{1pt} \\
386
399
  {\noindent\review@pubhistories}
387
400
 
388
- \begin{tabular}{ll}
401
+ \begin{tabular}{p{3em}p{\dimexpr\textwidth-6em}}
389
402
  \review@colophonnames
390
403
  \end{tabular}
391
404
   \\
@@ -0,0 +1,545 @@
1
+ %#!ptex2pdf -l -u -ot '-synctex=1' test-rejsbk
2
+ % Copyright (c) 2018 Munehiro Yamamoto, Kenshi Muto.
3
+ %
4
+ % Permission is hereby granted, free of charge, to any person obtaining a copy
5
+ % of this software and associated documentation files (the "Software"), to deal
6
+ % in the Software without restriction, including without limitation the rights
7
+ % to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8
+ % copies of the Software, and to permit persons to whom the Software is
9
+ % furnished to do so, subject to the following conditions:
10
+ %
11
+ % The above copyright notice and this permission notice shall be included in
12
+ % all copies or substantial portions of the Software.
13
+ %
14
+ % THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15
+ % IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16
+ % FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17
+ % AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18
+ % LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19
+ % OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
20
+ % THE SOFTWARE.
21
+
22
+ \ifx\epTeXinputencoding\undefined\else
23
+ \epTeXinputencoding utf8
24
+ \fi
25
+ \NeedsTeXFormat{pLaTeX2e}
26
+ \ProvidesClass{review-jsbook}
27
+ [2018/09/30 v3.0 Re:VIEW pLaTeX class modified for jsbook.cls]
28
+
29
+ \def\recls@error{\ClassError{review-jsbook}}
30
+ \def\recls@warning{\ClassWarning{review-jsbook}}
31
+ \def\recls@warningnoline{\ClassWarningNoLine{review-jsbook}}
32
+ \def\recls@info{\ClassInfo{review-jsbook}}
33
+
34
+ %% hook at end of reviewmacro
35
+ \let\@endofreviewmacrohook\@empty
36
+ \def\AtEndOfReVIEWMacro{%
37
+ \g@addto@macro\@endofreviewmacrohook}
38
+ \@onlypreamble\AtEndOfReVIEWMacro
39
+
40
+ %% fixes to LaTeX2e
41
+ \RequirePackage{fix-cm}%%\RequirePackage{fix-cm,exscale}
42
+ \IfFileExists{latexrelease.sty}{}{\RequirePackage{fixltx2e}}
43
+
44
+ %% graphicx: added nosetpagesize
45
+ \IfFileExists{platexrelease.sty}{%% is bundled in TL16 or higher release version
46
+ \PassOptionsToPackage{nosetpagesize}{graphicx}%%for TL16 or higher version
47
+ }{}
48
+
49
+ \RequirePackage{xkeyval,everypage}%%,etoolbox
50
+
51
+ %% useful helpers
52
+ \newcommand\recls@get@p@[2]{%
53
+ \edef#2{\expandafter\@recls@GET@P@\the#1}}
54
+ {\catcode`p=12\catcode`t=12\gdef\@recls@GET@P@#1pt{#1}}%
55
+
56
+ \long\def\recls@ifempty#1{%
57
+ \expandafter\ifx\expandafter\relax\detokenize{#1}\relax\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi}
58
+ % \long\def\recls@ifempty#1{\recls@xifempty#1@@..\@nil}
59
+ % \long\def\recls@xifempty#1#2@#3#4#5\@nil{%
60
+ % \ifx#3#4\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi}
61
+ \long\def\recls@ifnotempty#1{\recls@ifempty{#1}{}}
62
+
63
+ \newcommand*{\recls@DeclareOption}[2]{%
64
+ \DeclareOptionX{#1}{%
65
+ \recls@ifempty{##1}{}{%
66
+ \ClassError{recls}{The option #1 should have no value}{\@ehc}}%
67
+ #2}}
68
+
69
+ %% define/set specific paper(s) for review-jsbook.cls
70
+ \def\recls@define@paper#1#2{%
71
+ %% \paper@<papername>=> <size>:<width>x<height>+<cutoffset>
72
+ \@namedef{recls@paper@#1}{#1#2}%
73
+ }
74
+
75
+ \def\recls@set@paper#1{%
76
+ \@ifundefined{recls@paper@#1}{%
77
+ \recls@error{Not define such paper: #1}}\relax
78
+ \expandafter\expandafter\expandafter
79
+ \@recls@set@paper\expandafter\expandafter\expandafter
80
+ {\csname recls@paper@#1\endcsname}}
81
+ \def\@recls@set@paper#1{%
82
+ \edef\recls@set@js@paper{#1}%
83
+ \PassOptionsToClass{\recls@set@js@paper}{jsbook}}
84
+
85
+ \def\recls@disable@jsopt#1{%
86
+ \recls@DeclareOption{#1}{\recls@error{option #1: not available}}}
87
+
88
+ \recls@define@paper{a3}{paper}
89
+ \recls@define@paper{a4}{paper}
90
+ \recls@define@paper{a5}{paper}
91
+ \recls@define@paper{a6}{paper}
92
+ \recls@define@paper{b4}{paper}
93
+ \recls@define@paper{b5}{paper}
94
+ \recls@define@paper{b6}{paper}
95
+ \recls@define@paper{a4var}{}
96
+ \recls@define@paper{b5var}{}
97
+ \recls@define@paper{letter}{paper}
98
+ \recls@define@paper{legal}{paper}
99
+ \recls@define@paper{executive}{paper}
100
+
101
+ %% disable some options of jsbook.cls
102
+ \@for\recls@tmp:={%
103
+ a4j,a5j,b4j,b5j,%
104
+ 8pt,9pt,10pt,11pt,12pt,14pt,17pt,20pt,21pt,25pt,30pt,36pt,43pt,12Q,14Q,%
105
+ 10ptj,10.5ptj,11ptj,12ptj,winjis,mingoth}\do{%
106
+ \expandafter\recls@disable@jsopt\expandafter{\recls@tmp}}
107
+
108
+ %% \recls@set@tombowpaper{<papersize>}
109
+ \def\recls@set@tombowpaper#1{%
110
+ \xdef#1{\ifx\recls@hiddenfolio\@empty tombo,\fi#1}}
111
+
112
+ %% \recls@set@hiddenfolio{<preset>}
113
+ %% <preset>: default, marusho-ink (丸正インキ), nikko-pc (日光企画),
114
+ %% shippo (ねこのしっぽ)
115
+ \def\recls@set@hiddenfolio#1{\ifx#1\@empty\else
116
+ \@ifundefined{@makehiddenfolio@#1}{%
117
+ \recls@error{Not define such hiddenfolio: #1}}\relax
118
+ %% set hiddenfolio preset
119
+ \expandafter\let\expandafter\@makehiddenfolio\csname @makehiddenfolio@#1\endcsname
120
+ %% redefine to output \@makehiddenfolio for every page
121
+ \settombowbanner{\hskip-5mm\smash{\hiddenfolio@font\@makehiddenfolio}}%
122
+ \AddEverypageHook{\maketombowbox}%
123
+ \fi}
124
+
125
+ \def\hiddenfolio@font{\reset@font
126
+ \scriptsize\sffamily\baselineskip.8\baselineskip}
127
+
128
+ %% hiddenfolio=default
129
+ \@namedef{@makehiddenfolio@default}{%
130
+ \ifodd\c@page
131
+ \llap{\thepage\hspace{\dimexpr\@tombowbleed}}%
132
+ \else
133
+ \rlap{\hspace{\dimexpr\paperwidth+\@tombowbleed}\thepage}%
134
+ \fi}
135
+
136
+ %% hiddenfolio=marusho-ink
137
+ \@namedef{@makehiddenfolio@marusho-ink}{%
138
+ \gdef\recls@tombobleed{5mm}%
139
+ \@nameuse{@makehiddenfolio@nikko-pc}}
140
+
141
+ %% hiddenfolio=nikko-pc
142
+ \@namedef{@makehiddenfolio@nikko-pc}{%
143
+ \def\recls@hiddfolio{%
144
+ \edef\recls@tmp{\thepage}%
145
+ \lower\dimexpr4pt+\@tombowbleed+.5\paperheight+5\p@\hbox{%
146
+ \vbox{\expandafter\@tfor\expandafter\recls@x\expandafter:\expandafter=\recls@tmp\do{%
147
+ \hbox to 1zw{\hss\recls@x\hss}}}}}%
148
+ \ifodd\c@page
149
+ \rlap{\recls@hiddfolio}%
150
+ \else
151
+ \llap{\recls@hiddfolio\hspace{-\paperwidth}}%
152
+ \fi}
153
+
154
+ %% hiddenfolio=shippo
155
+ \@namedef{@makehiddenfolio@shippo}{%
156
+ \@nameuse{@makehiddenfolio@nikko-pc}}
157
+
158
+
159
+ %% cameraready=print,ebook,preview
160
+ \newif\if@cameraready \@camerareadyfalse
161
+ \newif\if@pdfhyperlink \@pdfhyperlinkfalse
162
+ \DeclareOptionX{cameraready}[print]{\gdef\recls@cameraready{#1}}
163
+
164
+ %% 用紙
165
+ \DeclareOptionX{paper}[a5]{\gdef\recls@paper{#1}}
166
+ \DeclareOptionX{tombopaper}{%
167
+ \gdef\recls@tombowopts{}%%default: auto-detect
168
+ \ifx#1\@empty\else\gdef\recls@tombowopts{tombo-#1}\fi}
169
+ \DeclareOptionX{bleed_margin}[3mm]{\gdef\recls@tombobleed{#1}}
170
+ %% 隠しノンブルプリセット
171
+ \DeclareOptionX{hiddenfolio}{\gdef\recls@hiddenfolio{#1}}%%default: (none)
172
+ %% カスタム用紙サイズ
173
+ \DeclareOptionX{paperwidth}{\gdef\recls@paperwidth{#1}}
174
+ \DeclareOptionX{paperheight}{\gdef\recls@paperheight{#1}}
175
+ %% 基本版面 QWLH、天、ノド
176
+ \DeclareOptionX{Q}[13]{\gdef\recls@Q{#1}}
177
+ \DeclareOptionX{W}[35]{\gdef\recls@W{#1}}
178
+ \DeclareOptionX{L}[32]{\gdef\recls@L{#1}}
179
+ \DeclareOptionX{H}[22]{\gdef\recls@H{#1}}
180
+ \DeclareOptionX{head}[\z@]{\gdef\recls@head{#1}}%[18mm]
181
+ \DeclareOptionX{gutter}[\z@]{\gdef\recls@gutter{#1}}%[20mm]
182
+ %% headheight,headsep,footskip
183
+ \DeclareOptionX{headheight}[\z@]{\gdef\recls@headheight{#1}}
184
+ \DeclareOptionX{headsep}[\z@]{\gdef\recls@headsep{#1}}
185
+ \DeclareOptionX{footskip}[\z@]{\gdef\recls@footskip{#1}}
186
+
187
+ %% 表紙・開始番号・通しノンブル
188
+ \newif\if@reclscover \@reclscovertrue
189
+ \newif\ifrecls@serialpage \recls@serialpagefalse
190
+ \DeclareOptionX{cover}[\@empty]{\gdef\recls@forcecover{#1}}
191
+ \DeclareOptionX{startpage}[1]{\gdef\recls@startpage{\numexpr#1}}
192
+ \DeclareOptionX{serial_pagination}[false]{\csname recls@serialpage#1\endcsname}
193
+
194
+ \PassOptionsToClass{dvipdfmx,nomag}{jsbook}
195
+ \DeclareOptionX*{\PassOptionsToClass{\CurrentOption}{jsbook}}%
196
+ \ExecuteOptionsX{cameraready,hiddenfolio,%
197
+ paper,tombopaper,bleed_margin,paperwidth,paperheight,%
198
+ Q,W,L,H,head,gutter,headheight,headsep,footskip,%
199
+ cover,startpage,serial_pagination}
200
+ \ProcessOptionsX\relax
201
+
202
+ %% set specific papersize
203
+ \recls@set@paper{\recls@paper}
204
+ \recls@set@tombowpaper{\recls@tombowopts}
205
+
206
+ %% camera-ready PDF file preparation for each print, ebook
207
+ \def\recls@tmp{preview}\ifx\recls@cameraready\recls@tmp
208
+ %%FIXME: cameraready=preview の挙動は保留。例:フォント関係を仕込む
209
+ \@camerareadyfalse\@pdfhyperlinkfalse\@reclscovertrue
210
+ \else\def\recls@tmp{print}\ifx\recls@cameraready\recls@tmp
211
+ \@camerareadytrue\@pdfhyperlinkfalse\@reclscoverfalse
212
+ \IfFileExists{gentombow.sty}{%
213
+ \AtEndOfClass{%
214
+ \RequirePackage[pdfbox,\recls@tombowopts]{gentombow}%
215
+ \settombowbleed{\recls@tombobleed}%
216
+ \recls@set@hiddenfolio{\recls@hiddenfolio}}%
217
+ %%FIXME: gentombow upstreamでトンボ版スタイルコマンドが実装されたら、それに置き換えても良いかな。
218
+ % \AtEndOfClass{%
219
+ % \PassOptionsToPackage{\recls@tombowopts}{gentombow}%
220
+ % \RequirePackage[hiddenfolio=\recls@hiddenfolio,tombobleed=\recls@tombobleed]{gentombow-hiddenfolio}%
221
+ % }%
222
+ }{%
223
+ \IfFileExists{gentombow09j.sty}{% from vendor/gentombow.
224
+ \AtEndOfClass{%
225
+ \RequirePackage[pdfbox,\recls@tombowopts]{gentombow09j}%
226
+ \settombowbleed{\recls@tombobleed}%
227
+ \recls@set@hiddenfolio{\recls@hiddenfolio}}%
228
+ }{%
229
+ \recls@warning{%
230
+ package gentombow: not installed^^J
231
+ option tombopaper: not available}%
232
+ \PassOptionsToClass{tombo}{jsbook}%
233
+ }}%
234
+ \else\def\recls@tmp{ebook}\ifx\recls@cameraready\recls@tmp
235
+ \@camerareadytrue\@pdfhyperlinktrue\@reclscovertrue
236
+ \PassOptionsToClass{papersize}{jsbook}%
237
+ \else
238
+ \recls@error{No such value of cameraready: \recls@cameraready}%
239
+ \fi\fi\fi
240
+
241
+ %% 内部Unicode動作の時だけupTeXとみなす
242
+ \newif\if@recls@uptex \@recls@uptexfalse
243
+ \ifx\ucs\@undefined\else \ifnum\ucs"3000="3000
244
+ \@recls@uptextrue
245
+ \PassOptionsToClass{uplatex}{jsbook}
246
+ \PassOptionsToPackage{uplatex}{otf}
247
+ \fi\fi
248
+
249
+ \PassOptionsToClass{10pt}{jsbook}%%<= forcely load 10pt
250
+ \LoadClass{jsbook}
251
+ %%\typeout{!!! mag: \the\mag}%%=> 1000 -> OK
252
+
253
+ \IfFileExists{platexrelease.sty}{}{%% is bundled in TL16 or higher release version
254
+ \@ifundefined{jsc@setfontsize}{%%compatibility for TL13, TL14, TL15 frozen
255
+ \newdimen\jsc@mpt
256
+ \jsc@mpt=1\p@
257
+ \def\jsc@setfontsize#1#2#3{%
258
+ \@setfontsize#1{#2\jsc@mpt}{#3\jsc@mpt}}
259
+ }\relax
260
+ }
261
+
262
+ %% override papersize with custom papersize
263
+ \ifx\recls@paperwidth\@empty\else\ifx\recls@paperheight\@empty\else
264
+ \setlength{\paperwidth}{\recls@paperwidth}
265
+ \setlength{\paperheight}{\recls@paperheight}
266
+ \def\recls@tmp{pdf}\ifx\recls@cameraready\recls@tmp
267
+ \AtBeginDvi{\special{papersize=\the\paperwidth,\the\paperheight}}
268
+ \fi
269
+ \fi\fi
270
+
271
+ \def\recls@JYn{\if@recls@uptex JY2\else JY1\fi}%
272
+ \def\recls@JTn{\if@recls@uptex JT2\else JT1\fi}%
273
+ \def\recls@pfx@{\if@recls@uptex up\else \fi}%
274
+ \def\recls@sfx@{\if@recls@uptex \else n\fi}%
275
+ \def\recls@sc@le{\if@recls@uptex 0.924714\else 0.961026\fi}%
276
+ \def\recls@jisrh{\recls@pfx@ jis\if@recls@uptex r-h\fi}%
277
+ \def\recls@jisgh{\recls@pfx@ jisg\if@recls@uptex -h\fi}%
278
+ \def\recls@jisrv{\recls@pfx@ jis\if@recls@uptex r\fi -v}%
279
+ \def\recls@jisgv{\recls@pfx@ jisg-v}%
280
+
281
+ \expandafter\let\csname\recls@JYn/mc/m/n/10\endcsname\relax
282
+ \expandafter\let\csname\recls@JYn/gt/m/n/10\endcsname\relax
283
+
284
+ %% calculate font size scaler
285
+ \@tempdima=13\dimexpr 13\p@\relax
286
+ \@tempdimb=\recls@Q\dimexpr\recls@Q\p@\relax
287
+ \@settopoint\@tempdima \@settopoint\@tempdimb
288
+ \@tempcnta=\strip@pt\@tempdima\relax
289
+ \@tempcntb=\strip@pt\@tempdimb\relax
290
+ \@tempdima=\dimexpr\@tempcntb\p@/\@tempcnta\relax
291
+ \recls@get@p@{\@tempdima}{\recls@fnt@scale}% \typeout{!!! \recls@fnt@scale}%
292
+
293
+ \RequirePackage{lmodern}
294
+
295
+ \newdimen\JQ \JQ=1.08141Q\relax
296
+
297
+ %% declare relative font definitions
298
+ %% <family>: mc (reserved), gt (reserved), mgt?
299
+ %% <series>: m (reserved), bx (reserved), eb?
300
+ %% <shape>: n (reserved)
301
+ %% JYn
302
+ \DeclareFontShape{\recls@JYn}{mc}{m}{n}{%
303
+ <-> s * [\recls@sc@le] \recls@jisrh
304
+ }{}
305
+ \DeclareFontShape{\recls@JYn}{gt}{m}{n}{%
306
+ <-> s * [\recls@sc@le] \recls@jisgh
307
+ }{}
308
+ \DeclareFontShape{\recls@JYn}{mc}{bx}{n}{<->ssub*gt/m/n}{}
309
+ \DeclareFontShape{\recls@JYn}{gt}{bx}{n}{<->ssub*gt/m/n}{}
310
+ %% JTn
311
+ \DeclareFontShape{\recls@JTn}{mc}{m}{n}{%
312
+ <-> s * [\recls@sc@le] \recls@jisrv
313
+ }{}
314
+ \DeclareFontShape{\recls@JTn}{gt}{m}{n}{%
315
+ <-> s * [\recls@sc@le] \recls@jisgv
316
+ }{}
317
+ \DeclareFontShape{\recls@JTn}{mc}{bx}{n}{<->ssub*gt/m/n}{}
318
+ \DeclareFontShape{\recls@JTn}{gt}{bx}{n}{<->ssub*gt/m/n}{}
319
+ %% it
320
+ \DeclareFontShape{\recls@JYn}{mc}{m}{it}{<->ssub*mc/m/n}{}
321
+ \DeclareFontShape{\recls@JYn}{mc}{bx}{it}{<->ssub*mc/bx/n}{}
322
+ \DeclareFontShape{\recls@JYn}{gt}{m}{it}{<->ssub*gt/m/n}{}
323
+ \DeclareFontShape{\recls@JYn}{gt}{bx}{it}{<->ssub*gt/bx/n}{}
324
+ \DeclareFontShape{\recls@JTn}{mc}{m}{it}{<->ssub*mc/m/n}{}
325
+ \DeclareFontShape{\recls@JTn}{mc}{bx}{it}{<->ssub*mc/bx/n}{}
326
+ \DeclareFontShape{\recls@JTn}{gt}{m}{it}{<->ssub*gt/m/n}{}
327
+ \DeclareFontShape{\recls@JTn}{gt}{bx}{it}{<->ssub*gt/bx/n}{}
328
+ %% sl
329
+ \DeclareFontShape{\recls@JYn}{mc}{m}{sl}{<->ssub*mc/m/n}{}
330
+ \DeclareFontShape{\recls@JYn}{mc}{bx}{sl}{<->ssub*mc/bx/n}{}
331
+ \DeclareFontShape{\recls@JYn}{gt}{m}{sl}{<->ssub*gt/m/n}{}
332
+ \DeclareFontShape{\recls@JYn}{gt}{bx}{sl}{<->ssub*gt/bx/n}{}
333
+ \DeclareFontShape{\recls@JTn}{mc}{m}{sl}{<->ssub*mc/m/n}{}
334
+ \DeclareFontShape{\recls@JTn}{mc}{bx}{sl}{<->ssub*mc/bx/n}{}
335
+ \DeclareFontShape{\recls@JTn}{gt}{m}{sl}{<->ssub*gt/m/n}{}
336
+ \DeclareFontShape{\recls@JTn}{gt}{bx}{sl}{<->ssub*gt/bx/n}{}
337
+ %% sc
338
+ \DeclareFontShape{\recls@JYn}{mc}{m}{sc}{<->ssub*mc/m/n}{}
339
+ \DeclareFontShape{\recls@JYn}{mc}{bx}{sc}{<->ssub*mc/bx/n}{}
340
+ \DeclareFontShape{\recls@JYn}{gt}{m}{sc}{<->ssub*gt/m/n}{}
341
+ \DeclareFontShape{\recls@JYn}{gt}{bx}{sc}{<->ssub*gt/bx/n}{}
342
+ \DeclareFontShape{\recls@JTn}{mc}{m}{sc}{<->ssub*mc/m/n}{}
343
+ \DeclareFontShape{\recls@JTn}{mc}{bx}{sc}{<->ssub*mc/bx/n}{}
344
+ \DeclareFontShape{\recls@JTn}{gt}{m}{sc}{<->ssub*gt/m/n}{}
345
+ \DeclareFontShape{\recls@JTn}{gt}{bx}{sc}{<->ssub*gt/bx/n}{}
346
+
347
+ \renewcommand{\normalsize}{%
348
+ \jsc@setfontsize\normalsize{\recls@Q\JQ}{\recls@H H}
349
+ \abovedisplayskip 11\jsc@mpt \@plus3\jsc@mpt \@minus4\jsc@mpt
350
+ \abovedisplayshortskip \z@ \@plus3\jsc@mpt
351
+ \belowdisplayskip 9\jsc@mpt \@plus3\jsc@mpt \@minus4\jsc@mpt
352
+ \belowdisplayshortskip \belowdisplayskip
353
+ \let\@listi\@listI}
354
+ \hyphenpenalty\@M\relax
355
+ \exhyphenpenalty\@M\relax
356
+ \normalsize
357
+
358
+ \setbox0\hbox{\char\jis"3441}%"
359
+ \setlength\Cht{\ht0}
360
+ \setlength\Cdp{\dp0}
361
+ \setlength\Cwd{\wd0}
362
+ \setlength\Cvs{\baselineskip}
363
+ \setlength\Chs{\wd0}
364
+ \setbox0=\box\voidb@x
365
+
366
+ \renewcommand{\small}{%
367
+ \ifnarrowbaselines
368
+ \jsc@setfontsize\small
369
+ {\dimexpr\recls@Q\JQ - 1\JQ}{1.5\dimexpr\recls@Q H - 3H}%
370
+ \else
371
+ \jsc@setfontsize\small
372
+ {\dimexpr\recls@Q\JQ - 1\JQ}{1.5\dimexpr\recls@Q H - 1H}%
373
+ \fi
374
+ \abovedisplayskip 9\jsc@mpt \@plus3\jsc@mpt \@minus4\jsc@mpt
375
+ \abovedisplayshortskip \z@ \@plus3\jsc@mpt
376
+ \belowdisplayskip \abovedisplayskip
377
+ \belowdisplayshortskip \belowdisplayskip
378
+ \def\@listi{\leftmargin\leftmargini
379
+ \topsep \z@
380
+ \parsep \z@
381
+ \itemsep \parsep}}
382
+
383
+ \renewcommand{\footnotesize}{%
384
+ \ifnarrowbaselines
385
+ \jsc@setfontsize\footnotesize
386
+ {\dimexpr\recls@Q\JQ - 2\JQ}{1.5\dimexpr\recls@Q H - 3H}%
387
+ \else
388
+ \jsc@setfontsize\footnotesize
389
+ {\dimexpr\recls@Q\JQ - 2\JQ}{1.5\dimexpr\recls@Q H - 2H}%
390
+ \fi
391
+ \abovedisplayskip 6\jsc@mpt \@plus2\jsc@mpt \@minus3\jsc@mpt
392
+ \abovedisplayshortskip \z@ \@plus2\jsc@mpt
393
+ \belowdisplayskip \abovedisplayskip
394
+ \belowdisplayshortskip \belowdisplayskip
395
+ \def\@listi{\leftmargin\leftmargini
396
+ \topsep \z@
397
+ \parsep \z@
398
+ \itemsep \parsep}}
399
+
400
+ \renewcommand{\scriptsize}{\jsc@setfontsize\scriptsize
401
+ {\dimexpr\recls@Q\JQ - 3\JQ}{1.25\dimexpr\recls@Q H - 3H}}
402
+ \renewcommand{\tiny}{\jsc@setfontsize\tiny
403
+ {.5\dimexpr\recls@Q\JQ}{.5\dimexpr\recls@Q H + 2H}}
404
+ \if@twocolumn
405
+ \renewcommand{\large}{\@setfontsize\large
406
+ {\recls@fnt@scale\dimexpr 18\JQ}{\n@baseline}}
407
+ \else
408
+ \renewcommand{\large}{\@setfontsize\large
409
+ {\recls@fnt@scale\dimexpr 18\JQ}{\recls@fnt@scale\dimexpr 27H}}
410
+ \fi
411
+ \renewcommand{\Large}{\@setfontsize\Large
412
+ {\recls@fnt@scale\dimexpr 20\JQ}{\recls@fnt@scale\dimexpr 30H}}
413
+ \renewcommand{\LARGE}{\@setfontsize\LARGE
414
+ {\recls@fnt@scale\dimexpr 24\JQ}{\recls@fnt@scale\dimexpr 36H}}
415
+ \renewcommand{\huge}{\@setfontsize\huge
416
+ {\recls@fnt@scale\dimexpr 28\JQ}{\recls@fnt@scale\dimexpr 42H}}
417
+ \renewcommand{\Huge}{\@setfontsize\Huge
418
+ {\recls@fnt@scale\dimexpr 32\JQ}{\recls@fnt@scale\dimexpr 48H}}
419
+ \renewcommand{\HUGE}{\jsc@setfontsize\HUGE
420
+ {\recls@fnt@scale\dimexpr 36\JQ}{\recls@fnt@scale\dimexpr 54H}}
421
+
422
+ %% headheight, headsep, footskip
423
+ \setlength\topskip{\Cht}
424
+ \ifdim\recls@headheight>\z@\relax\setlength\headheight{\recls@headheight}\fi
425
+ \ifdim\recls@headsep>\z@\relax\setlength\headsep{\recls@headsep}\fi
426
+ \ifdim\recls@footskip>\z@\relax\setlength\footskip{\recls@footskip}\fi
427
+ \setlength\maxdepth{.5\topskip}
428
+
429
+ %% 字詰め数、行数
430
+ \setlength\textwidth{\recls@W\Cwd}
431
+ \setlength\textheight{\recls@L\Cvs}
432
+ \addtolength\textheight{-\Cvs}\addtolength\textheight{\Cwd}
433
+ \addtolength\textheight{1H}%.5H
434
+
435
+ \setlength\fullwidth{\textwidth}
436
+
437
+ %% ノド、小口
438
+ \ifdim\recls@gutter>\z@
439
+ \setlength\oddsidemargin{\recls@gutter}%ノド
440
+ \addtolength\oddsidemargin{-1in}
441
+ \setlength\evensidemargin{\paperwidth}
442
+ \addtolength\evensidemargin{-2in}
443
+ \addtolength\evensidemargin{-\oddsidemargin}
444
+ \addtolength\evensidemargin{-\textwidth}
445
+ \else
446
+ \setlength\oddsidemargin\paperwidth
447
+ \addtolength\oddsidemargin{-\textwidth}
448
+ \setlength\oddsidemargin{.5\oddsidemargin}
449
+ \addtolength\oddsidemargin{-1in}
450
+ \setlength\evensidemargin\oddsidemargin
451
+ \edef\recls@gutter{\evensidemargin}
452
+ \fi
453
+
454
+ %% 天、地
455
+ \ifdim\recls@head>\z@
456
+ \setlength\topmargin{\recls@head}%天
457
+ \else
458
+ \setlength\topmargin\paperheight
459
+ \addtolength\topmargin{-\textheight}
460
+ \edef\recls@head{\dimexpr\topmargin+1in+\headheight+\headsep}
461
+ \setlength\topmargin{.5\topmargin}
462
+ \fi
463
+ \addtolength\topmargin{-1in}
464
+ \addtolength\topmargin{-\headheight}\addtolength\topmargin{-\headsep}
465
+
466
+ %% load hyperref package
467
+ \RequirePackage[dvipdfmx, \if@pdfhyperlink\else draft,\fi
468
+ bookmarks=true,
469
+ bookmarksnumbered=true,
470
+ hidelinks,
471
+ setpagesize=false,
472
+ ]{hyperref}
473
+ \RequirePackage[dvipdfmx]{pxjahyper}
474
+
475
+ %% more useful macros
476
+ %% ----------
477
+ %% include fullpage graphics
478
+ \let\grnchry@head\recls@head
479
+ \let\grnchry@gutter\recls@gutter
480
+ \newcommand*\includefullpagegraphics{%
481
+ \clearpage
482
+ \@ifstar
483
+ {\@includefullpagegraphics}%
484
+ {\thispagestyle{empty}\@includefullpagegraphics}
485
+ }
486
+
487
+ \newcommand*\@includefullpagegraphics[2][]{%
488
+ \vbox to \textheight{%
489
+ \vskip-\grnchry@head
490
+ \vbox to \paperheight{\vss
491
+ \hbox to \textwidth{%
492
+ \ifodd\c@page
493
+ \hskip-\dimexpr\oddsidemargin + 1in\relax
494
+ \else
495
+ \hskip-\dimexpr\evensidemargin + 1in\relax
496
+ \fi
497
+ \hbox to \paperwidth{\hss
498
+ \includegraphics[#1]{#2}%
499
+ \hss}%
500
+ \hss}%
501
+ \vss}%
502
+ \vss}%
503
+ \clearpage
504
+ }
505
+
506
+ % coverオプションによる表紙判定の上書き
507
+ \def\recls@tmp{true}\ifx\recls@forcecover\recls@tmp
508
+ \@reclscovertrue
509
+ \else\def\recls@tmp{false}\ifx\recls@forcecover\recls@tmp
510
+ \@reclscoverfalse
511
+ \else% それ以外の値は単に無視
512
+ \fi\fi
513
+
514
+ % シンプルな通しノンブル
515
+ \ifrecls@serialpage
516
+ \renewcommand*{\pagenumbering}[1]{%
517
+ \gdef\thepage{\@arabic\c@page}}
518
+ \fi
519
+
520
+ % 開始ページを変更
521
+ \g@addto@macro\frontmatter{\setcounter{page}{\the\recls@startpage}}
522
+
523
+ % titlepageのsetcounterを使わない
524
+ \renewenvironment{titlepage}{%
525
+ \clearpage
526
+ \if@twoside\ifodd\c@page\else
527
+ \hbox{}\thispagestyle{empty}\newpage
528
+ \if@twocolumn\hbox{}\newpage\fi
529
+ \fi\fi
530
+ \if@twocolumn
531
+ \@restonecoltrue\onecolumn
532
+ \else
533
+ \@restonecolfalse\newpage
534
+ \fi
535
+ \thispagestyle{empty}%
536
+ \ifodd\c@page\relax%% \setcounter{page}\@ne
537
+ \else\setcounter{page}\z@\fi %% 2017-02-24
538
+ }%
539
+ {\if@restonecol\twocolumn \else \newpage \fi
540
+ \if@twoside\else
541
+ %% \setcounter{page}\@ne
542
+ \fi}
543
+
544
+ \listfiles
545
+ \endinput