review 4.0.0 → 5.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/ruby-tex.yml +31 -0
- data/.github/workflows/ruby-win.yml +45 -0
- data/.github/workflows/ruby.yml +27 -0
- data/.rubocop.yml +141 -38
- data/Dockerfile +21 -5
- data/NEWS.ja.md +338 -1
- data/NEWS.md +339 -2
- data/README.md +11 -7
- data/Rakefile +7 -2
- data/appveyor.yml +0 -20
- data/bin/review +2 -4
- data/bin/review-catalog-converter +4 -4
- data/bin/review-check +8 -12
- data/bin/review-checkdep +2 -5
- data/bin/review-compile +11 -20
- data/bin/review-epub2html +1 -4
- data/bin/review-epubmaker +3 -4
- data/bin/review-idgxmlmaker +1 -3
- data/bin/review-index +5 -86
- data/bin/review-init +1 -4
- data/bin/review-pdfmaker +1 -3
- data/bin/review-preproc +3 -5
- data/bin/review-textmaker +1 -3
- data/bin/review-update +1 -4
- data/bin/review-validate +5 -5
- data/bin/review-vol +5 -82
- data/bin/review-webmaker +1 -3
- data/doc/config.yml.sample +55 -12
- data/doc/config.yml.sample-simple +4 -3
- data/doc/format.ja.md +119 -17
- data/doc/format.md +106 -17
- data/doc/makeindex.ja.md +2 -2
- data/doc/pdfmaker.ja.md +42 -0
- data/doc/pdfmaker.md +41 -0
- data/doc/quickstart.ja.md +55 -25
- data/doc/quickstart.md +47 -17
- data/lib/review.rb +1 -1
- data/lib/review/book.rb +2 -2
- data/lib/review/book/base.rb +69 -30
- data/lib/review/book/bib.rb +21 -0
- data/lib/review/book/book_unit.rb +158 -0
- data/lib/review/book/chapter.rb +33 -26
- data/lib/review/book/index.rb +39 -206
- data/lib/review/book/index/item.rb +8 -2
- data/lib/review/book/page_metric.rb +7 -7
- data/lib/review/book/part.rb +26 -11
- data/lib/review/book/volume.rb +5 -5
- data/lib/review/builder.rb +124 -27
- data/lib/review/call_hook.rb +20 -0
- data/lib/review/catalog.rb +3 -2
- data/lib/review/compiler.rb +197 -91
- data/lib/review/configure.rb +95 -9
- data/lib/review/converter.rb +1 -1
- data/lib/review/epub2html.rb +6 -1
- data/lib/review/epubmaker.rb +116 -117
- data/lib/review/epubmaker/content.rb +113 -0
- data/lib/review/epubmaker/epubcommon.rb +372 -0
- data/lib/review/epubmaker/epubv2.rb +178 -0
- data/lib/review/epubmaker/epubv3.rb +231 -0
- data/lib/review/epubmaker/producer.rb +168 -0
- data/lib/review/epubmaker/reviewheaderlistener.rb +12 -2
- data/lib/review/epubmaker/zip_exporter.rb +84 -0
- data/lib/review/exception.rb +6 -0
- data/lib/review/extentions/string.rb +0 -4
- data/lib/review/htmlbuilder.rb +132 -87
- data/lib/review/htmlutils.rb +8 -11
- data/lib/review/i18n.rb +2 -1
- data/lib/review/idgxmlbuilder.rb +156 -76
- data/lib/review/idgxmlmaker.rb +22 -18
- data/lib/review/img_math.rb +245 -0
- data/lib/review/index_builder.rb +654 -0
- data/lib/review/init.rb +17 -18
- data/lib/review/latexbox.rb +58 -0
- data/lib/review/latexbuilder.rb +173 -43
- data/lib/review/latexutils.rb +9 -1
- data/lib/review/lineinput.rb +112 -2
- data/lib/review/logger.rb +42 -3
- data/lib/review/makerhelper.rb +12 -187
- data/lib/review/markdownbuilder.rb +51 -2
- data/lib/review/pdfmaker.rb +78 -73
- data/lib/review/plaintextbuilder.rb +98 -14
- data/lib/review/preprocessor.rb +18 -12
- data/lib/review/rstbuilder.rb +28 -9
- data/lib/review/sec_counter.rb +14 -0
- data/lib/review/template.rb +6 -0
- data/lib/review/textmaker.rb +21 -19
- data/lib/review/textutils.rb +3 -12
- data/lib/review/tocprinter.rb +242 -97
- data/lib/review/topbuilder.rb +91 -24
- data/lib/review/update.rb +12 -13
- data/lib/review/version.rb +1 -1
- data/lib/review/volumeprinter.rb +97 -0
- data/lib/review/webmaker.rb +34 -33
- data/lib/review/webtocprinter.rb +39 -35
- data/lib/review/yamlloader.rb +2 -1
- data/review.gemspec +5 -3
- data/samples/sample-book/src/.gitignore +1 -0
- data/samples/sample-book/src/config-ebook.yml +4 -0
- data/samples/sample-book/src/config-epub2.yml +1 -1
- data/samples/sample-book/src/config-jlreq-ebook.yml +4 -0
- data/samples/sample-book/src/config.yml +3 -3
- data/samples/sample-book/src/lib/tasks/review.rake +26 -6
- data/samples/syntax-book/Gemfile +1 -1
- data/samples/syntax-book/ch01.re +3 -1
- data/samples/syntax-book/ch02.re +28 -21
- data/samples/syntax-book/ch03.re +1 -1
- data/samples/syntax-book/config-jlreq-lualatex.yml +4 -0
- data/samples/syntax-book/config-print.yml +3 -0
- data/samples/syntax-book/config.yml +1 -1
- data/samples/syntax-book/images/img3-2.png +0 -0
- data/samples/syntax-book/lib/tasks/review.rake +23 -8
- data/templates/html/_colophon.html.erb +23 -0
- data/templates/html/_colophon_history.html.erb +9 -0
- data/templates/html/_cover.html.erb +10 -0
- data/templates/html/_part_body.html.erb +6 -0
- data/templates/html/_titlepage.html.erb +20 -0
- data/templates/html/layout-html5.html.erb +6 -0
- data/templates/html/layout-xhtml1.html.erb +6 -0
- data/templates/latex/config.erb +41 -29
- data/templates/latex/review-jlreq/README.md +3 -1
- data/templates/latex/review-jlreq/review-base.sty +47 -22
- data/templates/latex/review-jlreq/review-jlreq.cls +25 -24
- data/templates/latex/review-jlreq/review-style.sty +6 -1
- data/templates/latex/review-jlreq/review-tcbox.sty +348 -0
- data/templates/latex/review-jlreq/reviewmacro.sty +5 -0
- data/templates/latex/review-jsbook/README.md +7 -5
- data/templates/latex/review-jsbook/review-base.sty +47 -21
- data/templates/latex/review-jsbook/review-jsbook.cls +12 -2
- data/templates/latex/review-jsbook/review-style.sty +6 -1
- data/templates/latex/review-jsbook/review-tcbox.sty +348 -0
- data/templates/latex/review-jsbook/reviewmacro.sty +5 -0
- data/templates/opf/epubv2.opf.erb +7 -7
- data/templates/opf/epubv3.opf.erb +7 -7
- data/templates/opf/opf_manifest_epubv2.opf.erb +10 -0
- data/templates/opf/opf_manifest_epubv3.opf.erb +10 -0
- data/templates/opf/opf_metainfo_epubv2.opf.erb +17 -0
- data/templates/opf/opf_metainfo_epubv3.opf.erb +49 -0
- data/templates/opf/opf_tocx_epubv2.opf.erb +9 -0
- data/templates/opf/opf_tocx_epubv3.opf.erb +17 -0
- data/templates/web/html/layout-html5.html.erb +9 -8
- data/templates/web/html/layout-xhtml1.html.erb +6 -0
- data/test/assets/header_listener.html +35 -0
- data/test/assets/img_math/img1.png +0 -0
- data/test/assets/img_math/img2.png +0 -0
- data/test/assets/img_math/img3.png +0 -0
- data/test/assets/syntax_book_index_detail.txt +58 -0
- data/test/assets/test_template.tex +12 -9
- data/test/assets/test_template_backmatter.tex +12 -9
- data/test/book_test_helper.rb +11 -5
- data/test/run_test.rb +1 -1
- data/test/test_book.rb +62 -63
- data/test/test_book_chapter.rb +99 -56
- data/test/test_book_part.rb +3 -3
- data/test/test_builder.rb +24 -15
- data/test/test_catalog.rb +1 -0
- data/test/test_catalog_converter_cmd.rb +1 -1
- data/test/test_converter.rb +1 -0
- data/test/test_epub3maker.rb +170 -126
- data/test/test_epubmaker.rb +249 -129
- data/test/test_epubmaker_cmd.rb +14 -7
- data/test/test_helper.rb +23 -11
- data/test/test_htmlbuilder.rb +956 -76
- data/test/test_htmlutils.rb +0 -12
- data/test/test_i18n.rb +33 -33
- data/test/test_idgxmlbuilder.rb +568 -10
- data/test/test_idgxmlmaker_cmd.rb +50 -0
- data/test/test_image_finder.rb +52 -70
- data/test/test_img_math.rb +111 -0
- data/test/test_index.rb +62 -52
- data/test/test_indexbuilder.rb +52 -0
- data/test/test_latexbuilder.rb +1056 -30
- data/test/test_latexbuilder_v2.rb +52 -12
- data/test/test_lineinput.rb +20 -93
- data/test/test_logger.rb +7 -7
- data/test/test_makerhelper.rb +0 -12
- data/test/test_markdownbuilder.rb +32 -0
- data/test/test_pdfmaker.rb +100 -11
- data/test/test_pdfmaker_cmd.rb +101 -7
- data/test/test_plaintextbuilder.rb +531 -25
- data/test/test_review_ext.rb +2 -1
- data/test/test_reviewheaderlistener.rb +49 -0
- data/test/test_rstbuilder.rb +25 -1
- data/test/test_sec_counter.rb +156 -0
- data/test/test_template.rb +12 -2
- data/test/test_textmaker_cmd.rb +58 -0
- data/test/test_tocprinter.rb +46 -0
- data/test/test_topbuilder.rb +365 -10
- data/test/test_update.rb +44 -44
- data/test/test_webtocprinter.rb +75 -43
- data/test/test_zip_exporter.rb +5 -6
- data/vendor/gentombow/LICENSE +1 -1
- data/vendor/gentombow/Makefile +0 -1
- data/vendor/gentombow/bounddvi-en.pdf +0 -0
- data/vendor/gentombow/bounddvi-en.tex +1 -0
- data/vendor/gentombow/bounddvi.pdf +0 -0
- data/vendor/gentombow/bounddvi.sty +30 -7
- data/vendor/gentombow/bounddvi.tex +1 -0
- data/vendor/gentombow/create_archive.sh +1 -0
- data/vendor/gentombow/gentombow-ja.pdf +0 -0
- data/vendor/gentombow/gentombow-ja.tex +9 -0
- data/vendor/gentombow/gentombow.pdf +0 -0
- data/vendor/gentombow/gentombow.sty +32 -10
- data/vendor/gentombow/gentombow.tex +8 -0
- data/vendor/gentombow/tests/gentombow-01-pdfx.tex +8 -0
- data/vendor/gentombow/tests/gentombow-02-pdfx.tex +8 -0
- data/vendor/jsclasses/LICENSE +1 -1
- data/vendor/jsclasses/Makefile +3 -2
- data/vendor/jsclasses/create_archive.sh +5 -5
- data/vendor/jsclasses/jis/Makefile +3 -2
- data/vendor/jsclasses/jis/jsarticle.cls +74 -31
- data/vendor/jsclasses/jis/jsbook.cls +74 -31
- data/vendor/jsclasses/jis/jsclasses.dtx +176 -36
- data/vendor/jsclasses/jis/jsclasses.ins +15 -5
- data/vendor/jsclasses/jis/jslogo.dtx +4 -4
- data/vendor/jsclasses/jis/jslogo.ins +9 -0
- data/vendor/jsclasses/jis/jslogo.sty +4 -16
- data/vendor/jsclasses/jis/jspf.cls +73 -30
- data/vendor/jsclasses/jis/jsreport.cls +74 -31
- data/vendor/jsclasses/jis/jsverb.ins +9 -0
- data/vendor/jsclasses/jis/jsverb.sty +1 -13
- data/vendor/jsclasses/jis/kiyou.cls +74 -31
- data/vendor/jsclasses/jis/minijs.sty +65 -22
- data/vendor/jsclasses/jis/okumacro.dtx +4 -5
- data/vendor/jsclasses/jis/okumacro.ins +9 -0
- data/vendor/jsclasses/jis/okumacro.sty +4 -17
- data/vendor/jsclasses/jis/okuverb.ins +9 -0
- data/vendor/jsclasses/jis/okuverb.sty +1 -13
- data/vendor/jsclasses/jis/winjis.sty +23 -19
- data/vendor/jsclasses/jsarticle.cls +74 -31
- data/vendor/jsclasses/jsbook.cls +74 -31
- data/vendor/jsclasses/jsclasses.dtx +176 -36
- data/vendor/jsclasses/jsclasses.ins +15 -5
- data/vendor/jsclasses/jsclasses.pdf +0 -0
- data/vendor/jsclasses/jslogo.dtx +4 -4
- data/vendor/jsclasses/jslogo.ins +9 -0
- data/vendor/jsclasses/jslogo.pdf +0 -0
- data/vendor/jsclasses/jslogo.sty +4 -16
- data/vendor/jsclasses/jspf.cls +73 -30
- data/vendor/jsclasses/jsreport.cls +74 -31
- data/vendor/jsclasses/jsverb.ins +9 -0
- data/vendor/jsclasses/jsverb.pdf +0 -0
- data/vendor/jsclasses/jsverb.sty +1 -13
- data/vendor/jsclasses/kiyou.cls +74 -31
- data/vendor/jsclasses/minijs.sty +68 -22
- data/vendor/jsclasses/okumacro.dtx +4 -5
- data/vendor/jsclasses/okumacro.ins +9 -0
- data/vendor/jsclasses/okumacro.pdf +0 -0
- data/vendor/jsclasses/okumacro.sty +4 -17
- data/vendor/jsclasses/okuverb.ins +9 -0
- data/vendor/jsclasses/okuverb.pdf +0 -0
- data/vendor/jsclasses/okuverb.sty +1 -13
- data/vendor/jsclasses/tests/relfont.tex +10 -0
- data/vendor/jsclasses/winjis.sty +23 -19
- metadata +109 -20
- data/.rubocop_todo.yml +0 -7
- data/lib/epubmaker.rb +0 -23
- data/lib/epubmaker/content.rb +0 -110
- data/lib/epubmaker/epubcommon.rb +0 -441
- data/lib/epubmaker/epubv2.rb +0 -143
- data/lib/epubmaker/epubv3.rb +0 -233
- data/lib/epubmaker/producer.rb +0 -375
- data/lib/epubmaker/zip_exporter.rb +0 -81
- data/lib/lineinput.rb +0 -155
- data/lib/review/book/compilable.rb +0 -178
- data/lib/review/tocparser.rb +0 -271
- data/samples/syntax-book/review-ext.rb +0 -14
- data/test/test_tocparser.rb +0 -25
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (c) 2006-
|
1
|
+
# Copyright (c) 2006-2020 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
|
@@ -21,7 +21,7 @@
|
|
21
21
|
require 'fileutils'
|
22
22
|
require 'rake/clean'
|
23
23
|
|
24
|
-
BOOK = ENV['REVIEW_BOOK'] || 'book'
|
24
|
+
BOOK = ENV['REVIEW_BOOK'] || 'syntax-book'
|
25
25
|
BOOK_PDF = BOOK + '.pdf'
|
26
26
|
BOOK_EPUB = BOOK + '.epub'
|
27
27
|
CONFIG_FILE = ENV['REVIEW_CONFIG_FILE'] || 'config.yml'
|
@@ -29,6 +29,12 @@ 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
|
+
PDF_OPTIONS = ENV['REVIEW_PDF_OPTIONS'] || ''
|
34
|
+
EPUB_OPTIONS = ENV['REVIEW_EPUB_OPTIONS'] || ''
|
35
|
+
WEB_OPTIONS = ENV['REVIEW_WEB_OPTIONS'] || ''
|
36
|
+
IDGXML_OPTIONS = ENV['REVIEW_IDGXML_OPTIONS'] || ''
|
37
|
+
TEXT_OPTIONS = ENV['REVIEW_TEXT_OPTIONS'] || ''
|
32
38
|
|
33
39
|
def build(mode, chapter)
|
34
40
|
sh("review-compile --target=#{mode} --footnotetext --stylesheet=style.css #{chapter} > tmp")
|
@@ -74,12 +80,17 @@ task web: WEBROOT
|
|
74
80
|
|
75
81
|
desc 'generate text file (without decoration)'
|
76
82
|
task plaintext: TEXTROOT do
|
77
|
-
sh "review-textmaker -n #{CONFIG_FILE}"
|
83
|
+
sh "review-textmaker #{TEXT_OPTIONS} -n #{CONFIG_FILE}"
|
78
84
|
end
|
79
85
|
|
80
86
|
desc 'generate (decorated) text file'
|
81
87
|
task text: TOPROOT do
|
82
|
-
sh "review-textmaker #{CONFIG_FILE}"
|
88
|
+
sh "review-textmaker #{TEXT_OPTIONS} #{CONFIG_FILE}"
|
89
|
+
end
|
90
|
+
|
91
|
+
desc 'generate IDGXML file'
|
92
|
+
task idgxml: IDGXMLROOT do
|
93
|
+
sh "review-idgxmlmaker #{IDGXML_OPTIONS} #{CONFIG_FILE}"
|
83
94
|
end
|
84
95
|
|
85
96
|
desc 'generate EPUB file'
|
@@ -93,21 +104,25 @@ SRC_PDF = FileList['layouts/*.erb', 'sty/**/*.sty']
|
|
93
104
|
|
94
105
|
file BOOK_PDF => SRC + SRC_PDF do
|
95
106
|
FileUtils.rm_rf([BOOK_PDF, BOOK, BOOK + '-pdf'])
|
96
|
-
sh "review-pdfmaker #{CONFIG_FILE}"
|
107
|
+
sh "review-pdfmaker #{PDF_OPTIONS} #{CONFIG_FILE}"
|
97
108
|
end
|
98
109
|
|
99
110
|
file BOOK_EPUB => SRC + SRC_EPUB do
|
100
111
|
FileUtils.rm_rf([BOOK_EPUB, BOOK, BOOK + '-epub'])
|
101
|
-
sh "review-epubmaker #{CONFIG_FILE}"
|
112
|
+
sh "review-epubmaker #{EPUB_OPTIONS} #{CONFIG_FILE}"
|
102
113
|
end
|
103
114
|
|
104
115
|
file WEBROOT => SRC do
|
105
116
|
FileUtils.rm_rf([WEBROOT])
|
106
|
-
sh "review-webmaker #{CONFIG_FILE}"
|
117
|
+
sh "review-webmaker #{WEB_OPTIONS} #{CONFIG_FILE}"
|
107
118
|
end
|
108
119
|
|
109
120
|
file TEXTROOT => SRC do
|
110
121
|
FileUtils.rm_rf([TEXTROOT])
|
111
122
|
end
|
112
123
|
|
113
|
-
|
124
|
+
file IDGXMLROOT => SRC do
|
125
|
+
FileUtils.rm_rf([IDGXMLROOT])
|
126
|
+
end
|
127
|
+
|
128
|
+
CLEAN.include([BOOK, BOOK_PDF, BOOK_EPUB, BOOK + '-pdf', BOOK + '-epub', WEBROOT, 'images/_review_math', 'images/_review_math_text', TEXTROOT, IDGXMLROOT])
|
@@ -0,0 +1,23 @@
|
|
1
|
+
<div class="colophon">
|
2
|
+
<% if @config['subtitle'].nil? %>
|
3
|
+
<p class="title"><%= h(@config.name_of('title')) %></p>
|
4
|
+
<% else %>
|
5
|
+
<p class="title"><%= h(@config.name_of('title')) %><br /><span class="subtitle"><%= h(@config.name_of('subtitle')) %></span></p>
|
6
|
+
<% end %>
|
7
|
+
<% if @config['date'] || @config['history'] %>
|
8
|
+
<%= colophon_history %>
|
9
|
+
<% end %>
|
10
|
+
<table class="colophon">
|
11
|
+
<% @config['colophon_order'].each do |role| %>
|
12
|
+
<% if @config[role] %>
|
13
|
+
<tr><th><%= h(ReVIEW::I18n.t(role)) %></th><td><%= h(join_with_separator(config.names_of(role), ReVIEW::I18n.t('names_splitter'))) %></td></tr>
|
14
|
+
<% end %>
|
15
|
+
<% end %>
|
16
|
+
<% if @isbn_hyphen %>
|
17
|
+
<tr><th>ISBN</th><td><%= @isbn_hyphen %></td></tr>
|
18
|
+
<% end %>
|
19
|
+
</table>
|
20
|
+
<% if @config['rights'] && !@config['rights'].empty? %>
|
21
|
+
<p class="copyright"><%= join_with_separator(config.names_of('rights').map { |m| h(m) }, '<br />') %></p>
|
22
|
+
<% end %>
|
23
|
+
</div>
|
@@ -0,0 +1,10 @@
|
|
1
|
+
<% if @coverimage_src %>
|
2
|
+
<div id="cover-image" class="cover-image">
|
3
|
+
<img src="<%= @coverimage_src %>" alt="<%= h(@config.name_of('title')) %>" class="max"/>
|
4
|
+
</div>
|
5
|
+
<% else %>
|
6
|
+
<h1 class="cover-title"><%= h(@config.name_of('title')) %></h1>
|
7
|
+
<% if @config['subtitle'] %>
|
8
|
+
<h2 class="cover-subtitle"><%= h(@config.name_of('subtitle')) %></h2>
|
9
|
+
<% end %>
|
10
|
+
<% end %>
|
@@ -0,0 +1,20 @@
|
|
1
|
+
<h1 class="tp-title"><%= @title_str %></h1>
|
2
|
+
<% if @subtitle_str %>
|
3
|
+
<h2 class="tp-subtitle"><%= h(@subtitle_str) %></h2>
|
4
|
+
<% end %>
|
5
|
+
<% if @author_str %>
|
6
|
+
<p>
|
7
|
+
<br />
|
8
|
+
<br />
|
9
|
+
</p>
|
10
|
+
<h2 class="tp-author"><%= h(@author_str) %></h2>
|
11
|
+
<% end %>
|
12
|
+
<% if @publisher_str %>
|
13
|
+
<p>
|
14
|
+
<br />
|
15
|
+
<br />
|
16
|
+
<br />
|
17
|
+
<br />
|
18
|
+
</p>
|
19
|
+
<h3 class="tp-publisher"><%= h(@publisher_str) %></h3>
|
20
|
+
<% end %>
|
@@ -3,6 +3,12 @@
|
|
3
3
|
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xmlns:ops="http://www.idpf.org/2007/ops" xml:lang="<%= @language %>">
|
4
4
|
<head>
|
5
5
|
<meta charset="UTF-8" />
|
6
|
+
<% if @javascripts.present? %>
|
7
|
+
<% @javascripts.each do |js| %>
|
8
|
+
<%= js %>
|
9
|
+
|
10
|
+
<% end %>
|
11
|
+
<% end %>
|
6
12
|
<% if @stylesheets.present? %>
|
7
13
|
<% @stylesheets.each do |style| %>
|
8
14
|
<link rel="stylesheet" type="text/css" href="<%= style %>" />
|
@@ -4,6 +4,12 @@
|
|
4
4
|
<head>
|
5
5
|
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
|
6
6
|
<meta http-equiv="Content-Style-Type" content="text/css"/>
|
7
|
+
<% if @javascripts.present? %>
|
8
|
+
<% @javascripts.each do |js| %>
|
9
|
+
<%= js %>
|
10
|
+
|
11
|
+
<% end %>
|
12
|
+
<% end %>
|
7
13
|
<% if @stylesheets.present? %>
|
8
14
|
<% @stylesheets.each do |style| %>
|
9
15
|
<link rel="stylesheet" type="text/css" href="<%= style %>" />
|
data/templates/latex/config.erb
CHANGED
@@ -1,50 +1,51 @@
|
|
1
|
+
<%- initialize_metachars(@config['texcommand']) -%>
|
1
2
|
\makeatletter
|
2
3
|
\def\review@reviewversion{<%= ReVIEW::VERSION %>}
|
3
4
|
\def\review@texcompiler{<%= @texcompiler %>}
|
4
5
|
\def\review@documentclass{<%= @documentclass %>}
|
5
6
|
|
6
7
|
<%- %w(booktitle subtitle).each do |item| -%>
|
7
|
-
<%- if @config[item] -%>\def\review@<%= item %>name{<%=
|
8
|
+
<%- if @config[item] -%>\def\review@<%= item %>name{<%= escape(@config.name_of(item)) %>}
|
8
9
|
<%- end -%>
|
9
10
|
<%- end -%>
|
10
11
|
|
11
|
-
<%- %w(aut adp ann arr art asn aqt aft aui ant bkp clb cmm csl dsr edt ill lyr mdc mus nrt oth pht pbl prt red rev spn ths trc trl).each do |item| %><%- if @config[item] -%>\def\review@<%= item %>names{<%=
|
12
|
+
<%- %w(aut adp ann arr art asn aqt aft aui ant bkp clb cmm csl dsr edt ill lyr mdc mus nrt oth pht pbl prt red rev spn ths trc trl).each do |item| %><%- if @config[item] -%>\def\review@<%= item %>names{<%= escape(@config.names_of(item).join(I18n.t('names_splitter'))) %>}
|
12
13
|
<%- end -%>
|
13
14
|
<%- end -%>
|
14
15
|
|
15
16
|
\def\review@titlepageauthors{<%= @authors %>}
|
16
|
-
\def\review@date{<%=
|
17
|
+
\def\review@date{<%= escape(@config['date'].to_s) %>}
|
17
18
|
|
18
|
-
<%- %w(bookname language urnid isbn).each do |item| -%><%- if @config[item] -%>\def\review@<%= item %>{<%=
|
19
|
+
<%- %w(bookname language urnid isbn).each do |item| -%><%- if @config[item] -%>\def\review@<%= item %>{<%= escape(@config[item]) %>}
|
19
20
|
<%- end -%>
|
20
21
|
<%- end -%>
|
21
22
|
<%- %w(rights description subject type format source relation coverage).each do |item| -%>
|
22
23
|
<%- if @config[item] -%>
|
23
|
-
<%- a = [@config[item]].flatten -%>\def\review@<%= item %>{<%= a.map{|s|
|
24
|
+
<%- a = [@config[item]].flatten -%>\def\review@<%= item %>{<%= a.map{|s| escape(s)}.join('\\' + '\\') %>}
|
24
25
|
<%- end -%>
|
25
26
|
<%- end -%>
|
26
27
|
|
27
28
|
<%- if @config['highlight'] && @config['highlight']['latex'] -%>\def\review@highlightlatex{<%= @config['highlight']['latex'] %>}
|
28
29
|
<%- end -%>
|
29
30
|
|
30
|
-
\def\review@intn@list{<%=
|
31
|
-
\def\review@intn@columnhead{<%=
|
32
|
-
\def\review@intn@image{<%=
|
33
|
-
\def\review@intn@table{<%=
|
34
|
-
\def\review@intn@equation{<%=
|
35
|
-
\def\review@intn@columnname{<%=
|
36
|
-
\def\review@intn@memohead{<%=
|
37
|
-
\def\review@intn@edition{<%=
|
38
|
-
\def\review@intn@publishedby{<%=
|
39
|
-
\def\review@intn@captionprefix{<%=
|
40
|
-
\def\review@toctitle{<%=
|
41
|
-
\def\review@prepartname{<%=
|
42
|
-
\def\review@postpartname{<%=
|
43
|
-
\def\review@prechaptername{<%=
|
44
|
-
\def\review@postchaptername{<%=
|
45
|
-
\def\review@figurename{<%=
|
46
|
-
\def\review@tablename{<%=
|
47
|
-
\def\review@appendixname{<%=
|
31
|
+
\def\review@intn@list{<%= escape(I18n.t('list')) %>}
|
32
|
+
\def\review@intn@columnhead{<%= escape(I18n.t('column_head')) %>}
|
33
|
+
\def\review@intn@image{<%= escape(I18n.t('image')) %>}
|
34
|
+
\def\review@intn@table{<%= escape(I18n.t('table')) %>}
|
35
|
+
\def\review@intn@equation{<%= escape(I18n.t('equation')) %>}
|
36
|
+
\def\review@intn@columnname{<%= escape(I18n.t('columnname')) %>}
|
37
|
+
\def\review@intn@memohead{<%= escape(I18n.t('memo_head')) %>}
|
38
|
+
\def\review@intn@edition{<%= escape(I18n.t('edition')) %>}
|
39
|
+
\def\review@intn@publishedby{<%= escape(I18n.t('published_by', @config.names_of('pbl').join(I18n.t('names_splitter'))))%>}
|
40
|
+
\def\review@intn@captionprefix{<%= escape(I18n.t('caption_prefix')) %>}
|
41
|
+
\def\review@toctitle{<%= escape(@config['toctitle'].present? ? @config['toctitle'] : I18n.t('toctitle')) %>}
|
42
|
+
\def\review@prepartname{<%= escape(@locale_latex['prepartname']) %>}
|
43
|
+
\def\review@postpartname{<%= escape(@locale_latex['postpartname']) %>}
|
44
|
+
\def\review@prechaptername{<%= escape(@locale_latex['prechaptername']) %>}
|
45
|
+
\def\review@postchaptername{<%= escape(@locale_latex['postchaptername']) %>}
|
46
|
+
\def\review@figurename{<%= escape(I18n.t('image')) %>}
|
47
|
+
\def\review@tablename{<%= escape(I18n.t('table')) %>}
|
48
|
+
\def\review@appendixname{<%= escape(@locale_latex['preappendixname']) %>}
|
48
49
|
|
49
50
|
<%- if @config['toc'] -%>
|
50
51
|
\def\review@toc{true}
|
@@ -100,18 +101,29 @@
|
|
100
101
|
<%- if @config['use_part'] -%>
|
101
102
|
\def\reviewusepart{true}
|
102
103
|
<%- end -%>
|
104
|
+
<%- if @config['pdfmaker']['bbox'] -%>
|
105
|
+
\def\review@bbox{<%= @config['pdfmaker']['bbox'] %>}
|
106
|
+
<%- end -%>
|
107
|
+
<%- if @boxsetting -%>
|
108
|
+
\newcommand{\reviewboxsetting}{%
|
109
|
+
<%= @boxsetting %>%
|
110
|
+
}
|
111
|
+
<%- end -%>
|
103
112
|
|
104
113
|
\def\reviewbackcompatibilityhook{
|
105
|
-
|
114
|
+
\ifdefined\reviewimagecaption\else% for 3.0.0 compatibility
|
106
115
|
\newcommand{\reviewimagecaption}[1]{\caption{##1}}
|
107
|
-
|
108
|
-
|
116
|
+
\fi
|
117
|
+
\ifdefined\reviewincludegraphics\else% for 3.2.0 compatibility
|
109
118
|
\DeclareRobustCommand{\reviewincludegraphics}[2][]{%
|
110
119
|
\includegraphics[##1]{##2}}
|
111
|
-
|
112
|
-
|
120
|
+
\fi
|
121
|
+
\ifdefined\covermatter\else% for 4.0.0 compatibility
|
113
122
|
\def\covermatter{}
|
114
|
-
|
123
|
+
\fi
|
124
|
+
\ifdefined\reviewchapref\else% for 5.1.0 compatibility
|
125
|
+
\newcommand{\reviewchapref}[2]{\hyperref[##2]{##1}}
|
126
|
+
\fi
|
115
127
|
}
|
116
128
|
|
117
129
|
\makeatother
|
@@ -38,7 +38,9 @@ texdocumentclass: ["review-jlreq", "クラスオプションたち(省略可
|
|
38
38
|
|
39
39
|
`media` の値によって表紙(config.yml の coverimage に指定した画像)の配置の有無は自動で切り替わりますが、`cover=true` とすれば必ず表紙を入れるようになります。
|
40
40
|
|
41
|
-
|
41
|
+
### 表紙画像のサイズの仕上がり紙面合わせ `cover_fit_page=<trueまたはfalse>`
|
42
|
+
|
43
|
+
上記の coverimage で指定する画像ファイルは、原寸を想定しているため、サイズが異なる場合にははみ出たり、小さすぎたりすることになります。できるだけ原寸で用意することを推奨しますが、`cover_fit_page=true` とすれば表紙画像を紙面の仕上がりサイズに合わせて拡縮します。
|
42
44
|
|
43
45
|
### 特定の用紙サイズ `paper=<用紙サイズ>`
|
44
46
|
|
@@ -1,21 +1,30 @@
|
|
1
|
+
\ProvidesClass{review-base}[2020/12/31]
|
1
2
|
% jlreq用基本設定
|
2
3
|
\def\recls@tmp{luatex}\ifx\recls@tmp\recls@driver
|
3
4
|
\hypersetup{
|
4
5
|
pdftitle={\review@booktitlename},
|
5
|
-
pdfauthor={\review@autnames},
|
6
|
+
pdfauthor={\ifdefined\review@autnames\review@autnames\fi},
|
6
7
|
pdfcreator={Re:VIEW \review@reviewversion, with LaTeX}
|
7
8
|
}
|
8
9
|
\else
|
9
|
-
\
|
10
|
-
\
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
%
|
17
|
-
|
18
|
-
|
10
|
+
\def\recls@tmp{ebook}\ifx\recls@cameraready\recls@tmp
|
11
|
+
\hypersetup{
|
12
|
+
pdftitle={\review@booktitlename},
|
13
|
+
pdfauthor={\ifdefined\review@autnames\review@autnames\fi},
|
14
|
+
pdfcreator={Re:VIEW \review@reviewversion, with LaTeX}
|
15
|
+
}
|
16
|
+
\else
|
17
|
+
\newcommand*\PDFDocumentInformation[1]{%
|
18
|
+
\AtBeginShipoutFirst{\special{pdf:docinfo <<#1>>}}}
|
19
|
+
\@onlypreamble\PDFDocumentInformation
|
20
|
+
\PDFDocumentInformation{
|
21
|
+
/Title (\review@booktitlename)
|
22
|
+
\ifdefined\review@autnames /Author (\review@autnames)\fi
|
23
|
+
% /Subject ()
|
24
|
+
% /Keywords (,,)
|
25
|
+
/Creator (Re:VIEW \review@reviewversion, with LaTeX)
|
26
|
+
}
|
27
|
+
\fi
|
19
28
|
\fi
|
20
29
|
|
21
30
|
\RequirePackage{pxrubrica}
|
@@ -25,21 +34,26 @@
|
|
25
34
|
|
26
35
|
\long\def\review@ifempty#1{\expandafter\ifx\expandafter\relax\detokenize{#1}\relax\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi}
|
27
36
|
|
37
|
+
%% pass bbox setting to extractbb of graphicx
|
38
|
+
\ifdefined\review@bbox
|
39
|
+
\def\Gin@pagebox{\review@bbox}
|
40
|
+
\fi
|
41
|
+
|
28
42
|
% コードリスト装飾のデフォルト
|
29
43
|
\newenvironment{reviewemlist}{%
|
30
|
-
\begin{tcolorbox}[skin=enhanced jigsaw,breakable,colback=black!10,colframe=black!10,boxrule=0mm,arc=0mm]\ifdefined\reviewlistxkanjiskip\
|
44
|
+
\begin{tcolorbox}[skin=enhanced jigsaw,breakable,colback=black!10,colframe=black!10,boxrule=0mm,arc=0mm]\ifdefined\reviewlistxkanjiskip\setxkanjiskip{\reviewlistxkanjiskip}\fi\begin{alltt}}%
|
31
45
|
{\end{alltt}\end{tcolorbox}}
|
32
46
|
|
33
47
|
\newenvironment{reviewlist}{%
|
34
|
-
\begin{tcolorbox}[skin=enhanced jigsaw,breakable,colback=white,colframe=black,boxrule=0.15mm,arc=0mm]\ifdefined\reviewlistxkanjiskip\
|
48
|
+
\begin{tcolorbox}[skin=enhanced jigsaw,breakable,colback=white,colframe=black,boxrule=0.15mm,arc=0mm]\ifdefined\reviewlistxkanjiskip\setxkanjiskip{\reviewlistxkanjiskip}\fi\begin{alltt}}%
|
35
49
|
{\end{alltt}\end{tcolorbox}}
|
36
50
|
|
37
51
|
\newenvironment{reviewsource}{%
|
38
|
-
\begin{tcolorbox}[skin=enhanced jigsaw,breakable,colback=white,colframe=black,boxrule=0.15mm,arc=0mm]\ifdefined\reviewlistxkanjiskip\
|
52
|
+
\begin{tcolorbox}[skin=enhanced jigsaw,breakable,colback=white,colframe=black,boxrule=0.15mm,arc=0mm]\ifdefined\reviewlistxkanjiskip\setxkanjiskip{\reviewlistxkanjiskip}\fi\begin{alltt}}%
|
39
53
|
{\end{alltt}\end{tcolorbox}}
|
40
54
|
|
41
55
|
\newenvironment{reviewcmd}{%
|
42
|
-
\begin{tcolorbox}[skin=enhanced jigsaw,breakable,colback=black!99,coltext=white,colframe=black!99,boxrule=0mm,arc=0mm]\ifdefined\reviewlistxkanjiskip\
|
56
|
+
\begin{tcolorbox}[skin=enhanced jigsaw,breakable,colback=black!99,coltext=white,colframe=black!99,boxrule=0mm,arc=0mm]\ifdefined\reviewlistxkanjiskip\setxkanjiskip{\reviewlistxkanjiskip}\fi\begin{alltt}}%
|
43
57
|
{\end{alltt}\end{tcolorbox}}
|
44
58
|
|
45
59
|
% 図
|
@@ -121,9 +135,10 @@
|
|
121
135
|
\newcommand{\reviewtableref}[2]{\review@intn@table #1}
|
122
136
|
\newcommand{\reviewlistref}[1]{\review@intn@list #1}
|
123
137
|
\newcommand{\reviewequationref}[1]{\review@intn@equation #1}
|
124
|
-
\newcommand{\reviewbibref}[2]{#1}
|
125
|
-
\newcommand{\reviewcolumnref}[2]{#1}
|
126
|
-
\newcommand{\
|
138
|
+
\newcommand{\reviewbibref}[2]{\hyperref[#2]{#1}}
|
139
|
+
\newcommand{\reviewcolumnref}[2]{#1}% XXX:ハイパーリンクにはreviewcolumn側の調整が必要
|
140
|
+
\newcommand{\reviewchapref}[2]{\hyperref[#2]{#1}}
|
141
|
+
\newcommand{\reviewsecref}[2]{\hyperref[#2]{#1}}
|
127
142
|
|
128
143
|
\renewcommand{\contentsname}{\review@toctitle}
|
129
144
|
|
@@ -177,6 +192,16 @@
|
|
177
192
|
|
178
193
|
% allow break line in tt
|
179
194
|
% contributed by @zr_tex8r
|
195
|
+
\g@addto@macro\pdfstringdefPreHook{% for PDF bookmarks
|
196
|
+
\def\reviewami#1{#1}
|
197
|
+
\def\reviewbreakall#1{#1}
|
198
|
+
\def\reviewballoon#1{#1}
|
199
|
+
\def\reviewbou#1{#1}
|
200
|
+
\def\reviewkw#1{#1}
|
201
|
+
\def\reviewinsert#1{#1}
|
202
|
+
\def\reviewstrike#1{#1}
|
203
|
+
\def\reviewunderline#1{#1}
|
204
|
+
}
|
180
205
|
\newif\ifreview@ba@break
|
181
206
|
\def\review@ba@end{\review@ba@end@}
|
182
207
|
\DeclareRobustCommand{\reviewbreakall}[1]{%
|
@@ -228,11 +253,8 @@
|
|
228
253
|
|
229
254
|
\DeclareRobustCommand{\reviewbou}[1]{\kenten{#1}}
|
230
255
|
|
231
|
-
|
232
|
-
%% \DeclareRobustCommand{\reviewstrike}[1]{#1}
|
233
|
-
%%%% for ulem.sty:
|
256
|
+
\DeclareRobustCommand{\reviewinsert}[1]{\uuline{#1}}
|
234
257
|
\DeclareRobustCommand{\reviewstrike}[1]{\sout{#1}}
|
235
|
-
%%
|
236
258
|
%%%% for jumoline.sty:
|
237
259
|
%%\DeclareRobustCommand{\reviewstrike}[1]{\Middleline{#1}}
|
238
260
|
|
@@ -315,6 +337,9 @@
|
|
315
337
|
|
316
338
|
\if@reclscover
|
317
339
|
\ifdefined\review@coverimage
|
340
|
+
\ifrecls@coverfitpage
|
341
|
+
\def\review@coverimageoption{width=\paperwidth,height=\paperheight}
|
342
|
+
\fi
|
318
343
|
\def\reviewcoverpagecont{%
|
319
344
|
\expandafter\includefullpagegraphics\expandafter[\review@coverimageoption]{\review@coverimage}
|
320
345
|
\cleardoublepage
|
@@ -1,5 +1,5 @@
|
|
1
1
|
%#!ptex2pdf -l -u -ot '-synctex=1' test-rejlreqbk
|
2
|
-
% Copyright (c) 2018-
|
2
|
+
% Copyright (c) 2018-2021 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
|
@@ -19,9 +19,9 @@
|
|
19
19
|
% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
20
20
|
% THE SOFTWARE.
|
21
21
|
|
22
|
+
\IfFileExists{plautopatch.sty}{\RequirePackage{plautopatch}}{}
|
22
23
|
\NeedsTeXFormat{LaTeX2e}
|
23
|
-
\ProvidesClass{review-jlreq}[
|
24
|
-
cls]
|
24
|
+
\ProvidesClass{review-jlreq}[2021/01/12 Re:VIEW 5.1 upLaTeX/LuaLaTeX class modified for jlreq.cls]
|
25
25
|
|
26
26
|
%% hook at end of reviewmacro
|
27
27
|
\let\@endofreviewmacrohook\@empty
|
@@ -65,11 +65,7 @@ cls]
|
|
65
65
|
\recls@error{Not define such hiddenfolio: #1}}\relax
|
66
66
|
%% set hiddenfolio preset
|
67
67
|
\expandafter\let\expandafter\@makehiddenfolio\csname @makehiddenfolio@#1\endcsname
|
68
|
-
|
69
|
-
%% TODO: would better to use \jlreqtrimmarkssetup
|
70
|
-
\@bannertoken{\hskip-5mm\smash{\hiddenfolio@font\@makehiddenfolio}}%
|
71
|
-
\def\jlreq@trimmarks@banner@even@yoko@top@left{\hskip-5mm\smash{\hiddenfolio@font\@makehiddenfolio}}%
|
72
|
-
\AddEverypageHook{\maketombowbox}%
|
68
|
+
\@makehiddenfolio
|
73
69
|
\fi}
|
74
70
|
|
75
71
|
\def\hiddenfolio@font{\reset@font
|
@@ -77,29 +73,16 @@ cls]
|
|
77
73
|
|
78
74
|
%% hiddenfolio=default
|
79
75
|
\@namedef{@makehiddenfolio@default}{%
|
80
|
-
\
|
81
|
-
\llap{\thepage\hspace{\dimexpr\recls@tombobleed}}%
|
82
|
-
\else
|
83
|
-
\rlap{\hspace{\dimexpr\paperwidth+\recls@tombobleed}\thepage}%
|
84
|
-
\fi}
|
76
|
+
\jlreqtrimmarkssetup{banner = { top-gutter = { \hiddenfolio@font\selectfont \thepage} } } }
|
85
77
|
|
86
78
|
%% hiddenfolio=marusho-ink
|
87
79
|
\@namedef{@makehiddenfolio@marusho-ink}{%
|
88
|
-
\gdef\recls@tombobleed{5mm}%
|
80
|
+
\gdef\recls@tombobleed{5mm}% XXX: won't work. should set via bleed_margin
|
89
81
|
\@nameuse{@makehiddenfolio@nikko-pc}}
|
90
82
|
|
91
83
|
%% hiddenfolio=nikko-pc
|
92
84
|
\@namedef{@makehiddenfolio@nikko-pc}{%
|
93
|
-
\
|
94
|
-
\edef\recls@tmp{\thepage}%
|
95
|
-
\lower\dimexpr4pt+\recls@tombobleed+.5\paperheight+5\p@\hbox{%
|
96
|
-
\vbox{\expandafter\@tfor\expandafter\recls@x\expandafter:\expandafter=\recls@tmp\do{%
|
97
|
-
\hbox to 1\zw{\hss\recls@x\hss}}}}}%
|
98
|
-
\ifodd\c@page
|
99
|
-
\rlap{\recls@hiddfolio}%
|
100
|
-
\else
|
101
|
-
\llap{\recls@hiddfolio\hspace{-\paperwidth}}%
|
102
|
-
\fi}
|
85
|
+
\jlreqtrimmarkssetup{banner = { center-gutter = { in = {\hiddenfolio@font\selectfont \thepage} } } } }
|
103
86
|
|
104
87
|
%% hiddenfolio=shippo
|
105
88
|
\@namedef{@makehiddenfolio@shippo}{%
|
@@ -110,12 +93,14 @@ cls]
|
|
110
93
|
\newif\if@pdfhyperlink \@pdfhyperlinkfalse
|
111
94
|
\newif\if@pdftombo \@pdftombofalse
|
112
95
|
\newif\if@reclscover \@reclscovertrue
|
96
|
+
\newif\ifrecls@coverfitpage \recls@coverfitpagefalse
|
113
97
|
\newif\ifrecls@serialpage \recls@serialpagefalse
|
114
98
|
\DeclareOptionX{cameraready}[print]{\gdef\recls@cameraready{#1}}
|
115
99
|
\DeclareOptionX{media}[print]{\gdef\recls@cameraready{#1}}
|
116
100
|
\DeclareOptionX{tombopaper}[a4]{\gdef\recls@tombopaper{#1}}
|
117
101
|
\DeclareOptionX{bleed_margin}[3mm]{\gdef\recls@tombobleed{#1}}
|
118
102
|
\DeclareOptionX{cover}[\@empty]{\gdef\recls@forcecover{#1}}
|
103
|
+
\DeclareOptionX{cover_fit_page}[false]{\csname recls@coverfitpage#1\endcsname}
|
119
104
|
\DeclareOptionX{startpage}[1]{\gdef\recls@startpage{\numexpr #1\relax}}
|
120
105
|
\DeclareOptionX{serial_pagination}[false]{\csname recls@serialpage#1\endcsname}
|
121
106
|
|
@@ -340,5 +325,21 @@ cls]
|
|
340
325
|
\def\coverpagezero#1{\expandafter\@coverpagezero\csname c@#1\endcsname}
|
341
326
|
\def\@coverpagezero#1{cover}
|
342
327
|
|
328
|
+
%% xkanjiskip抽象化
|
329
|
+
\newcommand*\setxkanjiskip[1]{%
|
330
|
+
\def\recls@tmp{lualatex}\ifx\recls@tmp\recls@engine
|
331
|
+
\ltjsetparameter{xkanjiskip={#1}}
|
332
|
+
\else
|
333
|
+
\xkanjiskip=#1\relax
|
334
|
+
\fi
|
335
|
+
}
|
336
|
+
|
337
|
+
%% 脚注がページをまたいで泣き別れさせない
|
338
|
+
\interfootnotelinepenalty\@M
|
339
|
+
|
340
|
+
%% 代替定義
|
341
|
+
\def\reviewleftcurlybrace{\{}
|
342
|
+
\def\reviewrightcurlybrace{\}}
|
343
|
+
|
343
344
|
\listfiles
|
344
345
|
\endinput
|