review-peg 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +36 -0
- data/.rubocop.yml +47 -0
- data/.rubocop_todo.yml +605 -0
- data/.travis.yml +18 -0
- data/COPYING +515 -0
- data/ChangeLog +2449 -0
- data/Dockerfile +22 -0
- data/Gemfile +6 -0
- data/README.rdoc +81 -0
- data/Rakefile +51 -0
- data/bin/review-catalog-converter-peg +129 -0
- data/bin/review-check-peg +169 -0
- data/bin/review-checkdep-peg +63 -0
- data/bin/review-compile-peg +202 -0
- data/bin/review-epubmaker-legacy-peg +1024 -0
- data/bin/review-epubmaker-peg +44 -0
- data/bin/review-index-peg +110 -0
- data/bin/review-init-peg +151 -0
- data/bin/review-pdfmaker-peg +18 -0
- data/bin/review-preproc-peg +131 -0
- data/bin/review-validate-peg +51 -0
- data/bin/review-vol-peg +100 -0
- data/debian/README.Debian +12 -0
- data/debian/README.source +5 -0
- data/debian/changelog +5 -0
- data/debian/compat +1 -0
- data/debian/control +22 -0
- data/debian/copyright +62 -0
- data/debian/docs +6 -0
- data/debian/manpage.1.ex +59 -0
- data/debian/patches/path.diff +91 -0
- data/debian/patches/series +1 -0
- data/debian/review.install +13 -0
- data/debian/review.links +4 -0
- data/debian/rules +13 -0
- data/debian/source/format +1 -0
- data/doc/NEWS.ja.md +350 -0
- data/doc/NEWS.md +354 -0
- data/doc/catalog.ja.md +53 -0
- data/doc/catalog.md +52 -0
- data/doc/format.ja.md +734 -0
- data/doc/format.md +746 -0
- data/doc/format_idg.ja.md +203 -0
- data/doc/quickstart.ja.md +222 -0
- data/doc/quickstart.md +252 -0
- data/doc/ruby-uuid/README +11 -0
- data/doc/ruby-uuid/README.ja +34 -0
- data/doc/sample.css +108 -0
- data/doc/sample.yml +238 -0
- data/lib/epubmaker.rb +24 -0
- data/lib/epubmaker/content.rb +93 -0
- data/lib/epubmaker/epubcommon.rb +424 -0
- data/lib/epubmaker/epubv2.rb +139 -0
- data/lib/epubmaker/epubv3.rb +222 -0
- data/lib/epubmaker/producer.rb +330 -0
- data/lib/lineinput.rb +107 -0
- data/lib/review.rb +3 -0
- data/lib/review/book.rb +43 -0
- data/lib/review/book/base.rb +401 -0
- data/lib/review/book/chapter.rb +100 -0
- data/lib/review/book/compilable.rb +184 -0
- data/lib/review/book/image_finder.rb +71 -0
- data/lib/review/book/index.rb +413 -0
- data/lib/review/book/page_metric.rb +47 -0
- data/lib/review/book/part.rb +54 -0
- data/lib/review/book/volume.rb +67 -0
- data/lib/review/builder.rb +452 -0
- data/lib/review/catalog.rb +52 -0
- data/lib/review/compiler.rb +5183 -0
- data/lib/review/compiler/literals_1_9.kpeg +22 -0
- data/lib/review/compiler/literals_1_9.rb +435 -0
- data/lib/review/configure.rb +64 -0
- data/lib/review/epubbuilder.rb +18 -0
- data/lib/review/epubmaker.rb +480 -0
- data/lib/review/ewbbuilder.rb +381 -0
- data/lib/review/exception.rb +21 -0
- data/lib/review/extentions.rb +4 -0
- data/lib/review/extentions/array.rb +25 -0
- data/lib/review/extentions/object.rb +9 -0
- data/lib/review/extentions/string.rb +33 -0
- data/lib/review/htmlbuilder.rb +1166 -0
- data/lib/review/htmllayout.rb +41 -0
- data/lib/review/htmltoc.rb +45 -0
- data/lib/review/htmlutils.rb +90 -0
- data/lib/review/i18n.rb +96 -0
- data/lib/review/i18n.yml +169 -0
- data/lib/review/idgxmlbuilder.rb +1233 -0
- data/lib/review/inaobuilder.rb +357 -0
- data/lib/review/latexbuilder.rb +941 -0
- data/lib/review/latexindex.rb +35 -0
- data/lib/review/latexutils.rb +95 -0
- data/lib/review/layout.tex.erb +340 -0
- data/lib/review/lineinput.rb +17 -0
- data/lib/review/location.rb +24 -0
- data/lib/review/makerhelper.rb +67 -0
- data/lib/review/markdownbuilder.rb +339 -0
- data/lib/review/node.rb +288 -0
- data/lib/review/pdfmaker.rb +332 -0
- data/lib/review/preprocessor.rb +530 -0
- data/lib/review/review.kpeg +745 -0
- data/lib/review/sec_counter.rb +69 -0
- data/lib/review/template.rb +21 -0
- data/lib/review/textbuilder.rb +17 -0
- data/lib/review/textutils.rb +16 -0
- data/lib/review/tocparser.rb +348 -0
- data/lib/review/tocprinter.rb +205 -0
- data/lib/review/topbuilder.rb +796 -0
- data/lib/review/unfold.rb +138 -0
- data/lib/review/version.rb +3 -0
- data/lib/uuid.rb +312 -0
- data/review.gemspec +32 -0
- data/templates/html/layout-html5.html.erb +17 -0
- data/templates/html/layout-xhtml1.html.erb +20 -0
- data/templates/ncx/epubv2.ncx.erb +11 -0
- data/templates/opf/epubv2.opf.erb +21 -0
- data/templates/opf/epubv3.opf.erb +18 -0
- data/templates/xml/container.xml.erb +6 -0
- data/test/CHAPS +2 -0
- data/test/assets/test.xml.erb +3 -0
- data/test/assets/test_template.tex +255 -0
- data/test/assets/test_template_backmatter.tex +32 -0
- data/test/bib.re +13 -0
- data/test/book_test_helper.rb +35 -0
- data/test/sample-book/README.md +7 -0
- data/test/sample-book/src/Rakefile +58 -0
- data/test/sample-book/src/_cover.html +3 -0
- data/test/sample-book/src/catalog.yml +10 -0
- data/test/sample-book/src/ch01.re +71 -0
- data/test/sample-book/src/ch02.re +3 -0
- data/test/sample-book/src/config.yml +186 -0
- data/test/sample-book/src/images/ch01-imgsample.jpg +0 -0
- data/test/sample-book/src/images/cover.jpg +0 -0
- data/test/sample-book/src/preface.re +15 -0
- data/test/sample-book/src/sty/jumoline.sty +310 -0
- data/test/sample-book/src/sty/reviewmacro.sty +39 -0
- data/test/sample-book/src/style.css +251 -0
- data/test/sample-book/src/vendor/jumoline/README +29 -0
- data/test/sample-book/src/vendor/jumoline/jumoline.dtx +2988 -0
- data/test/sample-book/src/vendor/jumoline/jumoline.ins +6 -0
- data/test/test.re +43 -0
- data/test/test_book.rb +556 -0
- data/test/test_book_chapter.rb +280 -0
- data/test/test_book_part.rb +54 -0
- data/test/test_builder.rb +80 -0
- data/test/test_catalog.rb +119 -0
- data/test/test_catalog_converter_cmd.rb +73 -0
- data/test/test_compiler.rb +92 -0
- data/test/test_configure.rb +50 -0
- data/test/test_epub3maker.rb +529 -0
- data/test/test_epubmaker.rb +569 -0
- data/test/test_epubmaker_cmd.rb +40 -0
- data/test/test_helper.rb +92 -0
- data/test/test_htmlbuilder.rb +1114 -0
- data/test/test_htmltoc.rb +32 -0
- data/test/test_htmlutils.rb +50 -0
- data/test/test_i18n.rb +180 -0
- data/test/test_idgxmlbuilder.rb +608 -0
- data/test/test_image_finder.rb +82 -0
- data/test/test_inaobuilder.rb +245 -0
- data/test/test_index.rb +174 -0
- data/test/test_latexbuilder.rb +732 -0
- data/test/test_lineinput.rb +182 -0
- data/test/test_makerhelper.rb +66 -0
- data/test/test_markdownbuilder.rb +125 -0
- data/test/test_pdfmaker.rb +171 -0
- data/test/test_pdfmaker_cmd.rb +40 -0
- data/test/test_preprocessor.rb +23 -0
- data/test/test_review_ext.rb +31 -0
- data/test/test_template.rb +26 -0
- data/test/test_textutils.rb +32 -0
- data/test/test_topbuilder.rb +291 -0
- data/test/test_uuid.rb +157 -0
- metadata +357 -0
@@ -0,0 +1,35 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
require 'review/book'
|
3
|
+
|
4
|
+
require 'stringio'
|
5
|
+
require 'tempfile'
|
6
|
+
require 'tmpdir'
|
7
|
+
|
8
|
+
include ReVIEW
|
9
|
+
|
10
|
+
module BookTestHelper
|
11
|
+
def mktmpbookdir(files = {})
|
12
|
+
created_files = {}
|
13
|
+
Dir.mktmpdir do |dir|
|
14
|
+
files.each_pair do |basename, content|
|
15
|
+
path = File.join(dir, basename)
|
16
|
+
File.open(path, 'w') {|o| o.print content }
|
17
|
+
created_files[basename] = path
|
18
|
+
end
|
19
|
+
book = Book::Base.load(dir)
|
20
|
+
yield(dir, book, created_files)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def get_instance_variables(obj)
|
25
|
+
obj.instance_variables.inject({}) do |memo, name|
|
26
|
+
value = obj.instance_variable_get(name)
|
27
|
+
if value.instance_variables.empty?
|
28
|
+
memo[name] = value
|
29
|
+
else
|
30
|
+
memo[name] = get_instance_variables(value)
|
31
|
+
end
|
32
|
+
memo
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -0,0 +1,7 @@
|
|
1
|
+
# Re:VIEWサンプル書籍データ
|
2
|
+
|
3
|
+
Re:VIEW ( http://github.com/kmuto/review )で書籍データを作るためのサンプルファイルです。
|
4
|
+
|
5
|
+
必要なファイルはsrc/ディレクトリ内にあります。srcディレクトリで「review-epubmaker config.yml」と実行すればEPUBが、「review-pdfmaker config.yml」とすればPDFが生成されます(PDFの生成にはpLaTeXとdvipdfmxが必要です)。
|
6
|
+
|
7
|
+
Ruby製のビルドツールであるrakeがインストールされている環境の場合、「rake pdf」を実行すればPDFが、「rake epub」を実行すればEPUBが生成されます。また、「rake html_all」を実行すればHTMLが生成されます。
|
@@ -0,0 +1,58 @@
|
|
1
|
+
require 'fileutils'
|
2
|
+
require 'rake/clean'
|
3
|
+
|
4
|
+
BOOK = "book"
|
5
|
+
BOOK_PDF = BOOK+".pdf"
|
6
|
+
BOOK_EPUB = BOOK+".epub"
|
7
|
+
CONFIG_FILE = "config.yml"
|
8
|
+
REVIEW_COMPILE = "review-compile-peg"
|
9
|
+
|
10
|
+
def build(mode, chapter)
|
11
|
+
sh "#{REVIEW_COMPILE} --target=#{mode} --footnotetext --stylesheet=style.css #{chapter} > tmp"
|
12
|
+
mode_ext = {"html" => "html", "latex" => "tex",
|
13
|
+
"idgxml" => "xml", "inao" => "inao"}
|
14
|
+
FileUtils.mv "tmp", chapter.gsub(/re\z/, mode_ext[mode])
|
15
|
+
end
|
16
|
+
|
17
|
+
def build_all(mode)
|
18
|
+
sh "#{REVIEW_COMPILE} --all --target=#{mode} --footnotetext --stylesheet=style.css"
|
19
|
+
end
|
20
|
+
|
21
|
+
task :default => :html_all
|
22
|
+
|
23
|
+
desc "build html (Usage: rake build re=target.re)"
|
24
|
+
task :html do
|
25
|
+
if ENV['re'].nil?
|
26
|
+
puts "Usage: rake build re=target.re"
|
27
|
+
exit
|
28
|
+
end
|
29
|
+
build("html", ENV['re'])
|
30
|
+
end
|
31
|
+
|
32
|
+
desc "build all html"
|
33
|
+
task :html_all do
|
34
|
+
build_all("html")
|
35
|
+
end
|
36
|
+
|
37
|
+
desc 'generate PDF and EPUB file'
|
38
|
+
task :all => [:pdf, :epub]
|
39
|
+
|
40
|
+
desc 'generate PDF file'
|
41
|
+
task :pdf => BOOK_PDF
|
42
|
+
|
43
|
+
desc 'generate EPUB file'
|
44
|
+
task :epub => BOOK_EPUB
|
45
|
+
|
46
|
+
SRC = FileList['*.re'] + [CONFIG_FILE]
|
47
|
+
|
48
|
+
file BOOK_PDF => SRC do
|
49
|
+
FileUtils.rm_rf [BOOK_PDF, BOOK, BOOK+"-pdf"]
|
50
|
+
sh "review-pdfmaker #{CONFIG_FILE}"
|
51
|
+
end
|
52
|
+
|
53
|
+
file BOOK_EPUB => SRC do
|
54
|
+
FileUtils.rm_rf [BOOK_EPUB, BOOK, BOOK+"-epub"]
|
55
|
+
sh "review-epubmaker #{CONFIG_FILE}"
|
56
|
+
end
|
57
|
+
|
58
|
+
CLEAN.include([BOOK, BOOK_PDF, BOOK_EPUB, BOOK+"-pdf", BOOK+"-epub"])
|
@@ -0,0 +1,71 @@
|
|
1
|
+
= サンプル
|
2
|
+
|
3
|
+
//lead{
|
4
|
+
書き方のサンプルです。上書きするなりして消して下さい。
|
5
|
+
//}
|
6
|
+
|
7
|
+
== 本文の書き方
|
8
|
+
|
9
|
+
最初の段落です。
|
10
|
+
この行も同じ段落です。
|
11
|
+
|
12
|
+
次の段落です。
|
13
|
+
|
14
|
+
|
15
|
+
|
16
|
+
2行以上以上空いていても1行空いているのと同様に処理します。
|
17
|
+
|
18
|
+
=== 見出し
|
19
|
+
|
20
|
+
「=」「==」「===」の後に一文字空白をあけると見出しになります。
|
21
|
+
|
22
|
+
|
23
|
+
====[column] コラムについて
|
24
|
+
|
25
|
+
見出しの先頭に「[column]」と書くと、そこはコラムになります。
|
26
|
+
|
27
|
+
== 箇条書き
|
28
|
+
|
29
|
+
番号のない箇条書きは「*」を使います。前後に空白を入れて下さい。
|
30
|
+
|
31
|
+
* 1つ目
|
32
|
+
* 2つ目
|
33
|
+
* 3つ目
|
34
|
+
|
35
|
+
番号つきの箇条書きには、「1.」「2.」などと書きます。
|
36
|
+
数字の値は実際には無視され、連番が振られます。
|
37
|
+
|
38
|
+
1. 1つ目
|
39
|
+
2. 2つ目
|
40
|
+
3. 3つ目
|
41
|
+
|
42
|
+
== ソースコードなどのリスト
|
43
|
+
|
44
|
+
リストには「//list」ブロックや「//emlist」ブロックを使います。
|
45
|
+
|
46
|
+
//list[list][リストのサンプル]{
|
47
|
+
int main(int argc, char **argv) {
|
48
|
+
puts("OK");
|
49
|
+
return 0;
|
50
|
+
}
|
51
|
+
//}
|
52
|
+
|
53
|
+
文中にリストを書くには「//emlist」になります。
|
54
|
+
|
55
|
+
//emlist{
|
56
|
+
def main
|
57
|
+
puts "ok"
|
58
|
+
end
|
59
|
+
//}
|
60
|
+
|
61
|
+
== 画像
|
62
|
+
|
63
|
+
画像は「//image」ブロックを使います。
|
64
|
+
|
65
|
+
//image[imgsample][画像サンプル]{
|
66
|
+
//}
|
67
|
+
|
68
|
+
|
69
|
+
より詳しくは、
|
70
|
+
@<href>{https://github.com/kmuto/review/blob/master/doc/format.rdoc}
|
71
|
+
を御覧ください。
|
@@ -0,0 +1,186 @@
|
|
1
|
+
# review-epubmaker向けの設定ファイルの例。
|
2
|
+
# yamlファイルをRe:VIEWファイルのある場所に置き、
|
3
|
+
# 「review-epubmaker yamlファイル」を実行すると、<bookname>.epubファイルが
|
4
|
+
# 生成されます。
|
5
|
+
# このファイルはUTF-8エンコーディングで記述してください。
|
6
|
+
|
7
|
+
# ブック名(ファイル名になるもの。ASCII範囲の文字を使用)
|
8
|
+
bookname: book
|
9
|
+
# 記述言語。省略した場合はja
|
10
|
+
language: ja
|
11
|
+
# 書名
|
12
|
+
booktitle: Re:VIEWサンプル書籍
|
13
|
+
# 固有IDに使用するドメイン。省略した場合は時刻に基づくランダムUUIDが入る
|
14
|
+
urnid: urn:uid:http://tatsu-zine.com/books/review-sample-book/1.0.0/
|
15
|
+
# ISBN。省略した場合はurnidが入る
|
16
|
+
# isbn: null
|
17
|
+
# 著者名。["高橋征義", "John Doe"] のように配列を使うことで複数指定可
|
18
|
+
aut: 高橋征義
|
19
|
+
# 出版社。配列書式で複数指定可能
|
20
|
+
prt: 達人出版会
|
21
|
+
# 編集者。配列書式で複数指定可能
|
22
|
+
edt: 高橋征義
|
23
|
+
# 刊行日。YYYY-MM-DD形式。省略した場合は本日の日付
|
24
|
+
date: 2011-08-03
|
25
|
+
# 発行年月。YYYY-MM-DD形式による配列指定。省略した場合はdateを使用する
|
26
|
+
# 複数指定する場合は次のように記述する
|
27
|
+
# [["初版第第1刷の日付", "初版第第2刷の日付"], ["第2版第1刷の日付"]]
|
28
|
+
# 日付の後ろを空白文字で区切り、任意の文字列を置くことも可能。
|
29
|
+
history: [["2011-08-03 v1.0.0版発行"]]
|
30
|
+
# 権利表記
|
31
|
+
rights: (C) 2011 Masayoshi Takahashi
|
32
|
+
|
33
|
+
# 以下はオプション(autと同じように配列書式で複数指定可能)。
|
34
|
+
# adp: 異なるメディア向けに作り直した者
|
35
|
+
# ann: 注釈記述者
|
36
|
+
# arr: アレンジした者
|
37
|
+
# art: グラフィックデザインおよび芸術家
|
38
|
+
# asn: 関連・かつての所有者・関係者
|
39
|
+
# aqt: 大きく引用された人物
|
40
|
+
# aft: 後書き・奥付の責任者
|
41
|
+
# aui: 序論・序文・前書きの責任者
|
42
|
+
# ant: 目録責任者
|
43
|
+
# bkp: メディア制作責任者
|
44
|
+
# clb: 限定参加または補足者
|
45
|
+
# cmm: 解釈・分析・考察者
|
46
|
+
# dsr: デザイナ
|
47
|
+
# edt: 編集者
|
48
|
+
# ill: イラストレータ
|
49
|
+
# lyr: 歌詞作成者
|
50
|
+
# mdc: メタデータセットの一次的責任者
|
51
|
+
# mus: 音楽家
|
52
|
+
# nrt: 語り手
|
53
|
+
# oth: その他
|
54
|
+
# pht: 撮影責任者
|
55
|
+
# red: 項目の枠組起草者
|
56
|
+
# rev: 評論者
|
57
|
+
# spn: 援助者
|
58
|
+
# ths: 監督者
|
59
|
+
# trc: 筆記・タイプ作業者
|
60
|
+
# trl: 翻訳者
|
61
|
+
# description: ブックの説明
|
62
|
+
# subject: 短い説明用タグ
|
63
|
+
# type: 書籍のカテゴリーなど
|
64
|
+
# format: メディアタイプおよび特徴
|
65
|
+
# source: 出版物生成の重要なリソース情報
|
66
|
+
# relation: 補助的リソース
|
67
|
+
# coverage: 内容の範囲や領域
|
68
|
+
|
69
|
+
# htmlext: HTMLファイルの拡張子(省略した場合はhtml)
|
70
|
+
# CSSファイル(配列で複数指定可、yamlファイルおよびRe:VIEWファイルを置いたディレクトリにあること)
|
71
|
+
stylesheet: ["style.css"]
|
72
|
+
|
73
|
+
# ePUBのバージョン (2か3) 省略した場合は2
|
74
|
+
epubversion: 3
|
75
|
+
# HTMLのバージョン (4か5。epubversionを3にしたときには5にする)
|
76
|
+
# htmlversion: 5
|
77
|
+
|
78
|
+
# 目次を作成するか。省略した場合はnull(作成しない)
|
79
|
+
# toc: true
|
80
|
+
|
81
|
+
# 目次として抽出する見出しレベル。省略した場合は2
|
82
|
+
toclevel: 2
|
83
|
+
# 本文でセクション番号を表示する見出しレベル。省略した場合は2
|
84
|
+
# 採番させたくない見出しには「==[nonum]」のようにnonum指定をする
|
85
|
+
secnolevel: 3
|
86
|
+
# EPUB2標準の目次以外に物理目次ファイルを作成するか。省略した場合はnull (作成しない)
|
87
|
+
# ePUB3においてはこの設定によらず必ず作成される
|
88
|
+
# mytoc: true
|
89
|
+
|
90
|
+
# 付録の連番のスタイル。null(アラビア数字1〜。デフォルト)、alpha(英字A〜)、roman(ローマ数字I〜)
|
91
|
+
# appendix_format: null
|
92
|
+
|
93
|
+
# 表紙にするHTMLファイル。ファイル名を指定すると表紙として入る
|
94
|
+
# cover: _cover.html
|
95
|
+
# 表紙に配置し、書籍の影絵にも利用する画像ファイル。省略した場合はnull (画像を使わない)
|
96
|
+
coverimage: cover.jpg
|
97
|
+
# 表紙の後に大扉ページを作成するか。省略した場合はnull (作成しない)
|
98
|
+
# titlepage: null
|
99
|
+
# 自動生成される大扉ページを上書きするファイル。ファイル名を指定すると大扉として入る
|
100
|
+
# titlefile: null
|
101
|
+
# 原書大扉ページにするHTMLファイル。ファイル名を指定すると原書大扉として入る
|
102
|
+
# originaltitlefile: null
|
103
|
+
# 権利表記ページファイル。ファイル名を指定すると権利表記として入る
|
104
|
+
# creditfile: null
|
105
|
+
# プロフィールページファイル。ファイル名を指定すると著者紹介として入る
|
106
|
+
# profile: null
|
107
|
+
# プロフィールページの目次上の見出し
|
108
|
+
# profiletitle: 著者紹介
|
109
|
+
# 広告ファイル。ファイル名を指定すると広告として入る
|
110
|
+
# advfile: null
|
111
|
+
# 奥付を作成するか。デフォルトでは作成されない。trueを指定するとデフォルトの奥付、ファイル名を指定するとそれがcolophon.htmlとしてコピーされる
|
112
|
+
colophon: true
|
113
|
+
# 裏表紙ファイル (画像はcoversまたはimagesに配置する)。ファイル名を指定すると裏表紙として入る
|
114
|
+
# backcover: null
|
115
|
+
|
116
|
+
# 以下のパラメータを有効にするときには、
|
117
|
+
# epubmaker:
|
118
|
+
# パラメータ: 値
|
119
|
+
# パラメータ: 値
|
120
|
+
# ...
|
121
|
+
# という構成にする必要がある(インデントさせる)
|
122
|
+
|
123
|
+
# epubmaker:
|
124
|
+
# 目次を要素の階層表現にしない。省略した場合(null)は階層化する。
|
125
|
+
# 特に部扉が入るなどの理由で、構成によっては階層化目次でepubcheckに
|
126
|
+
# パスしない目次ができるが、そのようなときにはこれをtrueにする
|
127
|
+
# flattoc: null
|
128
|
+
# 目次のインデントレベルをスペース文字で表現する(flattocがtrueのときのみ)
|
129
|
+
# flattocindent: true
|
130
|
+
# NCX目次の見出しレベルごとの飾り(配列で設定)。EPUB3ではNCXは作られない
|
131
|
+
# ncxindent:
|
132
|
+
#-
|
133
|
+
#- -
|
134
|
+
# フックは、各段階で介入したいときのプログラムを指定する。自動で適切な引数が渡される
|
135
|
+
# プログラムには実行権限が必要
|
136
|
+
# ファイル変換処理の前に実行するプログラム。スタイルシートのコンパイルをしたいときなどに利用する。
|
137
|
+
# 渡される引数1=作業用展開ディレクトリ
|
138
|
+
# hook_beforeprocess: null
|
139
|
+
# 前付の作成後に実行するプログラム。作業用展開ディレクトリにある目次ファイル(toc-html.txt)を操作したいときなどに利用する。
|
140
|
+
# 渡される引数1=作業用展開ディレクトリ
|
141
|
+
# hook_afterfrontmatter: null
|
142
|
+
# 本文の変換後に実行するプログラム。作業用展開ディレクトリにある目次ファイル(toc-html.txt)を操作したいときなどに利用する。
|
143
|
+
# 渡される引数1=作業用展開ディレクトリ
|
144
|
+
# hook_afterbody: null
|
145
|
+
# 後付の作成後に実行するプログラム。作業用展開ディレクトリにある目次ファイル(toc-html.txt)を操作したいときなどに利用する。
|
146
|
+
# 渡される引数1=作業用展開ディレクトリ
|
147
|
+
# hook_afterbackmatter: null
|
148
|
+
# 画像およびフォントをコピーした後に実行するプログラム。別の画像やフォントを追加したいときなどに利用する。
|
149
|
+
# 渡される引数1=作業用展開ディレクトリ
|
150
|
+
# hook_aftercopyimage: null
|
151
|
+
# ePUB zipアーカイブ直前に実行するプログラム。メタ情報などを加工したいときなどに利用する。
|
152
|
+
# 渡される引数1=ePUB準備ディレクトリ
|
153
|
+
# hook_prepack: null
|
154
|
+
# 変換したHTMLファイルおよびCSSを解析して厳密に使用している画像ファイルだけを取り込むか。デフォルトはnull(imagesディレクトリすべてを取り込む)
|
155
|
+
# なお、フォント、カバー、広告についてはこの設定によらずディレクトリ内のものがすべて取り込まれる
|
156
|
+
# verify_target_images: null
|
157
|
+
# verify_target_imagesがtrueの状態において、解析で発見されなくても強制的に取り込むファイルの相対パスの配列
|
158
|
+
# force_include_images: []
|
159
|
+
# Re:VIEWファイル名を使わず、前付にpre01,pre02...、本文にchap01,chap02l...、後付にpost01,post02...という名前付けルールにするか
|
160
|
+
# rename_for_legacy: null
|
161
|
+
# ePUBアーカイブの非圧縮実行
|
162
|
+
# zip_stage1: "zip -0Xq"
|
163
|
+
# ePUBアーカイブの圧縮実行
|
164
|
+
# zip_stage2: "zip -Xr9Dq"
|
165
|
+
# ePUBアーカイブに追加するパス(デフォルトはmimetype、META-INF、OEBPS)
|
166
|
+
# zip_addpath: null
|
167
|
+
#
|
168
|
+
# epubmaker:階層を使うものはここまで
|
169
|
+
|
170
|
+
# ハイライトを有効にするか。pygments.gemが必要
|
171
|
+
# pygments: null
|
172
|
+
|
173
|
+
# 取り込む画像が格納されているディレクトリ。省略した場合は以下
|
174
|
+
# imagedir: images
|
175
|
+
|
176
|
+
# 取り込むフォントが格納されているディレクトリ。省略した場合は以下
|
177
|
+
# fontdir: fonts
|
178
|
+
|
179
|
+
# imagedir内から取り込まれる対象となるファイル拡張子。省略した場合は以下
|
180
|
+
# image_ext: ["png", "gif", "jpg", "jpeg", "svg", "ttf", "woff", "otf"]
|
181
|
+
|
182
|
+
# fontdir内から取り込まれる対象となるファイル拡張子。省略した場合は以下
|
183
|
+
# font_ext: ["ttf", "woff", "otf"]
|
184
|
+
|
185
|
+
texstyle: reviewmacro
|
186
|
+
debug: true
|
Binary file
|
Binary file
|
@@ -0,0 +1,310 @@
|
|
1
|
+
%%
|
2
|
+
%% This is file `jumoline.sty',
|
3
|
+
%% generated with the docstrip utility.
|
4
|
+
%%
|
5
|
+
%% The original source files were:
|
6
|
+
%%
|
7
|
+
%% jumoline.dtx (with options: `package')
|
8
|
+
%%
|
9
|
+
%% IMPORTANT NOTICE:
|
10
|
+
%%
|
11
|
+
%% For the copyright see the source file.
|
12
|
+
%%
|
13
|
+
%% Any modified versions of this file must be renamed
|
14
|
+
%% with new filenames distinct from jumoline.sty.
|
15
|
+
%%
|
16
|
+
%% For distribution of the original source see the terms
|
17
|
+
%% for copying and modification in the file jumoline.dtx.
|
18
|
+
%%
|
19
|
+
%% This generated file may be distributed as long as the
|
20
|
+
%% original source files, as listed above, are part of the
|
21
|
+
%% same distribution. (The sources need not necessarily be
|
22
|
+
%% in the same archive or directory.)
|
23
|
+
%% Style file `jumoline'.
|
24
|
+
%% Copyright (C) 1999-2001 Hiroshi Nakashima
|
25
|
+
%% (Toyohashi Univ. of Tech.)
|
26
|
+
%%
|
27
|
+
%% This program can be redistributed and/or modified under the terms
|
28
|
+
%% of the LaTeX Project Public License distributed from CTAN
|
29
|
+
%% archives in directory macros/latex/base/lppl.txt; either
|
30
|
+
%% version 1 of the License, or any later version.
|
31
|
+
%%
|
32
|
+
%% \CharacterTable
|
33
|
+
%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
|
34
|
+
%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
|
35
|
+
%% Digits \0\1\2\3\4\5\6\7\8\9
|
36
|
+
%% Exclamation \! Double quote \" Hash (number) \#
|
37
|
+
%% Dollar \$ Percent \% Ampersand \&
|
38
|
+
%% Acute accent \' Left paren \( Right paren \)
|
39
|
+
%% Asterisk \* Plus \+ Comma \,
|
40
|
+
%% Minus \- Point \. Solidus \/
|
41
|
+
%% Colon \: Semicolon \; Less than \<
|
42
|
+
%% Equals \= Greater than \> Question mark \?
|
43
|
+
%% Commercial at \@ Left bracket \[ Backslash \\
|
44
|
+
%% Right bracket \] Circumflex \^ Underscore \_
|
45
|
+
%% Grave accent \` Left brace \{ Vertical bar \|
|
46
|
+
%% Right brace \} Tilde \~}
|
47
|
+
%%
|
48
|
+
%%
|
49
|
+
\def\next{LaTeX2e}
|
50
|
+
\ifx\fmtname\next
|
51
|
+
\def\next{
|
52
|
+
\NeedsTeXFormat{LaTeX2e}[1994/12/01]
|
53
|
+
\ProvidesPackage{jumoline}}
|
54
|
+
\else\def\next[#1]{}\fi
|
55
|
+
\next
|
56
|
+
[2001/05/31 v1.2 ]
|
57
|
+
|
58
|
+
\ifx\PackageError\undefined
|
59
|
+
\def\PackageError#1#2#3{\@latexerr{#1:#2}{#3^^J\@ehc}}
|
60
|
+
\fi
|
61
|
+
|
62
|
+
%%^L
|
63
|
+
|
64
|
+
%% Register Declaration
|
65
|
+
|
66
|
+
\newdimen\UnderlineDepth \UnderlineDepth-\maxdimen
|
67
|
+
\newdimen\MidlineHeight \MidlineHeight-\maxdimen
|
68
|
+
\newdimen\OverlineHeight \OverlineHeight-\maxdimen
|
69
|
+
\newdimen\UMOlineThickness \UMOlineThickness.4pt
|
70
|
+
|
71
|
+
\newdimen\UMO@height \newdimen\UMO@depth
|
72
|
+
\newdimen\UMO@dqspace \newdimen\UMO@tempdim
|
73
|
+
|
74
|
+
\newskip\UMO@prejfmglue \newskip\UMO@postjfmglue
|
75
|
+
|
76
|
+
\newcount\UMO@mode
|
77
|
+
\let\UMO@afterblock\z@
|
78
|
+
\let\UMO@afterword\@ne
|
79
|
+
\let\UMO@afterchar\tw@
|
80
|
+
|
81
|
+
\newcount\UMO@spacefactor
|
82
|
+
\newcount\UMO@firstxspcode
|
83
|
+
\newcount\UMO@lastxspcode
|
84
|
+
\newcount\UMO@inhibitxspcode
|
85
|
+
\newcount\UMO@prebreakpenalty
|
86
|
+
\newcount\UMO@postbreakpenalty
|
87
|
+
\newcount\UMO@kpostbreakpenalty
|
88
|
+
|
89
|
+
\newif\ifUMO@nospace \newif\ifUMO@firstelem
|
90
|
+
|
91
|
+
%%^L
|
92
|
+
|
93
|
+
%% User Interface and Initialization
|
94
|
+
|
95
|
+
\def\Underline{\UMO@line\UnderlineDepth{-\UnderlineDepth}{-\dp\strutbox}}
|
96
|
+
\def\Midline{\setbox\@tempboxa\hbox{あ}%
|
97
|
+
\UMO@line\MidlineHeight\MidlineHeight{.5\ht\@tempboxa}}
|
98
|
+
\def\Overline{\UMO@line\OverlineHeight\OverlineHeight{\ht\strutbox}}
|
99
|
+
\def\UMOline{\UMO@line{-\maxdimen}\z@}
|
100
|
+
|
101
|
+
\def\UMO@line#1#2#3#4{\begingroup \let\\\UMOnewline
|
102
|
+
\relax\ifdim#1<\z@ \UMO@height#3\relax
|
103
|
+
\else \UMO@height#2\relax \fi
|
104
|
+
\UMO@depth-\UMO@height
|
105
|
+
\ifdim\UMO@height<\z@ \advance\UMO@depth\UMOlineThickness
|
106
|
+
\else \advance\UMO@height\UMOlineThickness \fi
|
107
|
+
\settowidth\UMO@dqspace{“}\advance\UMO@dqspace-1zw
|
108
|
+
\UMO@dqspace-\UMO@dqspace \divide\UMO@dqspace\tw@
|
109
|
+
\UMO@nospacetrue \UMO@firstelemtrue
|
110
|
+
\UMO@mode\UMO@afterblock
|
111
|
+
\ifvmode\leavevmode\fi
|
112
|
+
\def\@tempa{#4 }\edef\@tempb{\noexpand\@nil\space}%
|
113
|
+
\expandafter\expandafter\expandafter\UMO@wordloop
|
114
|
+
\expandafter\@tempa\@tempb
|
115
|
+
\endgroup \UMO@aftergroup}
|
116
|
+
|
117
|
+
%%^L
|
118
|
+
|
119
|
+
%% Processing Word Elements
|
120
|
+
|
121
|
+
\def\UMO@wordloop{\UMO@ifbgroup\UMO@wordblock\UMO@iwordloop}
|
122
|
+
\def\UMO@ifbgroup#1#2{\let\@tempa#1\let\@tempb#2\futurelet\@tempc\UMO@ifnc}
|
123
|
+
\def\UMO@ifnc{\ifx\@tempc\bgroup \let\next\@tempa \else\let\next\@tempb \fi
|
124
|
+
\next}
|
125
|
+
\def\UMO@wordblock#1{\UMO@spaceskip
|
126
|
+
\UMO@putbox\relax{#1}\UMO@nospacetrue \UMO@mode\UMO@afterblock
|
127
|
+
\UMO@spacefactor\@m \UMO@wordloop}
|
128
|
+
\def\UMO@iwordloop#1 {\def\@tempa{#1}\ifx\@tempa\@nnil \let\next\UMO@end
|
129
|
+
\else
|
130
|
+
\ifx\@tempa\empty \UMO@nospacefalse
|
131
|
+
\else
|
132
|
+
\UMO@spaceskip \UMO@mode\UMO@afterblock
|
133
|
+
\def\UMO@theword{}\UMO@firstxspcode\m@ne
|
134
|
+
\UMO@charloop#1\@nil \fi
|
135
|
+
\let\next\UMO@wordloop \fi
|
136
|
+
\next}
|
137
|
+
|
138
|
+
%%^L
|
139
|
+
|
140
|
+
%% Interword Spacing
|
141
|
+
|
142
|
+
\def\UMO@spaceskip{\ifUMO@nospace \UMO@nospacefalse \else
|
143
|
+
\ifdim\spaceskip=\z@
|
144
|
+
\@tempdima\fontdimen3\font\relax
|
145
|
+
\multiply\@tempdima\UMO@spacefactor \divide\@tempdima\@m
|
146
|
+
\@tempdimb\fontdimen4\font\relax \multiply\@tempdimb\@m
|
147
|
+
\divide\@tempdimb\UMO@spacefactor
|
148
|
+
\@tempskipa\fontdimen2\font plus\@tempdima minus\@tempdimb\relax
|
149
|
+
\else
|
150
|
+
\edef\@tempa{\the\spaceskip\space @ @ @ @ }%
|
151
|
+
\expandafter\UMO@setspaceskip\@tempa\@nil
|
152
|
+
\fi
|
153
|
+
\ifnum\UMO@spacefactor<2000\else
|
154
|
+
\ifdim\xspaceskip=\z@ \advance\@tempskipa\fontdimen7\font
|
155
|
+
\else \@tempskipa\xspaceskip
|
156
|
+
\fi\fi
|
157
|
+
\UMO@skip\@tempskipa \fi}
|
158
|
+
\def\UMO@setspaceskip#1 #2 #3 #4 #5 #6\@nil{\@tempdima\z@ \@tempdimb\z@
|
159
|
+
\def\@tempa{#2}\def\@tempb{#3}%
|
160
|
+
\ifx\@tempa\UMO@plus \@tempdima#3\def\@tempa{#4}\def\@tempb{#5}\fi
|
161
|
+
\ifx\@tempa\UMO@minus \@tempdimb\@tempb\relax\fi
|
162
|
+
\multiply\@tempdima\UMO@specefactor \divide\@tempdima\@m
|
163
|
+
\multiply\@tempdimb\@m \divide\UMO@spacefactor
|
164
|
+
\@tempskipa#1 plus\@tempdima minus\@tempdimb\relax}
|
165
|
+
\def\@tempa#1 #2 #3 #4 #5\@nil{\def\UMO@plus{#2}\def\UMO@minus{#4}}
|
166
|
+
\@tempskipa1pt plus 2pt minus 3pt
|
167
|
+
\expandafter\@tempa\the\@tempskipa\@nil
|
168
|
+
|
169
|
+
%%^L
|
170
|
+
|
171
|
+
%% Processing Characters
|
172
|
+
|
173
|
+
\def\UMO@charloop{\UMO@ifbgroup\UMO@charblock\UMO@icharloop}
|
174
|
+
\def\UMO@charblock#1{\UMO@putword
|
175
|
+
\UMO@putbox\relax{#1}\UMO@mode\UMO@afterblock \UMO@spacefactor\@m
|
176
|
+
\UMO@charloop}
|
177
|
+
\def\UMO@icharloop#1{\def\@tempa{#1}%
|
178
|
+
\ifx\@tempa\@nnil \UMO@putword \let\next\relax
|
179
|
+
\else\ifx\UMOspace#1\relax \UMO@putword \let\next\UMO@space
|
180
|
+
\else\ifx\UMOnewline#1\relax \UMO@putword \let\next\UMO@newline
|
181
|
+
\else
|
182
|
+
\ifnum`#1<256\relax \edef\UMO@theword{\UMO@theword#1}%
|
183
|
+
\ifnum\UMO@firstxspcode<\z@
|
184
|
+
\UMO@firstxspcode\xspcode`#1\relax
|
185
|
+
\UMO@prebreakpenalty\prebreakpenalty`#1\relax
|
186
|
+
\fi
|
187
|
+
\UMO@lastxspcode\xspcode`#1\relax
|
188
|
+
\UMO@postbreakpenalty\postbreakpenalty`#1\relax
|
189
|
+
\else \UMO@putword \UMO@putchar{#1}\UMO@spacefactor\@m\fi
|
190
|
+
\let\next\UMO@charloop \fi\fi\fi \next}
|
191
|
+
\def\UMOspace{\PackageError{jumoline}%
|
192
|
+
{\string\UMOspace\space cannot be used here.}%
|
193
|
+
{\string\UMOspace\space can be used only in the argument of
|
194
|
+
\string\Underline\space and its relatives.}}
|
195
|
+
\def\UMOnewline{\PackageError{jumoline}%
|
196
|
+
{\string\UMOnewline\space cannot be used here.}%
|
197
|
+
{\string\UMOnewline\space can be used only in the argument of
|
198
|
+
\string\Underline\space and its relatives.}}
|
199
|
+
|
200
|
+
%%^L
|
201
|
+
|
202
|
+
%% Put ASCII String
|
203
|
+
|
204
|
+
\def\UMO@putword{\ifx\UMO@theword\empty\else
|
205
|
+
\ifnum\UMO@mode=\UMO@afterchar
|
206
|
+
\advance\UMO@kpostbreakpenalty\UMO@prebreakpenalty
|
207
|
+
\penalty\UMO@kpostbreakpenalty
|
208
|
+
\ifdim\UMO@postjfmglue>\z@ \UMO@skip\UMO@postjfmglue
|
209
|
+
\else\ifodd\UMO@inhibitxspcode \ifodd\UMO@firstxspcode
|
210
|
+
\UMO@skip\xkanjiskip \fi\fi\fi\fi
|
211
|
+
\setbox\@tempboxa\hbox{%
|
212
|
+
\UMO@theword\global\UMO@spacefactor\spacefactor}%
|
213
|
+
\UMO@putbox\relax\UMO@theword \UMO@mode\UMO@afterword
|
214
|
+
\def\UMO@theword{}\fi \UMO@firstxspcode\m@ne}
|
215
|
+
|
216
|
+
%%^L
|
217
|
+
|
218
|
+
%% Put Kanji Letter
|
219
|
+
|
220
|
+
\def\UMO@putchar#1{%
|
221
|
+
\ifnum\UMO@mode=\UMO@afterchar \UMO@prejfmglue\UMO@postjfmglue
|
222
|
+
\else \UMO@prejfmglue\z@ \fi
|
223
|
+
\UMO@postjfmglue\z@
|
224
|
+
\ifnum`#1<\kuten"1001\relax\UMO@setjfmglue{#1}\fi
|
225
|
+
\@tempskipa\UMO@prejfmglue
|
226
|
+
\UMO@inhibitxspcode\inhibitxspcode`#1\relax
|
227
|
+
\@tempcnta\prebreakpenalty`#1\relax
|
228
|
+
\ifnum\UMO@mode=\UMO@afterchar
|
229
|
+
\advance\@tempcnta\UMO@kpostbreakpenalty
|
230
|
+
\ifdim\UMO@prejfmglue=\z@ \@tempskipa\kanjiskip \fi
|
231
|
+
\else\ifnum\UMO@mode=\UMO@afterword
|
232
|
+
\advance\@tempcnta\UMO@postbreakpenalty
|
233
|
+
\ifdim\UMO@prejfmglue=\z@
|
234
|
+
\ifnum\UMO@lastxspcode>\@ne \ifnum\UMO@inhibitxspcode>\@ne
|
235
|
+
\@tempskipa\xkanjiskip \fi\fi\fi\fi\fi
|
236
|
+
\penalty\@tempcnta
|
237
|
+
\edef\@tempa{\the\@tempskipa}\ifx\@tempa\UMO@zskip\else
|
238
|
+
\UMO@skip\@tempskipa \fi
|
239
|
+
\UMO@putbox\inhibitglue{#1}%
|
240
|
+
\UMO@kpostbreakpenalty\postbreakpenalty`#1\relax
|
241
|
+
\UMO@mode\UMO@afterchar}
|
242
|
+
\@tempskipa\z@
|
243
|
+
\edef\UMO@zskip{\the\@tempskipa}
|
244
|
+
\def\UMO@setjfmglue#1{%
|
245
|
+
\settowidth\@tempdima{あ#1}\settowidth\@tempdimb{あ\inhibitglue#1}%
|
246
|
+
\advance\@tempdima-\@tempdimb
|
247
|
+
\settowidth\UMO@tempdim{#1あ}\settowidth\@tempdimb{#1\inhibitglue あ}%
|
248
|
+
\advance\UMO@tempdim-\@tempdimb
|
249
|
+
\ifdim\@tempdima>\z@
|
250
|
+
\ifdim\UMO@tempdim>\z@
|
251
|
+
\@tempskipa\@tempdima minus\@tempdima\relax
|
252
|
+
\UMO@postjfmglue\UMO@tempdim minus\UMO@tempdim\relax
|
253
|
+
\else \@tempskipa\@tempdima minus\UMO@dqspace\relax \fi
|
254
|
+
\advance\UMO@prejfmglue\@tempskipa
|
255
|
+
\else \UMO@postjfmglue\UMO@tempdim minus\UMO@dqspace \fi}
|
256
|
+
|
257
|
+
%%^L
|
258
|
+
|
259
|
+
%% Draw Under/Mid/Overline
|
260
|
+
|
261
|
+
\def\UMO@putbox#1#2{\setbox\@tempboxa\hbox{#1#2#1}\@tempdima\wd\@tempboxa
|
262
|
+
\ifUMO@firstelem\else
|
263
|
+
\rlap{\vrule\@height\UMO@height\@depth\UMO@depth\@width\@tempdima}\fi
|
264
|
+
\box\@tempboxa
|
265
|
+
\ifUMO@firstelem \UMO@firstelemfalse
|
266
|
+
\llap{\vrule\@height\UMO@height\@depth\UMO@depth\@width\@tempdima}\fi}
|
267
|
+
\def\UMO@skip#1{%
|
268
|
+
\leaders\hrule\@height\UMO@height\@depth\UMO@depth\hskip#1\relax}
|
269
|
+
|
270
|
+
%%^L
|
271
|
+
|
272
|
+
%% Explicit Spacing and Line Breaking
|
273
|
+
|
274
|
+
\def\UMO@space{\UMO@mode\UMO@afterblock
|
275
|
+
\@ifstar\UMO@sspace\UMO@ispace}
|
276
|
+
\def\UMO@sspace#1{\vrule width\z@\nobreak\UMO@skip{#1}\UMO@charloop}
|
277
|
+
\def\UMO@ispace#1{\@tempskipa#1\relax
|
278
|
+
\@ifstar{\@tempswafalse\UMO@iispace}{\@tempswatrue\UMO@iispace}}
|
279
|
+
\def\UMO@iispace{\@ifnextchar[%]
|
280
|
+
{\UMO@penalty}%
|
281
|
+
{\UMO@skip\@tempskipa \UMO@charloop}}
|
282
|
+
\def\UMO@penalty[#1]{\@tempcnta#1\relax
|
283
|
+
\if@tempswa
|
284
|
+
\ifnum\@tempcnta<\z@ \@tempcnta-\@tempcnta \fi
|
285
|
+
\ifcase\@tempcnta \or
|
286
|
+
\@tempcnta\@lowpenalty \or
|
287
|
+
\@tempcnta\@medpenalty \or
|
288
|
+
\@tempcnta\@highpenalty \else
|
289
|
+
\@tempcnta\@M \fi
|
290
|
+
\ifnum#1<\z@ \@tempcnta-\@tempcnta \fi \fi
|
291
|
+
\penalty\@tempcnta \UMO@skip\@tempskipa \UMO@charloop}
|
292
|
+
|
293
|
+
\def\UMO@newline{\UMO@mode\UMO@afterblock
|
294
|
+
\@ifstar{\UMO@skip{0pt plus1fil}\break \UMO@charloop}%
|
295
|
+
{\hfil \break \UMO@charloop}}
|
296
|
+
|
297
|
+
%%^L
|
298
|
+
|
299
|
+
%% Finalization
|
300
|
+
|
301
|
+
\def\UMO@end{\ifnum\UMO@mode=\UMO@afterchar
|
302
|
+
\ifnum\UMO@kpostbreakpenalty>\z@
|
303
|
+
\penalty\UMO@kpostbreakpenalty \fi
|
304
|
+
\ifdim\UMO@postjfmglue>\z@
|
305
|
+
\UMO@skip\UMO@postjfmglue\fi \fi
|
306
|
+
\xdef\UMO@aftergroup{\ifnum\UMO@mode=\UMO@afterword
|
307
|
+
\spacefactor\number\UMO@spacefactor\fi}}
|
308
|
+
\endinput
|
309
|
+
%%
|
310
|
+
%% End of file `jumoline.sty'.
|