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,530 @@
1
+ \ProvidesClass{review-base}[2020/08/16]
2
+ \RequirePackage{ifthen}
3
+ \@ifundefined{Hy@Info}{% for jsbook.cls
4
+ \RequirePackage[dvipdfmx,bookmarks=true,bookmarksnumbered=true]{hyperref}
5
+ \RequirePackage[dvipdfmx]{pxjahyper}
6
+ \newif\if@reclscover \@reclscovertrue
7
+ \newcommand{\includefullpagegraphics}[2][]{%
8
+ \thispagestyle{empty}%
9
+ \begin{center}%
10
+ \includegraphics[#1]{#2}%
11
+ \end{center}}
12
+ \def\review@coverimageoption{width=\textwidth,height=\textheight,keepaspectratio}
13
+ }{}
14
+ \ifthenelse{\equal{\review@texcompiler}{uplatex}}{%
15
+ \RequirePackage[deluxe,uplatex]{otf}%
16
+ }{%
17
+ \RequirePackage[deluxe]{otf}%
18
+ }
19
+ \RequirePackage{caption}
20
+ \RequirePackage{needspace}
21
+ \RequirePackage{suffix}
22
+ \RequirePackage[T1]{fontenc}\RequirePackage{textcomp}%T1/TS1
23
+ \RequirePackage{lmodern}
24
+ \RequirePackage[dvipdfmx]{graphicx}
25
+ \RequirePackage[dvipdfmx,table]{xcolor}%requires colortbl, array
26
+ \RequirePackage{framed}
27
+ \RequirePackage{wrapfig}
28
+ \definecolor{shadecolor}{gray}{0.9}
29
+ \definecolor{shadecolorb}{gray}{0.1}
30
+ \definecolor{reviewgreen}{rgb}{0,0.4,0}
31
+ \definecolor{reviewblue}{rgb}{0.2,0.2,0.4}
32
+ \definecolor{reviewred}{rgb}{0.7,0,0}
33
+ \definecolor{reviewdarkred}{rgb}{0.3,0,0}
34
+ \RequirePackage[utf8]{inputenc}
35
+ \RequirePackage{ascmac}
36
+ \RequirePackage{float}
37
+ \RequirePackage{alltt}
38
+ \RequirePackage{amsmath}
39
+ \RequirePackage{amssymb}
40
+ \RequirePackage{amsthm}
41
+ \RequirePackage{bm}
42
+ \RequirePackage{tabularx}
43
+
44
+ %% if you use @<u>{} (underline), use jumoline.sty
45
+ \IfFileExists{jumoline.sty}{
46
+ \RequirePackage{jumoline}
47
+ }
48
+
49
+ \long\def\review@ifempty#1{\expandafter\ifx\expandafter\relax\detokenize{#1}\relax\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi}
50
+
51
+ %% pass bbox setting to extractbb of graphicx
52
+ \ifdefined\review@bbox
53
+ \def\Gin@pagebox{\review@bbox}
54
+ \fi
55
+
56
+ \newenvironment{shadedb}{%
57
+ \def\FrameCommand{\fboxsep=\FrameSep \colorbox{shadecolorb}}%
58
+ \MakeFramed {\FrameRestore}}%
59
+ {\endMakeFramed}
60
+
61
+ \newcommand{\parasep}{\vspace*{3zh}}
62
+
63
+ \RequirePackage{pxrubrica}
64
+ \@ifpackagelater{pxrubrica}{2017/04/20}{%
65
+ \rubysetup{J}}{%
66
+ \rubysetup{g}}
67
+
68
+ \ifthenelse{\equal{\review@documentclass}{utbook} \OR \equal{\review@documentclass}{tbook}}{%
69
+ \newcommand{\headfont}{\gtfamily\sffamily\bfseries}
70
+ \RequirePackage{plext}
71
+ }{%
72
+ }
73
+
74
+ \ifdefined\review@highlightlatex
75
+ \ifthenelse{\equal{\review@highlightlatex}{listings}}{%
76
+ \ifthenelse{\equal{\review@language}{ja}}{%
77
+ \RequirePackage{listings,plistings}
78
+ }{%
79
+ \RequirePackage{listings}
80
+ }%
81
+ \renewcommand{\lstlistingname}{\review@intn@list}
82
+ \lstset{%
83
+ breaklines=true,%
84
+ breakautoindent=false,%
85
+ breakindent=0pt,%
86
+ fontadjust=true,%
87
+ backgroundcolor=\color{shadecolor},%
88
+ frame=single,%
89
+ framerule=0pt,%
90
+ basicstyle=\ttfamily\scriptsize,%
91
+ commentstyle=\color{reviewgreen},%
92
+ identifierstyle=\color{reviewblue},%
93
+ stringstyle=\color{reviewred},%
94
+ keywordstyle=\bfseries\color{reviewdarkred},%
95
+ }
96
+ \lstnewenvironment{reviewemlistlst}[1][]{\lstset{#1}}{}
97
+ \lstnewenvironment{reviewemlistnumlst}[1][]{\lstset{numbers=left, #1}}{}
98
+ \lstnewenvironment{reviewlistlst}[1][]{\lstset{#1}}{}
99
+ \lstnewenvironment{reviewlistnumlst}[1][]{\lstset{numbers=left, #1}}{}
100
+ \lstnewenvironment{reviewsourcelst}[1][]{\lstset{#1}}{}
101
+ \lstnewenvironment{reviewsourcenumlst}[1][]{\lstset{numbers=left, #1}}{}
102
+ \lstnewenvironment{reviewcmdlst}[1][]{\lstset{backgroundcolor=\color{white}, frameround=tttt, frame=trbl, #1}}{}
103
+ }{%
104
+ }
105
+ \fi
106
+
107
+ \newenvironment{reviewimage}{%
108
+ \begin{figure}
109
+ \begin{center}}{%
110
+ \end{center}
111
+ \end{figure}}
112
+
113
+ \newenvironment{reviewdummyimage}{%
114
+ \begin{figure}
115
+ \begin{center}\begin{alltt}}{%
116
+ \end{alltt}\end{center}
117
+ \end{figure}}
118
+
119
+ \DeclareRobustCommand{\reviewincludegraphics}[2][]{%
120
+ \includegraphics[#1]{#2}}
121
+
122
+ \newcommand{\reviewequationcaption}[1]{%
123
+ \medskip{\small\noindent #1}}
124
+ \newenvironment{reviewequationblock}{\needspace{2\Cvs}}{}
125
+
126
+ \newenvironment{reviewlistblock}{\needspace{2\Cvs}}{}
127
+
128
+ \newenvironment{reviewemlist}{%
129
+ \medskip\small\begin{shaded}\ifdefined\reviewlistxkanjiskip\xkanjiskip=\reviewlistxkanjiskip\fi\setlength{\baselineskip}{1.3zw}\begin{alltt}}{%
130
+ \end{alltt}\end{shaded}}
131
+
132
+ \newenvironment{reviewlist}{%
133
+ \begin{shaded}\small\ifdefined\reviewlistxkanjiskip\xkanjiskip=\reviewlistxkanjiskip\fi\setlength{\baselineskip}{1.3zw}\begin{alltt}}{%
134
+ \end{alltt}\end{shaded}\par\vspace*{0.5zw}}
135
+
136
+ \newenvironment{reviewsource}{%
137
+ \begin{shaded}\small\ifdefined\reviewlistxkanjiskip\xkanjiskip=\reviewlistxkanjiskip\fi\setlength{\baselineskip}{1.3zw}\begin{alltt}}{%
138
+ \end{alltt}\end{shaded}\par\vspace*{0.5zw}}
139
+
140
+ \newenvironment{reviewcmd}{%
141
+ \color{white}\medskip\small\ifdefined\reviewlistxkanjiskip\xkanjiskip=\reviewlistxkanjiskip\fi\begin{shadedb}\setlength{\baselineskip}{1.3zw}\begin{alltt}}{%
142
+ \end{alltt}\end{shadedb}}
143
+
144
+ \newenvironment{reviewbox}{%
145
+ \medskip\small\begin{framed}\ifdefined\reviewlistxkanjiskip\xkanjiskip=\reviewlistxkanjiskip\fi\setlength{\baselineskip}{1.3zw}\begin{alltt}}{%
146
+ \end{alltt}\end{framed}}
147
+
148
+ \newenvironment{reviewtable}[1]{%
149
+ \begin{center}\small\setlength{\baselineskip}{1.2zw}
150
+ \begin{tabular}{#1}}{%
151
+ \end{tabular}
152
+ \end{center}}
153
+
154
+ \newenvironment{reviewcolumn}[1][]{%
155
+ \begin{framed}
156
+ \reviewcolumnhead{}{#1}
157
+ }{%
158
+ \end{framed}
159
+ \vspace{2zw}}
160
+
161
+ \newcommand{\reviewcolumnhead}[2]{%
162
+ {\noindent\large \review@intn@columnhead{}: #2}}
163
+
164
+ \newcommand{\reviewtablecaption}[1]{%
165
+ \caption{#1}}
166
+
167
+ \WithSuffix\newcommand\reviewtablecaption*[1]{%
168
+ \caption*{#1}}
169
+
170
+ \newcommand\reviewimagecaption[1]{%
171
+ \caption{#1}}
172
+
173
+ \newcommand{\reviewimgtablecaption}[1]{%
174
+ \caption{#1}\vspace{-3mm}}
175
+
176
+ \newcommand{\reviewbackslash}[0]{%
177
+ \textbackslash{}}
178
+
179
+ \newcommand{\reviewlistcaption}[1]{%
180
+ \medskip{\small\noindent #1}\vspace*{-1.3zw}}
181
+
182
+ \newcommand{\reviewemlistcaption}[1]{%
183
+ \medskip{\small\noindent #1}\vspace*{-1.3zw}}
184
+
185
+ \newcommand{\reviewsourcecaption}[1]{%
186
+ \medskip{\small\noindent #1}\vspace*{-1.3zw}}
187
+
188
+ \newcommand{\reviewcmdcaption}[1]{%
189
+ \medskip{\small\noindent #1}\vspace*{-1.3zw}}
190
+
191
+ \newcommand{\reviewindepimagecaption}[1]{%
192
+ \begin{center}#1\end{center}}
193
+
194
+ \newcommand{\reviewboxcaption}[1]{%
195
+ \medskip{\small\noindent #1}\vspace*{-1.3zw}}
196
+
197
+ \newcommand{\reviewimageref}[2]{\review@intn@image #1}
198
+ \newcommand{\reviewtableref}[2]{\review@intn@table #1}
199
+ \newcommand{\reviewlistref}[1]{\review@intn@list #1}
200
+ \newcommand{\reviewequationref}[1]{\review@intn@equation #1}
201
+ \newcommand{\reviewbibref}[2]{\hyperref[#2]{#1}}
202
+ \newcommand{\reviewcolumnref}[2]{#1}% XXX:ハイパーリンクにはreviewcolumn側の調整が必要
203
+ \newcommand{\reviewchapref}[2]{\hyperref[#2]{#1}}
204
+ \newcommand{\reviewsecref}[2]{\hyperref[#2]{#1}}
205
+
206
+ \newenvironment{reviewpart}{%
207
+ \setcounter{section}{0}%
208
+ \renewcommand{\thesection}{\thepart.\@arabic\c@section}%
209
+ }{}
210
+
211
+ \newcommand{\reviewminicolumntitle}[1]{%
212
+ \review@ifempty{#1}{}{%
213
+ {\large \review@intn@memohead{}: #1}\\}}
214
+
215
+ \renewcommand{\contentsname}{\review@toctitle}
216
+
217
+ \newenvironment{reviewminicolumn}{%
218
+ \vspace{1.5zw}\begin{screen}}{%
219
+ \end{screen}\vspace{2zw}}
220
+
221
+ \newenvironment{reviewnote}[1][]{%
222
+ \begin{reviewminicolumn}
223
+ \review@ifempty{#1}{}{\reviewminicolumntitle{#1}}
224
+ }{\end{reviewminicolumn}}
225
+ \newenvironment{reviewmemo}[1][]{%
226
+ \begin{reviewminicolumn}
227
+ \reviewminicolumntitle{#1}
228
+ }{\end{reviewminicolumn}}
229
+ \newenvironment{reviewtip}[1][]{%
230
+ \begin{reviewminicolumn}
231
+ \reviewminicolumntitle{#1}
232
+ }{\end{reviewminicolumn}}
233
+ \newenvironment{reviewinfo}[1][]{%
234
+ \begin{reviewminicolumn}
235
+ \reviewminicolumntitle{#1}
236
+ }{\end{reviewminicolumn}}
237
+ \newenvironment{reviewwarning}[1][]{%
238
+ \begin{reviewminicolumn}
239
+ \reviewminicolumntitle{#1}
240
+ }{\end{reviewminicolumn}}
241
+ \newenvironment{reviewimportant}[1][]{%
242
+ \begin{reviewminicolumn}
243
+ \reviewminicolumntitle{#1}
244
+ }{\end{reviewminicolumn}}
245
+ \newenvironment{reviewcaution}[1][]{%
246
+ \begin{reviewminicolumn}
247
+ \reviewminicolumntitle{#1}
248
+ }{\end{reviewminicolumn}}
249
+ \newenvironment{reviewnotice}[1][]{%
250
+ \begin{reviewminicolumn}
251
+ \reviewminicolumntitle{#1}
252
+ }{\end{reviewminicolumn}}
253
+
254
+ \DeclareRobustCommand{\reviewkw}[1]{\textbf{\textgt{#1}}}
255
+ \DeclareRobustCommand{\reviewami}[1]{\mask{#1}{A}}
256
+ \DeclareRobustCommand{\reviewem}[1]{\textbf{#1}}
257
+ \DeclareRobustCommand{\reviewstrong}[1]{\textbf{#1}}
258
+ \DeclareRobustCommand{\reviewballoon}[1]{←{#1}}
259
+ \DeclareRobustCommand{\reviewunderline}[1]{\Underline{#1}}
260
+ \DeclareRobustCommand{\reviewit}[1]{\textit{#1}}
261
+ \DeclareRobustCommand{\reviewbold}[1]{\textbf{#1}}
262
+
263
+ % allow break line in tt
264
+ % contributed by @zr_tex8r
265
+ \g@addto@macro\pdfstringdefPreHook{% for PDF bookmarks
266
+ \def\reviewami#1{#1}
267
+ \def\reviewbreakall#1{#1}
268
+ \def\reviewballoon#1{#1}
269
+ \def\reviewbou#1{#1}
270
+ \def\reviewkw#1{#1}
271
+ \def\reviewstrike#1{#1}
272
+ \def\reviewunderline#1{#1}
273
+ }
274
+ \newif\ifreview@ba@break
275
+ \def\review@ba@end{\review@ba@end@}
276
+ \DeclareRobustCommand{\reviewbreakall}[1]{%
277
+ \begingroup
278
+ \review@ba@breakfalse
279
+ \review@break@all@a#1\review@ba@end
280
+ \endgroup
281
+ }
282
+ \def\review@break@all@a{%
283
+ \futurelet\review@ba@tok\review@break@all@b
284
+ }
285
+ \def\review@break@all@b{%
286
+ \ifx\review@ba@tok\review@ba@end
287
+ \let\next\@gobble
288
+ \else\ifx\review@ba@tok\@sptoken
289
+ \let\next\review@break@all@c
290
+ \else\ifx\review@ba@tok~%
291
+ \let\next\review@break@all@d
292
+ \else\ifx\review@ba@tok\bgroup
293
+ \let\next\review@break@all@e
294
+ \else
295
+ \let\next\review@break@all@f
296
+ \fi\fi\fi\fi
297
+ \next
298
+ }
299
+ \expandafter\def\expandafter\review@break@all@c\space{%
300
+ \space
301
+ \review@ba@breakfalse
302
+ \review@break@all@a
303
+ }
304
+ \def\review@break@all@d#1{%
305
+ \review@break@all@f{\mbox{\space}}%
306
+ }
307
+ \def\review@break@all@e#1{%
308
+ \review@break@all@f{{#1}}%
309
+ }
310
+ \def\review@break@all@f#1{%
311
+ \ifreview@ba@break
312
+ \hskip0pt plus 0.02em\relax
313
+ \fi
314
+ #1%
315
+ \review@ba@breaktrue
316
+ \review@break@all@a
317
+ }
318
+ \DeclareRobustCommand{\reviewtt}[1]{{\ttfamily\reviewbreakall{#1}}}
319
+ \DeclareRobustCommand{\reviewcode}[1]{{\ttfamily\reviewbreakall{#1}}}
320
+ \DeclareRobustCommand{\reviewtti}[1]{{\ttfamily\itshape\reviewbreakall{#1}}}
321
+ \DeclareRobustCommand{\reviewttb}[1]{{\ttfamily\bfseries\reviewbreakall{#1}}}
322
+
323
+ \DeclareRobustCommand{\reviewbou}[1]{\kenten{#1}}
324
+
325
+ %% @<del> is ignored in LaTeX with default style
326
+ \DeclareRobustCommand{\reviewstrike}[1]{#1}
327
+
328
+ %%%% for ulem.sty:
329
+ %%\renewcommand{\reviewstrike}[1]{\sout{#1}}
330
+ %%
331
+ %%%% for jumoline.sty:
332
+ %%\renewcommand{\reviewstrike}[1]{\Middleline{#1}}
333
+
334
+ \newcommand{\reviewth}[1]{\textgt{#1}}
335
+ \newcommand{\reviewtitlefont}[0]{\usefont{T1}{phv}{b}{n}\gtfamily}
336
+ \newcommand{\reviewmainfont}[0]{}
337
+ \newcommand{\reviewcolophon}[0]{\clearpage}
338
+ \newcommand{\reviewappendix}[0]{\appendix}
339
+
340
+ \newcommand{\reviewprepartname}{\review@prepartname}
341
+ \newcommand{\reviewpostpartname}{\review@postpartname}
342
+ \newcommand{\reviewprechaptername}{\review@prechaptername}
343
+ \newcommand{\reviewpostchaptername}{\review@postchaptername}
344
+ \newcommand{\reviewfigurename}{\review@figurename}
345
+ \newcommand{\reviewtablename}{\review@tablename}
346
+ \newcommand{\reviewappendixname}{\review@appendixname}
347
+
348
+ \ifdefined\prepartname
349
+ \renewcommand{\prepartname}{\reviewprepartname}
350
+ \fi
351
+ \ifdefined\postpartname
352
+ \renewcommand{\postpartname}{\reviewpostpartname}
353
+ \fi
354
+ \ifdefined\prechaptername
355
+ \renewcommand{\prechaptername}{\reviewprechaptername}
356
+ \fi
357
+ \ifdefined\postchaptername
358
+ \renewcommand{\postchaptername}{\reviewpostchaptername}
359
+ \fi
360
+ \ifdefined\figurename
361
+ \renewcommand{\figurename}{\reviewfigurename}
362
+ \fi
363
+ \ifdefined\tablename
364
+ \renewcommand{\tablename}{\reviewtablename}
365
+ \fi
366
+ \ifdefined\appendixname
367
+ \renewcommand{\appendixname}{\reviewappendixname}
368
+ \fi
369
+
370
+ % PDF meta information
371
+ \def\recls@tmp{ebook}\ifx\recls@cameraready\recls@tmp
372
+ \hypersetup{
373
+ pdftitle={\review@booktitlename},
374
+ pdfauthor={\ifdefined\review@autnames\review@autnames\fi},
375
+ pdfcreator={Re:VIEW \review@reviewversion, with LaTeX}
376
+ }
377
+ \else
378
+ \newcommand*\PDFDocumentInformation[1]{%
379
+ \AtBeginShipoutFirst{\special{pdf:docinfo <<#1>>}}}
380
+ \@onlypreamble\PDFDocumentInformation
381
+
382
+ % for non hyperref. escaped character will be displayed funny...
383
+ \PDFDocumentInformation{
384
+ /Title (\review@booktitlename)
385
+ \ifdefined\review@autnames /Author (\review@autnames)\fi
386
+ % /Subject ()
387
+ % /Keywords (,,)
388
+ /Creator (Re:VIEW \review@reviewversion, with LaTeX)
389
+ }
390
+ \fi
391
+
392
+ %% maxwidth is the original width if it is less than linewidth
393
+ %% otherwise use linewidth (to make sure the graphics do not exceed the margin)
394
+ \def\maxwidth{%
395
+ \ifdim\Gin@nat@width>\linewidth
396
+ \linewidth
397
+ \else
398
+ \Gin@nat@width
399
+ \fi
400
+ }
401
+
402
+ % hooks
403
+ \def\reviewbegindocumenthook{}
404
+
405
+ \def\reviewenddocumenthook{}
406
+
407
+ \def\reviewfrontmatterhook{%
408
+ \renewcommand{\chaptermark}[1]{{}}
409
+ \frontmatter
410
+ }
411
+
412
+ \def\reviewmainmatterhook{%
413
+ \renewcommand{\chaptermark}[1]{\markboth{\prechaptername\thechapter\postchaptername~##1}{}}
414
+ \mainmatter
415
+ }
416
+
417
+ \def\reviewappendixhook{%
418
+ \renewcommand{\chaptermark}[1]{\markboth{\appendixname\thechapter~##1}{}}
419
+ \reviewappendix
420
+ }
421
+
422
+ \def\reviewbackmatterhook{%
423
+ \backmatter
424
+ }
425
+
426
+ % cover
427
+ \newcommand*\covermatter{%
428
+ \ifdefined\review@usecovernombre%
429
+ \pagenumbering{coverpagezero}
430
+ \setcounter{page}{0}% force to even page, to avoid empty page
431
+ \fi
432
+ }
433
+
434
+ \if@reclscover
435
+ \ifdefined\review@coverimage
436
+ \ifrecls@coverfitpage
437
+ \def\review@coverimageoption{width=\paperwidth,height=\paperheight}
438
+ \fi
439
+ \def\reviewcoverpagecont{%
440
+ \expandafter\includefullpagegraphics\expandafter[\review@coverimageoption]{\review@coverimage}
441
+ \cleardoublepage
442
+ }
443
+ \fi
444
+ \ifdefined\review@coverfile
445
+ \def\reviewcoverpagecont{\review@coverfile}
446
+ \fi
447
+ \fi
448
+
449
+ % titlepage
450
+ \ifdefined\review@titlepage
451
+ \ifthenelse{\isundefined{\review@titlefile}}{%
452
+ \def\reviewtitlepagecont{%
453
+ \begin{titlepage}
454
+ \thispagestyle{empty}
455
+ \begin{center}%
456
+ \mbox{} \vskip5zw
457
+ \reviewtitlefont%
458
+ {\Huge\review@booktitlename\par}%
459
+ \ifdefined\review@subtitlename
460
+ \vskip 1em%
461
+ {\Large\review@subtitlename\par}%
462
+ \fi
463
+ \vskip 15em%
464
+ {\huge
465
+ \lineskip .75em
466
+ \begin{tabular}[t]{p{\textwidth}}%
467
+ \centering\review@titlepageauthors
468
+ \end{tabular}\par}%
469
+ \vfill
470
+ {\large\review@date \review@intn@edition\hspace{2zw}\review@intn@publishedby\par}%
471
+ \vskip4zw\mbox{}
472
+ \end{center}%
473
+ \end{titlepage}\clearpage
474
+ }
475
+ }{%
476
+ \def\reviewtitlepagecont{\review@titlefile}
477
+ }
478
+ \fi
479
+
480
+ % toc
481
+ \ifdefined\review@toc
482
+ \def\reviewtableofcontents{%
483
+ \setcounter{tocdepth}{\review@tocdepth}
484
+ \tableofcontents
485
+ }
486
+ \fi
487
+
488
+ % index
489
+ \ifdefined\review@makeindex
490
+ \RequirePackage{makeidx}
491
+ \makeindex
492
+ \fi
493
+
494
+ \ifdefined\review@makeindex
495
+ \def\reviewprintindex{%
496
+ \printindex
497
+ }
498
+ \fi
499
+
500
+ % colophon
501
+ \ifdefined\review@colophon
502
+ \ifthenelse{\isundefined{\review@colophonfile}}{%
503
+ \def\reviewcolophonpagecont{%
504
+ \reviewcolophon
505
+ \thispagestyle{empty}
506
+ \vspace*{\fill}
507
+ {\noindent\reviewtitlefont\Large\review@booktitlename}\\
508
+ \ifdefined\review@subtitlename
509
+ {\noindent\reviewtitlefont\large\review@subtitlename} \\
510
+ \fi
511
+ \rule[8pt]{\textwidth}{1pt} \\
512
+ {\noindent\review@pubhistories}
513
+
514
+ \begin{tabularx}{\dimexpr\textwidth-0.5em}{lX}
515
+ \review@colophonnames
516
+ \end{tabularx}
517
+  \\
518
+ \rule[0pt]{\textwidth}{1pt} \\
519
+ \ifdefined\review@rights
520
+ \review@rights
521
+ \fi
522
+ }%
523
+ }{%
524
+ \def\reviewcolophonpagecont{\review@colophonfile}
525
+ }
526
+ \fi
527
+
528
+ \newcolumntype{L}[1]{>{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}p{#1}}
529
+ \newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}p{#1}}
530
+ \newcolumntype{R}[1]{>{\raggedleft\let\newline\\\arraybackslash\hspace{0pt}}p{#1}}