review 3.2.0 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (105) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +26 -4
  3. data/.travis.yml +1 -1
  4. data/NEWS.ja.md +97 -1
  5. data/NEWS.md +97 -1
  6. data/bin/review-catalog-converter +1 -1
  7. data/bin/review-check +5 -5
  8. data/bin/review-checkdep +1 -1
  9. data/bin/review-compile +5 -5
  10. data/bin/review-idgxmlmaker +16 -0
  11. data/bin/review-index +7 -7
  12. data/bin/review-preproc +9 -9
  13. data/bin/review-validate +2 -2
  14. data/bin/review-vol +5 -5
  15. data/doc/config.yml.sample +14 -6
  16. data/doc/config.yml.sample-simple +1 -1
  17. data/doc/format.ja.md +15 -5
  18. data/doc/format.md +30 -18
  19. data/doc/pdfmaker.ja.md +1 -1
  20. data/doc/pdfmaker.md +1 -1
  21. data/lib/review/book.rb +1 -1
  22. data/lib/review/book/base.rb +23 -63
  23. data/lib/review/book/chapter.rb +18 -3
  24. data/lib/review/book/compilable.rb +5 -0
  25. data/lib/review/book/index.rb +26 -65
  26. data/lib/review/book/index/item.rb +40 -0
  27. data/lib/review/book/part.rb +22 -2
  28. data/lib/review/builder.rb +60 -40
  29. data/lib/review/catalog.rb +12 -15
  30. data/lib/review/compiler.rb +68 -36
  31. data/lib/review/configure.rb +10 -7
  32. data/lib/review/epubmaker.rb +5 -2
  33. data/lib/review/htmlbuilder.rb +24 -71
  34. data/lib/review/htmlutils.rb +2 -3
  35. data/lib/review/i18n.rb +2 -2
  36. data/lib/review/idgxmlbuilder.rb +101 -55
  37. data/lib/review/idgxmlmaker.rb +184 -0
  38. data/lib/review/init-web/finish.html +10 -0
  39. data/lib/review/init-web/index.html +190 -0
  40. data/lib/review/init-web/review-layout-design.js +691 -0
  41. data/lib/review/init.rb +110 -26
  42. data/lib/review/latexbuilder.rb +76 -54
  43. data/lib/review/lineinput.rb +1 -1
  44. data/lib/review/logger.rb +4 -8
  45. data/lib/review/makerhelper.rb +6 -4
  46. data/lib/review/markdownbuilder.rb +25 -38
  47. data/lib/review/md2inaobuilder.rb +3 -5
  48. data/lib/review/pdfmaker.rb +15 -15
  49. data/lib/review/plaintextbuilder.rb +67 -76
  50. data/lib/review/preprocessor.rb +13 -13
  51. data/lib/review/rstbuilder.rb +31 -31
  52. data/lib/review/textmaker.rb +13 -3
  53. data/lib/review/textutils.rb +77 -2
  54. data/lib/review/tocparser.rb +17 -17
  55. data/lib/review/tocprinter.rb +8 -8
  56. data/lib/review/topbuilder.rb +76 -57
  57. data/lib/review/update.rb +16 -16
  58. data/lib/review/version.rb +1 -1
  59. data/lib/review/webmaker.rb +2 -2
  60. data/lib/review/yamlloader.rb +3 -0
  61. data/review.gemspec +4 -3
  62. data/samples/sample-book/README.md +7 -2
  63. data/samples/sample-book/src/.gitignore +153 -0
  64. data/samples/sample-book/src/config-jlreq.yml +6 -0
  65. data/samples/sample-book/src/lib/tasks/review.rake +20 -9
  66. data/samples/sample-book/src/lib/tasks/z01_copy_sty.rake +14 -8
  67. data/samples/syntax-book/ch03.re +3 -6
  68. data/samples/syntax-book/config-jlreq.yml +5 -0
  69. data/samples/syntax-book/lib/tasks/review.rake +7 -7
  70. data/samples/syntax-book/lib/tasks/z01_copy_sty.rake +14 -8
  71. data/templates/latex/config.erb +6 -0
  72. data/templates/latex/layout.tex.erb +1 -0
  73. data/templates/latex/review-jlreq/review-base.sty +93 -31
  74. data/templates/latex/review-jlreq/review-jlreq.cls +6 -0
  75. data/templates/latex/review-jlreq/review-style.sty +3 -0
  76. data/templates/latex/review-jsbook/README.md +39 -0
  77. data/templates/latex/review-jsbook/review-base.sty +65 -10
  78. data/templates/latex/review-jsbook/review-jsbook.cls +4 -0
  79. data/templates/latex/review-jsbook/review-style.sty +4 -1
  80. data/test/assets/test_template.tex +11 -3
  81. data/test/assets/test_template_backmatter.tex +11 -3
  82. data/test/test_book.rb +65 -19
  83. data/test/test_catalog.rb +18 -42
  84. data/test/test_catalog_converter_cmd.rb +1 -1
  85. data/test/test_epubmaker_cmd.rb +2 -2
  86. data/test/test_helper.rb +1 -1
  87. data/test/test_htmlbuilder.rb +144 -55
  88. data/test/test_i18n.rb +25 -25
  89. data/test/test_idgxmlbuilder.rb +60 -18
  90. data/test/test_image_finder.rb +6 -6
  91. data/test/test_latexbuilder.rb +128 -24
  92. data/test/test_latexbuilder_v2.rb +23 -23
  93. data/test/test_logger.rb +14 -1
  94. data/test/test_makerhelper.rb +3 -3
  95. data/test/test_markdownbuilder.rb +45 -4
  96. data/test/test_md2inaobuilder.rb +12 -2
  97. data/test/test_pdfmaker.rb +1 -1
  98. data/test/test_pdfmaker_cmd.rb +1 -1
  99. data/test/test_plaintextbuilder.rb +31 -6
  100. data/test/test_rstbuilder.rb +33 -4
  101. data/test/test_textutils.rb +109 -2
  102. data/test/test_topbuilder.rb +35 -7
  103. data/test/test_update.rb +17 -8
  104. data/test/test_yamlloader.rb +13 -0
  105. metadata +26 -2
@@ -0,0 +1,6 @@
1
+ # call me by 'REVIEW_TEMPLATE=review-jlreq REVIEW_CONFIG_FILE=config-jlreq.yml rake pdf'
2
+ inherit: ["config.yml"]
3
+ pdfmaker:
4
+ texdocumentclass: ["review-jlreq", "media=print,paper=a5"]
5
+ # texdocumentclass: ["review-jlreq", "media=ebook,paper=a5"]
6
+ # texdocumentclass: ["review-jlreq", "media=print,paper=a5,tombopaper=a4,bleed_margin=3mm,cover=true,Q=14,startpage=3,serial_pagination=true,hiddenfolio=nikko-pc"]
@@ -1,4 +1,4 @@
1
- # Copyright (c) 2006-2018 Minero Aoki, Kenshi Muto, Masayoshi Takahashi, Masanori Kado.
1
+ # Copyright (c) 2006-2019 Minero Aoki, Kenshi Muto, Masayoshi Takahashi, Masanori Kado.
2
2
  #
3
3
  # Permission is hereby granted, free of charge, to any person obtaining a copy
4
4
  # of this software and associated documentation files (the "Software"), to deal
@@ -29,15 +29,17 @@ CATALOG_FILE = ENV['REVIEW_CATALOG_FILE'] || 'catalog.yml'
29
29
  WEBROOT = ENV['REVIEW_WEBROOT'] || 'webroot'
30
30
  TEXTROOT = BOOK + '-text'
31
31
  TOPROOT = BOOK + '-text'
32
+ IDGXMLROOT = BOOK + '-idgxml'
33
+ IDGXML_OPTIONS = ENV['REVIEW_IDGXML_OPTIONS'] || ''
32
34
 
33
35
  def build(mode, chapter)
34
- sh "review-compile --target=#{mode} --footnotetext --stylesheet=style.css #{chapter} > tmp"
36
+ sh("review-compile --target=#{mode} --footnotetext --stylesheet=style.css #{chapter} > tmp")
35
37
  mode_ext = { 'html' => 'html', 'latex' => 'tex', 'idgxml' => 'xml', 'top' => 'txt', 'plaintext' => 'txt' }
36
- FileUtils.mv 'tmp', chapter.gsub(/re\z/, mode_ext[mode])
38
+ FileUtils.mv('tmp', chapter.gsub(/re\z/, mode_ext[mode]))
37
39
  end
38
40
 
39
41
  def build_all(mode)
40
- sh "review-compile --target=#{mode} --footnotetext --stylesheet=style.css"
42
+ sh("review-compile --target=#{mode} --footnotetext --stylesheet=style.css")
41
43
  end
42
44
 
43
45
  task default: :html_all
@@ -82,6 +84,11 @@ task text: TOPROOT do
82
84
  sh "review-textmaker #{CONFIG_FILE}"
83
85
  end
84
86
 
87
+ desc 'generate IDGXML file'
88
+ task idgxml: IDGXMLROOT do
89
+ sh "review-idgxmlmaker #{IDGXML_OPTIONS} #{CONFIG_FILE}"
90
+ end
91
+
85
92
  desc 'generate EPUB file'
86
93
  task epub: BOOK_EPUB
87
94
 
@@ -92,22 +99,26 @@ SRC_EPUB = FileList['*.css']
92
99
  SRC_PDF = FileList['layouts/*.erb', 'sty/**/*.sty']
93
100
 
94
101
  file BOOK_PDF => SRC + SRC_PDF do
95
- FileUtils.rm_rf [BOOK_PDF, BOOK, BOOK + '-pdf']
102
+ FileUtils.rm_rf([BOOK_PDF, BOOK, BOOK + '-pdf'])
96
103
  sh "review-pdfmaker #{CONFIG_FILE}"
97
104
  end
98
105
 
99
106
  file BOOK_EPUB => SRC + SRC_EPUB do
100
- FileUtils.rm_rf [BOOK_EPUB, BOOK, BOOK + '-epub']
107
+ FileUtils.rm_rf([BOOK_EPUB, BOOK, BOOK + '-epub'])
101
108
  sh "review-epubmaker #{CONFIG_FILE}"
102
109
  end
103
110
 
104
111
  file WEBROOT => SRC do
105
- FileUtils.rm_rf [WEBROOT]
112
+ FileUtils.rm_rf([WEBROOT])
106
113
  sh "review-webmaker #{CONFIG_FILE}"
107
114
  end
108
115
 
109
116
  file TEXTROOT => SRC do
110
- FileUtils.rm_rf [TEXTROOT]
117
+ FileUtils.rm_rf([TEXTROOT])
118
+ end
119
+
120
+ file IDGXMLROOT => SRC do
121
+ FileUtils.rm_rf([IDGXMLROOT])
111
122
  end
112
123
 
113
- CLEAN.include([BOOK, BOOK_PDF, BOOK_EPUB, BOOK + '-pdf', BOOK + '-epub', WEBROOT, 'images/_review_math', TEXTROOT])
124
+ CLEAN.include([BOOK, BOOK_PDF, BOOK_EPUB, BOOK + '-pdf', BOOK + '-epub', WEBROOT, 'images/_review_math', 'images/_review_math_text', TEXTROOT, IDGXMLROOT])
@@ -1,17 +1,23 @@
1
1
  desc 'copy sty/* files from current Re:VIEW source code (in git repos)'
2
+ REVIEW_TEMPLATE = ENV['REVIEW_TEMPLATE'] || 'review-jsbook'
2
3
  task :copy_sty do
3
4
  review_rootdir = '../../..'
4
- jsbook_dir = File.join(review_rootdir, 'templates/latex/review-jsbook')
5
- gentombow_dir = File.join(review_rootdir, 'vendor/gentombow')
6
- Dir.glob(File.join(jsbook_dir, '*.cls')) do |file|
7
- FileUtils.cp file, 'sty'
5
+ template_dir = File.join(review_rootdir, "templates/latex/#{REVIEW_TEMPLATE}")
6
+ Dir.glob(File.join(template_dir, '*.cls')) do |file|
7
+ FileUtils.cp(file, 'sty')
8
8
  end
9
- Dir.glob(File.join(jsbook_dir, 'review-*.sty')) do |file|
10
- FileUtils.cp file, 'sty'
9
+ Dir.glob(File.join(template_dir, 'review-*.sty')) do |file|
10
+ FileUtils.cp(file, 'sty')
11
+ end
12
+
13
+ if REVIEW_TEMPLATE == 'review-jsbook'
14
+ jsbook_dir = File.join(review_rootdir, 'vendor/jsclasses')
15
+ FileUtils.cp(File.join(jsbook_dir, 'jsbook.cls'), 'sty/jsbook.cls')
16
+ gentombow_dir = File.join(review_rootdir, 'vendor/gentombow')
17
+ FileUtils.cp(File.join(gentombow_dir, 'gentombow.sty'), 'sty/gentombow.sty')
11
18
  end
12
- FileUtils.cp File.join(gentombow_dir, 'gentombow.sty'), 'sty/gentombow.sty'
13
19
  end
14
20
 
15
- CLEAN.include([Dir.glob('sty/review-*.sty'), 'sty/review-jsbook.cls', 'sty/gentombow.sty'])
21
+ CLEAN.include([Dir.glob('sty/review-*.sty'), 'sty/*.cls', 'sty/gentombow.sty'])
16
22
 
17
23
  Rake::Task[BOOK_PDF].enhance([:copy_sty])
@@ -18,16 +18,13 @@
18
18
  puts "Re:VIEW is #{impression}."
19
19
  //}
20
20
 
21
- @<raw>{/}/image[img3-1][適当に作ったコラム内画像]{
22
- はTeXでは現状、エラーになります。
21
+ //image[img3-1][適当に作ったコラム内画像]{
22
+ //}
23
23
 
24
24
  //indepimage[img3-1][適当に作ったコラム内画像]{
25
25
  //}
26
26
 
27
- @<raw>{/}/table[tab3-1][コラム表]{
28
- もだめですね。
29
-
30
- //table{
27
+ //table[tab3-1][コラム表]{
31
28
  A B
32
29
  ---------------------
33
30
  C D
@@ -0,0 +1,5 @@
1
+ # call me by 'REVIEW_TEMPLATE=review-jlreq REVIEW_CONFIG_FILE=config-jlreq.yml rake pdf'
2
+ inherit: ["config.yml"]
3
+ # texdocumentclass: ["review-jlreq", "media=print,paper=b5"]
4
+ texdocumentclass: ["review-jlreq", "media=ebook,paper=b5"]
5
+ # texdocumentclass: ["review-jlreq", "media=print,paper=b5,bleed_margin=3mm,cover=true,Q=14,startpage=3,serial_pagination=true,hiddenfolio=nikko-pc"]
@@ -31,13 +31,13 @@ TEXTROOT = BOOK + '-text'
31
31
  TOPROOT = BOOK + '-text'
32
32
 
33
33
  def build(mode, chapter)
34
- sh "review-compile --target=#{mode} --footnotetext --stylesheet=style.css #{chapter} > tmp"
34
+ sh("review-compile --target=#{mode} --footnotetext --stylesheet=style.css #{chapter} > tmp")
35
35
  mode_ext = { 'html' => 'html', 'latex' => 'tex', 'idgxml' => 'xml', 'top' => 'txt', 'plaintext' => 'txt' }
36
- FileUtils.mv 'tmp', chapter.gsub(/re\z/, mode_ext[mode])
36
+ FileUtils.mv('tmp', chapter.gsub(/re\z/, mode_ext[mode]))
37
37
  end
38
38
 
39
39
  def build_all(mode)
40
- sh "review-compile --target=#{mode} --footnotetext --stylesheet=style.css"
40
+ sh("review-compile --target=#{mode} --footnotetext --stylesheet=style.css")
41
41
  end
42
42
 
43
43
  task default: :html_all
@@ -92,22 +92,22 @@ SRC_EPUB = FileList['*.css']
92
92
  SRC_PDF = FileList['layouts/*.erb', 'sty/**/*.sty']
93
93
 
94
94
  file BOOK_PDF => SRC + SRC_PDF do
95
- FileUtils.rm_rf [BOOK_PDF, BOOK, BOOK + '-pdf']
95
+ FileUtils.rm_rf([BOOK_PDF, BOOK, BOOK + '-pdf'])
96
96
  sh "review-pdfmaker #{CONFIG_FILE}"
97
97
  end
98
98
 
99
99
  file BOOK_EPUB => SRC + SRC_EPUB do
100
- FileUtils.rm_rf [BOOK_EPUB, BOOK, BOOK + '-epub']
100
+ FileUtils.rm_rf([BOOK_EPUB, BOOK, BOOK + '-epub'])
101
101
  sh "review-epubmaker #{CONFIG_FILE}"
102
102
  end
103
103
 
104
104
  file WEBROOT => SRC do
105
- FileUtils.rm_rf [WEBROOT]
105
+ FileUtils.rm_rf([WEBROOT])
106
106
  sh "review-webmaker #{CONFIG_FILE}"
107
107
  end
108
108
 
109
109
  file TEXTROOT => SRC do
110
- FileUtils.rm_rf [TEXTROOT]
110
+ FileUtils.rm_rf([TEXTROOT])
111
111
  end
112
112
 
113
113
  CLEAN.include([BOOK, BOOK_PDF, BOOK_EPUB, BOOK + '-pdf', BOOK + '-epub', WEBROOT, 'images/_review_math', TEXTROOT])
@@ -1,17 +1,23 @@
1
1
  desc 'copy sty/* files from current Re:VIEW source code (in git repos)'
2
+ REVIEW_TEMPLATE = ENV['REVIEW_TEMPLATE'] || 'review-jsbook'
2
3
  task :copy_sty do
3
4
  review_rootdir = '../..'
4
- jsbook_dir = File.join(review_rootdir, 'templates/latex/review-jsbook')
5
- gentombow_dir = File.join(review_rootdir, 'vendor/gentombow')
6
- Dir.glob(File.join(jsbook_dir, '*.cls')) do |file|
7
- FileUtils.cp file, 'sty'
5
+ template_dir = File.join(review_rootdir, "templates/latex/#{REVIEW_TEMPLATE}")
6
+ Dir.glob(File.join(template_dir, '*.cls')) do |file|
7
+ FileUtils.cp(file, 'sty')
8
8
  end
9
- Dir.glob(File.join(jsbook_dir, 'review-*.sty')) do |file|
10
- FileUtils.cp file, 'sty'
9
+ Dir.glob(File.join(template_dir, 'review-*.sty')) do |file|
10
+ FileUtils.cp(file, 'sty')
11
+ end
12
+
13
+ if REVIEW_TEMPLATE == 'review-jsbook'
14
+ jsbook_dir = File.join(review_rootdir, 'vendor/jsclasses')
15
+ FileUtils.cp(File.join(jsbook_dir, 'jsbook.cls'), 'sty/jsbook.cls')
16
+ gentombow_dir = File.join(review_rootdir, 'vendor/gentombow')
17
+ FileUtils.cp(File.join(gentombow_dir, 'gentombow.sty'), 'sty/gentombow.sty')
11
18
  end
12
- FileUtils.cp File.join(gentombow_dir, 'gentombow.sty'), 'sty/gentombow.sty'
13
19
  end
14
20
 
15
- CLEAN.include([Dir.glob('sty/review-*.sty'), 'sty/review-jsbook.cls', 'sty/gentombow.sty'])
21
+ CLEAN.include([Dir.glob('sty/review-*.sty'), 'sty/*.cls', 'sty/gentombow.sty'])
16
22
 
17
23
  Rake::Task[BOOK_PDF].enhance([:copy_sty])
@@ -59,6 +59,9 @@
59
59
  \def\review@coverimage{./<%= @config['imagedir'] %>/<%= @config['coverimage'] %>}
60
60
  \def\review@coverimageoption{<%= @coverimageoption%>}
61
61
  <%- end -%>
62
+ <%- if @config['pdfmaker']['use_cover_nombre'] -%>
63
+ \def\review@usecovernombre{true}
64
+ <%- end -%>
62
65
  <%- if @config['titlepage'] -%>
63
66
  \def\review@titlepage{true}
64
67
  <%- if @config['titlefile'] -%>
@@ -106,6 +109,9 @@
106
109
  \DeclareRobustCommand{\reviewincludegraphics}[2][]{%
107
110
  \includegraphics[##1]{##2}}
108
111
  }
112
+ \@ifundefined{covermatter}{% for 4.0.0 compatibility
113
+ \def\covermatter{}
114
+ }
109
115
  }
110
116
 
111
117
  \makeatother
@@ -18,6 +18,7 @@
18
18
 
19
19
  %% coverpage
20
20
  \ifdefined\reviewcoverpagecont
21
+ \covermatter
21
22
  \reviewcoverpagecont
22
23
  \fi
23
24
 
@@ -1,15 +1,22 @@
1
1
  % jlreq用基本設定
2
- \newcommand*\PDFDocumentInformation[1]{%
3
- \AtBeginShipoutFirst{\special{pdf:docinfo <<#1>>}}}
4
- \@onlypreamble\PDFDocumentInformation
5
-
6
- \PDFDocumentInformation{
7
- /Title (\review@booktitlename)
8
- /Author (\review@autnames)
9
- % /Subject ()
10
- % /Keywords (,,)
11
- /Creator (Re:VIEW \review@reviewversion, with LaTeX)
12
- }
2
+ \def\recls@tmp{luatex}\ifx\recls@tmp\recls@driver
3
+ \hypersetup{
4
+ pdftitle={\review@booktitlename},
5
+ pdfauthor={\review@autnames},
6
+ pdfcreator={Re:VIEW \review@reviewversion, with LaTeX}
7
+ }
8
+ \else
9
+ \newcommand*\PDFDocumentInformation[1]{%
10
+ \AtBeginShipoutFirst{\special{pdf:docinfo <<#1>>}}}
11
+ \@onlypreamble\PDFDocumentInformation
12
+ \PDFDocumentInformation{
13
+ /Title (\review@booktitlename)
14
+ /Author (\review@autnames)
15
+ % /Subject ()
16
+ % /Keywords (,,)
17
+ /Creator (Re:VIEW \review@reviewversion, with LaTeX)
18
+ }
19
+ \fi
13
20
 
14
21
  \RequirePackage{pxrubrica}
15
22
  \@ifpackagelater{pxrubrica}{2017/04/20}{% true
@@ -20,20 +27,20 @@
20
27
 
21
28
  % コードリスト装飾のデフォルト
22
29
  \newenvironment{reviewemlist}{%
23
- \begin{tcolorbox}[skin=enhanced jigsaw,breakable,colback=black!10,colframe=black!10,boxrule=0mm,arc=0mm]\begin{alltt}}%
30
+ \begin{tcolorbox}[skin=enhanced jigsaw,breakable,colback=black!10,colframe=black!10,boxrule=0mm,arc=0mm]\ifdefined\reviewlistxkanjiskip\xkanjiskip=\reviewlistxkanjiskip\fi\begin{alltt}}%
24
31
  {\end{alltt}\end{tcolorbox}}
25
32
 
26
33
  \newenvironment{reviewlist}{%
27
- \begin{tcolorbox}[skin=enhanced jigsaw,breakable,colback=white,colframe=black,boxrule=0.15mm,arc=0mm]\begin{alltt}}%
34
+ \begin{tcolorbox}[skin=enhanced jigsaw,breakable,colback=white,colframe=black,boxrule=0.15mm,arc=0mm]\ifdefined\reviewlistxkanjiskip\xkanjiskip=\reviewlistxkanjiskip\fi\begin{alltt}}%
28
35
  {\end{alltt}\end{tcolorbox}}
29
36
 
30
37
  \newenvironment{reviewsource}{%
31
- \begin{tcolorbox}[skin=enhanced jigsaw,breakable,colback=white,colframe=black,boxrule=0.15mm,arc=0mm]\begin{alltt}}%
38
+ \begin{tcolorbox}[skin=enhanced jigsaw,breakable,colback=white,colframe=black,boxrule=0.15mm,arc=0mm]\ifdefined\reviewlistxkanjiskip\xkanjiskip=\reviewlistxkanjiskip\fi\begin{alltt}}%
32
39
  {\end{alltt}\end{tcolorbox}}
33
40
 
34
41
  \newenvironment{reviewcmd}{%
35
- \begin{tcolorbox}[skin=enhanced jigsaw,breakable,colback=black!99,colframe=black!99,boxrule=0mm,arc=0mm]\begin{alltt}\begingroup\color{white}\ignorespaces}%
36
- {\endgroup\end{alltt}\end{tcolorbox}}
42
+ \begin{tcolorbox}[skin=enhanced jigsaw,breakable,colback=black!99,coltext=white,colframe=black!99,boxrule=0mm,arc=0mm]\ifdefined\reviewlistxkanjiskip\xkanjiskip=\reviewlistxkanjiskip\fi\begin{alltt}}%
43
+ {\end{alltt}\end{tcolorbox}}
37
44
 
38
45
  % 図
39
46
  \newenvironment{reviewimage}{%
@@ -77,7 +84,7 @@
77
84
  \else
78
85
  \let\jlreq@@makecaption@font@setting\jlreq@@makecaption@font
79
86
  \fi
80
- \ifdefined\jlreq@@makecaption@label@@font@setting
87
+ \ifdefined\jlreq@@makecaption@label@font@setting
81
88
  \else
82
89
  \let\jlreq@@makecaption@label@font@setting\jlreq@@makecaption@label@font
83
90
  \fi
@@ -115,7 +122,7 @@
115
122
  \newcommand{\reviewlistref}[1]{\review@intn@list #1}
116
123
  \newcommand{\reviewequationref}[1]{\review@intn@equation #1}
117
124
  \newcommand{\reviewbibref}[2]{#1}
118
- \newcommand{\reviewcolumnref}[2]{\review@intn@columnname #1}
125
+ \newcommand{\reviewcolumnref}[2]{#1}
119
126
  \newcommand{\reviewsecref}[2]{#1}
120
127
 
121
128
  \renewcommand{\contentsname}{\review@toctitle}
@@ -167,10 +174,58 @@
167
174
  \DeclareRobustCommand{\reviewunderline}[1]{\underline{#1}}% ulemかjumolineで上書き。デフォルトはulemにしている
168
175
  \DeclareRobustCommand{\reviewit}[1]{\textit{#1}}
169
176
  \DeclareRobustCommand{\reviewbold}[1]{\textbf{#1}}
170
- \DeclareRobustCommand{\reviewcode}[1]{\texttt{#1}}
171
- \DeclareRobustCommand{\reviewtt}[1]{\texttt{#1}}
172
- \DeclareRobustCommand{\reviewtti}[1]{\texttt{\textit{#1}}}
173
- \DeclareRobustCommand{\reviewttb}[1]{\texttt{\textbf{#1}}}
177
+
178
+ % allow break line in tt
179
+ % contributed by @zr_tex8r
180
+ \newif\ifreview@ba@break
181
+ \def\review@ba@end{\review@ba@end@}
182
+ \DeclareRobustCommand{\reviewbreakall}[1]{%
183
+ \begingroup
184
+ \review@ba@breakfalse
185
+ \review@break@all@a#1\review@ba@end
186
+ \endgroup
187
+ }
188
+ \def\review@break@all@a{%
189
+ \futurelet\review@ba@tok\review@break@all@b
190
+ }
191
+ \def\review@break@all@b{%
192
+ \ifx\review@ba@tok\review@ba@end
193
+ \let\next\@gobble
194
+ \else\ifx\review@ba@tok\@sptoken
195
+ \let\next\review@break@all@c
196
+ \else\ifx\review@ba@tok~%
197
+ \let\next\review@break@all@d
198
+ \else\ifx\review@ba@tok\bgroup
199
+ \let\next\review@break@all@e
200
+ \else
201
+ \let\next\review@break@all@f
202
+ \fi\fi\fi\fi
203
+ \next
204
+ }
205
+ \expandafter\def\expandafter\review@break@all@c\space{%
206
+ \space
207
+ \review@ba@breakfalse
208
+ \review@break@all@a
209
+ }
210
+ \def\review@break@all@d#1{%
211
+ \review@break@all@f{\mbox{\space}}%
212
+ }
213
+ \def\review@break@all@e#1{%
214
+ \review@break@all@f{{#1}}%
215
+ }
216
+ \def\review@break@all@f#1{%
217
+ \ifreview@ba@break
218
+ \hskip0pt plus 0.02em\relax
219
+ \fi
220
+ #1%
221
+ \review@ba@breaktrue
222
+ \review@break@all@a
223
+ }
224
+ \DeclareRobustCommand{\reviewtt}[1]{{\ttfamily\reviewbreakall{#1}}}
225
+ \DeclareRobustCommand{\reviewcode}[1]{{\ttfamily\reviewbreakall{#1}}}
226
+ \DeclareRobustCommand{\reviewtti}[1]{{\ttfamily\itshape\reviewbreakall{#1}}}
227
+ \DeclareRobustCommand{\reviewttb}[1]{{\ttfamily\bfseries\reviewbreakall{#1}}}
228
+
174
229
  \DeclareRobustCommand{\reviewbou}[1]{\kenten{#1}}
175
230
 
176
231
  %% @<del> is ignored in LaTeX with default style
@@ -251,16 +306,23 @@
251
306
  }
252
307
 
253
308
  % cover
309
+ \newcommand*\covermatter{%
310
+ \ifdefined\review@usecovernombre%
311
+ \pagenumbering{coverpagezero}
312
+ \setcounter{page}{0}% force to even page, to avoid empty page
313
+ \fi
314
+ }
315
+
254
316
  \if@reclscover
255
- \ifdefined\review@coverimage
256
- \def\reviewcoverpagecont{%
257
- \expandafter\includefullpagegraphics\expandafter[\review@coverimageoption]{\review@coverimage}
258
- \cleardoublepage
259
- }
260
- \fi
261
- \ifdefined\review@coverfile
262
- \def\reviewcoverpagecont{\review@coverfile}
263
- \fi
317
+ \ifdefined\review@coverimage
318
+ \def\reviewcoverpagecont{%
319
+ \expandafter\includefullpagegraphics\expandafter[\review@coverimageoption]{\review@coverimage}
320
+ \cleardoublepage
321
+ }
322
+ \fi
323
+ \ifdefined\review@coverfile
324
+ \def\reviewcoverpagecont{\review@coverfile}
325
+ \fi
264
326
  \fi
265
327
 
266
328
  % titlepage
@@ -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
 
@@ -334,5 +336,9 @@ cls]
334
336
  \AtBeginDocument{\@ifpackageloaded{pdfpages}{\recls@patch@pdfpages}{}}
335
337
  \fi
336
338
 
339
+ %% 表紙のノンブル
340
+ \def\coverpagezero#1{\expandafter\@coverpagezero\csname c@#1\endcsname}
341
+ \def\@coverpagezero#1{cover}
342
+
337
343
  \listfiles
338
344
  \endinput
@@ -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 を利用する上では単にエラーを誘発するだけでしょう。