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.
- checksums.yaml +4 -4
- data/.rubocop.yml +7 -1
- data/NEWS.ja.md +49 -0
- data/NEWS.md +49 -0
- data/README.md +8 -2
- data/doc/LICENSE +20 -0
- data/doc/config.yml.sample +9 -2
- data/doc/customize_epub.ja.md +23 -0
- data/doc/customize_epub.md +23 -0
- data/doc/format.ja.md +98 -4
- data/doc/format.md +98 -1
- data/doc/makeindex.ja.md +2 -2
- data/doc/pdfmaker.ja.md +12 -3
- data/doc/pdfmaker.md +2 -2
- data/doc/preproc.ja.md +2 -2
- data/doc/quickstart.ja.md +1 -1
- data/doc/quickstart.md +1 -1
- data/lib/review/compiler.rb +1 -1
- data/lib/review/configure.rb +13 -1
- data/lib/review/epubmaker.rb +10 -4
- data/lib/review/htmlbuilder.rb +31 -9
- data/lib/review/init.rb +72 -3
- data/lib/review/makerhelper.rb +180 -1
- data/lib/review/pdfmaker.rb +23 -4
- data/lib/review/version.rb +1 -1
- data/lib/review/webmaker.rb +14 -4
- data/review.gemspec +1 -1
- data/samples/sample-book/src/Rakefile +20 -0
- data/samples/sample-book/src/config.yml +3 -2
- data/samples/sample-book/src/images/cover-a5.ai +5836 -16
- data/samples/sample-book/src/images/cover-b5.ai +5735 -15
- data/samples/syntax-book/config.yml +1 -1
- data/templates/LICENSE +1 -1
- data/templates/latex/config.erb +24 -11
- data/templates/latex/layout.tex.erb +15 -5
- data/templates/latex/review-jlreq/README.md +2 -1
- data/templates/latex/review-jlreq/review-base.sty +165 -22
- data/templates/latex/review-jlreq/review-jlreq.cls +180 -110
- data/templates/latex/review-jlreq/review-style.sty +13 -125
- data/templates/latex/review-jlreq/reviewmacro.sty +7 -0
- data/templates/latex/review-jsbook/README.md +129 -0
- data/templates/latex/review-jsbook/review-base.sty +33 -20
- data/templates/latex/review-jsbook/review-jsbook.cls +545 -0
- data/templates/latex/review-jsbook/reviewmacro.sty +7 -0
- data/test/assets/test_template.tex +27 -8
- data/test/assets/test_template_backmatter.tex +27 -8
- data/test/test_helper.rb +3 -0
- data/test/test_htmlbuilder.rb +3 -1
- data/test/test_pdfmaker.rb +2 -0
- data/vendor/gentombow/.gitignore +163 -0
- data/vendor/gentombow/LICENSE +27 -0
- data/vendor/gentombow/Makefile +36 -0
- data/vendor/gentombow/README.md +49 -0
- data/vendor/gentombow/bounddvi-en.pdf +0 -0
- data/vendor/gentombow/bounddvi-en.tex +135 -0
- data/vendor/gentombow/bounddvi.pdf +0 -0
- data/vendor/gentombow/bounddvi.sty +87 -0
- data/vendor/gentombow/bounddvi.tex +148 -0
- data/vendor/gentombow/create_archive.sh +24 -0
- data/vendor/gentombow/gentombow-ja.pdf +0 -0
- data/vendor/gentombow/gentombow-ja.tex +449 -0
- data/vendor/gentombow/gentombow.pdf +0 -0
- data/vendor/gentombow/gentombow.sty +747 -0
- data/vendor/gentombow/gentombow.tex +298 -0
- data/vendor/gentombow/pxgentombow.pdf +0 -0
- data/vendor/gentombow/pxgentombow.sty +16 -0
- data/vendor/gentombow/pxgentombow.tex +25 -0
- data/vendor/gentombow/tests/bounddvi-01-usage.tex +7 -0
- data/vendor/gentombow/tests/bounddvi-02-jstombow.tex +7 -0
- data/vendor/gentombow/tests/bounddvi-03-grfdvips.tex +9 -0
- data/vendor/gentombow/tests/bounddvi-04-grfdvipdfmx.tex +9 -0
- data/vendor/gentombow/tests/bounddvi-05-geodvips.tex +8 -0
- data/vendor/gentombow/tests/bounddvi-05a-geodvips.tex +9 -0
- data/vendor/gentombow/tests/bounddvi-06-geodvipdfmx.tex +8 -0
- data/vendor/gentombow/tests/bounddvi-06a-geodvipdfmx.tex +9 -0
- data/vendor/gentombow/tests/pxgentombow-01-usage.tex +6 -0
- data/vendor/gentombow/tests/pxgentombow-02-js.tex +6 -0
- data/vendor/gentombow/tests/pxgentombow-02a-js-error.tex +6 -0
- data/vendor/gentombow/tests/pxgentombow-03-notombowdate.tex +8 -0
- data/vendor/gentombow/tests/pxgentombow-04-pkgoption.tex +8 -0
- data/vendor/gentombow/tests/pxgentombow-05-tatecls.tex +6 -0
- metadata +40 -3
@@ -1,129 +1,11 @@
|
|
1
|
-
|
2
|
-
\
|
3
|
-
\tcbuselibrary{xparse,hooks,skins,breakable}
|
1
|
+
\NeedsTeXFormat{LaTeX2e}
|
2
|
+
\ProvidesPackage{review-style}[2018/10/05]
|
4
3
|
|
5
|
-
|
6
|
-
|
7
|
-
{\end{alltt}\end{tcolorbox}}
|
4
|
+
%% using Helvetica as sans-serif
|
5
|
+
\renewcommand{\sfdefault}{phv}
|
8
6
|
|
9
|
-
|
10
|
-
|
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}{
|
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
|
@@ -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
|
-
\
|
43
|
-
|
44
|
-
|
45
|
-
|
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
|
-
\
|
310
|
-
\
|
311
|
-
\
|
312
|
-
\
|
313
|
-
|
314
|
-
|
315
|
-
\
|
316
|
-
\
|
317
|
-
\
|
318
|
-
\
|
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]{
|
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}{
|
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
|