review 3.0.0 → 4.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (170) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby-win.yml +39 -0
  3. data/.github/workflows/ruby.yml +27 -0
  4. data/.rubocop.yml +50 -12
  5. data/.travis.yml +17 -8
  6. data/Dockerfile +21 -5
  7. data/NEWS.ja.md +358 -0
  8. data/NEWS.md +358 -1
  9. data/README.md +11 -8
  10. data/appveyor.yml +1 -3
  11. data/bin/review-catalog-converter +4 -4
  12. data/bin/review-check +8 -8
  13. data/bin/review-checkdep +1 -1
  14. data/bin/review-compile +12 -12
  15. data/bin/review-epubmaker +3 -35
  16. data/bin/review-idgxmlmaker +16 -0
  17. data/bin/review-index +2 -89
  18. data/bin/review-preproc +14 -19
  19. data/bin/review-validate +3 -3
  20. data/bin/review-vol +4 -78
  21. data/doc/LICENSE +1 -1
  22. data/doc/config.yml.sample +46 -12
  23. data/doc/config.yml.sample-simple +4 -2
  24. data/doc/format.ja.md +37 -13
  25. data/doc/format.md +35 -20
  26. data/doc/pdfmaker.ja.md +43 -1
  27. data/doc/pdfmaker.md +42 -1
  28. data/doc/quickstart.ja.md +46 -26
  29. data/doc/quickstart.md +38 -17
  30. data/lib/epubmaker/epubcommon.rb +10 -5
  31. data/lib/epubmaker/epubv2.rb +1 -1
  32. data/lib/epubmaker/epubv3.rb +1 -0
  33. data/lib/epubmaker/producer.rb +4 -2
  34. data/lib/review/book.rb +1 -1
  35. data/lib/review/book/base.rb +38 -79
  36. data/lib/review/book/chapter.rb +18 -3
  37. data/lib/review/book/compilable.rb +6 -5
  38. data/lib/review/book/index.rb +69 -101
  39. data/lib/review/book/index/item.rb +40 -0
  40. data/lib/review/book/page_metric.rb +7 -7
  41. data/lib/review/book/part.rb +28 -5
  42. data/lib/review/book/volume.rb +3 -4
  43. data/lib/review/builder.rb +105 -44
  44. data/lib/review/catalog.rb +13 -16
  45. data/lib/review/compiler.rb +84 -72
  46. data/lib/review/configure.rb +19 -8
  47. data/lib/review/epub2html.rb +37 -4
  48. data/lib/review/epubmaker.rb +62 -7
  49. data/lib/review/extentions/string.rb +0 -4
  50. data/lib/review/htmlbuilder.rb +102 -115
  51. data/lib/review/htmlutils.rb +2 -3
  52. data/lib/review/i18n.rb +2 -2
  53. data/lib/review/i18n.yml +9 -0
  54. data/lib/review/idgxmlbuilder.rb +153 -74
  55. data/lib/review/idgxmlmaker.rb +191 -0
  56. data/lib/review/init-web/finish.html +10 -0
  57. data/lib/review/init-web/index.html +190 -0
  58. data/lib/review/init-web/review-layout-design.js +691 -0
  59. data/lib/review/init.rb +125 -34
  60. data/lib/review/latexbuilder.rb +199 -88
  61. data/lib/review/lineinput.rb +1 -1
  62. data/lib/review/location.rb +32 -0
  63. data/lib/review/logger.rb +4 -8
  64. data/lib/review/makerhelper.rb +24 -5
  65. data/lib/review/markdownbuilder.rb +31 -37
  66. data/lib/review/md2inaobuilder.rb +3 -5
  67. data/lib/review/pdfmaker.rb +44 -22
  68. data/lib/review/plaintextbuilder.rb +106 -85
  69. data/lib/review/preprocessor.rb +32 -41
  70. data/lib/review/rstbuilder.rb +33 -33
  71. data/lib/review/textmaker.rb +19 -3
  72. data/lib/review/textutils.rb +76 -2
  73. data/lib/review/tocprinter.rb +231 -102
  74. data/lib/review/topbuilder.rb +114 -61
  75. data/lib/review/update.rb +19 -19
  76. data/lib/review/version.rb +1 -1
  77. data/lib/review/volumeprinter.rb +99 -0
  78. data/lib/review/webmaker.rb +11 -4
  79. data/lib/review/webtocprinter.rb +38 -35
  80. data/lib/review/yamlloader.rb +26 -16
  81. data/review.gemspec +6 -4
  82. data/samples/sample-book/README.md +7 -2
  83. data/samples/sample-book/src/.gitignore +154 -0
  84. data/samples/sample-book/src/config-ebook.yml +4 -0
  85. data/samples/sample-book/src/config-jlreq-ebook.yml +4 -0
  86. data/samples/sample-book/src/config-jlreq.yml +6 -0
  87. data/samples/sample-book/src/config.yml +2 -2
  88. data/samples/sample-book/src/lib/tasks/review.rake +29 -14
  89. data/samples/sample-book/src/lib/tasks/z01_copy_sty.rake +14 -8
  90. data/samples/syntax-book/ch01.re +4 -2
  91. data/samples/syntax-book/ch02.re +8 -16
  92. data/samples/syntax-book/ch03.re +3 -6
  93. data/samples/syntax-book/config-jlreq-lualatex.yml +4 -0
  94. data/samples/syntax-book/config-jlreq.yml +5 -0
  95. data/samples/syntax-book/config-print.yml +3 -0
  96. data/samples/syntax-book/config.yml +1 -1
  97. data/samples/syntax-book/lib/tasks/review.rake +30 -15
  98. data/samples/syntax-book/lib/tasks/z01_copy_sty.rake +14 -8
  99. data/templates/latex/config.erb +16 -0
  100. data/templates/latex/layout.tex.erb +4 -0
  101. data/templates/latex/review-jlreq/review-base.sty +150 -61
  102. data/templates/latex/review-jlreq/review-jlreq.cls +74 -8
  103. data/templates/latex/review-jlreq/review-style.sty +4 -1
  104. data/templates/latex/review-jsbook/README.md +39 -0
  105. data/templates/latex/review-jsbook/review-base.sty +101 -23
  106. data/templates/latex/review-jsbook/review-jsbook.cls +28 -5
  107. data/templates/latex/review-jsbook/review-style.sty +5 -2
  108. data/templates/opf/epubv3.opf.erb +1 -0
  109. data/templates/web/html/layout-html5.html.erb +2 -2
  110. data/test/assets/test_template.tex +24 -3
  111. data/test/assets/test_template_backmatter.tex +24 -3
  112. data/test/test_book.rb +75 -21
  113. data/test/test_book_chapter.rb +4 -2
  114. data/test/test_book_part.rb +3 -3
  115. data/test/test_builder.rb +16 -0
  116. data/test/test_catalog.rb +24 -42
  117. data/test/test_catalog_converter_cmd.rb +1 -1
  118. data/test/test_epubmaker_cmd.rb +14 -7
  119. data/test/test_helper.rb +15 -7
  120. data/test/test_htmlbuilder.rb +909 -159
  121. data/test/test_i18n.rb +25 -25
  122. data/test/test_idgxmlbuilder.rb +395 -38
  123. data/test/test_idgxmlmaker_cmd.rb +46 -0
  124. data/test/test_image_finder.rb +52 -70
  125. data/test/test_index.rb +50 -10
  126. data/test/test_latexbuilder.rb +1194 -106
  127. data/test/test_latexbuilder_v2.rb +628 -97
  128. data/test/test_logger.rb +14 -1
  129. data/test/test_makerhelper.rb +3 -3
  130. data/test/test_markdownbuilder.rb +134 -16
  131. data/test/test_md2inaobuilder.rb +32 -9
  132. data/test/test_pdfmaker.rb +18 -1
  133. data/test/test_pdfmaker_cmd.rb +100 -6
  134. data/test/test_plaintextbuilder.rb +371 -25
  135. data/test/test_preprocessor.rb +2 -16
  136. data/test/test_rstbuilder.rb +249 -26
  137. data/test/test_textmaker_cmd.rb +54 -0
  138. data/test/test_textutils.rb +109 -2
  139. data/test/test_topbuilder.rb +546 -31
  140. data/test/test_update.rb +17 -8
  141. data/test/test_webtocprinter.rb +66 -34
  142. data/test/test_yamlloader.rb +13 -0
  143. data/vendor/jsclasses/LICENSE +1 -1
  144. data/vendor/jsclasses/jis/jsarticle.cls +53 -14
  145. data/vendor/jsclasses/jis/jsbook.cls +53 -14
  146. data/vendor/jsclasses/jis/jsclasses.dtx +84 -25
  147. data/vendor/jsclasses/jis/jslogo.dtx +4 -4
  148. data/vendor/jsclasses/jis/jslogo.sty +3 -3
  149. data/vendor/jsclasses/jis/jspf.cls +52 -13
  150. data/vendor/jsclasses/jis/jsreport.cls +53 -14
  151. data/vendor/jsclasses/jis/kiyou.cls +53 -14
  152. data/vendor/jsclasses/jis/okumacro.dtx +4 -5
  153. data/vendor/jsclasses/jis/okumacro.sty +3 -4
  154. data/vendor/jsclasses/jsarticle.cls +53 -14
  155. data/vendor/jsclasses/jsbook.cls +53 -14
  156. data/vendor/jsclasses/jsclasses.dtx +84 -25
  157. data/vendor/jsclasses/jsclasses.pdf +0 -0
  158. data/vendor/jsclasses/jslogo.dtx +4 -4
  159. data/vendor/jsclasses/jslogo.pdf +0 -0
  160. data/vendor/jsclasses/jslogo.sty +3 -3
  161. data/vendor/jsclasses/jspf.cls +52 -13
  162. data/vendor/jsclasses/jsreport.cls +53 -14
  163. data/vendor/jsclasses/kiyou.cls +53 -14
  164. data/vendor/jsclasses/okumacro.dtx +4 -5
  165. data/vendor/jsclasses/okumacro.pdf +0 -0
  166. data/vendor/jsclasses/okumacro.sty +3 -4
  167. metadata +55 -10
  168. data/lib/review/tocparser.rb +0 -271
  169. data/samples/syntax-book/review-ext.rb +0 -14
  170. data/test/test_tocparser.rb +0 -25
@@ -1,5 +1,5 @@
1
1
  %#!ptex2pdf -l -u -ot '-synctex=1' test-rejlreqbk
2
- % Copyright (c) 2018 Kenshi Muto.
2
+ % Copyright (c) 2018-2019 Kenshi Muto.
3
3
  %
4
4
  % Permission is hereby granted, free of charge, to any person obtaining a copy
5
5
  % of this software and associated documentation files (the "Software"), to deal
@@ -20,7 +20,7 @@
20
20
  % THE SOFTWARE.
21
21
 
22
22
  \NeedsTeXFormat{LaTeX2e}
23
- \ProvidesClass{review-jlreq}[2018/10/05 Re:VIEW pLaTeX class modified for jlreq.
23
+ \ProvidesClass{review-jlreq}[2019/11/11 Re:VIEW pLaTeX class modified for jlreq.
24
24
  cls]
25
25
 
26
26
  %% hook at end of reviewmacro
@@ -66,7 +66,9 @@ cls]
66
66
  %% set hiddenfolio preset
67
67
  \expandafter\let\expandafter\@makehiddenfolio\csname @makehiddenfolio@#1\endcsname
68
68
  %% redefine to output \@makehiddenfolio for every page
69
+ %% TODO: would better to use \jlreqtrimmarkssetup
69
70
  \@bannertoken{\hskip-5mm\smash{\hiddenfolio@font\@makehiddenfolio}}%
71
+ \def\jlreq@trimmarks@banner@even@yoko@top@left{\hskip-5mm\smash{\hiddenfolio@font\@makehiddenfolio}}%
70
72
  \AddEverypageHook{\maketombowbox}%
71
73
  \fi}
72
74
 
@@ -92,7 +94,7 @@ cls]
92
94
  \edef\recls@tmp{\thepage}%
93
95
  \lower\dimexpr4pt+\recls@tombobleed+.5\paperheight+5\p@\hbox{%
94
96
  \vbox{\expandafter\@tfor\expandafter\recls@x\expandafter:\expandafter=\recls@tmp\do{%
95
- \hbox to 1zw{\hss\recls@x\hss}}}}}%
97
+ \hbox to 1\zw{\hss\recls@x\hss}}}}}%
96
98
  \ifodd\c@page
97
99
  \rlap{\recls@hiddfolio}%
98
100
  \else
@@ -161,7 +163,7 @@ cls]
161
163
  \def\recls@engine{}
162
164
  \def\recls@driver{}
163
165
  \ifdefined\jlreq@trimmarks@engine
164
- \ifx l\jlreq@trimmarks@engine\def\recls@engine{lualatex}\fi
166
+ \ifx l\jlreq@trimmarks@engine\def\recls@engine{lualatex}\def\recls@driver{luatex}\fi
165
167
  \ifx u\jlreq@trimmarks@engine\def\recls@engine{uplatex}\fi
166
168
  \ifx p\jlreq@trimmarks@engine\def\recls@engine{platex}\fi
167
169
  \else% jlreqから持ってくる
@@ -194,14 +196,22 @@ cls]
194
196
  \RequirePackage[\recls@driver]{graphicx}
195
197
  \RequirePackage[\recls@driver,table]{xcolor}
196
198
 
197
- \RequirePackage[T1]{fontenc}
199
+ % luatex固有
200
+ \def\recls@tmp{luatex}\ifx\recls@tmp\recls@driver
201
+ \DeclareGraphicsRule{.ai}{pdf}{.ai}{}
202
+ \usepackage[no-math]{fontspec}
203
+ \else
204
+ \RequirePackage[T1]{fontenc}
205
+ \RequirePackage{lmodern}%\ttdefault: lmtt
206
+ \fi
207
+
198
208
  \RequirePackage{textcomp}%T1/TS1
199
- \RequirePackage{lmodern}%\ttdefault: lmtt
200
209
  \RequirePackage{tikz}
201
210
  \usetikzlibrary{calc}
202
211
  \RequirePackage{multirow}
203
212
  \RequirePackage{amsmath}
204
213
  \RequirePackage{amssymb}
214
+ \RequirePackage{amsthm}
205
215
  \RequirePackage{needspace}
206
216
  \RequirePackage{alltt}
207
217
  \RequirePackage{float}
@@ -211,14 +221,20 @@ cls]
211
221
  \RequirePackage{tcolorbox}
212
222
  \tcbuselibrary{xparse,hooks,skins,breakable}
213
223
  \RequirePackage{ulem}
224
+ \RequirePackage{tabularx}
214
225
 
215
- \RequirePackage[dvipdfmx, \if@pdfhyperlink\else draft,\fi
226
+ \def\recls@tmp{luatex}
227
+ \RequirePackage[\recls@driver, \if@pdfhyperlink\else draft,\fi
228
+ \ifx\recls@tmp\recls@driver unicode,\fi
216
229
  bookmarks=true,
217
230
  bookmarksnumbered=true,
218
231
  hidelinks,
219
232
  setpagesize=false,
220
233
  ]{hyperref}
221
- \RequirePackage[\recls@driver]{pxjahyper}
234
+
235
+ \def\recls@tmp{uplatex}\ifx\recls@tmp\recls@engine
236
+ \RequirePackage[\recls@driver]{pxjahyper}
237
+ \fi
222
238
 
223
239
  %% include fullpage graphics
224
240
  \edef\grnchry@head{\dimexpr\topmargin+1in+\headheight+\headsep}
@@ -259,6 +275,25 @@ cls]
259
275
  \hbox{}\thispagestyle{empty}\newpage\if@twocolumn\hbox{}\newpage\fi\fi\fi}
260
276
  \let\clearoddpage\cleardoublepage@left
261
277
 
278
+ %% 行のサンプル。\makelines{行数} で「■□■□…」からなる行を指定行数配置する
279
+ \def\makelines#1{%
280
+ \@tempcnta\z@\relax
281
+ \def\@makeline@f@size{\f@size}%
282
+ \@whilenum\@tempcnta<#1\do{%
283
+ \advance\@tempcnta\@ne\relax
284
+ \noindent\rlap{\the\@tempcnta}\nobreak
285
+ \makelines@neline\par}%
286
+ }
287
+ \def\makelines@unit@#10#2\relax{%
288
+ \ifx!#2!\relax □\else\relax ■\fi}%
289
+ \newcounter{makelines@unit}
290
+ \def\makelines@neline{%
291
+ \c@makelines@unit\@ne
292
+ \@whilenum\c@makelines@unit<\dimexpr(\textwidth + \Cwd)/\Cwd\do{%
293
+ \expandafter\makelines@unit@\the\c@makelines@unit0\relax
294
+ \advance\c@makelines@unit\@ne}%
295
+ }
296
+
262
297
  % シンプルな通しノンブル
263
298
  \ifrecls@serialpage
264
299
  \jlreqsetup{frontmatter_pagination=continuous}
@@ -283,5 +318,36 @@ cls]
283
318
  \if@restonecol\twocolumn\else\newpage\fi
284
319
  }
285
320
 
321
+ % pdfpagesのトンボずれへの対処
322
+ \if@pdftombo
323
+ \def\recls@patch@pdfpages{%
324
+ \patchcmd{\AM@output}{%
325
+ \setlength{\@tempdima}{\AM@xmargin}%
326
+ \edef\AM@xmargin{\the\@tempdima}%
327
+ \setlength{\@tempdima}{\AM@ymargin}%
328
+ \edef\AM@ymargin{\the\@tempdima}%
329
+ }{%
330
+ \setlength{\@tempdima}{\AM@xmargin+1in}%
331
+ \edef\AM@xmargin{\the\@tempdima}%
332
+ \setlength{\@tempdima}{\AM@ymargin-1in}%
333
+ \edef\AM@ymargin{\the\@tempdima}%
334
+ }%
335
+ }{\message{patch for pdfpages applied}}{}
336
+ \AtBeginDocument{\@ifpackageloaded{pdfpages}{\recls@patch@pdfpages}{}}
337
+ \fi
338
+
339
+ %% 表紙のノンブル
340
+ \def\coverpagezero#1{\expandafter\@coverpagezero\csname c@#1\endcsname}
341
+ \def\@coverpagezero#1{cover}
342
+
343
+ %% xkanjiskip抽象化
344
+ \newcommand*\setxkanjiskip[1]{%
345
+ \def\recls@tmp{lualatex}\ifx\recls@tmp\recls@engine
346
+ \ltjsetparameter{xkanjiskip={#1}}
347
+ \else
348
+ \xkanjiskip=#1\relax
349
+ \fi
350
+ }
351
+
286
352
  \listfiles
287
353
  \endinput
@@ -1,5 +1,5 @@
1
1
  \NeedsTeXFormat{LaTeX2e}
2
- \ProvidesPackage{review-style}[2018/10/05]
2
+ \ProvidesPackage{review-style}[2019/09/16]
3
3
 
4
4
  %% using Helvetica as sans-serif
5
5
  \renewcommand{\sfdefault}{phv}
@@ -33,3 +33,6 @@
33
33
  % 図表フロートの配置
34
34
  \floatplacement{figure}{H}
35
35
  \floatplacement{table}{H}
36
+
37
+ % リスト内和欧空き幅 (\z@は0で、空きなしを意味する。互換性で空きを入れたいときは以下の行をコメントアウトする)
38
+ \def\reviewlistxkanjiskip{\z@}
@@ -125,3 +125,42 @@ texdocumentclass: ["review-jsbook", "クラスオプションたち(省略可
125
125
  * jsbook.cls のクラスオプション `uplatex`:これまで texdocumentclass に指定が必要だった `uplatex` オプションは不要となっています。
126
126
  * jsbook.cls のクラスオプション `nomag`:用紙サイズや版面設計は、review-jsbook.cls 側で行います。
127
127
  * hyperref パッケージ:あらかじめ hyperref パッケージを組み込んでおり、`media` オプションにより用途別で挙動を制御します。
128
+
129
+ ### 既存の jsbook.cls のオプションの扱い
130
+
131
+ review-jsbook.cls は jsbook.cls を包んでおり、一部の jsbook.cls のクラスオプションはそのまま指定可能です。
132
+
133
+ * `oneside`: 奇数ページ・偶数ページで柱やページ番号などを同じ体裁にします。review-jsbook.cls にも有効ですが、review-style.sty でこれを打ち消し奇数・偶数で別の見た目にするデザイン (fancyhdr) が定義されているので、review-style.sty も調整する必要があります。
134
+ * `twoside`: 奇数ページ・偶数ページで柱やページ番号などを別の体裁にします (デフォルト)。
135
+ * `vartwoside`: twoside とおおむね同じですが、傍注が小口ではなく常に右側になります。Re:VIEW のデフォルトでは傍注は使用していないので、効果は通常表れません。
136
+ * `onecolumn`: 1段組の体裁にします (デフォルト)。
137
+ * `twocolumn`: 2段組の体裁にします。
138
+ * `openright`: 章の始まりを右ページ (奇数ページ) にします (デフォルト)。前の章が右ページで終わった場合には、白紙のページが1ページ挿入されます。
139
+ * `openleft`: 章の始まりを左ページ (偶数ページ) にします。前の章が左ページで終わった場合には、白紙のページが1ページ挿入されます。
140
+ * `openany`: 章の始まりを左右どちらのページからでも始めます。
141
+ * `draft`: 確認作業のために、overfull box が起きた箇所の行末に罫線を引き、画像は実際に貼り付けずにボックスとファイル名だけを表記するようにします。
142
+ * `final`: 上記の draft の処理を行いません (デフォルト)。
143
+ * `leqno`: 数式の番号を右ではなく左側に置きます。ただし Re:VIEW では LaTeX のやり方での採番付き数式を作っていないので、効果は通常表れません。
144
+ * `fleqn`: 数式をデフォルトの左右中央ではなく、左側に配置します。
145
+ * `english`: 英語ドキュメント向けに、字下げをなくしたり、「章」や「目次」などの定型の文字列を英語化します。しかし、Re:VIEW では定型文字列はロケールファイルで処理しており、ほとんどは無視されます。
146
+ * `jslogo`: 「LaTeX」等のロゴを置き換えます (デフォルト)。
147
+ * `nojslogo`: ロゴを置き換えません。
148
+ * `report`: oneside と openany の両方と同じ効果を持ちます。
149
+ * `landscape`: 用紙を横長で使います。review-jsbook.cls のクラスオプションで基本版面設計をやり直す必要があることに注意してください。
150
+
151
+ jsbook.cls の以下のクラスオプションは挙動が異なります。代わりに review-jsbook.cls のクラスオプションを利用してください。
152
+
153
+ * `8pt`・`9pt`・`10pt`・`11pt`・`12pt`・`14pt`・`17pt`・`20pt`・`21pt`・`25pt`・`30pt`・`36pt`・`43pt`・`12Q`・`14Q`・`10ptj`・`10.5ptj`・`11ptj`・`12ptj`: 基本文字のサイズを指定します。そのまま review-jsbook.cls の fontsize に渡されますが、上記の fontsize クラスオプションの説明にあるとおり丸められます。
154
+ * `tombow`・`tombo`・`mentuke`: トンボや塗り足しを作成しますが、これらは PDF 入稿に求められる正しいデジタルトンボ情報を入れないので使用してはなりません。review-jsbook.cls の `media=print` を使ってください。
155
+ * `a4paper`・`a5paper`・`b5paper`・`b4paper`・`letterpaper`: 紙サイズを指定します。誤りではありませんが、review-jsbook.cls の paper クラスオプションを使うほうが妥当です。
156
+
157
+ jsbook.cls の以下のクラスオプションは無視またはエラーになります。
158
+
159
+ * `uplatex`: 暗黙に指定されるので無視されます。
160
+ * `autodetect-engine`: pLaTeX/upLaTeX を自動判別するオプションですが、Re:VIEW では review-jsbook 利用時に upLaTeX を暗黙に前提としているので無視されます。
161
+ * `papersize`: dvips などに紙サイズ情報を与えるオプションですが、Re:VIEW ではこれを利用しないので、結果的に無視されます。
162
+ * `titlepage`・`notitlepage`: 表題の独立ページ化の有無ですが、Re:VIEW では表題を利用していないため、結果的に無視されます。
163
+ * `usemag`・`nomag`・`nomag*`: 用紙サイズと版面設計は review-jsbook.cls のクラスオプションを使うため、無視されます。
164
+ * `a4j`・`a5j`・`b4j`・`b5j`・`winjis`・`mingoth`: これらは無効としており、エラーになります。review-jsbook.cls のクラスオプションを利用してください。
165
+ * `jis`: jis フォントメトリックスを使う指定ですが、通常の環境ではコンパイルエラーになります。
166
+ * `disablejfam`: 数式内の利用フォント数を増やすために、数式内の日本語文字を使わないようにする指定ですが、Re:VIEW を利用する上では単にエラーを誘発するだけでしょう。
@@ -1,3 +1,4 @@
1
+ \ProvidesClass{review-base}[2020/01/02]
1
2
  \RequirePackage{ifthen}
2
3
  \@ifundefined{Hy@Info}{% for jsbook.cls
3
4
  \RequirePackage[dvipdfmx,bookmarks=true,bookmarksnumbered=true]{hyperref}
@@ -16,6 +17,7 @@
16
17
  \RequirePackage[deluxe]{otf}%
17
18
  }
18
19
  \RequirePackage{caption}
20
+ \RequirePackage{needspace}
19
21
  \RequirePackage{suffix}
20
22
  \RequirePackage[T1]{fontenc}\RequirePackage{textcomp}%T1/TS1
21
23
  \RequirePackage{lmodern}
@@ -34,6 +36,10 @@
34
36
  \RequirePackage{float}
35
37
  \RequirePackage{alltt}
36
38
  \RequirePackage{amsmath}
39
+ \RequirePackage{amssymb}
40
+ \RequirePackage{amsthm}
41
+ \RequirePackage{bm}
42
+ \RequirePackage{tabularx}
37
43
 
38
44
  %% if you use @<u>{} (underline), use jumoline.sty
39
45
  \IfFileExists{jumoline.sty}{
@@ -117,30 +123,33 @@
117
123
  \end{alltt}\end{center}
118
124
  \end{figure}}
119
125
 
126
+ \DeclareRobustCommand{\reviewincludegraphics}[2][]{%
127
+ \includegraphics[#1]{#2}}
128
+
120
129
  \newcommand{\reviewequationcaption}[1]{%
121
130
  \medskip{\small\noindent #1}}
122
- \newenvironment{reviewequationblock}{}{}
131
+ \newenvironment{reviewequationblock}{\needspace{2\Cvs}}{}
123
132
 
124
- \newenvironment{reviewlistblock}{}{}
133
+ \newenvironment{reviewlistblock}{\needspace{2\Cvs}}{}
125
134
 
126
135
  \newenvironment{reviewemlist}{%
127
- \medskip\small\begin{shaded}\setlength{\baselineskip}{1.3zw}\begin{alltt}}{%
136
+ \medskip\small\begin{shaded}\ifdefined\reviewlistxkanjiskip\xkanjiskip=\reviewlistxkanjiskip\fi\setlength{\baselineskip}{1.3zw}\begin{alltt}}{%
128
137
  \end{alltt}\end{shaded}}
129
138
 
130
139
  \newenvironment{reviewlist}{%
131
- \begin{shaded}\small\setlength{\baselineskip}{1.3zw}\begin{alltt}}{%
140
+ \begin{shaded}\small\ifdefined\reviewlistxkanjiskip\xkanjiskip=\reviewlistxkanjiskip\fi\setlength{\baselineskip}{1.3zw}\begin{alltt}}{%
132
141
  \end{alltt}\end{shaded}\par\vspace*{0.5zw}}
133
142
 
134
143
  \newenvironment{reviewsource}{%
135
- \begin{shaded}\small\setlength{\baselineskip}{1.3zw}\begin{alltt}}{%
144
+ \begin{shaded}\small\ifdefined\reviewlistxkanjiskip\xkanjiskip=\reviewlistxkanjiskip\fi\setlength{\baselineskip}{1.3zw}\begin{alltt}}{%
136
145
  \end{alltt}\end{shaded}\par\vspace*{0.5zw}}
137
146
 
138
147
  \newenvironment{reviewcmd}{%
139
- \color{white}\medskip\small\begin{shadedb}\setlength{\baselineskip}{1.3zw}\begin{alltt}}{%
148
+ \color{white}\medskip\small\ifdefined\reviewlistxkanjiskip\xkanjiskip=\reviewlistxkanjiskip\fi\begin{shadedb}\setlength{\baselineskip}{1.3zw}\begin{alltt}}{%
140
149
  \end{alltt}\end{shadedb}}
141
150
 
142
151
  \newenvironment{reviewbox}{%
143
- \medskip\small\begin{framed}\setlength{\baselineskip}{1.3zw}\begin{alltt}}{%
152
+ \medskip\small\begin{framed}\ifdefined\reviewlistxkanjiskip\xkanjiskip=\reviewlistxkanjiskip\fi\setlength{\baselineskip}{1.3zw}\begin{alltt}}{%
144
153
  \end{alltt}\end{framed}}
145
154
 
146
155
  \newenvironment{reviewtable}[1]{%
@@ -165,6 +174,9 @@
165
174
  \WithSuffix\newcommand\reviewtablecaption*[1]{%
166
175
  \caption*{#1}}
167
176
 
177
+ \newcommand\reviewimagecaption[1]{%
178
+ \caption{#1}}
179
+
168
180
  \newcommand{\reviewimgtablecaption}[1]{%
169
181
  \caption{#1}\vspace{-3mm}}
170
182
 
@@ -194,10 +206,11 @@
194
206
  \newcommand{\reviewlistref}[1]{\review@intn@list #1}
195
207
  \newcommand{\reviewequationref}[1]{\review@intn@equation #1}
196
208
  \newcommand{\reviewbibref}[2]{#1}
197
- \newcommand{\reviewcolumnref}[2]{\review@intn@columnname #1}
209
+ \newcommand{\reviewcolumnref}[2]{#1}
198
210
  \newcommand{\reviewsecref}[2]{#1}
199
211
 
200
212
  \newenvironment{reviewpart}{%
213
+ \setcounter{section}{0}%
201
214
  \renewcommand{\thesection}{\thepart.\@arabic\c@section}%
202
215
  }{}
203
216
 
@@ -244,21 +257,79 @@
244
257
  \reviewminicolumntitle{#1}
245
258
  }{\end{reviewminicolumn}}
246
259
 
247
- \newcommand{\reviewkw}[1]{\textbf{\textgt{#1}}}
248
- \newcommand{\reviewami}[1]{\mask{#1}{A}}
249
- \newcommand{\reviewem}[1]{\textbf{#1}}
250
- \newcommand{\reviewstrong}[1]{\textbf{#1}}
251
- \newcommand{\reviewballoon}[1]{←{#1}}
252
- \newcommand{\reviewunderline}[1]{\Underline{#1}}
253
- \newcommand{\reviewit}[1]{\textit{#1}}
254
- \newcommand{\reviewbold}[1]{\textbf{#1}}
255
- \newcommand{\reviewcode}[1]{\texttt{#1}}
256
- \newcommand{\reviewtt}[1]{\texttt{#1}}
257
- \newcommand{\reviewtti}[1]{\texttt{\textit{#1}}}
258
- \newcommand{\reviewttb}[1]{\texttt{\textbf{#1}}}
260
+ \DeclareRobustCommand{\reviewkw}[1]{\textbf{\textgt{#1}}}
261
+ \DeclareRobustCommand{\reviewami}[1]{\mask{#1}{A}}
262
+ \DeclareRobustCommand{\reviewem}[1]{\textbf{#1}}
263
+ \DeclareRobustCommand{\reviewstrong}[1]{\textbf{#1}}
264
+ \DeclareRobustCommand{\reviewballoon}[1]{←{#1}}
265
+ \DeclareRobustCommand{\reviewunderline}[1]{\Underline{#1}}
266
+ \DeclareRobustCommand{\reviewit}[1]{\textit{#1}}
267
+ \DeclareRobustCommand{\reviewbold}[1]{\textbf{#1}}
268
+
269
+ % allow break line in tt
270
+ % contributed by @zr_tex8r
271
+ \g@addto@macro\pdfstringdefPreHook{% for PDF bookmarks
272
+ \def\reviewami#1{#1}
273
+ \def\reviewbreakall#1{#1}
274
+ \def\reviewballoon#1{#1}
275
+ \def\reviewbou#1{#1}
276
+ \def\reviewkw#1{#1}
277
+ \def\reviewstrike#1{#1}
278
+ \def\reviewunderline#1{#1}
279
+ }
280
+ \newif\ifreview@ba@break
281
+ \def\review@ba@end{\review@ba@end@}
282
+ \DeclareRobustCommand{\reviewbreakall}[1]{%
283
+ \begingroup
284
+ \review@ba@breakfalse
285
+ \review@break@all@a#1\review@ba@end
286
+ \endgroup
287
+ }
288
+ \def\review@break@all@a{%
289
+ \futurelet\review@ba@tok\review@break@all@b
290
+ }
291
+ \def\review@break@all@b{%
292
+ \ifx\review@ba@tok\review@ba@end
293
+ \let\next\@gobble
294
+ \else\ifx\review@ba@tok\@sptoken
295
+ \let\next\review@break@all@c
296
+ \else\ifx\review@ba@tok~%
297
+ \let\next\review@break@all@d
298
+ \else\ifx\review@ba@tok\bgroup
299
+ \let\next\review@break@all@e
300
+ \else
301
+ \let\next\review@break@all@f
302
+ \fi\fi\fi\fi
303
+ \next
304
+ }
305
+ \expandafter\def\expandafter\review@break@all@c\space{%
306
+ \space
307
+ \review@ba@breakfalse
308
+ \review@break@all@a
309
+ }
310
+ \def\review@break@all@d#1{%
311
+ \review@break@all@f{\mbox{\space}}%
312
+ }
313
+ \def\review@break@all@e#1{%
314
+ \review@break@all@f{{#1}}%
315
+ }
316
+ \def\review@break@all@f#1{%
317
+ \ifreview@ba@break
318
+ \hskip0pt plus 0.02em\relax
319
+ \fi
320
+ #1%
321
+ \review@ba@breaktrue
322
+ \review@break@all@a
323
+ }
324
+ \DeclareRobustCommand{\reviewtt}[1]{{\ttfamily\reviewbreakall{#1}}}
325
+ \DeclareRobustCommand{\reviewcode}[1]{{\ttfamily\reviewbreakall{#1}}}
326
+ \DeclareRobustCommand{\reviewtti}[1]{{\ttfamily\itshape\reviewbreakall{#1}}}
327
+ \DeclareRobustCommand{\reviewttb}[1]{{\ttfamily\bfseries\reviewbreakall{#1}}}
328
+
329
+ \DeclareRobustCommand{\reviewbou}[1]{\kenten{#1}}
259
330
 
260
331
  %% @<del> is ignored in LaTeX with default style
261
- \newcommand{\reviewstrike}[1]{#1}
332
+ \DeclareRobustCommand{\reviewstrike}[1]{#1}
262
333
 
263
334
  %%%% for ulem.sty:
264
335
  %%\renewcommand{\reviewstrike}[1]{\sout{#1}}
@@ -337,6 +408,13 @@
337
408
  }
338
409
 
339
410
  % cover
411
+ \newcommand*\covermatter{%
412
+ \ifdefined\review@usecovernombre%
413
+ \pagenumbering{coverpagezero}
414
+ \setcounter{page}{0}% force to even page, to avoid empty page
415
+ \fi
416
+ }
417
+
340
418
  \if@reclscover
341
419
  \ifdefined\review@coverimage
342
420
  \def\reviewcoverpagecont{%
@@ -414,9 +492,9 @@
414
492
  \rule[8pt]{\textwidth}{1pt} \\
415
493
  {\noindent\review@pubhistories}
416
494
 
417
- \begin{tabular}{p{3em}p{\dimexpr\textwidth-6em}}
495
+ \begin{tabularx}{\dimexpr\textwidth-0.5em}{lX}
418
496
  \review@colophonnames
419
- \end{tabular}
497
+ \end{tabularx}
420
498
   \\
421
499
  \rule[0pt]{\textwidth}{1pt} \\
422
500
  \ifdefined\review@rights
@@ -1,5 +1,5 @@
1
1
  %#!ptex2pdf -l -u -ot '-synctex=1' test-rejsbk
2
- % Copyright (c) 2018 Munehiro Yamamoto, Kenshi Muto.
2
+ % Copyright (c) 2018-2019 Munehiro Yamamoto, Kenshi Muto.
3
3
  %
4
4
  % Permission is hereby granted, free of charge, to any person obtaining a copy
5
5
  % of this software and associated documentation files (the "Software"), to deal
@@ -21,7 +21,7 @@
21
21
 
22
22
  \NeedsTeXFormat{pLaTeX2e}
23
23
  \ProvidesClass{review-jsbook}
24
- [2018/09/30 v3.0 Re:VIEW pLaTeX class modified for jsbook.cls]
24
+ [2019/09/22 v4.0 Re:VIEW pLaTeX class modified for jsbook.cls]
25
25
 
26
26
  \def\recls@error{\ClassError{review-jsbook}}
27
27
  \def\recls@warning{\ClassWarning{review-jsbook}}
@@ -331,7 +331,7 @@
331
331
  \ifx\recls@number@of@lines\@empty\else
332
332
  \setlength\textheight{\recls@number@of@lines\Cvs}
333
333
  \addtolength\textheight{-\Cvs}\addtolength\textheight{\Cwd}
334
- \addtolength\textheight{1H}
334
+ \addtolength\textheight{\dimexpr\topskip-\Cht}%%adjustment for jsbook.cls's \topskip
335
335
  \fi
336
336
 
337
337
  %% ノド、小口
@@ -429,6 +429,25 @@
429
429
  \hbox{}\thispagestyle{empty}\newpage\if@twocolumn\hbox{}\newpage\fi\fi\fi}
430
430
  \let\clearoddpage\cleardoublepage@left
431
431
 
432
+ %% 行のサンプル。\makelines{行数} で「■□■□…」からなる行を指定行数配置する
433
+ \def\makelines#1{%
434
+ \@tempcnta\z@\relax
435
+ \def\@makeline@f@size{\f@size}%
436
+ \@whilenum\@tempcnta<#1\do{%
437
+ \advance\@tempcnta\@ne\relax
438
+ \noindent\rlap{\the\@tempcnta}\nobreak
439
+ \makelines@neline\par}%
440
+ }
441
+ \def\makelines@unit@#10#2\relax{%
442
+ \ifx!#2!\relax □\else\relax ■\fi}%
443
+ \newcounter{makelines@unit}
444
+ \def\makelines@neline{%
445
+ \c@makelines@unit\@ne
446
+ \@whilenum\c@makelines@unit<\dimexpr(\textwidth + \Cwd)/\Cwd\do{%
447
+ \expandafter\makelines@unit@\the\c@makelines@unit0\relax
448
+ \advance\c@makelines@unit\@ne}%
449
+ }
450
+
432
451
  %% coverオプションによる表紙判定の上書き
433
452
  \def\recls@tmp{true}\ifx\recls@forcecover\recls@tmp
434
453
  \@reclscovertrue
@@ -439,8 +458,8 @@
439
458
 
440
459
  %% シンプルな通しノンブル
441
460
  \ifrecls@serialpage
442
- \renewcommand*{\pagenumbering}[1]{%
443
- \gdef\thepage{\@arabic\c@page}}
461
+ \def\pagenumbering#1{%
462
+ \gdef\thepage{\csname @arabic\endcsname\c@page}}
444
463
  \fi
445
464
 
446
465
  %% 開始ページを変更
@@ -467,5 +486,9 @@
467
486
  %% \setcounter{page}\@ne
468
487
  \fi}
469
488
 
489
+ %% 表紙のノンブル
490
+ \def\coverpagezero#1{\expandafter\@coverpagezero\csname c@#1\endcsname}
491
+ \def\@coverpagezero#1{cover}
492
+
470
493
  \listfiles
471
494
  \endinput