hiki2latex 0.9.11 → 0.9.12
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/#Rakefile# +42 -0
- data/#hiki2latex.gemspec# +42 -0
- data/.rspec +2 -0
- data/.yardopts +4 -0
- data/{README.md → README.en.md} +22 -26
- data/README.ja.md +131 -0
- data/Rakefile +6 -9
- data/docs/README.en.md +58 -0
- data/docs/README.ja.md +131 -0
- data/docs/readme.hiki +48 -0
- data/docs/readme.ja.hiki +120 -0
- data/hiki2latex.gemspec +1 -0
- data/lib/hiki2latex/hiki2latex.rb +5 -2
- data/lib/hiki2latex/version.rb +1 -1
- metadata +26 -4
- data/lib/#hiki2latex.rb# +0 -145
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 12076d5d0ba9927aa5c90cf3ca76272ecc0540c9
|
4
|
+
data.tar.gz: e6e148da375fdc48d3a083554b07d809fd026d72
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 27e6493c92a853626cc67858f3b7e70035272de05c82c3758a2c832725f82fd7a6f863376f8690e6a3b3932852afb173dd261659cfb61f0ab52d9d1349092e0a
|
7
|
+
data.tar.gz: ed43a50306c7a9af6fed161e5e53cd973feb8c352ebae7290b6ca40ea0bc5aae13edeb767bfe449043761395cc444b79ea1609fd8ed26d3b9d7ad3cb04d38f11
|
data/#Rakefile#
ADDED
@@ -0,0 +1,42 @@
|
|
1
|
+
require "bundler/gem_tasks"
|
2
|
+
require "rspec/core/rake_task"
|
3
|
+
require "rake/testtask"
|
4
|
+
require 'yard'
|
5
|
+
require 'systemu'
|
6
|
+
|
7
|
+
#task :default => :test
|
8
|
+
task :default do
|
9
|
+
system 'rake -T'
|
10
|
+
end
|
11
|
+
|
12
|
+
|
13
|
+
desc "make documents by yard"
|
14
|
+
task :yard do
|
15
|
+
system "hiki2md docs/readme.hiki > docs/README.en.md"
|
16
|
+
system "hiki2md docs/readme.ja.hiki > docs/README.ja.md"
|
17
|
+
YARD::Rake::YardocTask.new
|
18
|
+
end
|
19
|
+
|
20
|
+
RSpec::Core::RakeTask.new(:spec)
|
21
|
+
|
22
|
+
desc "all procedure for release."
|
23
|
+
task :update =>[:setenv] do
|
24
|
+
system 'emacs ./lib/hiki2latex/version.rb'
|
25
|
+
system 'git add -A'
|
26
|
+
system 'git commit'
|
27
|
+
system 'git push -u origin master'
|
28
|
+
system 'bundle exec rake release'
|
29
|
+
end
|
30
|
+
|
31
|
+
desc "setenv for release from Kwansei gakuin."
|
32
|
+
task :setenv do
|
33
|
+
# status, stdout, stderr = systemu "scselect \| grep \'\*\' |grep KG"
|
34
|
+
# puts stdout
|
35
|
+
# p stdout != nil
|
36
|
+
# if stdout != nil then
|
37
|
+
p command='setenv HTTP_PROXY http://proxy.ksc.kwansei.ac.jp:8080'
|
38
|
+
system command
|
39
|
+
p command='setenv HTTPS_PROXY http://proxy.ksc.kwansei.ac.jp:8080'
|
40
|
+
system command
|
41
|
+
# end
|
42
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'hiki2latex/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "hiki2latex"
|
8
|
+
spec.version = Hiki2latex::VERSION
|
9
|
+
spec.authors = ["Shigeto R. Nishitani"]
|
10
|
+
spec.email = ["shigeto_nishitani@me.com"]
|
11
|
+
|
12
|
+
spec.summary = %q{convert hikidoc text to latex format.}
|
13
|
+
spec.description = <<-EOF
|
14
|
+
hiki2latex is a format converter from hikidoc to latex, using hikidoc.
|
15
|
+
EOF
|
16
|
+
spec.homepage = 'https://github.com/daddygongon/hiki2latex'
|
17
|
+
spec.license = "MIT"
|
18
|
+
|
19
|
+
# Prevent pushing this gem to RubyGems.org by setting 'allowed_push_host', or
|
20
|
+
# delete this section to allow pushing this gem to any host.
|
21
|
+
# if spec.respond_to?(:metadata)
|
22
|
+
# spec.metadata['allowed_push_host'] = "TODO: Set to 'http://mygemserver.com'"
|
23
|
+
# else
|
24
|
+
# raise "RubyGems 2.0 or newer is required to protect against public gem pushes."
|
25
|
+
# end
|
26
|
+
|
27
|
+
spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
28
|
+
spec.bindir = "exe"
|
29
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
30
|
+
spec.require_paths = ["lib"]
|
31
|
+
|
32
|
+
spec.required_ruby_version = '>= 1.8.6'
|
33
|
+
|
34
|
+
spec.add_development_dependency "bundler", "~> 1.10"
|
35
|
+
spec.add_development_dependency "rake", "~> 10.0"
|
36
|
+
spec.add_development_dependency "rspec"
|
37
|
+
spec.add_development_dependency "yard", "~> 0.8"
|
38
|
+
spec.add_development_dependency "test-unit"
|
39
|
+
spec.add_development_dependency "systemu"
|
40
|
+
spec.add_development_dependency "hiki2md"
|
41
|
+
spec.add_runtime_dependency "hikidoc","~>0.1.0"
|
42
|
+
end
|
data/.rspec
ADDED
data/.yardopts
ADDED
data/{README.md → README.en.md}
RENAMED
@@ -1,26 +1,21 @@
|
|
1
1
|
# Hiki2latex
|
2
|
-
|
3
2
|
convert hikidoc text to latex format.
|
4
3
|
|
5
4
|
## Installation
|
6
|
-
|
7
5
|
Add this line to your application's Gemfile:
|
8
|
-
|
9
6
|
```ruby
|
10
7
|
gem 'hiki2latex'
|
11
|
-
|
12
8
|
```
|
13
|
-
|
14
9
|
And then execute:
|
15
|
-
|
16
|
-
|
17
|
-
|
10
|
+
```
|
11
|
+
$ bundle
|
12
|
+
```
|
18
13
|
Or install it yourself as:
|
19
|
-
|
20
|
-
|
14
|
+
```
|
15
|
+
$ gem install hiki2latex
|
16
|
+
```
|
21
17
|
|
22
18
|
## Usage
|
23
|
-
|
24
19
|
Use as a gem library:
|
25
20
|
```ruby
|
26
21
|
require 'hiki2latex'
|
@@ -30,33 +25,34 @@ Use as a gem library:
|
|
30
25
|
|
31
26
|
or as a command line tool:
|
32
27
|
|
33
|
-
|
34
|
-
Usage
|
35
|
-
|
36
|
-
|
37
|
-
-p, --plain FILE make Plain document.
|
38
|
-
-b, --bare FILE make Bare document.
|
39
|
-
--head FILE put headers of maketitle file.
|
40
|
-
--pre FILE put preamble file.
|
41
|
-
--post FILE put post file.
|
42
|
-
--listings use listings.sty for preformat with style.
|
28
|
+
<dl>
|
29
|
+
<dt>Usage</dt><dd> hiki2latex [options] FILE</dd>
|
30
|
+
</dl>
|
31
|
+
|
43
32
|
|
33
|
+
| option | operation|
|
34
|
+
|:----|:----|
|
35
|
+
| -v, --version | show program Version.|
|
36
|
+
| -l, --level VALUE | set Level for output section.|
|
37
|
+
| -p, --plain FILE | make Plain document.|
|
38
|
+
| -b, --bare FILE | make Bare document.|
|
39
|
+
| --head FILE | put headers of maketitle file.|
|
40
|
+
| --pre FILE | put preamble file.|
|
41
|
+
| --post FILE | put post file.|
|
42
|
+
| --listings | use listings.sty for preformat with style.|
|
43
|
+
|
44
|
+
```
|
44
45
|
> hiki2latex --pre PRICM_preamble.tex --post biblio.tex -p test.hiki > test.tex
|
45
46
|
> hiki2latex --listings --post post.tex -p ./test.hiki > test.tex
|
46
47
|
```
|
47
48
|
|
48
49
|
## Development
|
49
|
-
|
50
50
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment. Run `bundle exec hiki2latex` to use the gem in this directory, ignoring other installed copies of this gem.
|
51
51
|
|
52
52
|
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
53
53
|
|
54
54
|
## Contributing
|
55
|
-
|
56
55
|
Bug reports and pull requests are welcome on GitHub at https://github.com/daddygongon/hiki2latex. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](contributor-covenant.org) code of conduct.
|
57
56
|
|
58
|
-
|
59
57
|
## License
|
60
|
-
|
61
58
|
The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
62
|
-
|
data/README.ja.md
ADDED
@@ -0,0 +1,131 @@
|
|
1
|
+
# 【概要】
|
2
|
+
hiki formatで書かれた文章を,latex formatに変換する
|
3
|
+
# 【documents】
|
4
|
+
- ![](http://rubygems.org/gems/hiki2latex)
|
5
|
+
|
6
|
+
# 【使用法】
|
7
|
+
```bash
|
8
|
+
Usage: hiki2latex [options] FILE
|
9
|
+
-v, --version show program Version.
|
10
|
+
-l, --level VALUE set Level for output section.
|
11
|
+
-p, --plain FILE make Plain document.
|
12
|
+
-b, --bare FILE make Bare document.
|
13
|
+
--head FILE put headers of maketitle file.
|
14
|
+
--pre FILE put preamble file.
|
15
|
+
--post FILE put post file.
|
16
|
+
--listings use listings.sty for preformat with style.
|
17
|
+
```
|
18
|
+
- より詳細な使用法は,![](hiki2latex_gemizing)にある.
|
19
|
+
- 西谷研の内部で利用するときに特化したマニュアルは[こちら](hiki2latex_manual).
|
20
|
+
|
21
|
+
## sample
|
22
|
+
幾つかのサンプルを以下に示す.
|
23
|
+
### caption:hiki2latexにより作成されたpdfファイトとその元ネタ.
|
24
|
+
|
25
|
+
|ソース(hiki表示)|pdf(latex変換後)|
|
26
|
+
|:----|:----|
|
27
|
+
|[[Shunkuntype]]|[[Shunkuntype]]のレポート|
|
28
|
+
|[[LPSO15研究会の例|LPSO15_fall_meeting_abst]]|{{attach_anchor(LPSO_abst.pdf)}}|
|
29
|
+
|[[中間発表hand out例|AbstSample]]|{{attach_anchor(AbstSample.pdf)}}|
|
30
|
+
|[[使っているformat集|DocumentFormatter_format_examples]]|
|
31
|
+
|
32
|
+
|
33
|
+
# 【仕様】
|
34
|
+
1. hikdoc.rbにwrap
|
35
|
+
1. header部を独立して提供
|
36
|
+
1. author, titleはheadに手を加えて提供
|
37
|
+
1. 図はattach_viewを変換
|
38
|
+
1. 表はそのまま表示
|
39
|
+
1. tableのmulti対応
|
40
|
+
1. captionはheaderで提供
|
41
|
+
1. citeは対応しない.
|
42
|
+
1. graph, tableは[h]で提供.
|
43
|
+
|
44
|
+
# 【具体的な使用例rakefile】
|
45
|
+
具体的な使用例として![](Shunkuntype_report)を作成した時のRakefile.rbを示す.何度も書き直す時は,このようにして自動化すべき.
|
46
|
+
```ruby
|
47
|
+
task :shunkuntype do
|
48
|
+
dir = '~/Sites/nishitani0/Internal/data/text/'
|
49
|
+
targets =["Shunkuntype_manual","Shunkuntype_gemizing","TouchTyping_Coding"]
|
50
|
+
targets.each{|file|
|
51
|
+
p command= "rm -f #{file}.tex"
|
52
|
+
system command
|
53
|
+
p command= "hiki2latex -l 2 --listings -b #{dir}#{file} > #{file}.tex"
|
54
|
+
system command
|
55
|
+
}
|
56
|
+
file="Shunkuntype_report"
|
57
|
+
p command= "rm -f #{file}.tex"
|
58
|
+
# p command= "hiki2latex --listings --head head.tex --post post.tex -p #{dir}#{file} > #{file}.tex"
|
59
|
+
p command= "hiki2latex --listings --post post.tex -p #{dir}#{file} > #{file}.tex"
|
60
|
+
system command
|
61
|
+
|
62
|
+
p command = "open #{file}.tex"
|
63
|
+
system command
|
64
|
+
exit
|
65
|
+
end
|
66
|
+
```
|
67
|
+
本文(Shunkuntype_report.tex)と付録(targets.texs)がある.付録は'-l 2 -b'によってsubsectionからのtitle levelにしてbare modeで作っている.post.texにpostで付け加えるtex部を指定して,appendixをつけている.
|
68
|
+
|
69
|
+
# 【code documents】
|
70
|
+
[rdoc](http://nishitani0.kwansei.ac.jp/~bob/nishitani0/rdocs/hiki2latex/index.html)に置いといたけど,ruby gemsやgithubに置けば不要となる.
|
71
|
+
# 【変更履歴,内容】
|
72
|
+
変更履歴,内容を表に示す.15/8月期で基本開発.16/2月期にgem化.
|
73
|
+
## caption:変更履歴,内容
|
74
|
+
|
75
|
+
|memo |date|hiki|
|
76
|
+
|:----|:----|:----|
|
77
|
+
|hikidoc.rbからhiki2latex.rb|15/8/4|[[hiki2latex_init]]|
|
78
|
+
|hiki2latex.rbひな形作成|15/8/5|
|
79
|
+
|@fをStringIOからStringへ|15/8/5|
|
80
|
+
|graph+caption|15/8/6|[[LPSO15_fall_meeting_abst]]|
|
81
|
+
|math|15/8/7| [[hiki2latex_math]]|
|
82
|
+
|table| 15/8/8| [[hiki2latex_table]]|
|
83
|
+
|under_score| 15/8/11 | [[hiki2latex_math]]|
|
84
|
+
|gem化| 16/2/13 | [[hiki2latex_gemizing]]|
|
85
|
+
|listings| 16/2/16 | [[hiki2latex_listings]]|
|
86
|
+
|
87
|
+
|
88
|
+
# 【開発メモ】
|
89
|
+
## 制限事項
|
90
|
+
- title中へuriの埋め込みが未対応.
|
91
|
+
- uriのverbがlatexのtitle内で使えないため.
|
92
|
+
## 【 保留項目】
|
93
|
+
1. includegraphicsの自動提供
|
94
|
+
1. hikiに置かれているgraphは劣化版なんでそれをいじるのはあまり筋がよろしくない.
|
95
|
+
1. epsならできるかも.hikeのattach_viewでサイズをどういじっているか...
|
96
|
+
1. underbar(_)がlatexでは全て引っかかる.escapeする?-> 対応済み ![](hiki2latex_math)
|
97
|
+
1. snake表記はrubyではfile名や変数名に頻繁に使われるので対処が必要かも.
|
98
|
+
|
99
|
+
## 【math】
|
100
|
+
$$での変換がうまくいかない.
|
101
|
+
```
|
102
|
+
hikiconf.rb
|
103
|
+
```
|
104
|
+
での設定を
|
105
|
+
```
|
106
|
+
#@style = 'default'
|
107
|
+
@style = 'math'
|
108
|
+
```
|
109
|
+
としたらhikiからエラーは出なくなったが.まだまだ....
|
110
|
+
|
111
|
+
## 【user def】
|
112
|
+
```
|
113
|
+
\def\Vec#1{\mbox{\boldmath $#1$}}
|
114
|
+
```
|
115
|
+
はpreambleに置くことが推奨されているが,実際は,使用するまでに定義すればいい.preambleをいじるようになるころには,latexについての十分な経験があると思われるので,hiki2latexではいじらない.ちょこっと必要ならhiki本文中に埋め込むべし.今の仕様では,
|
116
|
+
```ruby
|
117
|
+
def initialize(file_name)
|
118
|
+
@buf = ""
|
119
|
+
@buf << HEADER+"\n"
|
120
|
+
@buf << "\\begin{document}\n"
|
121
|
+
@buf << HikiDoc.to_latex(file_name)+"\n"
|
122
|
+
@buf << REFERENCE+"\n"
|
123
|
+
@buf << "\\end{document}\n"
|
124
|
+
end
|
125
|
+
|
126
|
+
def display
|
127
|
+
@buf
|
128
|
+
end
|
129
|
+
```
|
130
|
+
とするのが正しそうなので,無理に入れていない.将来はpreambleを保持するような拡張機能(option)が必要かもしれない.それは,「原典一つ主義」で,hikiを原典とするか,latexを原典とするかの選択が迫られたとき.
|
131
|
+
- 追記(2015/02/17) いい考察だ.解はでてないが今はhiki2latexに埋め込んで,それらの仕様をできるだけ吸収しようとしている.
|
data/Rakefile
CHANGED
@@ -10,18 +10,15 @@ task :default do
|
|
10
10
|
end
|
11
11
|
|
12
12
|
|
13
|
-
|
13
|
+
desc "make documents by yard"
|
14
|
+
task :yard do
|
15
|
+
system "hiki2md docs/readme.hiki > docs/README.en.md"
|
16
|
+
system "hiki2md docs/readme.ja.hiki > docs/README.ja.md"
|
17
|
+
YARD::Rake::YardocTask.new
|
18
|
+
end
|
14
19
|
|
15
20
|
RSpec::Core::RakeTask.new(:spec)
|
16
21
|
|
17
|
-
desc "test using unit/test"
|
18
|
-
Rake::TestTask.new(:test) do |test|
|
19
|
-
test.libs << "test"
|
20
|
-
test.libs << "lib"
|
21
|
-
test.test_files = FileList['test/**/*_test.rb']
|
22
|
-
test.verbose = true
|
23
|
-
end
|
24
|
-
|
25
22
|
desc "all procedure for release."
|
26
23
|
task :update =>[:setenv] do
|
27
24
|
system 'emacs ./lib/hiki2latex/version.rb'
|
data/docs/README.en.md
ADDED
@@ -0,0 +1,58 @@
|
|
1
|
+
# Hiki2latex
|
2
|
+
convert hikidoc text to latex format.
|
3
|
+
|
4
|
+
## Installation
|
5
|
+
Add this line to your application's Gemfile:
|
6
|
+
```ruby
|
7
|
+
gem 'hiki2latex'
|
8
|
+
```
|
9
|
+
And then execute:
|
10
|
+
```
|
11
|
+
$ bundle
|
12
|
+
```
|
13
|
+
Or install it yourself as:
|
14
|
+
```
|
15
|
+
$ gem install hiki2latex
|
16
|
+
```
|
17
|
+
|
18
|
+
## Usage
|
19
|
+
Use as a gem library:
|
20
|
+
```ruby
|
21
|
+
require 'hiki2latex'
|
22
|
+
|
23
|
+
puts HikiDoc.to_latex(File.read(ARGV[0]),{:level=>@level,:listings=>@listings})
|
24
|
+
```
|
25
|
+
|
26
|
+
or as a command line tool:
|
27
|
+
|
28
|
+
<dl>
|
29
|
+
<dt>Usage</dt><dd> hiki2latex [options] FILE</dd>
|
30
|
+
</dl>
|
31
|
+
|
32
|
+
|
33
|
+
| option | operation|
|
34
|
+
|:----|:----|
|
35
|
+
| -v, --version | show program Version.|
|
36
|
+
| -l, --level VALUE | set Level for output section.|
|
37
|
+
| -p, --plain FILE | make Plain document.|
|
38
|
+
| -b, --bare FILE | make Bare document.|
|
39
|
+
| --head FILE | put headers of maketitle file.|
|
40
|
+
| --pre FILE | put preamble file.|
|
41
|
+
| --post FILE | put post file.|
|
42
|
+
| --listings | use listings.sty for preformat with style.|
|
43
|
+
|
44
|
+
```
|
45
|
+
> hiki2latex --pre PRICM_preamble.tex --post biblio.tex -p test.hiki > test.tex
|
46
|
+
> hiki2latex --listings --post post.tex -p ./test.hiki > test.tex
|
47
|
+
```
|
48
|
+
|
49
|
+
## Development
|
50
|
+
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment. Run `bundle exec hiki2latex` to use the gem in this directory, ignoring other installed copies of this gem.
|
51
|
+
|
52
|
+
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
53
|
+
|
54
|
+
## Contributing
|
55
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/daddygongon/hiki2latex. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](contributor-covenant.org) code of conduct.
|
56
|
+
|
57
|
+
## License
|
58
|
+
The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
data/docs/README.ja.md
ADDED
@@ -0,0 +1,131 @@
|
|
1
|
+
# 【概要】
|
2
|
+
hiki formatで書かれた文章を,latex formatに変換する
|
3
|
+
# 【documents】
|
4
|
+
- ![](http://rubygems.org/gems/hiki2latex)
|
5
|
+
|
6
|
+
# 【使用法】
|
7
|
+
```bash
|
8
|
+
Usage: hiki2latex [options] FILE
|
9
|
+
-v, --version show program Version.
|
10
|
+
-l, --level VALUE set Level for output section.
|
11
|
+
-p, --plain FILE make Plain document.
|
12
|
+
-b, --bare FILE make Bare document.
|
13
|
+
--head FILE put headers of maketitle file.
|
14
|
+
--pre FILE put preamble file.
|
15
|
+
--post FILE put post file.
|
16
|
+
--listings use listings.sty for preformat with style.
|
17
|
+
```
|
18
|
+
- より詳細な使用法は,![](hiki2latex_gemizing)にある.
|
19
|
+
- 西谷研の内部で利用するときに特化したマニュアルは[こちら](hiki2latex_manual).
|
20
|
+
|
21
|
+
## sample
|
22
|
+
幾つかのサンプルを以下に示す.
|
23
|
+
### caption:hiki2latexにより作成されたpdfファイトとその元ネタ.
|
24
|
+
|
25
|
+
|ソース(hiki表示)|pdf(latex変換後)|
|
26
|
+
|:----|:----|
|
27
|
+
|[[Shunkuntype]]|[[Shunkuntype]]のレポート|
|
28
|
+
|[[LPSO15研究会の例|LPSO15_fall_meeting_abst]]|{{attach_anchor(LPSO_abst.pdf)}}|
|
29
|
+
|[[中間発表hand out例|AbstSample]]|{{attach_anchor(AbstSample.pdf)}}|
|
30
|
+
|[[使っているformat集|DocumentFormatter_format_examples]]|
|
31
|
+
|
32
|
+
|
33
|
+
# 【仕様】
|
34
|
+
1. hikdoc.rbにwrap
|
35
|
+
1. header部を独立して提供
|
36
|
+
1. author, titleはheadに手を加えて提供
|
37
|
+
1. 図はattach_viewを変換
|
38
|
+
1. 表はそのまま表示
|
39
|
+
1. tableのmulti対応
|
40
|
+
1. captionはheaderで提供
|
41
|
+
1. citeは対応しない.
|
42
|
+
1. graph, tableは[h]で提供.
|
43
|
+
|
44
|
+
# 【具体的な使用例rakefile】
|
45
|
+
具体的な使用例として![](Shunkuntype_report)を作成した時のRakefile.rbを示す.何度も書き直す時は,このようにして自動化すべき.
|
46
|
+
```ruby
|
47
|
+
task :shunkuntype do
|
48
|
+
dir = '~/Sites/nishitani0/Internal/data/text/'
|
49
|
+
targets =["Shunkuntype_manual","Shunkuntype_gemizing","TouchTyping_Coding"]
|
50
|
+
targets.each{|file|
|
51
|
+
p command= "rm -f #{file}.tex"
|
52
|
+
system command
|
53
|
+
p command= "hiki2latex -l 2 --listings -b #{dir}#{file} > #{file}.tex"
|
54
|
+
system command
|
55
|
+
}
|
56
|
+
file="Shunkuntype_report"
|
57
|
+
p command= "rm -f #{file}.tex"
|
58
|
+
# p command= "hiki2latex --listings --head head.tex --post post.tex -p #{dir}#{file} > #{file}.tex"
|
59
|
+
p command= "hiki2latex --listings --post post.tex -p #{dir}#{file} > #{file}.tex"
|
60
|
+
system command
|
61
|
+
|
62
|
+
p command = "open #{file}.tex"
|
63
|
+
system command
|
64
|
+
exit
|
65
|
+
end
|
66
|
+
```
|
67
|
+
本文(Shunkuntype_report.tex)と付録(targets.texs)がある.付録は'-l 2 -b'によってsubsectionからのtitle levelにしてbare modeで作っている.post.texにpostで付け加えるtex部を指定して,appendixをつけている.
|
68
|
+
|
69
|
+
# 【code documents】
|
70
|
+
[rdoc](http://nishitani0.kwansei.ac.jp/~bob/nishitani0/rdocs/hiki2latex/index.html)に置いといたけど,ruby gemsやgithubに置けば不要となる.
|
71
|
+
# 【変更履歴,内容】
|
72
|
+
変更履歴,内容を表に示す.15/8月期で基本開発.16/2月期にgem化.
|
73
|
+
## caption:変更履歴,内容
|
74
|
+
|
75
|
+
|memo |date|hiki|
|
76
|
+
|:----|:----|:----|
|
77
|
+
|hikidoc.rbからhiki2latex.rb|15/8/4|[[hiki2latex_init]]|
|
78
|
+
|hiki2latex.rbひな形作成|15/8/5|
|
79
|
+
|@fをStringIOからStringへ|15/8/5|
|
80
|
+
|graph+caption|15/8/6|[[LPSO15_fall_meeting_abst]]|
|
81
|
+
|math|15/8/7| [[hiki2latex_math]]|
|
82
|
+
|table| 15/8/8| [[hiki2latex_table]]|
|
83
|
+
|under_score| 15/8/11 | [[hiki2latex_math]]|
|
84
|
+
|gem化| 16/2/13 | [[hiki2latex_gemizing]]|
|
85
|
+
|listings| 16/2/16 | [[hiki2latex_listings]]|
|
86
|
+
|
87
|
+
|
88
|
+
# 【開発メモ】
|
89
|
+
## 制限事項
|
90
|
+
- title中へuriの埋め込みが未対応.
|
91
|
+
- uriのverbがlatexのtitle内で使えないため.
|
92
|
+
## 【 保留項目】
|
93
|
+
1. includegraphicsの自動提供
|
94
|
+
1. hikiに置かれているgraphは劣化版なんでそれをいじるのはあまり筋がよろしくない.
|
95
|
+
1. epsならできるかも.hikeのattach_viewでサイズをどういじっているか...
|
96
|
+
1. underbar(_)がlatexでは全て引っかかる.escapeする?-> 対応済み ![](hiki2latex_math)
|
97
|
+
1. snake表記はrubyではfile名や変数名に頻繁に使われるので対処が必要かも.
|
98
|
+
|
99
|
+
## 【math】
|
100
|
+
$$での変換がうまくいかない.
|
101
|
+
```
|
102
|
+
hikiconf.rb
|
103
|
+
```
|
104
|
+
での設定を
|
105
|
+
```
|
106
|
+
#@style = 'default'
|
107
|
+
@style = 'math'
|
108
|
+
```
|
109
|
+
としたらhikiからエラーは出なくなったが.まだまだ....
|
110
|
+
|
111
|
+
## 【user def】
|
112
|
+
```
|
113
|
+
\def\Vec#1{\mbox{\boldmath $#1$}}
|
114
|
+
```
|
115
|
+
はpreambleに置くことが推奨されているが,実際は,使用するまでに定義すればいい.preambleをいじるようになるころには,latexについての十分な経験があると思われるので,hiki2latexではいじらない.ちょこっと必要ならhiki本文中に埋め込むべし.今の仕様では,
|
116
|
+
```ruby
|
117
|
+
def initialize(file_name)
|
118
|
+
@buf = ""
|
119
|
+
@buf << HEADER+"\n"
|
120
|
+
@buf << "\\begin{document}\n"
|
121
|
+
@buf << HikiDoc.to_latex(file_name)+"\n"
|
122
|
+
@buf << REFERENCE+"\n"
|
123
|
+
@buf << "\\end{document}\n"
|
124
|
+
end
|
125
|
+
|
126
|
+
def display
|
127
|
+
@buf
|
128
|
+
end
|
129
|
+
```
|
130
|
+
とするのが正しそうなので,無理に入れていない.将来はpreambleを保持するような拡張機能(option)が必要かもしれない.それは,「原典一つ主義」で,hikiを原典とするか,latexを原典とするかの選択が迫られたとき.
|
131
|
+
- 追記(2015/02/17) いい考察だ.解はでてないが今はhiki2latexに埋め込んで,それらの仕様をできるだけ吸収しようとしている.
|
data/docs/readme.hiki
ADDED
@@ -0,0 +1,48 @@
|
|
1
|
+
! Hiki2latex
|
2
|
+
convert hikidoc text to latex format.
|
3
|
+
|
4
|
+
!! Installation
|
5
|
+
Add this line to your application's Gemfile:
|
6
|
+
<<< ruby
|
7
|
+
gem 'hiki2latex'
|
8
|
+
>>>
|
9
|
+
And then execute:
|
10
|
+
$ bundle
|
11
|
+
Or install it yourself as:
|
12
|
+
$ gem install hiki2latex
|
13
|
+
|
14
|
+
!! Usage
|
15
|
+
Use as a gem library:
|
16
|
+
<<<ruby
|
17
|
+
require 'hiki2latex'
|
18
|
+
|
19
|
+
puts HikiDoc.to_latex(File.read(ARGV[0]),{:level=>@level,:listings=>@listings})
|
20
|
+
>>>
|
21
|
+
|
22
|
+
or as a command line tool:
|
23
|
+
|
24
|
+
:Usage: hiki2latex [options] FILE
|
25
|
+
|
26
|
+
|| option || operation
|
27
|
+
|| -v, --version || show program Version.
|
28
|
+
|| -l, --level VALUE || set Level for output section.
|
29
|
+
|| -p, --plain FILE || make Plain document.
|
30
|
+
|| -b, --bare FILE || make Bare document.
|
31
|
+
|| --head FILE || put headers of maketitle file.
|
32
|
+
|| --pre FILE || put preamble file.
|
33
|
+
|| --post FILE || put post file.
|
34
|
+
|| --listings || use listings.sty for preformat with style.
|
35
|
+
> hiki2latex --pre PRICM_preamble.tex --post biblio.tex -p test.hiki > test.tex
|
36
|
+
> hiki2latex --listings --post post.tex -p ./test.hiki > test.tex
|
37
|
+
|
38
|
+
!! Development
|
39
|
+
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment. Run `bundle exec hiki2latex` to use the gem in this directory, ignoring other installed copies of this gem.
|
40
|
+
|
41
|
+
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
42
|
+
|
43
|
+
!! Contributing
|
44
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/daddygongon/hiki2latex. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](contributor-covenant.org) code of conduct.
|
45
|
+
|
46
|
+
!! License
|
47
|
+
The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
48
|
+
|
data/docs/readme.ja.hiki
ADDED
@@ -0,0 +1,120 @@
|
|
1
|
+
{{toc}}
|
2
|
+
!【概要】
|
3
|
+
hiki formatで書かれた文章を,latex formatに変換する
|
4
|
+
!【documents】
|
5
|
+
* [[http://rubygems.org/gems/hiki2latex]]
|
6
|
+
|
7
|
+
!【使用法】
|
8
|
+
<<< bash
|
9
|
+
Usage: hiki2latex [options] FILE
|
10
|
+
-v, --version show program Version.
|
11
|
+
-l, --level VALUE set Level for output section.
|
12
|
+
-p, --plain FILE make Plain document.
|
13
|
+
-b, --bare FILE make Bare document.
|
14
|
+
--head FILE put headers of maketitle file.
|
15
|
+
--pre FILE put preamble file.
|
16
|
+
--post FILE put post file.
|
17
|
+
--listings use listings.sty for preformat with style.
|
18
|
+
>>>
|
19
|
+
*より詳細な使用法は,[[hiki2latex_gemizing]]にある.
|
20
|
+
*西谷研の内部で利用するときに特化したマニュアルは[[こちら|hiki2latex_manual]].
|
21
|
+
|
22
|
+
!!sample
|
23
|
+
幾つかのサンプルを以下に示す.
|
24
|
+
!!!caption:hiki2latexにより作成されたpdfファイトとその元ネタ.
|
25
|
+
||ソース(hiki表示)||pdf(latex変換後)
|
26
|
+
||[[Shunkuntype]]||[[Shunkuntype]]のレポート
|
27
|
+
||[[LPSO15研究会の例|LPSO15_fall_meeting_abst]]||{{attach_anchor(LPSO_abst.pdf)}}
|
28
|
+
||[[中間発表hand out例|AbstSample]]||{{attach_anchor(AbstSample.pdf)}}
|
29
|
+
||[[使っているformat集|DocumentFormatter_format_examples]]||
|
30
|
+
|
31
|
+
!【仕様】
|
32
|
+
# hikdoc.rbにwrap
|
33
|
+
# header部を独立して提供
|
34
|
+
# author, titleはheadに手を加えて提供
|
35
|
+
# 図はattach_viewを変換
|
36
|
+
# 表はそのまま表示
|
37
|
+
## tableのmulti対応
|
38
|
+
# captionはheaderで提供
|
39
|
+
# citeは対応しない.
|
40
|
+
# graph, tableは[h]で提供.
|
41
|
+
|
42
|
+
!【具体的な使用例rakefile】
|
43
|
+
具体的な使用例として[[Shunkuntype_report]]を作成した時のRakefile.rbを示す.何度も書き直す時は,このようにして自動化すべき.
|
44
|
+
<<< ruby
|
45
|
+
task :shunkuntype do
|
46
|
+
dir = '~/Sites/nishitani0/Internal/data/text/'
|
47
|
+
targets =["Shunkuntype_manual","Shunkuntype_gemizing","TouchTyping_Coding"]
|
48
|
+
targets.each{|file|
|
49
|
+
p command= "rm -f #{file}.tex"
|
50
|
+
system command
|
51
|
+
p command= "hiki2latex -l 2 --listings -b #{dir}#{file} > #{file}.tex"
|
52
|
+
system command
|
53
|
+
}
|
54
|
+
file="Shunkuntype_report"
|
55
|
+
p command= "rm -f #{file}.tex"
|
56
|
+
# p command= "hiki2latex --listings --head head.tex --post post.tex -p #{dir}#{file} > #{file}.tex"
|
57
|
+
p command= "hiki2latex --listings --post post.tex -p #{dir}#{file} > #{file}.tex"
|
58
|
+
system command
|
59
|
+
|
60
|
+
p command = "open #{file}.tex"
|
61
|
+
system command
|
62
|
+
exit
|
63
|
+
end
|
64
|
+
>>>
|
65
|
+
本文(Shunkuntype_report.tex)と付録(targets.texs)がある.付録は'-l 2 -b'によってsubsectionからのtitle levelにしてbare modeで作っている.post.texにpostで付け加えるtex部を指定して,appendixをつけている.
|
66
|
+
|
67
|
+
!【code documents】
|
68
|
+
[[rdoc|http://nishitani0.kwansei.ac.jp/~bob/nishitani0/rdocs/hiki2latex/index.html]]に置いといたけど,ruby gemsやgithubに置けば不要となる.
|
69
|
+
!【変更履歴,内容】
|
70
|
+
変更履歴,内容を表に示す.15/8月期で基本開発.16/2月期にgem化.
|
71
|
+
!!caption:変更履歴,内容
|
72
|
+
||memo ||date||hiki
|
73
|
+
||hikidoc.rbからhiki2latex.rb||15/8/4||[[hiki2latex_init]]
|
74
|
+
||hiki2latex.rbひな形作成||15/8/5
|
75
|
+
||@fをStringIOからStringへ||15/8/5
|
76
|
+
||graph+caption||15/8/6||[[LPSO15_fall_meeting_abst]]
|
77
|
+
||math||15/8/7|| [[hiki2latex_math]]
|
78
|
+
||table|| 15/8/8|| [[hiki2latex_table]]
|
79
|
+
||under_score|| 15/8/11 || [[hiki2latex_math]]
|
80
|
+
||gem化|| 16/2/13 || [[hiki2latex_gemizing]]
|
81
|
+
||listings|| 16/2/16 || [[hiki2latex_listings]]
|
82
|
+
|
83
|
+
!【開発メモ】
|
84
|
+
!!制限事項
|
85
|
+
* title中へuriの埋め込みが未対応.
|
86
|
+
** uriのverbがlatexのtitle内で使えないため.
|
87
|
+
!!【 保留項目】
|
88
|
+
# includegraphicsの自動提供
|
89
|
+
## hikiに置かれているgraphは劣化版なんでそれをいじるのはあまり筋がよろしくない.
|
90
|
+
## epsならできるかも.hikeのattach_viewでサイズをどういじっているか...
|
91
|
+
# underbar(_)がlatexでは全て引っかかる.escapeする?-> 対応済み [[hiki2latex_math]]
|
92
|
+
## snake表記はrubyではfile名や変数名に頻繁に使われるので対処が必要かも.
|
93
|
+
|
94
|
+
!! 【math】
|
95
|
+
$$での変換がうまくいかない.
|
96
|
+
hikiconf.rb
|
97
|
+
での設定を
|
98
|
+
#@style = 'default'
|
99
|
+
@style = 'math'
|
100
|
+
としたらhikiからエラーは出なくなったが.まだまだ....
|
101
|
+
|
102
|
+
!!【user def】
|
103
|
+
\def\Vec#1{\mbox{\boldmath $#1$}}
|
104
|
+
はpreambleに置くことが推奨されているが,実際は,使用するまでに定義すればいい.preambleをいじるようになるころには,latexについての十分な経験があると思われるので,hiki2latexではいじらない.ちょこっと必要ならhiki本文中に埋め込むべし.今の仕様では,
|
105
|
+
<<< ruby
|
106
|
+
def initialize(file_name)
|
107
|
+
@buf = ""
|
108
|
+
@buf << HEADER+"\n"
|
109
|
+
@buf << "\\begin{document}\n"
|
110
|
+
@buf << HikiDoc.to_latex(file_name)+"\n"
|
111
|
+
@buf << REFERENCE+"\n"
|
112
|
+
@buf << "\\end{document}\n"
|
113
|
+
end
|
114
|
+
|
115
|
+
def display
|
116
|
+
@buf
|
117
|
+
end
|
118
|
+
>>>
|
119
|
+
とするのが正しそうなので,無理に入れていない.将来はpreambleを保持するような拡張機能(option)が必要かもしれない.それは,「原典一つ主義」で,hikiを原典とするか,latexを原典とするかの選択が迫られたとき.
|
120
|
+
**追記(2015/02/17) いい考察だ.解はでてないが今はhiki2latexに埋め込んで,それらの仕様をできるだけ吸収しようとしている.
|
data/hiki2latex.gemspec
CHANGED
@@ -170,8 +170,10 @@ class LatexOutput
|
|
170
170
|
@f << "#{lines.join("\n")}\n\n"
|
171
171
|
end
|
172
172
|
def blockquote_open()
|
173
|
+
@f << "\\begin{quotation}\n"
|
173
174
|
end
|
174
175
|
def blockquote_close()
|
176
|
+
@f << "\\end{quotation}\n"
|
175
177
|
end
|
176
178
|
|
177
179
|
def del(item)
|
@@ -179,11 +181,12 @@ class LatexOutput
|
|
179
181
|
end
|
180
182
|
|
181
183
|
def em(item)
|
182
|
-
@f << "\\textbf\{#{item}\}"
|
184
|
+
# @f << "\\textbf\{#{item}\}"
|
185
|
+
@f << "#{item}"
|
183
186
|
end
|
184
187
|
|
185
188
|
def strong(item)
|
186
|
-
@f << "\\textbf\{#{item}\}"
|
189
|
+
# @f << "\\textbf\{#{item}\}"
|
187
190
|
end
|
188
191
|
|
189
192
|
def block_preformatted(str, info)
|
data/lib/hiki2latex/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hiki2latex
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Shigeto R. Nishitani
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-05-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -94,6 +94,20 @@ dependencies:
|
|
94
94
|
- - ">="
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: hiki2md
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
97
111
|
- !ruby/object:Gem::Dependency
|
98
112
|
name: hikidoc
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -117,18 +131,26 @@ executables:
|
|
117
131
|
extensions: []
|
118
132
|
extra_rdoc_files: []
|
119
133
|
files:
|
134
|
+
- "#Rakefile#"
|
135
|
+
- "#hiki2latex.gemspec#"
|
120
136
|
- ".gitignore"
|
137
|
+
- ".rspec"
|
121
138
|
- ".travis.yml"
|
139
|
+
- ".yardopts"
|
122
140
|
- CODE_OF_CONDUCT.md
|
123
141
|
- Gemfile
|
124
142
|
- LICENSE.txt
|
125
|
-
- README.md
|
143
|
+
- README.en.md
|
144
|
+
- README.ja.md
|
126
145
|
- Rakefile
|
127
146
|
- bin/console
|
128
147
|
- bin/setup
|
148
|
+
- docs/README.en.md
|
149
|
+
- docs/README.ja.md
|
150
|
+
- docs/readme.hiki
|
151
|
+
- docs/readme.ja.hiki
|
129
152
|
- exe/hiki2latex
|
130
153
|
- hiki2latex.gemspec
|
131
|
-
- lib/#hiki2latex.rb#
|
132
154
|
- lib/hiki2latex.rb
|
133
155
|
- lib/hiki2latex/hiki2latex.rb
|
134
156
|
- lib/hiki2latex/version.rb
|
data/lib/#hiki2latex.rb#
DELETED
@@ -1,145 +0,0 @@
|
|
1
|
-
# -*- coding: utf-8 -*-
|
2
|
-
require 'optparse'
|
3
|
-
require "hiki2latex/version"
|
4
|
-
#require "hiki2latex/hikidoc"
|
5
|
-
require "hiki2latex/hiki2latex"
|
6
|
-
require 'pp'
|
7
|
-
|
8
|
-
module Hiki2latex
|
9
|
-
class Command
|
10
|
-
|
11
|
-
def self.run(argv=[])
|
12
|
-
new(argv).execute
|
13
|
-
end
|
14
|
-
|
15
|
-
def initialize(argv=[])
|
16
|
-
@argv = argv
|
17
|
-
@pre=@head=@post=nil
|
18
|
-
@listings=false
|
19
|
-
end
|
20
|
-
|
21
|
-
def execute
|
22
|
-
@argv << '--help' if @argv.size==0
|
23
|
-
command_parser = OptionParser.new do |opt|
|
24
|
-
opt.on('-v', '--version','show program Version.') { |v|
|
25
|
-
opt.version = Hiki2latex::VERSION
|
26
|
-
puts opt.ver
|
27
|
-
}
|
28
|
-
opt.on('-l VALUE','--level','set Level for output section.'){|level| @level=level.to_i}
|
29
|
-
opt.on('-p FILE', '--plain','make Plain document.') { |file| plain_doc(file) }
|
30
|
-
opt.on('-b FILE', '--bare','make Bare document.') { |file| bare_doc(file) }
|
31
|
-
opt.on('--head FILE', 'put headers of maketitle file.') { |file| @head=file }
|
32
|
-
opt.on('--pre FILE', 'put preamble file.') { |file| @pre=file }
|
33
|
-
opt.on('--post FILE', 'put post file.') { |file| @post=file }
|
34
|
-
opt.on('--listings', 'use listings.sty for preformat with style.') {@listings=true }
|
35
|
-
end
|
36
|
-
command_parser.banner = "Usage: hiki2latex [options] FILE"
|
37
|
-
command_parser.parse!(@argv)
|
38
|
-
plain_doc(@argv[0]) if @argv[0]!=nil
|
39
|
-
exit
|
40
|
-
end
|
41
|
-
|
42
|
-
# pre, post, listings��ʒ�ɒ�Β�Ȓĥ������
|
43
|
-
def plain_doc(file)
|
44
|
-
if @listings==true then
|
45
|
-
puts listings_preamble
|
46
|
-
elsif @pre==nil then
|
47
|
-
puts "\\documentclass[12pt,a4paper]{jsarticle}"
|
48
|
-
puts "\\usepackage[dvipdfmx]{graphicx}"
|
49
|
-
else
|
50
|
-
puts File.read(@pre)
|
51
|
-
end
|
52
|
-
puts "\\begin{document}"
|
53
|
-
puts File.read(@head) if @head!=nil
|
54
|
-
plain_tex = HikiDoc.to_latex(File.read(file),{:listings=>@listings})
|
55
|
-
puts mod_abstract(plain_tex)
|
56
|
-
puts File.read(@post) if @post!=nil
|
57
|
-
puts "\\end{document}"
|
58
|
-
end
|
59
|
-
|
60
|
-
def bare_doc(file)
|
61
|
-
bare_doc = HikiDoc.to_latex(File.read(file),{:level=>@level,:listings=>@listings})
|
62
|
-
puts kill_head_tableofcontents(bare_doc)
|
63
|
-
end
|
64
|
-
|
65
|
-
def kill_head_tableofcontents(text)
|
66
|
-
text.gsub!(/^\\tableofcontents/,'')
|
67
|
-
return text
|
68
|
-
end
|
69
|
-
|
70
|
-
# convert section to abstract in the plain text
|
71
|
-
def mod_abstract(text)
|
72
|
-
# return text
|
73
|
-
abstract,section = [],[]
|
74
|
-
content = ""
|
75
|
-
text.split("\n").each do |line|
|
76
|
-
case line
|
77
|
-
when /^\\section(.+)/
|
78
|
-
section.push $1
|
79
|
-
end
|
80
|
-
# p section[-1]
|
81
|
-
case section[-1]
|
82
|
-
when /\{abstract\}/, /\{���abstract���\}/
|
83
|
-
abstract << line+"\n"
|
84
|
-
when /\{������\}/, /\{��ڒ����ג��\}/
|
85
|
-
abstract << line+"\n"
|
86
|
-
else
|
87
|
-
content << line+"\n"
|
88
|
-
end
|
89
|
-
end
|
90
|
-
# p abstract
|
91
|
-
if abstract.size>1 then
|
92
|
-
abstract.delete_at(0)
|
93
|
-
content.gsub!(/\\tableofcontents/){|text|
|
94
|
-
tt="\n\\abstract\{\n#{abstract.join}\}\n\\tableofcontents"
|
95
|
-
}
|
96
|
-
end
|
97
|
-
return content
|
98
|
-
end
|
99
|
-
|
100
|
-
def listings_preamble
|
101
|
-
str = <<"EOS"
|
102
|
-
\\documentclass[12pt,a4paper]{jsarticle}
|
103
|
-
\\usepackage[dvipdfmx]{graphicx}
|
104
|
-
\\usepackage[dvipdfmx]{color}
|
105
|
-
\\usepackage{listings}
|
106
|
-
% to use japanese correctly, install jlistings.
|
107
|
-
\\lstset{
|
108
|
-
basicstyle={\\small\\ttfamily},
|
109
|
-
identifierstyle={\\small},
|
110
|
-
commentstyle={\\small\\itshape\\color{red}},
|
111
|
-
keywordstyle={\\small\\bfseries\\color{cyan}},
|
112
|
-
ndkeywordstyle={\\small},
|
113
|
-
stringstyle={\\small\\color{blue}},
|
114
|
-
frame={tb},
|
115
|
-
breaklines=true,
|
116
|
-
numbers=left,
|
117
|
-
numberstyle={\\scriptsize},
|
118
|
-
stepnumber=1,
|
119
|
-
numbersep=1zw,
|
120
|
-
xrightmargin=0zw,
|
121
|
-
xleftmargin=3zw,
|
122
|
-
lineskip=-0.5ex
|
123
|
-
}
|
124
|
-
\\lstdefinestyle{customCsh}{
|
125
|
-
language={csh},
|
126
|
-
numbers=none,
|
127
|
-
}
|
128
|
-
\\lstdefinestyle{customRuby}{
|
129
|
-
language={ruby},
|
130
|
-
numbers=left,
|
131
|
-
}
|
132
|
-
\\lstdefinestyle{customTex}{
|
133
|
-
language={tex},
|
134
|
-
numbers=none,
|
135
|
-
}
|
136
|
-
\\lstdefinestyle{customJava}{
|
137
|
-
language={java},
|
138
|
-
numbers=left,
|
139
|
-
}
|
140
|
-
EOS
|
141
|
-
end
|
142
|
-
|
143
|
-
end
|
144
|
-
end
|
145
|
-
|