rb_latex 0.1.4 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/rb_latex/maker.rb +20 -10
- data/lib/rb_latex/version.rb +1 -1
- data/templates/book.tex.erb +9 -22
- data/templates/rblatexdefault.sty +39 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bd8e99354f0b7d152e5466c710c743e515de594eb09a56f0265c648d1ccd262b
|
4
|
+
data.tar.gz: 3a8bf199de7ab0a7f34180944b4e7caee6acd68012dd1905aaeaaa31d600ec40
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 348c9651bdae4cdec8fa1b20215653849663b624e65c0f4d81de8992a807d94443331d7c52a781eaa6a1d49f52488379ceb0fddd45d784ab068ed658be344890
|
7
|
+
data.tar.gz: 63412c101551da4bdf69ed111c5628beda8d862d28b63a9f4019643da124b8c6ab22070aa9846d2bd4ea7b4a09fac6f9813264baf750fb8ea66b7a8d37570438
|
data/lib/rb_latex/maker.rb
CHANGED
@@ -8,6 +8,9 @@ module RbLatex
|
|
8
8
|
extend Forwardable
|
9
9
|
|
10
10
|
attr_accessor :document_class
|
11
|
+
attr_accessor :latex_command
|
12
|
+
attr_accessor :dvipdf_command
|
13
|
+
attr_accessor :debug
|
11
14
|
|
12
15
|
RbLatex::MetaInfo::ATTRS.each do |name|
|
13
16
|
def_delegator :@meta_info, name
|
@@ -30,9 +33,10 @@ module RbLatex
|
|
30
33
|
@work_dir = ".rblatex_work"
|
31
34
|
@item_list = RbLatex::ItemList.new
|
32
35
|
@meta_info = RbLatex::MetaInfo.new
|
33
|
-
@
|
34
|
-
@
|
36
|
+
@latex_command = "uplatex"
|
37
|
+
@dvipdf_command = "dvipdfmx"
|
35
38
|
@document_class = ["jlreq", "book,b5paper,openany"]
|
39
|
+
@debug = nil
|
36
40
|
end
|
37
41
|
|
38
42
|
def default_config
|
@@ -49,14 +53,15 @@ module RbLatex
|
|
49
53
|
Dir.chdir(dir) do
|
50
54
|
generate_src(dir)
|
51
55
|
exec_latex(dir)
|
52
|
-
|
56
|
+
exec_dvipdf(dir)
|
53
57
|
end
|
58
|
+
FileUtils.cp(File.join(dir, "book.pdf"), filename)
|
54
59
|
end
|
55
60
|
end
|
56
61
|
|
57
62
|
def copy_files(dir)
|
58
63
|
Dir.entries(@root_dir).each do |path|
|
59
|
-
next if path == "." or path == ".."
|
64
|
+
next if path == "." or path == ".." or path =~ /\A\.rblatex/
|
60
65
|
FileUtils.cp_r(File.join(@root_dir, path), dir, dereference_root: true)
|
61
66
|
end
|
62
67
|
end
|
@@ -69,27 +74,32 @@ module RbLatex
|
|
69
74
|
end
|
70
75
|
book_tex = apply_template("book.tex.erb")
|
71
76
|
File.write(File.join(dir, "book.tex"), book_tex)
|
77
|
+
rblatexdefault_sty = apply_template("rblatexdefault.sty")
|
78
|
+
File.write(File.join(dir, "rblatexdefault.sty"), rblatexdefault_sty)
|
72
79
|
end
|
73
80
|
|
74
81
|
def exec_latex(dir)
|
75
|
-
cmd = "#{@
|
82
|
+
cmd = "#{@latex_command} book.tex"
|
76
83
|
3.times do |i|
|
77
84
|
out, status = Open3.capture2e(cmd)
|
78
85
|
if !status.success?
|
79
86
|
@error_log = out
|
80
|
-
|
87
|
+
if @debug
|
88
|
+
print STDERR, @error_log, "\n"
|
89
|
+
end
|
90
|
+
raise RbLatex::Error, "fail to exec latex (#{i}): #{cmd}"
|
81
91
|
end
|
82
92
|
end
|
83
93
|
end
|
84
94
|
|
85
|
-
def
|
86
|
-
|
95
|
+
def exec_dvipdf(dir)
|
96
|
+
return unless @dvipdf_command
|
97
|
+
cmd = "#{@dvipdf_command} book.dvi"
|
87
98
|
out, status = Open3.capture2e(cmd)
|
88
99
|
if !status.success?
|
89
100
|
@error_log = out
|
90
|
-
raise RbLatex::Error, "fail to exec
|
101
|
+
raise RbLatex::Error, "fail to exec dvipdf: #{cmd}"
|
91
102
|
end
|
92
|
-
FileUtils.cp("book.pdf", File.join(@root_fullpath, "book.pdf"))
|
93
103
|
end
|
94
104
|
|
95
105
|
def work_dir=(dir)
|
data/lib/rb_latex/version.rb
CHANGED
data/templates/book.tex.erb
CHANGED
@@ -1,33 +1,20 @@
|
|
1
1
|
\documentclass[<%= @dclass_opt %>]{<%= @dclass %>}
|
2
|
-
\usepackage[utf8]{inputenc}
|
3
|
-
\usepackage[T1]{fontenc}
|
4
|
-
\usepackage{plext}
|
5
|
-
\usepackage{listings}
|
6
|
-
\usepackage[dvipdfmx]{hyperref}
|
7
|
-
\usepackage{pxjahyper}
|
8
|
-
\usepackage{fancyvrb}
|
9
|
-
\usepackage{amssymb}
|
10
|
-
\usepackage{amsmath}
|
11
|
-
\usepackage{amsthm}
|
12
|
-
\usepackage{amsfonts}
|
13
|
-
\usepackage{longtable}
|
14
|
-
\usepackage{graphicx}
|
15
|
-
\usepackage{pxrubrica}
|
16
|
-
\newcommand{\rblatexNewpage}{\newpage}
|
17
2
|
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
3
|
+
<% if @latex_command =~ /lualatex/ %>
|
4
|
+
\usepackage[luatex]{rblatexdefault}
|
5
|
+
<% else %>
|
6
|
+
\usepackage[dvipdfmx]{rblatexdefault}
|
7
|
+
<% end %>
|
23
8
|
|
24
|
-
\
|
9
|
+
\IfFileExists{rblatexcustom.sty}{
|
10
|
+
\usepackage{rblatexcustom}
|
11
|
+
}
|
25
12
|
|
26
13
|
\begin{document}
|
27
14
|
<% @item_list.filenames.each_with_index do |filename, idx| %>
|
28
15
|
\input{<%= filename %>}
|
29
16
|
<% if @item_list.filenames.size > idx + 1 %>
|
30
|
-
\
|
17
|
+
\rblatexFileSeparator
|
31
18
|
<% end %>
|
32
19
|
<% end %>
|
33
20
|
\end{document}
|
@@ -0,0 +1,39 @@
|
|
1
|
+
\ProvidesPackage{rblatexdefault}[2018/05/09 v1.0]
|
2
|
+
|
3
|
+
\newif\ifrblatex@luatex
|
4
|
+
\rblatex@luatexfalse
|
5
|
+
\newif\ifrblatex@dvipdfmx
|
6
|
+
\rblatex@dvipdfmxfalse
|
7
|
+
\DeclareOption{luatex}{\rblatex@luatextrue}
|
8
|
+
\DeclareOption{dvipdfmx}{\rblatex@dvipdfmxtrue}
|
9
|
+
\ProcessOptions\relax
|
10
|
+
|
11
|
+
\RequirePackage[utf8]{inputenc}
|
12
|
+
\RequirePackage[T1]{fontenc}
|
13
|
+
\RequirePackage{listings}
|
14
|
+
\RequirePackage{fancyvrb}
|
15
|
+
\RequirePackage{amssymb}
|
16
|
+
\RequirePackage{amsmath}
|
17
|
+
\RequirePackage{amsthm}
|
18
|
+
\RequirePackage{amsfonts}
|
19
|
+
\RequirePackage{longtable}
|
20
|
+
\RequirePackage{graphicx}
|
21
|
+
\RequirePackage{pxrubrica}
|
22
|
+
|
23
|
+
\ifrblatex@luatex%
|
24
|
+
\RequirePackage[luatex,pdfencoding=auto]{hyperref}
|
25
|
+
\RequirePackage{lltjext}
|
26
|
+
\fi
|
27
|
+
|
28
|
+
\ifrblatex@dvipdfmx%
|
29
|
+
\RequirePackage[dvipdfmx]{hyperref}
|
30
|
+
\RequirePackage{pxjahyper}
|
31
|
+
\RequirePackage{plext}
|
32
|
+
\fi
|
33
|
+
|
34
|
+
%%\hypersetup{colorlinks=false,urlcolor=blue}
|
35
|
+
\VerbatimFootnotes
|
36
|
+
\setlength{\parindent}{0pt}
|
37
|
+
\newcommand{\rblatexFileSeparator}{\newpage}
|
38
|
+
|
39
|
+
\endinput
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rb_latex
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- takahashim
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-05-
|
11
|
+
date: 2018-05-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -104,6 +104,7 @@ files:
|
|
104
104
|
- lib/rb_latex/version.rb
|
105
105
|
- rb_latex.gemspec
|
106
106
|
- templates/book.tex.erb
|
107
|
+
- templates/rblatexdefault.sty
|
107
108
|
homepage: https://github.com/takahashim/rb_latex
|
108
109
|
licenses: []
|
109
110
|
metadata: {}
|