pandoc2review 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.github/workflows/pandoc.yml +18 -0
- data/.gitignore +47 -0
- data/Gemfile +6 -0
- data/LICENSE +339 -0
- data/README.md +105 -0
- data/Rakefile +13 -0
- data/exe/pandoc2review +12 -0
- data/lib/pandoc2review.rb +99 -0
- data/lua/filters.lua +163 -0
- data/lua/review.lua +620 -0
- data/markdown-format.ja.md +721 -0
- data/pandoc2review.gemspec +29 -0
- data/samples/format.md +276 -0
- data/samples/reviewsample/.gitignore +154 -0
- data/samples/reviewsample/Gemfile +4 -0
- data/samples/reviewsample/Rakefile +3 -0
- data/samples/reviewsample/catalog.yml +10 -0
- data/samples/reviewsample/ch01.md +38 -0
- data/samples/reviewsample/ch02.re +3 -0
- data/samples/reviewsample/config-ebook.yml +6 -0
- data/samples/reviewsample/config.yml +20 -0
- data/samples/reviewsample/images/cover-a5.ai +5836 -16
- data/samples/reviewsample/images/cover.jpg +0 -0
- data/samples/reviewsample/images/pandoc2review.png +0 -0
- data/samples/reviewsample/lib/tasks/review.rake +128 -0
- data/samples/reviewsample/lib/tasks/z01_pandoc2review.rake +69 -0
- data/samples/reviewsample/sty/README.md +168 -0
- data/samples/reviewsample/sty/gentombow.sty +769 -0
- data/samples/reviewsample/sty/jsbook.cls +2072 -0
- data/samples/reviewsample/sty/jumoline.sty +310 -0
- data/samples/reviewsample/sty/plistings.sty +326 -0
- data/samples/reviewsample/sty/review-base.sty +530 -0
- data/samples/reviewsample/sty/review-custom.sty +1 -0
- data/samples/reviewsample/sty/review-jsbook.cls +503 -0
- data/samples/reviewsample/sty/review-style.sty +49 -0
- data/samples/reviewsample/sty/reviewmacro.sty +15 -0
- data/samples/reviewsample/style.css +494 -0
- metadata +128 -0
@@ -0,0 +1 @@
|
|
1
|
+
% for user-defined macro
|
@@ -0,0 +1,503 @@
|
|
1
|
+
%#!ptex2pdf -l -u -ot '-synctex=1' test-rejsbk
|
2
|
+
% Copyright (c) 2018-2020 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
|
+
\NeedsTeXFormat{pLaTeX2e}
|
23
|
+
\ProvidesClass{review-jsbook}
|
24
|
+
[2020/12/12 v5.1 Re:VIEW pLaTeX class modified for jsbook.cls]
|
25
|
+
|
26
|
+
\def\recls@error{\ClassError{review-jsbook}}
|
27
|
+
\def\recls@warning{\ClassWarning{review-jsbook}}
|
28
|
+
\def\recls@warningnoline{\ClassWarningNoLine{review-jsbook}}
|
29
|
+
\def\recls@info{\ClassInfo{review-jsbook}}
|
30
|
+
|
31
|
+
%% hook at end of reviewmacro
|
32
|
+
\let\@endofreviewmacrohook\@empty
|
33
|
+
\def\AtEndOfReVIEWMacro{%
|
34
|
+
\g@addto@macro\@endofreviewmacrohook}
|
35
|
+
\@onlypreamble\AtEndOfReVIEWMacro
|
36
|
+
|
37
|
+
%% fixes to LaTeX2e
|
38
|
+
\RequirePackage{fix-cm}%%\RequirePackage{fix-cm,exscale}
|
39
|
+
\IfFileExists{latexrelease.sty}{}{\RequirePackage{fixltx2e}}
|
40
|
+
|
41
|
+
%% graphicx: added nosetpagesize
|
42
|
+
\IfFileExists{platexrelease.sty}{%% is bundled in TL16 or higher release version
|
43
|
+
\PassOptionsToPackage{nosetpagesize}{graphicx}%%for TL16 or higher version
|
44
|
+
}{}
|
45
|
+
|
46
|
+
\RequirePackage{xkeyval,everypage}%%,etoolbox
|
47
|
+
|
48
|
+
%% useful helpers
|
49
|
+
\newcommand\recls@get@p@[2]{%
|
50
|
+
\edef#2{\expandafter\@recls@GET@P@\the#1}}
|
51
|
+
{\catcode`p=12\catcode`t=12\gdef\@recls@GET@P@#1pt{#1}}%
|
52
|
+
|
53
|
+
\long\def\recls@ifempty#1{%
|
54
|
+
\expandafter\ifx\expandafter\relax\detokenize{#1}\relax\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi}
|
55
|
+
% \long\def\recls@ifempty#1{\recls@xifempty#1@@..\@nil}
|
56
|
+
% \long\def\recls@xifempty#1#2@#3#4#5\@nil{%
|
57
|
+
% \ifx#3#4\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi}
|
58
|
+
\long\def\recls@ifnotempty#1{\recls@ifempty{#1}{}}
|
59
|
+
|
60
|
+
\newcommand*{\recls@DeclareOption}[2]{%
|
61
|
+
\DeclareOptionX{#1}{%
|
62
|
+
\recls@ifempty{##1}{}{%
|
63
|
+
\ClassError{recls}{The option #1 should have no value}{\@ehc}}%
|
64
|
+
#2}}
|
65
|
+
|
66
|
+
%% define/set specific paper(s) for review-jsbook.cls
|
67
|
+
\def\recls@define@paper#1#2{%
|
68
|
+
%% \paper@<papername>=> <size>:<width>x<height>+<cutoffset>
|
69
|
+
\@namedef{recls@paper@#1}{#1#2}%
|
70
|
+
}
|
71
|
+
|
72
|
+
\def\recls@set@paper#1{%
|
73
|
+
\@ifundefined{recls@paper@#1}{%
|
74
|
+
\recls@error{Not define such paper: #1}}\relax
|
75
|
+
\expandafter\expandafter\expandafter
|
76
|
+
\@recls@set@paper\expandafter\expandafter\expandafter
|
77
|
+
{\csname recls@paper@#1\endcsname}}
|
78
|
+
\def\@recls@set@paper#1{%
|
79
|
+
\edef\recls@set@js@paper{#1}%
|
80
|
+
\PassOptionsToClass{\recls@set@js@paper}{jsbook}}
|
81
|
+
|
82
|
+
\recls@define@paper{a3}{paper}
|
83
|
+
\recls@define@paper{a4}{paper}
|
84
|
+
\recls@define@paper{a5}{paper}
|
85
|
+
\recls@define@paper{a6}{paper}
|
86
|
+
\recls@define@paper{b4}{paper}
|
87
|
+
\recls@define@paper{b5}{paper}
|
88
|
+
\recls@define@paper{b6}{paper}
|
89
|
+
\recls@define@paper{a4var}{}
|
90
|
+
\recls@define@paper{b5var}{}
|
91
|
+
\recls@define@paper{letter}{paper}
|
92
|
+
\recls@define@paper{legal}{paper}
|
93
|
+
\recls@define@paper{executive}{paper}
|
94
|
+
|
95
|
+
%% define/set specific fontsize
|
96
|
+
\def\recls@define@fontsize#1{%
|
97
|
+
\@namedef{recls@fontsize@#1}{#1}}
|
98
|
+
|
99
|
+
\def\recls@set@fontsize#1{%
|
100
|
+
\@ifundefined{recls@fontsize@#1}{%
|
101
|
+
\recls@set@customfontsize{#1}}{\@recls@set@fontsize{#1}}}
|
102
|
+
\def\@recls@set@fontsize#1{%
|
103
|
+
\expandafter\expandafter\expandafter
|
104
|
+
\@@recls@set@fontsize\expandafter\expandafter\expandafter
|
105
|
+
{\csname recls@fontsize@#1\endcsname}}
|
106
|
+
\def\@@recls@set@fontsize#1{%
|
107
|
+
\edef\recls@jsfontsize{#1}%
|
108
|
+
\ifdim\recls@jsfontsize=\recls@fontsize\else
|
109
|
+
\recls@warning{jsbook.cls has no such fontsize '\recls@fontsize'.^^J
|
110
|
+
pass through '\recls@jsfontsize' option to jsbook.cls}%
|
111
|
+
\fi
|
112
|
+
\PassOptionsToClass{\recls@jsfontsize}{jsbook}}
|
113
|
+
|
114
|
+
%% NOTE: カスタムフォントサイズの対応は、事実上、止めることにしました。
|
115
|
+
\def\recls@set@customfontsize#1{%
|
116
|
+
\setlength{\@tempdima}{#1}%
|
117
|
+
\ifdim\@tempdima<8.5pt\recls@set@fontsize{8pt}%
|
118
|
+
\else\ifdim\@tempdima<9.5pt\recls@set@fontsize{9pt}%
|
119
|
+
\else\ifdim\@tempdima<10.5pt\recls@set@fontsize{10pt}%
|
120
|
+
\else\ifdim\@tempdima<11.5pt\recls@set@fontsize{11pt}%
|
121
|
+
\else\ifdim\@tempdima<12.5pt\recls@set@fontsize{12pt}%
|
122
|
+
\else\ifdim\@tempdima<13pt\recls@set@fontsize{14pt}%
|
123
|
+
\else\ifdim\@tempdima<18.5pt\recls@set@fontsize{17pt}%
|
124
|
+
\else\ifdim\@tempdima<20.5pt\recls@set@fontsize{20pt}%
|
125
|
+
\else\ifdim\@tempdima<23pt\recls@set@fontsize{21pt}%
|
126
|
+
\else\ifdim\@tempdima<27.5pt\recls@set@fontsize{25pt}%
|
127
|
+
\else\ifdim\@tempdima<33pt\recls@set@fontsize{30pt}%
|
128
|
+
\else\ifdim\@tempdima<39.5pt\recls@set@fontsize{36pt}%
|
129
|
+
\else\recls@set@fontsize{43pt}%
|
130
|
+
\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
|
131
|
+
}
|
132
|
+
|
133
|
+
\@for\recls@tmp:={%
|
134
|
+
8pt,9pt,10pt,11pt,12pt,14pt,17pt,20pt,21pt,25pt,30pt,36pt,43pt,12Q,14Q,%
|
135
|
+
10ptj,10.5ptj,11ptj,12ptj}\do{%
|
136
|
+
\expandafter\recls@define@fontsize\expandafter{\recls@tmp}}
|
137
|
+
|
138
|
+
%% disable some options of jsbook.cls
|
139
|
+
\def\recls@disable@jsopt#1{%
|
140
|
+
\recls@DeclareOption{#1}{\recls@error{option #1: not available}}}
|
141
|
+
|
142
|
+
\@for\recls@tmp:={%
|
143
|
+
a4j,a5j,b4j,b5j,winjis,mingoth}\do{%
|
144
|
+
\expandafter\recls@disable@jsopt\expandafter{\recls@tmp}}
|
145
|
+
|
146
|
+
%% \recls@set@tombowpaper{<papersize>}
|
147
|
+
\def\recls@set@tombowpaper#1{%
|
148
|
+
\xdef#1{\ifx\recls@hiddenfolio\@empty tombo,\fi#1}}
|
149
|
+
|
150
|
+
%% \recls@set@hiddenfolio{<preset>}
|
151
|
+
%% <preset>: default, marusho-ink (丸正インキ), nikko-pc (日光企画),
|
152
|
+
%% shippo (ねこのしっぽ)
|
153
|
+
\def\recls@set@hiddenfolio#1{\ifx#1\@empty\else
|
154
|
+
\@ifundefined{@makehiddenfolio@#1}{%
|
155
|
+
\recls@error{Not define such hiddenfolio: #1}}\relax
|
156
|
+
%% set hiddenfolio preset
|
157
|
+
\expandafter\let\expandafter\@makehiddenfolio\csname @makehiddenfolio@#1\endcsname
|
158
|
+
%% redefine to output \@makehiddenfolio for every page
|
159
|
+
\settombowbanner{\hskip-5mm\smash{\hiddenfolio@font\@makehiddenfolio}}%
|
160
|
+
\AddEverypageHook{\maketombowbox}%
|
161
|
+
\fi}
|
162
|
+
|
163
|
+
\def\hiddenfolio@font{\reset@font
|
164
|
+
\scriptsize\sffamily\baselineskip.8\baselineskip}
|
165
|
+
|
166
|
+
%% hiddenfolio=default
|
167
|
+
\@namedef{@makehiddenfolio@default}{%
|
168
|
+
\ifodd\c@page
|
169
|
+
\llap{\thepage\hspace{\dimexpr\@tombowbleed}}%
|
170
|
+
\else
|
171
|
+
\rlap{\hspace{\dimexpr\paperwidth+\@tombowbleed}\thepage}%
|
172
|
+
\fi}
|
173
|
+
|
174
|
+
%% hiddenfolio=marusho-ink
|
175
|
+
\@namedef{@makehiddenfolio@marusho-ink}{%
|
176
|
+
\gdef\recls@tombobleed{5mm}%
|
177
|
+
\@nameuse{@makehiddenfolio@nikko-pc}}
|
178
|
+
|
179
|
+
%% hiddenfolio=nikko-pc
|
180
|
+
\@namedef{@makehiddenfolio@nikko-pc}{%
|
181
|
+
\def\recls@hiddfolio{%
|
182
|
+
\edef\recls@tmp{\thepage}%
|
183
|
+
\lower\dimexpr4pt+\@tombowbleed+.5\paperheight+5\p@\hbox{%
|
184
|
+
\vbox{\expandafter\@tfor\expandafter\recls@x\expandafter:\expandafter=\recls@tmp\do{%
|
185
|
+
\hbox to 1zw{\hss\recls@x\hss}}}}}%
|
186
|
+
\ifodd\c@page
|
187
|
+
\rlap{\recls@hiddfolio}%
|
188
|
+
\else
|
189
|
+
\llap{\recls@hiddfolio\hspace{-\paperwidth}}%
|
190
|
+
\fi}
|
191
|
+
|
192
|
+
%% hiddenfolio=shippo
|
193
|
+
\@namedef{@makehiddenfolio@shippo}{%
|
194
|
+
\@nameuse{@makehiddenfolio@nikko-pc}}
|
195
|
+
|
196
|
+
|
197
|
+
%% media=print,ebook,preview
|
198
|
+
\newif\if@cameraready \@camerareadyfalse
|
199
|
+
\newif\if@pdfhyperlink \@pdfhyperlinkfalse
|
200
|
+
\DeclareOptionX{cameraready}[print]{\gdef\recls@cameraready{#1}}
|
201
|
+
\DeclareOptionX{media}[print]{\gdef\recls@cameraready{#1}}
|
202
|
+
|
203
|
+
%% 用紙
|
204
|
+
\DeclareOptionX{paper}[a4]{\gdef\recls@paper{#1}}
|
205
|
+
\DeclareOptionX{tombopaper}{%
|
206
|
+
\gdef\recls@tombowopts{}%%default: auto-detect
|
207
|
+
\ifx#1\@empty\else\gdef\recls@tombowopts{tombow-#1}\fi}
|
208
|
+
\DeclareOptionX{bleed_margin}[3mm]{\gdef\recls@tombobleed{#1}}
|
209
|
+
%% 隠しノンブルプリセット
|
210
|
+
\DeclareOptionX{hiddenfolio}{\gdef\recls@hiddenfolio{#1}}%%default: (none)
|
211
|
+
%% カスタム用紙サイズ
|
212
|
+
\DeclareOptionX{paperwidth}{\gdef\recls@paperwidth{#1}}
|
213
|
+
\DeclareOptionX{paperheight}{\gdef\recls@paperheight{#1}}
|
214
|
+
%% 基本版面、天、ノド
|
215
|
+
\DeclareOptionX{fontsize}[10pt]{\gdef\recls@fontsize{#1}}
|
216
|
+
\DeclareOptionX{line_length}{\gdef\recls@line@length{#1}}%%ベタ組みになるように調整
|
217
|
+
\DeclareOptionX{number_of_lines}{\gdef\recls@number@of@lines{#1}}
|
218
|
+
\DeclareOptionX{baselineskip}{\def\recls@baselineskip{#1}}
|
219
|
+
\DeclareOptionX{linegap}{\def\recls@linegap{#1}}
|
220
|
+
\DeclareOptionX{head_space}{\gdef\recls@head@space{#1}}
|
221
|
+
\DeclareOptionX{gutter}{\gdef\recls@gutter{#1}}
|
222
|
+
%% headheight,headsep,footskip
|
223
|
+
\DeclareOptionX{headheight}{\gdef\recls@headheight{#1}}
|
224
|
+
\DeclareOptionX{headsep}{\gdef\recls@headsep{#1}}
|
225
|
+
\DeclareOptionX{footskip}{\gdef\recls@footskip{#1}}
|
226
|
+
|
227
|
+
%% 表紙・開始番号・通しノンブル
|
228
|
+
\newif\if@reclscover \@reclscovertrue
|
229
|
+
\newif\ifrecls@coverfitpage \recls@coverfitpagefalse
|
230
|
+
\newif\ifrecls@serialpage \recls@serialpagefalse
|
231
|
+
\DeclareOptionX{cover}[\@empty]{\gdef\recls@forcecover{#1}}
|
232
|
+
\DeclareOptionX{cover_fit_page}[false]{\csname recls@coverfitpage#1\endcsname}
|
233
|
+
\DeclareOptionX{startpage}[1]{\gdef\recls@startpage{\numexpr#1}}
|
234
|
+
\DeclareOptionX{serial_pagination}[false]{\csname recls@serialpage#1\endcsname}
|
235
|
+
|
236
|
+
\PassOptionsToClass{dvipdfmx,nomag}{jsbook}
|
237
|
+
\DeclareOptionX*{\PassOptionsToClass{\CurrentOption}{jsbook}}%
|
238
|
+
\ExecuteOptionsX{cameraready,media,hiddenfolio,%
|
239
|
+
paper,tombopaper,bleed_margin,paperwidth,paperheight,%
|
240
|
+
fontsize,line_length,number_of_lines,baselineskip,linegap,head_space,%
|
241
|
+
gutter,headheight,headsep,footskip,%
|
242
|
+
cover,startpage,serial_pagination}
|
243
|
+
\ProcessOptionsX\relax
|
244
|
+
|
245
|
+
%% set specific papersize, fontsize
|
246
|
+
\recls@set@paper{\recls@paper}
|
247
|
+
\recls@set@tombowpaper{\recls@tombowopts}
|
248
|
+
\recls@set@fontsize{\recls@fontsize}
|
249
|
+
|
250
|
+
%% camera-ready PDF file preparation for each print, ebook
|
251
|
+
\def\recls@tmp{preview}\ifx\recls@cameraready\recls@tmp
|
252
|
+
\@camerareadyfalse\@pdfhyperlinkfalse\@reclscovertrue
|
253
|
+
\PassOptionsToClass{papersize}{jsbook}%
|
254
|
+
\else\def\recls@tmp{print}\ifx\recls@cameraready\recls@tmp
|
255
|
+
\@camerareadytrue\@pdfhyperlinkfalse\@reclscoverfalse
|
256
|
+
\IfFileExists{gentombow.sty}{%
|
257
|
+
\AtEndOfClass{%
|
258
|
+
\RequirePackage[pdfbox,\recls@tombowopts]{gentombow}%
|
259
|
+
\settombowbleed{\recls@tombobleed}%
|
260
|
+
\recls@set@hiddenfolio{\recls@hiddenfolio}}%
|
261
|
+
}{\recls@warning{%
|
262
|
+
package gentombow: not installed^^J
|
263
|
+
option tombopaper: not available}%
|
264
|
+
\PassOptionsToClass{tombo}{jsbook}%
|
265
|
+
}%
|
266
|
+
\else\def\recls@tmp{ebook}\ifx\recls@cameraready\recls@tmp
|
267
|
+
\@camerareadytrue\@pdfhyperlinktrue\@reclscovertrue
|
268
|
+
\PassOptionsToClass{papersize}{jsbook}%
|
269
|
+
\else
|
270
|
+
\recls@error{No such value of media: \recls@cameraready}%
|
271
|
+
\fi\fi\fi
|
272
|
+
|
273
|
+
%% 内部Unicode動作の時だけupTeXとみなす
|
274
|
+
\newif\if@recls@uptex \@recls@uptexfalse
|
275
|
+
\ifx\ucs\@undefined\else \ifnum\ucs"3000="3000
|
276
|
+
\@recls@uptextrue
|
277
|
+
\PassOptionsToClass{uplatex}{jsbook}
|
278
|
+
\PassOptionsToPackage{uplatex}{otf}
|
279
|
+
\fi\fi
|
280
|
+
|
281
|
+
\LoadClass{jsbook}
|
282
|
+
|
283
|
+
% \typeout{!!! magscale: \jsc@magscale}
|
284
|
+
% \typeout{!!! mag: \the\mag}%%=> 1000 -> OK
|
285
|
+
|
286
|
+
%% override papersize with custom papersize
|
287
|
+
\ifx\recls@paperwidth\@empty\else\ifx\recls@paperheight\@empty\else
|
288
|
+
\setlength{\paperwidth}{\recls@paperwidth}
|
289
|
+
\setlength{\paperheight}{\recls@paperheight}
|
290
|
+
\def\recls@tmp{print}\ifx\recls@cameraready\recls@tmp\else
|
291
|
+
\AtBeginDvi{\special{papersize=\the\paperwidth,\the\paperheight}}
|
292
|
+
\fi
|
293
|
+
\fi\fi
|
294
|
+
|
295
|
+
%% baseline
|
296
|
+
\ifx\recls@linegap\@empty\else
|
297
|
+
\setlength{\baselineskip}{\dimexpr\Cwd+\recls@linegap}
|
298
|
+
\renewcommand{\normalsize}{%
|
299
|
+
\jsc@setfontsize\normalsize\@xpt\baselineskip% \@xiipt
|
300
|
+
\abovedisplayskip 11\jsc@mpt \@plus3\jsc@mpt \@minus4\jsc@mpt
|
301
|
+
\abovedisplayshortskip \z@ \@plus3\jsc@mpt
|
302
|
+
\belowdisplayskip 9\jsc@mpt \@plus3\jsc@mpt \@minus4\jsc@mpt
|
303
|
+
\belowdisplayshortskip \belowdisplayskip
|
304
|
+
\let\@listi\@listI}
|
305
|
+
\normalsize
|
306
|
+
\fi
|
307
|
+
\ifx\recls@baselineskip\@empty\else
|
308
|
+
\setlength{\baselineskip}{\recls@baselineskip}
|
309
|
+
\renewcommand{\normalsize}{%
|
310
|
+
\jsc@setfontsize\normalsize\@xpt\baselineskip% \@xiipt
|
311
|
+
\abovedisplayskip 11\jsc@mpt \@plus3\jsc@mpt \@minus4\jsc@mpt
|
312
|
+
\abovedisplayshortskip \z@ \@plus3\jsc@mpt
|
313
|
+
\belowdisplayskip 9\jsc@mpt \@plus3\jsc@mpt \@minus4\jsc@mpt
|
314
|
+
\belowdisplayshortskip \belowdisplayskip
|
315
|
+
\let\@listi\@listI}
|
316
|
+
\normalsize
|
317
|
+
\fi
|
318
|
+
\setlength{\Cvs}{\baselineskip}
|
319
|
+
|
320
|
+
%% headheight, headsep, footskip
|
321
|
+
% \setlength\topskip{\Cht}%%<= カスタムにしても、jsbook.clsのままにしとく
|
322
|
+
\ifx\recls@headheight\@empty\else\setlength\headheight{\recls@headheight}\fi
|
323
|
+
\ifx\recls@headsep\@empty\else\setlength\headsep{\recls@headsep}\fi
|
324
|
+
\ifx\recls@footskip\@empty\else\setlength\footskip{\recls@footskip}\fi
|
325
|
+
% \setlength\maxdepth{.5\topskip}%%<= カスタムにしても、jsbook.clsのままにしとく
|
326
|
+
|
327
|
+
%% 字詰め数、行数
|
328
|
+
\ifx\recls@line@length\@empty\else
|
329
|
+
\@tempcnta\dimexpr\recls@line@length/\Cwd\relax
|
330
|
+
\setlength\textwidth{\@tempcnta\Cwd}
|
331
|
+
\setlength\fullwidth{\textwidth}
|
332
|
+
\fi
|
333
|
+
\ifx\recls@number@of@lines\@empty\else
|
334
|
+
\setlength\textheight{\recls@number@of@lines\Cvs}
|
335
|
+
\addtolength\textheight{-\Cvs}\addtolength\textheight{\Cwd}
|
336
|
+
\addtolength\textheight{\dimexpr\topskip-\Cht}%%adjustment for jsbook.cls's \topskip
|
337
|
+
\fi
|
338
|
+
|
339
|
+
%% ノド、小口
|
340
|
+
%% gutterがあればそれに基づいて設定。
|
341
|
+
%% line_lengthが指定されていればtextwidth基準にして設定。
|
342
|
+
%% どちらも指定がなければjsbookをそのまま使用。
|
343
|
+
\ifx\recls@gutter\@empty
|
344
|
+
\ifx\recls@line@length\@empty\else
|
345
|
+
\setlength\oddsidemargin{\paperwidth}
|
346
|
+
\addtolength\oddsidemargin{-\fullwidth}%%line_lengthを与えたとき\textwidth
|
347
|
+
\setlength\oddsidemargin{.5\oddsidemargin}
|
348
|
+
\addtolength\oddsidemargin{-1in}
|
349
|
+
\setlength\evensidemargin{\oddsidemargin}
|
350
|
+
\edef\recls@gutter{\evensidemargin}
|
351
|
+
\fi
|
352
|
+
\else
|
353
|
+
\setlength\oddsidemargin{\recls@gutter}%ノド
|
354
|
+
\addtolength\oddsidemargin{-1in}
|
355
|
+
\setlength\evensidemargin{\paperwidth}
|
356
|
+
\addtolength\evensidemargin{-2in}
|
357
|
+
\addtolength\evensidemargin{-\oddsidemargin}
|
358
|
+
\addtolength\evensidemargin{-\textwidth}
|
359
|
+
\fi
|
360
|
+
|
361
|
+
%% 天、地
|
362
|
+
\ifx\recls@head@space\@empty
|
363
|
+
\ifx\recls@paperwidth\@empty\else\ifx\recls@paperheight\@empty\else
|
364
|
+
\setlength\topmargin\paperheight
|
365
|
+
\addtolength\topmargin{-\textheight}
|
366
|
+
\setlength\topmargin{.5\topmargin}
|
367
|
+
\addtolength\topmargin{-1in}
|
368
|
+
\addtolength\topmargin{-\headheight}\addtolength\topmargin{-\headsep}
|
369
|
+
\fi\fi
|
370
|
+
\ifx\recls@number@of@lines\@empty\else
|
371
|
+
\setlength\topmargin\paperheight
|
372
|
+
\addtolength\topmargin{-\textheight}
|
373
|
+
\setlength\topmargin{.5\topmargin}
|
374
|
+
\addtolength\topmargin{-1in}
|
375
|
+
\addtolength\topmargin{-\headheight}\addtolength\topmargin{-\headsep}
|
376
|
+
\fi
|
377
|
+
\edef\recls@head@space{\dimexpr\topmargin+1in+\headheight+\headsep}
|
378
|
+
\else
|
379
|
+
\setlength\topmargin{\recls@head@space}%天
|
380
|
+
\addtolength\topmargin{-1in}
|
381
|
+
\addtolength\topmargin{-\headheight}\addtolength\topmargin{-\headsep}
|
382
|
+
\fi
|
383
|
+
|
384
|
+
%% load hyperref package
|
385
|
+
\RequirePackage[dvipdfmx, \if@pdfhyperlink\else draft,\fi
|
386
|
+
bookmarks=true,
|
387
|
+
bookmarksnumbered=true,
|
388
|
+
hidelinks,
|
389
|
+
setpagesize=false,
|
390
|
+
]{hyperref}
|
391
|
+
\RequirePackage[dvipdfmx]{pxjahyper}
|
392
|
+
|
393
|
+
%% more useful macros
|
394
|
+
%% ----------
|
395
|
+
%% include fullpage graphics
|
396
|
+
\let\grnchry@head\recls@head@space
|
397
|
+
\let\grnchry@gutter\recls@gutter
|
398
|
+
\newcommand*\includefullpagegraphics{%
|
399
|
+
\clearpage
|
400
|
+
\@ifstar
|
401
|
+
{\@includefullpagegraphics}%
|
402
|
+
{\thispagestyle{empty}\@includefullpagegraphics}
|
403
|
+
}
|
404
|
+
|
405
|
+
\newcommand*\@includefullpagegraphics[2][]{%
|
406
|
+
\vbox to \textheight{%
|
407
|
+
\vskip-\grnchry@head
|
408
|
+
\vbox to \paperheight{\vss
|
409
|
+
\hbox to \textwidth{%
|
410
|
+
\ifodd\c@page
|
411
|
+
\hskip-\dimexpr\oddsidemargin + 1in\relax
|
412
|
+
\else
|
413
|
+
\hskip-\dimexpr\evensidemargin + 1in\relax
|
414
|
+
\fi
|
415
|
+
\hbox to \paperwidth{\hss
|
416
|
+
\includegraphics[#1]{#2}%
|
417
|
+
\hss}%
|
418
|
+
\hss}%
|
419
|
+
\vss}%
|
420
|
+
\vss}%
|
421
|
+
\clearpage
|
422
|
+
}
|
423
|
+
|
424
|
+
%% 空ページ
|
425
|
+
\newcommand\oneblankpage{\clearpage\thispagestyle{empty}%
|
426
|
+
\hbox{}\newpage\if@twocolumn\hbox{}\newpage\fi}
|
427
|
+
|
428
|
+
%% 横書き向けの、奇数ページまでの改丁(\cleardoublepage)・偶数ページまでの改丁(\clearoddpage)
|
429
|
+
\let\cleardoublepage@right\cleardoublepage
|
430
|
+
\def\cleardoublepage@left{\clearpage\if@twoside\ifodd\c@page
|
431
|
+
\hbox{}\thispagestyle{empty}\newpage\if@twocolumn\hbox{}\newpage\fi\fi\fi}
|
432
|
+
\let\clearoddpage\cleardoublepage@left
|
433
|
+
|
434
|
+
%% 行のサンプル。\makelines{行数} で「■□■□…」からなる行を指定行数配置する
|
435
|
+
\def\makelines#1{%
|
436
|
+
\@tempcnta\z@\relax
|
437
|
+
\def\@makeline@f@size{\f@size}%
|
438
|
+
\@whilenum\@tempcnta<#1\do{%
|
439
|
+
\advance\@tempcnta\@ne\relax
|
440
|
+
\noindent\rlap{\the\@tempcnta}\nobreak
|
441
|
+
\makelines@neline\par}%
|
442
|
+
}
|
443
|
+
\def\makelines@unit@#10#2\relax{%
|
444
|
+
\ifx!#2!\relax □\else\relax ■\fi}%
|
445
|
+
\newcounter{makelines@unit}
|
446
|
+
\def\makelines@neline{%
|
447
|
+
\c@makelines@unit\@ne
|
448
|
+
\@whilenum\c@makelines@unit<\dimexpr(\textwidth + \Cwd)/\Cwd\do{%
|
449
|
+
\expandafter\makelines@unit@\the\c@makelines@unit0\relax
|
450
|
+
\advance\c@makelines@unit\@ne}%
|
451
|
+
}
|
452
|
+
|
453
|
+
%% coverオプションによる表紙判定の上書き
|
454
|
+
\def\recls@tmp{true}\ifx\recls@forcecover\recls@tmp
|
455
|
+
\@reclscovertrue
|
456
|
+
\else\def\recls@tmp{false}\ifx\recls@forcecover\recls@tmp
|
457
|
+
\@reclscoverfalse
|
458
|
+
\else% それ以外の値は単に無視
|
459
|
+
\fi\fi
|
460
|
+
|
461
|
+
%% シンプルな通しノンブル
|
462
|
+
\ifrecls@serialpage
|
463
|
+
\def\pagenumbering#1{%
|
464
|
+
\gdef\thepage{\csname @arabic\endcsname\c@page}}
|
465
|
+
\fi
|
466
|
+
|
467
|
+
%% 開始ページを変更
|
468
|
+
\g@addto@macro\frontmatter{\setcounter{page}{\the\recls@startpage}}
|
469
|
+
|
470
|
+
%% titlepageのsetcounterを使わない
|
471
|
+
\renewenvironment{titlepage}{%
|
472
|
+
\clearpage
|
473
|
+
\if@twoside\ifodd\c@page\else
|
474
|
+
\hbox{}\thispagestyle{empty}\newpage
|
475
|
+
\if@twocolumn\hbox{}\newpage\fi
|
476
|
+
\fi\fi
|
477
|
+
\if@twocolumn
|
478
|
+
\@restonecoltrue\onecolumn
|
479
|
+
\else
|
480
|
+
\@restonecolfalse\newpage
|
481
|
+
\fi
|
482
|
+
\thispagestyle{empty}%
|
483
|
+
\ifodd\c@page\relax%% \setcounter{page}\@ne
|
484
|
+
\else\setcounter{page}\z@\fi %% 2017-02-24
|
485
|
+
}%
|
486
|
+
{\if@restonecol\twocolumn \else \newpage \fi
|
487
|
+
\if@twoside\else
|
488
|
+
%% \setcounter{page}\@ne
|
489
|
+
\fi}
|
490
|
+
|
491
|
+
%% 表紙のノンブル
|
492
|
+
\def\coverpagezero#1{\expandafter\@coverpagezero\csname c@#1\endcsname}
|
493
|
+
\def\@coverpagezero#1{cover}
|
494
|
+
|
495
|
+
%% 脚注がページをまたいで泣き別れさせない
|
496
|
+
\interfootnotelinepenalty\@M
|
497
|
+
|
498
|
+
%% 代替定義
|
499
|
+
\def\reviewleftcurlybrace{\{}
|
500
|
+
\def\reviewrightcurlybrace{\}}
|
501
|
+
|
502
|
+
\listfiles
|
503
|
+
\endinput
|