pandoc2review 1.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. checksums.yaml +7 -0
  2. data/.github/workflows/pandoc.yml +18 -0
  3. data/.gitignore +47 -0
  4. data/Gemfile +6 -0
  5. data/LICENSE +339 -0
  6. data/README.md +105 -0
  7. data/Rakefile +13 -0
  8. data/exe/pandoc2review +12 -0
  9. data/lib/pandoc2review.rb +99 -0
  10. data/lua/filters.lua +163 -0
  11. data/lua/review.lua +620 -0
  12. data/markdown-format.ja.md +721 -0
  13. data/pandoc2review.gemspec +29 -0
  14. data/samples/format.md +276 -0
  15. data/samples/reviewsample/.gitignore +154 -0
  16. data/samples/reviewsample/Gemfile +4 -0
  17. data/samples/reviewsample/Rakefile +3 -0
  18. data/samples/reviewsample/catalog.yml +10 -0
  19. data/samples/reviewsample/ch01.md +38 -0
  20. data/samples/reviewsample/ch02.re +3 -0
  21. data/samples/reviewsample/config-ebook.yml +6 -0
  22. data/samples/reviewsample/config.yml +20 -0
  23. data/samples/reviewsample/images/cover-a5.ai +5836 -16
  24. data/samples/reviewsample/images/cover.jpg +0 -0
  25. data/samples/reviewsample/images/pandoc2review.png +0 -0
  26. data/samples/reviewsample/lib/tasks/review.rake +128 -0
  27. data/samples/reviewsample/lib/tasks/z01_pandoc2review.rake +69 -0
  28. data/samples/reviewsample/sty/README.md +168 -0
  29. data/samples/reviewsample/sty/gentombow.sty +769 -0
  30. data/samples/reviewsample/sty/jsbook.cls +2072 -0
  31. data/samples/reviewsample/sty/jumoline.sty +310 -0
  32. data/samples/reviewsample/sty/plistings.sty +326 -0
  33. data/samples/reviewsample/sty/review-base.sty +530 -0
  34. data/samples/reviewsample/sty/review-custom.sty +1 -0
  35. data/samples/reviewsample/sty/review-jsbook.cls +503 -0
  36. data/samples/reviewsample/sty/review-style.sty +49 -0
  37. data/samples/reviewsample/sty/reviewmacro.sty +15 -0
  38. data/samples/reviewsample/style.css +494 -0
  39. 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