hikiutils 0.2.3.6 → 0.2.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. checksums.yaml +4 -4
  2. data/hikiutils.gemspec~ +43 -0
  3. data/hikiutils_bob/Rakefile +78 -48
  4. data/hikiutils_bob/figs/hikiutils_bob.pdf +0 -0
  5. data/hikiutils_bob/hikiutils_bob.hiki +4 -2
  6. data/hikiutils_bob/latex_dir/hikiutils_bob.log +13 -15
  7. data/hikiutils_bob/latex_dir/hikiutils_bob.pdf +0 -0
  8. data/hikiutils_bob/latex_dir/hikiutils_bob.synctex.gz +0 -0
  9. data/hikiutils_bob/latex_dir/hikiutils_bob.tex +3 -0
  10. data/hikiutils_bob/latex_dir/hikiutils_bob.toc +1 -1
  11. data/hikiutils_bob/latex_dir/latex_all).aux +21 -0
  12. data/hikiutils_bob/latex_dir/latex_all.tex +1 -3
  13. data/hikiutils_bob/latex_dir/sync).aux +21 -0
  14. data/hikiutils_bob/latex_dir/sync.aux +1 -1
  15. data/hikiutils_bob/latex_dir/sync.log +81 -66
  16. data/hikiutils_bob/latex_dir/sync.pdf +0 -0
  17. data/hikiutils_bob/latex_dir/sync.synctex.gz +0 -0
  18. data/hikiutils_bob/latex_dir/sync.tex +3 -3
  19. data/hikiutils_bob/latex_dir/sync.toc +17 -0
  20. data/hikiutils_bob/sync.hiki +5 -3
  21. data/hikiutils_yamane/Rakefile +62 -23
  22. data/hikiutils_yamane/clidescription.hiki +35 -0
  23. data/hikiutils_yamane/code.hiki +285 -0
  24. data/hikiutils_yamane/compare.hiki +309 -0
  25. data/hikiutils_yamane/figs/hikiutils_yamane_09_copy.001.jpg +0 -0
  26. data/hikiutils_yamane/figs/hikiutils_yamane_09_copy.002.jpg +0 -0
  27. data/hikiutils_yamane/figs/hikiutils_yamane_09_copy.003.jpg +0 -0
  28. data/hikiutils_yamane/figs/hikiutils_yamane_09_copy.004.jpg +0 -0
  29. data/hikiutils_yamane/figs/hikiutils_yamane_09_copy.005.jpg +0 -0
  30. data/hikiutils_yamane/figs/hikiutils_yamane_09_copy.006.jpg +0 -0
  31. data/hikiutils_yamane/figs/hikiutils_yamane_09_copy.007.jpg +0 -0
  32. data/hikiutils_yamane/hikiutils_yamane.hiki +15 -23
  33. data/hikiutils_yamane/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/222/343/202/232/343/203/274/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/222/343/202/232/343/203/274.001.jpg +0 -0
  34. data/hikiutils_yamane/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/222/343/202/232/343/203/274/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/222/343/202/232/343/203/274.002.jpg +0 -0
  35. data/hikiutils_yamane/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/222/343/202/232/343/203/274/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/222/343/202/232/343/203/274.003.jpg +0 -0
  36. data/hikiutils_yamane/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/222/343/202/232/343/203/274/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/222/343/202/232/343/203/274.004.jpg +0 -0
  37. data/hikiutils_yamane/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/222/343/202/232/343/203/274/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/222/343/202/232/343/203/274.005.jpg +0 -0
  38. data/hikiutils_yamane/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/222/343/202/232/343/203/274/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/222/343/202/232/343/203/274.006.jpg +0 -0
  39. data/hikiutils_yamane/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/222/343/202/232/343/203/274/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/222/343/202/232/343/203/274.007.jpg +0 -0
  40. data/hikiutils_yamane/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/224/343/203/274/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/224/343/203/274.001.jpg +0 -0
  41. data/hikiutils_yamane/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/224/343/203/274/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/224/343/203/274.002.jpg +0 -0
  42. data/hikiutils_yamane/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/224/343/203/274/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/224/343/203/274.003.jpg +0 -0
  43. data/hikiutils_yamane/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/224/343/203/274/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/224/343/203/274.004.jpg +0 -0
  44. data/hikiutils_yamane/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/224/343/203/274/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/224/343/203/274.005.jpg +0 -0
  45. data/hikiutils_yamane/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/224/343/203/274/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/224/343/203/274.006.jpg +0 -0
  46. data/hikiutils_yamane/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/224/343/203/274/hikiutils_yamane_09 /343/201/256/343/202/263/343/203/224/343/203/274.007.jpg +0 -0
  47. data/hikiutils_yamane/hikiutils_yamane_09.key +0 -0
  48. data/hikiutils_yamane/hikiutils_yamane_09_copy.key/Data/110809_FamilyChineseOahu_EN_00317_2040x1360-small-12.jpg +0 -0
  49. data/hikiutils_yamane/hikiutils_yamane_09_copy.key/Data/110809_FamilyChineseOahu_EN_02016_981x654-small-14.jpg +0 -0
  50. data/hikiutils_yamane/hikiutils_yamane_09_copy.key/Data/110809_familychineseoahu_en_00317_2040x1360-96.jpeg +0 -0
  51. data/hikiutils_yamane/hikiutils_yamane_09_copy.key/Data/110809_familychineseoahu_en_02016_981x654-97.jpeg +0 -0
  52. data/hikiutils_yamane/hikiutils_yamane_09_copy.key/Data/110809_familychineseoahu_en_02390_2880x1921-94.jpeg +0 -0
  53. data/hikiutils_yamane/hikiutils_yamane_09_copy.key/Data/110809_familychineseoahu_en_02390_2880x1921-small-95.jpg +0 -0
  54. data/hikiutils_yamane/hikiutils_yamane_09_copy.key/Data/mt0@2x-102.jpg +0 -0
  55. data/hikiutils_yamane/hikiutils_yamane_09_copy.key/Data/mt10@2x-112.jpg +0 -0
  56. data/hikiutils_yamane/hikiutils_yamane_09_copy.key/Data/mt1@2x-103.jpg +0 -0
  57. data/hikiutils_yamane/hikiutils_yamane_09_copy.key/Data/mt2@2x-104.jpg +0 -0
  58. data/hikiutils_yamane/hikiutils_yamane_09_copy.key/Data/mt3@2x-105.jpg +0 -0
  59. data/hikiutils_yamane/hikiutils_yamane_09_copy.key/Data/mt4@2x-106.jpg +0 -0
  60. data/hikiutils_yamane/hikiutils_yamane_09_copy.key/Data/mt5@2x-107.jpg +0 -0
  61. data/hikiutils_yamane/hikiutils_yamane_09_copy.key/Data/mt6@2x-108.jpg +0 -0
  62. data/hikiutils_yamane/hikiutils_yamane_09_copy.key/Data/mt7@2x-109.jpg +0 -0
  63. data/hikiutils_yamane/hikiutils_yamane_09_copy.key/Data/mt8@2x-110.jpg +0 -0
  64. data/hikiutils_yamane/hikiutils_yamane_09_copy.key/Data/mt9@2x-111.jpg +0 -0
  65. data/hikiutils_yamane/hikiutils_yamane_09_copy.key/Data/pasted-image-100.tiff +0 -0
  66. data/hikiutils_yamane/hikiutils_yamane_09_copy.key/Data/pasted-image-98.tiff +0 -0
  67. data/hikiutils_yamane/hikiutils_yamane_09_copy.key/Data/pasted-image-small-101.png +0 -0
  68. data/hikiutils_yamane/hikiutils_yamane_09_copy.key/Data/pasted-image-small-99.png +0 -0
  69. data/hikiutils_yamane/hikiutils_yamane_09_copy.key/Data/st0-113.jpg +0 -0
  70. data/hikiutils_yamane/hikiutils_yamane_09_copy.key/Data/st1-114.jpg +0 -0
  71. data/hikiutils_yamane/hikiutils_yamane_09_copy.key/Data/st2-115.jpg +0 -0
  72. data/hikiutils_yamane/hikiutils_yamane_09_copy.key/Data/st3-116.jpg +0 -0
  73. data/hikiutils_yamane/hikiutils_yamane_09_copy.key/Data/st4-117.jpg +0 -0
  74. data/hikiutils_yamane/hikiutils_yamane_09_copy.key/Data/st5-118.jpg +0 -0
  75. data/hikiutils_yamane/hikiutils_yamane_09_copy.key/Data/st6-119.jpg +0 -0
  76. data/hikiutils_yamane/hikiutils_yamane_09_copy.key/Data/tile_paper_medgray-93.jpg +0 -0
  77. data/hikiutils_yamane/hikiutils_yamane_09_copy.key/Index.zip +0 -0
  78. data/hikiutils_yamane/hikiutils_yamane_09_copy.key/Metadata/BuildVersionHistory.plist +8 -0
  79. data/hikiutils_yamane/hikiutils_yamane_09_copy.key/Metadata/DocumentIdentifier +1 -0
  80. data/hikiutils_yamane/hikiutils_yamane_09_copy.key/Metadata/Properties.plist +0 -0
  81. data/hikiutils_yamane/hikiutils_yamane_09_copy.key/preview-micro.jpg +0 -0
  82. data/hikiutils_yamane/hikiutils_yamane_09_copy.key/preview-web.jpg +0 -0
  83. data/hikiutils_yamane/hikiutils_yamane_09_copy.key/preview.jpg +0 -0
  84. data/hikiutils_yamane/hikiutils_yamane_09_copy/hikiutils_yamane_09_copy.001.jpg +0 -0
  85. data/hikiutils_yamane/hikiutils_yamane_09_copy/hikiutils_yamane_09_copy.002.jpg +0 -0
  86. data/hikiutils_yamane/hikiutils_yamane_09_copy/hikiutils_yamane_09_copy.003.jpg +0 -0
  87. data/hikiutils_yamane/hikiutils_yamane_09_copy/hikiutils_yamane_09_copy.004.jpg +0 -0
  88. data/hikiutils_yamane/hikiutils_yamane_09_copy/hikiutils_yamane_09_copy.005.jpg +0 -0
  89. data/hikiutils_yamane/hikiutils_yamane_09_copy/hikiutils_yamane_09_copy.006.jpg +0 -0
  90. data/hikiutils_yamane/hikiutils_yamane_09_copy/hikiutils_yamane_09_copy.007.jpg +0 -0
  91. data/hikiutils_yamane/latex_dir/abstract.aux +2 -2
  92. data/hikiutils_yamane/latex_dir/clidescription.aux +25 -0
  93. data/hikiutils_yamane/latex_dir/clidescription.tex +42 -0
  94. data/hikiutils_yamane/latex_dir/code.aux +41 -0
  95. data/hikiutils_yamane/latex_dir/code.tex +319 -0
  96. data/hikiutils_yamane/latex_dir/compare.aux +40 -0
  97. data/hikiutils_yamane/latex_dir/compare.tex +351 -0
  98. data/hikiutils_yamane/latex_dir/head.tex +1 -0
  99. data/hikiutils_yamane/latex_dir/hikiutils_yamane.aux +8 -0
  100. data/hikiutils_yamane/latex_dir/hikiutils_yamane.log +159 -63
  101. data/hikiutils_yamane/latex_dir/hikiutils_yamane.pdf +0 -0
  102. data/hikiutils_yamane/latex_dir/hikiutils_yamane.synctex.gz +0 -0
  103. data/hikiutils_yamane/latex_dir/hikiutils_yamane.tex +16 -10
  104. data/hikiutils_yamane/latex_dir/hikiutils_yamane.toc +48 -20
  105. data/hikiutils_yamane/latex_dir/introduction.aux +7 -7
  106. data/hikiutils_yamane/latex_dir/purpose.aux +25 -0
  107. data/hikiutils_yamane/latex_dir/purpose.tex +21 -0
  108. data/hikiutils_yamane/latex_dir/results.aux +22 -31
  109. data/hikiutils_yamane/latex_dir/results.tex +100 -318
  110. data/hikiutils_yamane/mi +0 -0
  111. data/hikiutils_yamane/purpose.hiki +18 -0
  112. data/hikiutils_yamane/results.hiki +11 -277
  113. data/lib/hikiutils/version.rb +1 -1
  114. data/lib/templates/Rakefile_hiki_sync +56 -20
  115. data/lib/templates/head.tex +1 -0
  116. metadata +84 -3
  117. data/hikiutils_yamane/hikiutils_yamane.key~11b9dba1272d2104b420497d11c6eda206ace6c2 +0 -0
@@ -0,0 +1,40 @@
1
+ \relax
2
+ \@writefile{toc}{\contentsline {subsubsection}{\numberline {5.1.2}thor と optparse のコードの比較}{15}}
3
+ \@writefile{toc}{\contentsline {paragraph}{Thorとoptparseとは}{15}}
4
+ \@writefile{toc}{\contentsline {paragraph}{Thorとは}{15}}
5
+ \@writefile{toc}{\contentsline {paragraph}{optparseとは}{15}}
6
+ \@writefile{toc}{\contentsline {paragraph}{コードの解説}{16}}
7
+ \@writefile{toc}{\contentsline {paragraph}{Thorの定義}{16}}
8
+ \@writefile{toc}{\contentsline {paragraph}{実際のコード}{16}}
9
+ \@writefile{toc}{\contentsline {paragraph}{hikiutilsの実行}{17}}
10
+ \@writefile{lof}{\contentsline {figure}{\numberline {3}{\ignorespaces }}{17}}
11
+ \newlabel{default}{{3}{17}}
12
+ \@writefile{lof}{\contentsline {figure}{\numberline {4}{\ignorespaces }}{18}}
13
+ \newlabel{default}{{4}{18}}
14
+ \@writefile{toc}{\contentsline {paragraph}{実際のコード}{18}}
15
+ \@writefile{toc}{\contentsline {paragraph}{コマンドの表示と処理}{21}}
16
+ \@writefile{lof}{\contentsline {figure}{\numberline {5}{\ignorespaces }}{21}}
17
+ \newlabel{default}{{5}{21}}
18
+ \@writefile{lof}{\contentsline {figure}{\numberline {6}{\ignorespaces }}{22}}
19
+ \newlabel{default}{{6}{22}}
20
+ \@writefile{toc}{\contentsline {paragraph}{実際のコード}{22}}
21
+ \@setckpt{compare}{
22
+ \setcounter{page}{26}
23
+ \setcounter{equation}{0}
24
+ \setcounter{enumi}{3}
25
+ \setcounter{enumii}{0}
26
+ \setcounter{enumiii}{0}
27
+ \setcounter{enumiv}{0}
28
+ \setcounter{footnote}{0}
29
+ \setcounter{mpfootnote}{0}
30
+ \setcounter{part}{0}
31
+ \setcounter{section}{5}
32
+ \setcounter{subsection}{1}
33
+ \setcounter{subsubsection}{2}
34
+ \setcounter{paragraph}{0}
35
+ \setcounter{subparagraph}{0}
36
+ \setcounter{figure}{6}
37
+ \setcounter{table}{1}
38
+ \setcounter{lstnumber}{61}
39
+ \setcounter{lstlisting}{0}
40
+ }
@@ -0,0 +1,351 @@
1
+
2
+ \subsubsection{thor と optparse のコードの比較}
3
+ hikiutilsのコマンドライン解析ツールをoptparseからthorに換えることでコマンドの書き換えを行うことができた.
4
+ また,thorで書かれたhikiutilsはoptparseで書かれたものよりもコードが短くなり,コマンドの解析も簡単に行えることができた.
5
+ ここではthorとoptparseのコードを比較しthorの良さを確認する.
6
+
7
+ \paragraph{Thorとoptparseとは}
8
+ \paragraph{Thorとは}
9
+ Thorとは,コマンドラインツールの作成を支援するライブラリのことである.
10
+ gitやbundlerのようにサブコマンドを含むコマンドラインツールを簡単に作成することができる[4].
11
+
12
+ Thorの基本的な流れとしては
13
+
14
+ \begin{enumerate}
15
+ \item Thorを継承したクラスのパブリックメソッドがコマンドになる
16
+ \item クラス.start(ARGV)でコマンドラインの処理をスタートする
17
+ \end{enumerate}
18
+ という流れである[4].
19
+
20
+ startに渡す引数が空の場合,Thorはクラスのヘルプリストを出力する.
21
+ また,Thorはサブコマンドやサブサブコマンドも作ることができる.
22
+
23
+ \paragraph{optparseとは}
24
+ optparseモジュールとは,getoptよりも簡便で,柔軟性に富み,かつ強力なコマンドライン解析ライブラリである.
25
+ optparseでは,より宣言的なスタイルのコマンドライン解析手法,すなわちOptionParserのインスタンスでコマンドラインを解析するという手法をとっている.
26
+ これを使うと,GNU/POSIX構文でオプションを指定できるだけでなく,使用法やヘルプメッセージの生成も行える[5].
27
+
28
+ 利用頻度はあまり高くないが古くから開発され,使用例が広く紹介されている.
29
+
30
+ optparseの基本的な流れとしては
31
+
32
+ \begin{enumerate}
33
+ \item OptionParserオブジェクトoptを生成する
34
+ \item オプションを取り扱うブロックをopt.onに登録する
35
+ \item opt.parse(ARGV)でコマンドラインを実際にparseする
36
+ \end{enumerate}
37
+ という流れである.
38
+
39
+ OptionParserはコマンドラインのオプション取り扱うためのクラスであるためオブジェクトoptを生成されopt.onにコマンドを登録することができる.
40
+ しかし,OptionParser\#onにはコマンドが登録されているだけであるため,OptionParser\#parseが呼ばれた時,コマンドラインにオプションが指定されていれば実行される.
41
+ optparseにはデフォルトとして--helpと--versionオプションを認識する[6].
42
+
43
+ \paragraph{コードの解説}
44
+ \paragraph{Thorの定義}
45
+ \verb|{{attach_view(hikiutils_yamane.003.jpg)}}|
46
+ Thorのinitializeの定義のされ方
47
+
48
+ \begin{enumerate}
49
+ \item Hikithor::CLI.start(ARGV)が呼ばれる
50
+ \item initializeメソッドが呼ばれる
51
+ \item これではThorのinitializeメソッドが呼ばれない
52
+ \item superを書くことでThorのinitializeメソッドが呼ばれる
53
+ \end{enumerate}
54
+ optparseではrequireでoptparseを呼ばれoptparseのinitializeを定義する必要はないが,Thorはinitializeを定義する必要がある.
55
+ Thorの定義方法はrequireでThorを呼びCLIクラスで継承し,initializeメソッドにsuperを書くことでThorのinitializeが呼ばれる.
56
+ initializeメソッド内ではThorの初期設定がされていないため,スーパークラスのメソッドを読み出してくれるsuperを書き加えることで図のようにinitializeメソッドでThorのinitilalizeメソッドが
57
+ 呼ばれて定義される.
58
+
59
+ \paragraph{実際のコード}\begin{lstlisting}[style=customRuby]
60
+ # -*- coding: utf-8 -*-
61
+ require 'thor'
62
+ require 'kconv'
63
+ require 'hikidoc'
64
+ require 'erb'
65
+ require "hikiutils/version"
66
+ require "hikiutils/tmarshal"
67
+ require "hikiutils/infodb"
68
+ require 'systemu'
69
+ require 'fileutils'
70
+ require 'yaml'
71
+ require 'pp'
72
+
73
+ module Hikithor
74
+
75
+ DATA_FILE=File.join(ENV['HOME'],'.hikirc')
76
+ attr_accessor :src, :target, :editor_command, :browser, :data_name, :l_dir
77
+
78
+ class CLI < Thor
79
+ def initialize(*args)
80
+ super
81
+ @data_name=['nick_name','local_dir','local_uri','global_dir','global_uri']
82
+ data_path = File.join(ENV['HOME'], '.hikirc')
83
+ DataFiles.prepare(data_path)
84
+
85
+ file = File.open(DATA_FILE,'r')
86
+ @src = YAML.load(file.read)
87
+ file.close
88
+ @target = @src[:target]
89
+ @l_dir=@src[:srcs][@target][:local_dir]
90
+ browser = @src[:browser]
91
+ @browser = (browser==nil) ? 'firefox' : browser
92
+ p editor_command = @src[:editor_command]
93
+ @editor_command = (editor_command==nil) ? 'open -a mi' : editor_command
94
+ end
95
+ \end{lstlisting}
96
+ \paragraph{hikiutilsの実行}
97
+ \begin{itemize}
98
+ \item Thor
99
+ \end{itemize}
100
+ \begin{figure}[htbp]\begin{center}
101
+ \includegraphics[width=6cm,bb=0 0 442 500]{../figs/./hikiutils_yamane.004.jpg}
102
+ \caption{}
103
+ \label{default}\end{center}\end{figure}
104
+ \begin{enumerate}
105
+ \item hiki\_thorのHikithor::CLI.start(ARGV)でhikiutils\_thor.rbのCLIクラスを呼ぶ
106
+ \end{enumerate}
107
+ \begin{enumerate}
108
+ \item hikiutils\_thor.rbのCLIクラスのメソッドを順に実行していく
109
+ \end{enumerate}
110
+ \begin{itemize}
111
+ \item optparse
112
+ \end{itemize}
113
+ \begin{figure}[htbp]\begin{center}
114
+ \includegraphics[width=6cm,bb=0 0 442 500]{../figs/./hikiutils_yamane.001.jpg}
115
+ \caption{}
116
+ \label{default}\end{center}\end{figure}
117
+ \begin{enumerate}
118
+ \item HikiのHikiUtils::Command.run(ARGV)でhikiutils.rbのrunメソッドを呼ぶ
119
+ \item new(argv).executeでexecuteメソッドが実行される
120
+ \end{enumerate}
121
+ このようにoptparseでは実行を行うためのメソッドが必要であるが,Thorではクラスのメソッドを順に実行していくため
122
+ runメソッドとexecuteメソッドは必要ない.
123
+
124
+ \paragraph{実際のコード}
125
+ \begin{itemize}
126
+ \item Thor
127
+ \end{itemize}\begin{lstlisting}[style=customRuby]
128
+ #!/usr/bin/env ruby
129
+
130
+ require "hikiutils_thor"
131
+
132
+ Hikithor::CLI.start(ARGV)
133
+ \end{lstlisting}\begin{lstlisting}[style=customRuby]
134
+ # -*- coding: utf-8 -*-
135
+ require 'thor'
136
+ require 'kconv'
137
+ require 'hikidoc'
138
+ require 'erb'
139
+ require "hikiutils/version"
140
+ require "hikiutils/tmarshal"
141
+ require "hikiutils/infodb"
142
+ require 'systemu'
143
+ require 'fileutils'
144
+ require 'yaml'
145
+ require 'pp'
146
+
147
+ module Hikithor
148
+
149
+ DATA_FILE=File.join(ENV['HOME'],'.hikirc')
150
+ attr_accessor :src, :target, :editor_command, :browser, :data_name, :l_dir
151
+
152
+ class CLI < Thor
153
+ def initialize(*args)
154
+ super
155
+ @data_name=['nick_name','local_dir','local_uri','global_dir','global_uri']
156
+ data_path = File.join(ENV['HOME'], '.hikirc')
157
+ DataFiles.prepare(data_path)
158
+
159
+ file = File.open(DATA_FILE,'r')
160
+ @src = YAML.load(file.read)
161
+ file.close
162
+ @target = @src[:target]
163
+ @l_dir=@src[:srcs][@target][:local_dir]
164
+ browser = @src[:browser]
165
+ @browser = (browser==nil) ? 'firefox' : browser
166
+
167
+ \end{lstlisting}
168
+ \begin{itemize}
169
+ \item optparse
170
+ \end{itemize}\begin{lstlisting}[style=customRuby]
171
+ #!/usr/bin/env ruby
172
+
173
+ require "hikiutils"
174
+
175
+ HikiUtils::Command.run(ARGV)
176
+ \end{lstlisting}\begin{lstlisting}[style=customRuby]
177
+ def self.run(argv=[])
178
+ print "hikiutils: provide utilities for helping hiki editing.\n"
179
+ new(argv).execute
180
+ end
181
+
182
+ def execute
183
+ @argv << '--help' if @argv.size==0
184
+ command_parser = OptionParser.new do |opt|
185
+ opt.on('-v', '--version','show program Version.') { |v|
186
+ opt.version = HikiUtils::VERSION
187
+ puts opt.ver
188
+ }
189
+ opt.on('-s', '--show','show sources') {show_sources}
190
+ opt.on('-a', '--add','add sources info') {add_sources }
191
+ opt.on('-t', '--target VAL','set target id') {|val| set_target(val) }
192
+ opt.on('-e', '--edit FILE','open file') {|file| edit_file(file) }
193
+ opt.on('-l', '--list [FILE]','list files') {|file| list_files(file) }
194
+ opt.on('-u', '--update FILE','update file') {|file| update_file(file) }
195
+ opt.on('-r', '--rsync','rsync files') {rsync_files}
196
+ opt.on('--database FILE','read database file') {|file| db_file(file)}
197
+ opt.on('--display FILE','display converted hikifile') {|file| display(f\
198
+ ile)}
199
+ opt.on('-c', '--checkdb','check database file') {check_db}
200
+ opt.on('--remove FILE','remove file') {|file| remove_file(file)}
201
+ opt.on('--move FILES','move file1,file2',Array) {|files| move_file(file\
202
+ s)}
203
+ opt.on('--euc FILE','translate file to euc') {|file| euc_file(file) }
204
+ opt.on('--initialize','initialize source directory') {dir_init() }
205
+ end
206
+ begin
207
+ command_parser.parse!(@argv)
208
+ rescue=> eval
209
+ p eval
210
+ end
211
+ dump_sources
212
+ exit
213
+ end
214
+ \end{lstlisting}
215
+ \paragraph{コマンドの表示と処理}
216
+ \begin{itemize}
217
+ \item Thor
218
+ \end{itemize}
219
+ \begin{figure}[htbp]\begin{center}
220
+ \includegraphics[width=6cm,bb=0 0 442 500]{../figs/./hikiutils_yamane.002.jpg}
221
+ \caption{}
222
+ \label{default}\end{center}\end{figure}
223
+ \begin{enumerate}
224
+ \item コマンド名,コマンドの説明を一覧に表示させる
225
+ \item パブリックメソッドのコマンドを別のコマンド名でも実行できるようにする
226
+ \item コマンドの命令の実行コード
227
+ \end{enumerate}
228
+ Thorではdescで一覧を表示させるコマンド名,コマンドの説明を登録する.しかし,ここで記述したコマンドは一覧で表示させるものであり,実行されることはないので実際のコマンドと対応させる必要がある.
229
+ Thorでは処理実行を行うメソッドがコマンドとなる.しかし,それではコマンド名は1つしか使うことができない.
230
+ ここで用いるものがmapである.mapを使うことで別のコマンドを指定することができる.
231
+
232
+ \begin{itemize}
233
+ \item optparse
234
+ \end{itemize}
235
+ \begin{figure}[htbp]\begin{center}
236
+ \includegraphics[width=6cm,bb=0 0 442 500]{../figs/./hikiutils_yamane.005.jpg}
237
+ \caption{}
238
+ \label{default}\end{center}\end{figure}
239
+ \begin{enumerate}
240
+ \item OptionParserオブジェクトoptを生成
241
+ \item optにコマンドを登録
242
+ \item 入力されたコマンドの処理のメソッドへ移動
243
+ \end{enumerate}
244
+ optparseではOptionParserオブジェクトoptの生成を行い,コマンドをoptに登録することでコマンドを作成することができる.しかし,これはコマンドを登録しているだけで
245
+ コマンドの一覧ではこれを表示することができるがコマンドの実行を行うためには実行を行うためのメソッドを作成する必要がある.optparseでのコマンドの実行はoptで登録された
246
+ コマンドが入力されることでそれぞれのコマンドの処理を行うメソッドに移動し処理を行う.しかし,このコマンド登録は-を付けたコマンドした登録ができなく,-なしのコマンド登録は
247
+ また別のやり方でやらなくてはいけない.
248
+ 以上より,Thorではコマンドの指定と処理にはdesc,map,処理メソッドだけで済むが,optparseではコマンドを登録するためのメソッドと処理メソッドが必要になってくる.
249
+ また,コマンドはThorでは処理メソッドがコマンド名になるが,optparseではコマンドを登録するための処理も必要となってくる.
250
+
251
+ \paragraph{実際のコード}
252
+ \begin{itemize}
253
+ \item Thor
254
+ \end{itemize}\begin{lstlisting}[style=customRuby]
255
+ desc 'show,--show', 'show sources'
256
+ map "--show" => "show"
257
+ def show
258
+ printf("target_no:%i\n",@src[:target])
259
+ printf("editor_command:%s\n",@src[:editor_command])
260
+ @i_size,@n_size,@l_size,@g_size=3,5,30,15 #i,g_size are fixed
261
+ n_l,l_l=0,0
262
+ @src[:srcs].each_with_index{|src,i|
263
+ n_l =(n_l= src[:nick_name].length)>@n_size? n_l:@n_size
264
+ l_l =(l_l= src[:local_dir].length)>@l_size? l_l:@l_size
265
+ }
266
+ @n_size,@l_size=n_l,l_l
267
+ command = Command.new
268
+ header = command.display_format('id','name','local directory','global uri',@i_size,@n_size,@l_size,@g_size)
269
+
270
+ puts header
271
+ puts '-' * header.size
272
+
273
+ @src[:srcs].each_with_index{|src,i|
274
+ target = i==@src[:target] ? '*':' '
275
+ id = target+i.to_s
276
+ name=src[:nick_name]
277
+ local=src[:local_dir]
278
+ global=src[:global_uri]
279
+ puts command.display_format(id,name,local,global,@i_size,@n_size,@l_size,@g_size)
280
+ }
281
+ end
282
+ \end{lstlisting}
283
+ \begin{itemize}
284
+ \item optparse
285
+ \end{itemize}\begin{lstlisting}[style=customRuby]
286
+ def execute
287
+ @argv << '--help' if @argv.size==0
288
+ command_parser = OptionParser.new do |opt|
289
+ opt.on('-v', '--version','show program Version.') { |v|
290
+ opt.version = HikiUtils::VERSION
291
+ puts opt.ver
292
+ }
293
+ opt.on('-s', '--show','show sources') {show_sources}
294
+ opt.on('-a', '--add','add sources info') {add_sources }
295
+ opt.on('-t', '--target VAL','set target id') {|val| set_target(val)}
296
+ opt.on('-e', '--edit FILE','open file') {|file| edit_file(file) }
297
+ opt.on('-l', '--list [FILE]','list files') {|file| list_files(file)}
298
+ opt.on('-u', '--update FILE','update file') {|file| update_file(file) }
299
+ opt.on('-r', '--rsync','rsync files') {rsync_files}
300
+ opt.on('--database FILE','read database file') {|file| db_file(file)}
301
+ opt.on('--display FILE','display converted hikifile') {|file| display(file)}
302
+ opt.on('-c', '--checkdb','check database file') {check_db}
303
+ opt.on('--remove FILE','remove file') {|file| remove_file(file)}
304
+ opt.on('--move FILES','move file1,file2',Array) {|files| move_file(files)}
305
+ opt.on('--euc FILE','translate file to euc') {|file| euc_file(file)}
306
+ opt.on('--initialize','initialize source directory') {dir_init() }
307
+ end
308
+ begin
309
+ command_parser.parse!(@argv)
310
+ rescue=> eval
311
+ p eval
312
+ end
313
+ dump_sources
314
+ exit
315
+ end
316
+
317
+ def show_sources()
318
+ printf("target_no:%i\n",@src[:target])
319
+ printf("editor_command:%s\n",@src[:editor_command])
320
+ check_display_size()
321
+ header = display_format('id','name','local directory','global uri')
322
+
323
+ puts header
324
+ puts '-' * header.size
325
+
326
+ @src[:srcs].each_with_index{|src,i|
327
+ target = i==@src[:target] ? '*':' '
328
+ id = target+i.to_s
329
+ name=src[:nick_name]
330
+ local=src[:local_dir]
331
+ global=src[:global_uri]
332
+ puts display_format(id,name,local,global)
333
+ }
334
+ end
335
+
336
+ def add_sources
337
+ cont = {}
338
+ @data_name.each{|name|
339
+ printf("%s ? ", name)
340
+ tmp = gets.chomp
341
+ cont[name.to_sym] = tmp
342
+ }
343
+ @src[:srcs] << cont
344
+ show_sources
345
+ end
346
+ \end{lstlisting}
347
+ コードからもThorのほうが短くなっていることが分かる.
348
+ よって,Thorとoptparseでのコードの違いは以上の部分になるが全体的にもThorのほうがコードが短くなり,
349
+ コマンドの定義も簡単に行うことができる.また,コマンドを簡単に定義できることで書き換えもすぐ行うことが
350
+ できるので,より直感的なコマンドに実装することも可能となった.
351
+
@@ -4,5 +4,6 @@
4
4
  \date{\vspace{3cm} 2017年 3月\\
5
5
  \vspace{3cm} 指導教員  西谷 滋人 教授}
6
6
  \maketitle
7
+ \setcounter{tocdepth}{4}
7
8
  \tableofcontents
8
9
 
@@ -1,4 +1,12 @@
1
1
  \relax
2
2
  \@input{abstract.aux}
3
+ \@writefile{toc}{\contentsline {section}{\numberline {2}序論}{5}}
3
4
  \@input{introduction.aux}
5
+ \@input{purpose.aux}
6
+ \@writefile{toc}{\contentsline {section}{\numberline {4}方法}{10}}
7
+ \@writefile{toc}{\contentsline {section}{\numberline {5}結果}{10}}
4
8
  \@input{results.aux}
9
+ \@input{compare.aux}
10
+ \@input{clidescription.aux}
11
+ \@input{code.aux}
12
+ \@writefile{toc}{\contentsline {section}{\numberline {6}参考文献}{39}}
@@ -1,4 +1,4 @@
1
- This is e-pTeX, Version 3.14159265-p3.7-160201-2.6 (utf8.euc) (TeX Live 2016) (preloaded format=platex 2017.1.26) 30 JAN 2017 12:56
1
+ This is e-pTeX, Version 3.14159265-p3.7-160201-2.6 (utf8.euc) (TeX Live 2016) (preloaded format=platex 2017.1.26) 31 JAN 2017 21:14
2
2
  entering extended mode
3
3
  restricted \write18 enabled.
4
4
  file:line:error style messages enabled.
@@ -112,7 +112,37 @@ File: listings.cfg 2015/06/04 1.6 listings configuration
112
112
  ))
113
113
  Package: listings 2015/06/04 1.6 (Carsten Heinz)
114
114
 
115
- (./hikiutils_yamane.aux (./abstract.aux) (./introduction.aux) (./results.aux
115
+ (./hikiutils_yamane.aux (./abstract.aux) (./introduction.aux) (./purpose.aux)
116
+ (./results.aux
117
+
118
+ LaTeX Warning: Label `default' multiply defined.
119
+
120
+
121
+ LaTeX Warning: Label `default' multiply defined.
122
+
123
+ ) (./compare.aux
124
+
125
+ LaTeX Warning: Label `default' multiply defined.
126
+
127
+
128
+ LaTeX Warning: Label `default' multiply defined.
129
+
130
+
131
+ LaTeX Warning: Label `default' multiply defined.
132
+
133
+
134
+ LaTeX Warning: Label `default' multiply defined.
135
+
136
+ ) (./clidescription.aux) (./code.aux
137
+
138
+ LaTeX Warning: Label `default' multiply defined.
139
+
140
+
141
+ LaTeX Warning: Label `default' multiply defined.
142
+
143
+
144
+ LaTeX Warning: Label `default' multiply defined.
145
+
116
146
 
117
147
  LaTeX Warning: Label `default' multiply defined.
118
148
 
@@ -156,29 +186,29 @@ LaTeX Font Info: External font `cmex10' loaded for size
156
186
  LaTeX Font Info: Font shape `JY1/mc/m/n' will be
157
187
  (Font) scaled to size 5.76599pt on input line 45.
158
188
  LaTeX Font Info: Font shape `JT1/gt/m/n' will be
159
- (Font) scaled to size 9.60999pt on input line 46.
189
+ (Font) scaled to size 9.60999pt on input line 47.
160
190
  LaTeX Font Info: Font shape `JY1/gt/m/n' will be
161
- (Font) scaled to size 9.60999pt on input line 46.
191
+ (Font) scaled to size 9.60999pt on input line 47.
162
192
  LaTeX Font Info: Font shape `JT1/mc/m/n' will be
163
- (Font) scaled to size 13.83836pt on input line 46.
193
+ (Font) scaled to size 13.83836pt on input line 47.
164
194
  LaTeX Font Info: Font shape `JY1/mc/m/n' will be
165
- (Font) scaled to size 13.83836pt on input line 46.
195
+ (Font) scaled to size 13.83836pt on input line 47.
166
196
  LaTeX Font Info: Font shape `JT1/gt/m/n' will be
167
- (Font) scaled to size 13.83836pt on input line 46.
197
+ (Font) scaled to size 13.83836pt on input line 47.
168
198
  LaTeX Font Info: Font shape `JY1/gt/m/n' will be
169
- (Font) scaled to size 13.83836pt on input line 46.
199
+ (Font) scaled to size 13.83836pt on input line 47.
170
200
  (./hikiutils_yamane.toc [1
171
201
 
172
202
  ]
173
203
  LaTeX Font Info: External font `cmex10' loaded for size
174
- (Font) <7> on input line 3.
204
+ (Font) <7> on input line 4.
175
205
  LaTeX Font Info: External font `cmex10' loaded for size
176
- (Font) <5> on input line 3.
206
+ (Font) <5> on input line 4.
177
207
  LaTeX Font Info: Font shape `JY1/mc/m/n' will be
178
- (Font) scaled to size 6.72699pt on input line 3.
208
+ (Font) scaled to size 6.72699pt on input line 4.
179
209
  LaTeX Font Info: Font shape `JY1/mc/m/n' will be
180
- (Font) scaled to size 4.805pt on input line 3.
181
- )
210
+ (Font) scaled to size 4.805pt on input line 4.
211
+ [2])
182
212
  \tf@toc=\write3
183
213
  \openout3 = `hikiutils_yamane.toc'.
184
214
 
@@ -186,11 +216,13 @@ LaTeX Font Info: Font shape `JY1/mc/m/n' will be
186
216
  \tf@toc=\write4
187
217
  \openout4 = `hikiutils_yamane.toc'.
188
218
 
189
- [2]
219
+ [3]
190
220
  \openout2 = `abstract.aux'.
191
221
 
192
- (./abstract.tex)
193
- [3
222
+
223
+ (./abstract.tex) [4
224
+
225
+ ] [5
194
226
 
195
227
  ]
196
228
  \openout2 = `introduction.aux'.
@@ -207,29 +239,52 @@ File: omscmr.fd 2014/09/29 v2.5h Standard LaTeX font definitions
207
239
  )
208
240
  LaTeX Font Info: Font shape `OMS/cmr/m/n' in size <10> not available
209
241
  (Font) Font shape `OMS/cmsy/m/n' tried instead on input line 16.
210
- [4
242
+ [6
243
+
244
+ ]) [7]
245
+ \openout2 = `purpose.aux'.
246
+
247
+
248
+ (./purpose.tex
249
+ File: ../figs/./hikiutils_yamane_09_copy.001.jpg Graphic file (type eps)
250
+ <../figs/./hikiutils_yamane_09_copy.001.jpg>
251
+ LaTeX Font Info: Font shape `JT1/mc/m/n' will be
252
+ (Font) scaled to size 8.64899pt on input line 14.
253
+ LaTeX Font Info: Font shape `JY1/mc/m/n' will be
254
+ (Font) scaled to size 8.64899pt on input line 14.
255
+ [8
256
+
211
257
 
258
+ ]) [9] [10
212
259
 
213
- ]) [5]
260
+ ]
214
261
  \openout2 = `results.aux'.
215
262
 
216
263
 
217
264
  (./results.tex
265
+ File: ../figs/./hikiutils_yamane_09_copy.002.jpg Graphic file (type eps)
266
+ <../figs/./hikiutils_yamane_09_copy.002.jpg> [11
267
+
268
+ ]
218
269
  LaTeX Font Info: Font shape `JT1/mc/m/n' will be
219
- (Font) scaled to size 8.64899pt on input line 6.
220
- LaTeX Font Info: Font shape `JY1/mc/m/n' will be
221
- (Font) scaled to size 8.64899pt on input line 6.
270
+ (Font) scaled to size 6.72699pt on input line 33.
271
+
272
+ Overfull \hbox (143.87068pt too wide) in paragraph at lines 55--56
273
+ [][][][]
274
+ []
222
275
 
223
- Overfull \hbox (53.57033pt too wide) in paragraph at lines 7--28
276
+ [12]
277
+ Overfull \hbox (16.03305pt too wide) in paragraph at lines 69--91
224
278
  [][][]
225
279
  []
226
280
 
227
- [6
281
+ [13]) [14]
282
+ \openout2 = `compare.aux'.
283
+
284
+ (./compare.tex [15
228
285
 
229
286
 
230
287
  ]
231
- File: ../figs/./hikiutils_yamane.003.jpg Graphic file (type eps)
232
- <../figs/./hikiutils_yamane.003.jpg> [7]
233
288
  (/usr/local/texlive/2016/texmf-dist/tex/latex/listings/lstlang1.sty
234
289
  File: lstlang1.sty 2015/06/04 1.6 listings language file
235
290
  )
@@ -237,74 +292,115 @@ File: lstlang1.sty 2015/06/04 1.6 listings language file
237
292
  File: lstlang2.sty 2015/06/04 1.6 listings language file
238
293
  )
239
294
  LaTeX Font Info: Font shape `JT1/gt/m/n' will be
240
- (Font) scaled to size 8.64899pt on input line 73.
295
+ (Font) scaled to size 8.64899pt on input line 59.
241
296
  LaTeX Font Info: Font shape `JY1/gt/m/n' will be
242
- (Font) scaled to size 8.64899pt on input line 73.
243
- LaTeX Font Info: Font shape `JT1/mc/m/n' will be
244
- (Font) scaled to size 6.72699pt on input line 74.
297
+ (Font) scaled to size 8.64899pt on input line 59.
245
298
  LaTeX Font Info: Font shape `JT1/gt/m/it' in size <9> not available
246
- (Font) Font shape `JT1/gt/m/n' tried instead on input line 74.
299
+ (Font) Font shape `JT1/gt/m/n' tried instead on input line 60.
247
300
  LaTeX Font Info: Font shape `JT1/gt/m/n' will be
248
- (Font) scaled to size 8.64899pt on input line 74.
301
+ (Font) scaled to size 8.64899pt on input line 60.
249
302
  LaTeX Font Info: Font shape `JY1/gt/m/it' in size <9> not available
250
- (Font) Font shape `JY1/gt/m/n' tried instead on input line 74.
303
+ (Font) Font shape `JY1/gt/m/n' tried instead on input line 60.
251
304
  LaTeX Font Info: Font shape `JY1/gt/m/n' will be
252
- (Font) scaled to size 8.64899pt on input line 74.
305
+ (Font) scaled to size 8.64899pt on input line 60.
253
306
  LaTeX Font Info: Font shape `JT1/gt/bx/n' in size <9> not available
254
- (Font) Font shape `JT1/gt/m/n' tried instead on input line 87.
307
+ (Font) Font shape `JT1/gt/m/n' tried instead on input line 73.
255
308
  LaTeX Font Info: Font shape `JT1/gt/m/n' will be
256
- (Font) scaled to size 8.64899pt on input line 87.
309
+ (Font) scaled to size 8.64899pt on input line 73.
257
310
  LaTeX Font Info: Font shape `JY1/gt/bx/n' in size <9> not available
258
- (Font) Font shape `JY1/gt/m/n' tried instead on input line 87.
311
+ (Font) Font shape `JY1/gt/m/n' tried instead on input line 73.
259
312
  LaTeX Font Info: Font shape `JY1/gt/m/n' will be
260
- (Font) scaled to size 8.64899pt on input line 87.
313
+ (Font) scaled to size 8.64899pt on input line 73.
261
314
  LaTeX Font Info: Font shape `OT1/cmtt/bx/n' in size <9> not available
262
- (Font) Font shape `OT1/cmtt/m/n' tried instead on input line 87.
263
- [8]
315
+ (Font) Font shape `OT1/cmtt/m/n' tried instead on input line 73.
316
+ [16]
264
317
  File: ../figs/./hikiutils_yamane.004.jpg Graphic file (type eps)
265
318
 
266
- <../figs/./hikiutils_yamane.004.jpg> [9]
319
+ <../figs/./hikiutils_yamane.004.jpg> [17]
267
320
  File: ../figs/./hikiutils_yamane.001.jpg Graphic file (type eps)
268
321
  <../figs/./hikiutils_yamane.001.jpg>
269
- [10] [11] [12]
322
+ [18] [19] [20]
270
323
  File: ../figs/./hikiutils_yamane.002.jpg Graphic file (type eps)
271
- <../figs/./hikiutils_yamane.002.jpg> [13] [14] [15]) [16]
272
- Overfull \hbox (91.99509pt too wide) in paragraph at lines 56--62
273
- \OT1/cmr/m/n/10 Ruby Tool-box\JY1/mc/m/n/10 」 \OT1/cmr/m/n/10 , CLI Op-tion Pa
274
- rsers,\OT1/cmtt/m/n/10 https://www.ruby-toolbox.com/categories/CLI_Option_Parse
275
- rs
324
+ <../figs/./hikiutils_yamane.002.jpg>
325
+ File: ../figs/./hikiutils_yamane.005.jpg Graphic file (type eps)
326
+
327
+ <../figs/./hikiutils_yamane.005.jpg> [21] [22] [23] [24]) [25]
328
+ \openout2 = `clidescription.aux'.
329
+
330
+
331
+ (./clidescription.tex [26
332
+
333
+
334
+ ]) [27]
335
+ \openout2 = `code.aux'.
336
+
337
+ (./code.tex
338
+ File: ../figs/./hikiutils_yamane_09_copy.003.jpg Graphic file (type eps)
339
+
340
+ <../figs/./hikiutils_yamane_09_copy.003.jpg> [28
341
+
342
+
343
+ ]
344
+ File: ../figs/./hikiutils_yamane_09_copy.004.jpg Graphic file (type eps)
345
+
346
+ <../figs/./hikiutils_yamane_09_copy.004.jpg> [29]
347
+ File: ../figs/./hikiutils_yamane_09_copy.005.jpg Graphic file (type eps)
348
+
349
+ <../figs/./hikiutils_yamane_09_copy.005.jpg> [30] [31] [32] [33]
350
+ File: ../figs/./hikiutils_yamane_09_copy.006.jpg Graphic file (type eps)
351
+
352
+ <../figs/./hikiutils_yamane_09_copy.006.jpg>
353
+ Overfull \hbox (3.95764pt too wide) in paragraph at lines 204--206
354
+ \OT1/cmr/m/n/10 Thor \JY1/mc/m/n/10 では \OT1/cmr/m/n/10 start(ARGV) \JY1/mc/m/
355
+ n/10 を呼び出すことで \OT1/cmr/m/n/10 CLI \JY1/mc/m/n/10 を開始する . \OT1/cmr
356
+ /m/n/10 Hikithor::CLI.start(ARGV)
357
+ []
358
+
359
+ [34]
360
+ File: ../figs/./hikiutils_yamane_09_copy.007.jpg Graphic file (type eps)
361
+ <../figs/./hikiutils_yamane_09_copy.007.jpg> [35] [36] [37]) [38]
362
+ Overfull \hbox (172.09023pt too wide) in paragraph at lines 61--62
363
+ []\OT1/cmr/m/n/10 [1-1] hiki-doc, \OT1/cmtt/m/n/10 https://rubygems.org/gems/hi
364
+ kidoc/versions/0.1.0, https://github.com/hiki/hikidoc,2017/1/30
365
+ []
366
+
367
+
368
+ Overfull \hbox (40.87556pt too wide) in paragraph at lines 63--64
369
+ []\OT1/cmr/m/n/10 [1-2] \JY1/mc/m/n/10 「\OT1/cmr/m/n/10 Thor \JY1/mc/m/n/10
370
+ の使い方まとめ 」 \OT1/cmr/m/n/10 , \OT1/cmtt/m/n/10 http://qiita.com/succi0303
371
+ /items/32560103190436c9435b
276
372
  []
277
373
 
278
374
 
279
- Overfull \hbox (146.50548pt too wide) in paragraph at lines 56--62
280
- \OT1/cmr/m/n/10 ,2017/1/30 \JY1/mc/m/n/10 アクセス\OT1/cmr/m/n/10 .\OT1/cmtt/m/
281
- n/10 {{br}} \OT1/cmr/m/n/10 [4] \JY1/mc/m/n/10 「\OT1/cmr/m/n/10 Thor \JY1/mc/
282
- m/n/10 の使い方まとめ 」 \OT1/cmr/m/n/10 , \OT1/cmtt/m/n/10 http://qiita.com/su
283
- cci0303/items/32560103190436c9435b
375
+ Overfull \hbox (118.23022pt too wide) in paragraph at lines 65--66
376
+ []\OT1/cmr/m/n/10 [1-3] \JY1/mc/m/n/10 「\OT1/cmr/m/n/10 15.5. opt-parse - \JY
377
+ 1/mc/m/n/10 コマンドラインオプシ ョン解析器 」 \OT1/cmr/m/n/10 , \OT1/cmtt/m/n/
378
+ 10 http://docs.python.jp/2/library/optparse.html
284
379
  []
285
380
 
286
381
 
287
- Overfull \hbox (30.6195pt too wide) in paragraph at lines 56--62
288
- \OT1/cmr/m/n/10 [6] \JY1/mc/m/n/10 「\OT1/cmr/m/n/10 li-brary opt-parse\JY1/mc
289
- /m/n/10 」 \OT1/cmr/m/n/10 , \OT1/cmtt/m/n/10 https://docs.ruby-lang.org/ja/lat
290
- est/library/optparse.html
382
+ Overfull \hbox (48.19972pt too wide) in paragraph at lines 67--68
383
+ []\OT1/cmr/m/n/10 [1-4] \JY1/mc/m/n/10 「\OT1/cmr/m/n/10 li-brary opt-parse\JY
384
+ 1/mc/m/n/10 」 \OT1/cmr/m/n/10 , \OT1/cmtt/m/n/10 https://docs.ruby-lang.org/ja
385
+ /latest/library/optparse.html
291
386
  []
292
387
 
293
- [17
388
+ [39
294
389
 
295
390
  ] (./hikiutils_yamane.aux (./abstract.aux) (./introduction.aux)
296
- (./results.aux))
391
+ (./purpose.aux) (./results.aux) (./compare.aux) (./clidescription.aux)
392
+ (./code.aux))
297
393
 
298
394
  LaTeX Warning: There were multiply-defined labels.
299
395
 
300
396
  )
301
397
  Here is how much of TeX's memory you used:
302
- 2545 strings out of 493683
303
- 35022 string characters out of 6149653
304
- 260726 words of memory out of 5000000
305
- 6097 multiletter control sequences out of 15000+600000
398
+ 2597 strings out of 493683
399
+ 36032 string characters out of 6149653
400
+ 264574 words of memory out of 5000000
401
+ 6114 multiletter control sequences out of 15000+600000
306
402
  15673 words of font info for 72 fonts, out of 8000000 for 9000
307
403
  934 hyphenation exceptions out of 8191
308
- 34i,8n,51p,225b,1745s stack positions out of 5000i,500n,10000p,200000b,80000s
404
+ 34i,9n,51p,574b,1741s stack positions out of 5000i,500n,10000p,200000b,80000s
309
405
 
310
- Output written on hikiutils_yamane.dvi (17 pages, 76660 bytes).
406
+ Output written on hikiutils_yamane.dvi (39 pages, 188044 bytes).