review 3.0.0.preview2 → 3.0.0.preview3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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