mathjax-yard 1.0.1 → 1.0.2

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.
@@ -0,0 +1,176 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <script type="text/x-mathjax-config">
6
+ MathJax.Hub.Config({
7
+ tex2jax:{
8
+ inlineMath: [ ['$','$'], ["\(","\)"] ],
9
+ displayMath: [ ['$$','$$'], ["\[","\]"] ]
10
+ }
11
+ });
12
+ </script>
13
+ <script type="text/javascript"
14
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML">
15
+ </script>
16
+ <meta http-equiv="X-UA-Compatible" CONTENT="IE=EmulateIE7" />
17
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
18
+ <title>
19
+ File: Why_mathjax-yard.mjx
20
+
21
+ &mdash; Documentation by YARD 0.8.7.6
22
+
23
+ </title>
24
+
25
+ <link rel="stylesheet" href="css/style.css" type="text/css" charset="utf-8" />
26
+
27
+ <link rel="stylesheet" href="css/common.css" type="text/css" charset="utf-8" />
28
+
29
+ <script type="text/javascript" charset="utf-8">
30
+ hasFrames = window.top.frames.main ? true : false;
31
+ relpath = '';
32
+ framesUrl = "frames.html#!file.Why_mathjax-yard.mjx.html";
33
+ </script>
34
+
35
+
36
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
37
+
38
+ <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
39
+
40
+
41
+ </head>
42
+ <body>
43
+ <div id="header">
44
+ <div id="menu">
45
+
46
+ <a href="_index.html">Index</a> &raquo;
47
+ <span class="title">File: Why_mathjax-yard.mjx</span>
48
+
49
+
50
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
51
+ </div>
52
+
53
+ <div id="search">
54
+
55
+ <a class="full_list_link" id="class_list_link"
56
+ href="class_list.html">
57
+ Class List
58
+ </a>
59
+
60
+ <a class="full_list_link" id="method_list_link"
61
+ href="method_list.html">
62
+ Method List
63
+ </a>
64
+
65
+ <a class="full_list_link" id="file_list_link"
66
+ href="file_list.html">
67
+ File List
68
+ </a>
69
+
70
+ </div>
71
+ <div class="clear"></div>
72
+ </div>
73
+
74
+ <iframe id="search_frame"></iframe>
75
+
76
+ <div id="content"><div id='filecontents'><h1>導入の経緯</h1>
77
+
78
+ <h2>概要</h2>
79
+
80
+ <p>mathjaxとmark downの周辺状況から,なぜmathjax-yardが必要になったかをまとめておきます.</p>
81
+
82
+ <h2>状況</h2>
83
+
84
+ <p>数値計算や物理シミュレーションにおいては,解説に数式が不可欠です.
85
+ 記法としては$LaTeX$形式がありますが,これをhtmlで表示するには工夫が必要です.
86
+ gemなどを作るとき,yardでdocumentationを自動化することが可能です.
87
+ しかし,そこに数式を組み込んでも,うまく表示されません.</p>
88
+
89
+ <h3>MathML or mathjax</h3>
90
+
91
+ <table><thead>
92
+ <tr>
93
+ <th style="text-align: left">MathML</th>
94
+ <th style="text-align: left">mathjax</th>
95
+ </tr>
96
+ </thead><tbody>
97
+ <tr>
98
+ <td style="text-align: left">firefoxのみ</td>
99
+ <td style="text-align: left">なんでも</td>
100
+ </tr>
101
+ </tbody></table>
102
+
103
+ <h2>mark down with mathjax extension</h2>
104
+
105
+ <ul>
106
+ <li>Githubのwikiはmark down 記法を取っているが,math拡張が切られた.</li>
107
+ <li>Qiitaなどは独自拡張しているが,ない.</li>
108
+ <li>yard
109
+
110
+ <ul>
111
+ <li>mathjaxの拡張ができる</li>
112
+ <li>optionsに,組み込まれてはいない.</li>
113
+ </ul></li>
114
+ <li>atom
115
+
116
+ <ul>
117
+ <li>mathjax-wrapper とmarkdown_preview_plusでlive変換・表示できる.</li>
118
+ <li>htmlへの変換はあるが,あまりきれいでない.</li>
119
+ </ul></li>
120
+ <li>pandoc
121
+
122
+ <ul>
123
+ <li>mathjaxを組み込んでhtmlに変換できる</li>
124
+ <li>cssなどに汎用性がなく,体裁をいじるのは難しい.</li>
125
+ </ul></li>
126
+ </ul>
127
+
128
+ <h2>つまり</h2>
129
+
130
+ <p>個別にmathjaxの入ったmd文書をhtmlに変換することができたとしても,
131
+ yardで自動生成される体裁の整った文書としては得ることが難しいというのが現状です.</p>
132
+
133
+ <h2>解決法</h2>
134
+
135
+ <p>そこで,yardのpre, postコマンドとして動作するmathjax-yardを開発しました.</p>
136
+
137
+ <ul>
138
+ <li>yardで変換される,<em>/</em>.md中の数式をMATHJAXタグに付け替え.</li>
139
+ <li>yardでmd-&gt;html変換</li>
140
+ <li>できたdoc/file.*.htmlのMATHJAXタグを数式に戻す
141
+ という操作をしています.</li>
142
+ </ul>
143
+
144
+ <h2>やり残し</h2>
145
+
146
+ <ul>
147
+ <li>default動作以外のyard変換への対応
148
+
149
+ <ul>
150
+ <li>特に*.rbへの対応</li>
151
+ </ul></li>
152
+ <li>hikiへの対応</li>
153
+ <li>yardへのpull request</li>
154
+ <li>$を記述しようとしてもだめ.
155
+
156
+ <ul>
157
+ <li>\$で逃げている(16/6/23対応断念).</li>
158
+ </ul></li>
159
+ <li>最小一致を使った記述の単純化(16/6/23対応).</li>
160
+ <li>Rakefileでのコマンド一発での変換
161
+
162
+ <ul>
163
+ <li>一つ所に書くと,systemコマンドなどがmultitaskで走ってしまう.</li>
164
+ <li>taskを分割してそれぞれを終了させた(16/6/23対応).</li>
165
+ </ul></li>
166
+ </ul>
167
+ </div></div>
168
+
169
+ <div id="footer">
170
+ Generated on Fri Jun 24 11:52:33 2016 by
171
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
172
+ 0.8.7.6 (ruby-2.2.2).
173
+ </div>
174
+
175
+ </body>
176
+ </html>
data/doc/file.atom.html CHANGED
@@ -73,136 +73,43 @@
73
73
 
74
74
  <iframe id="search_frame"></iframe>
75
75
 
76
- <div id="content"><div id='filecontents'><h1>概要</h1>
77
-
78
- <h1>EAM</h1>
79
-
80
- <p>EAM(Embedded atom method)は1980年代以降に,盛んに使われるようになった経験的原子間ポテンシャルである.</p>
81
-
82
- <h2>エネルギー表記</h2>
83
-
84
- <p>EAMは原子$i$のエネルギーを</p>
85
-
86
- <p>$$E_i = \sum_j\phi \left( r_j \right) + f(\rho)
76
+ <div id="content"><div id='filecontents'><ol>
77
+ <li>概要</li>
78
+ <li><p>EAM
79
+ EAM(Embedded atom method)は1980年代に盛んに使われるようになった経験的原子間ポテンシャルである.</p>
80
+
81
+ <ol>
82
+ <li>エネルギー表記
83
+ EAMは原子$i$のエネルギーを
84
+ $$
85
+ E_i = \sum _ j\phi \left( r_j \right) + f(\rho)
87
86
  $$
88
87
  と表記する.右辺第1項は単なる2体間の相互作用を表わす.
89
88
  右辺第2項が多体項と呼ばれるEAMに特徴的な項である.
90
- この工夫によって原子空孔を初め多くの金属物性を
91
- うまく表現することが可能となった.詳しくは西谷・赤本参照.</p>
92
-
93
- <p>さて,$r_j$はこの場合原子$j$との距離を意味しており,$E_i$は原子$i$の周りの原子との和によって求まる.多体項は,一般的に</p>
94
-
95
- <p>$$f(\rho) =\sqrt{\rho}=\sqrt{\sum_j h^2 \left( r_j \right) }
89
+ $r_j$はこの場合原子$j$との距離を意味しており,
90
+ $E_i$は原子$i$の周りの原子との和によって求まる.
91
+ 多体項は,一般的に
96
92
  $$
97
- によって求められる.$\rho$は強結合(tight binding)理論の2次モーメント近似と捉えると,電子密度を表わすとされている.</p>
98
-
99
- <h2>具体例</h2>
100
-
101
- <h3>for phi(r0)=-3.39, Ev=0.8, p=3.0 at r0=2.8577</h3>
102
-
103
- <pre class="code maple"><code class="maple">
104
- A0,B0,P,POQ,Q:=69.1378255, 12.47431958,
105
- 2.148157653, 2.893854749, 0.7423170267;
106
-
107
- -3.39*32;
108
- -108.48
109
- </code></pre>
110
-
111
- <pre class="code ruby"><code class="ruby">n:=12;
112
- ene:=r-&gt;n*A0*exp(-P*r);
113
- h:=r-&gt;B0*exp(-Q*r);
114
- rho:=r-&gt;12*h(r)^2;
115
- plot(ene(r)-sqrt(rho(r)),r=2..4);
116
- </code></pre>
117
-
118
- <p><img src="eam_ev_plot.gif" alt=""></p>
119
-
120
- <pre class="code ruby"><code class="ruby">r0:=fsolve(diff(ene(r)-sqrt(rho(r)),r),r=3);
121
- 2.857701344
122
- evalf(subs(r=r0,ene(r)-sqrt(rho(r))));
123
- -3.390000002
124
- </code></pre>
125
-
126
- <pre class="code math"><code class="math">E_i = \sum _ j\phi \left( r_{{j}} \right) + \h \left( r_{{j}} \right)
127
- </code></pre>
128
-
129
- <h1>LJ</h1>
130
-
131
- <p>LJ(Lennard-Jones)はもっとも簡単な2体のポテンシャル.</p>
132
-
133
- <h2>エネルギー表記</h2>
134
-
135
- <h2>具体例</h2>
136
-
137
- <pre class="code maple"><code class="maple">A0:=1.587401051*0.7071067812/2.857701314;
138
- E0:=-1*4.0/12.0;
139
-
140
- A:=18.19007708;
141
- B:=89.22765864;
142
- phi:=r-&gt; 12*(-A*(1/r**3)+B*(1/r**5));
143
- r0:=fsolve(diff(phi(r),r),r=3);
144
- 2.859281101
145
- phi(r0);
146
- -3.735125644
147
- </code></pre>
148
-
149
- <p><img src="lj_ev_plot.gif" alt=""></p>
150
-
151
- <h1>EAM fitting</h1>
152
-
153
- <p>EAM potentialの種々の構築手法を詳解する.</p>
154
-
155
- <h2>background</h2>
156
-
157
- <p>MCにおいて$NPT$一定の計算がうまくいっていない.</p>
158
-
159
- <ul>
160
- <li>覚埜式の$E-V$プロットをすると小体積でのエネルギの上がりが低い.</li>
161
- <li>$T=0.1$[eV]で融けているよう
162
- なので,もう少し精密にEAMポテンシャルを構築してみる.</li>
163
- </ul>
164
-
165
- <h2>poq fixed</h2>
166
-
167
- <p>EAM potentialにおいて単原子空孔の生成エネルギ$E_v$は</p>
168
-
169
- <p>$$E_v = -\frac{E_c}{2} \frac{2-poq}{1-poq}
93
+ f(\rho) =\sqrt\rho=\sqrt {\sum_j h^2 \left( r_j \right) }
170
94
  $$
171
- の関係がある.したがって,</p>
172
-
173
- <pre class="code maple"><code class="maple">Ev:=0.8;
174
- Ec:=3.39;
175
- eq1:=Ev=Ec/2*(2-poq)/(1-poq);
176
- solve(eq1,poq);
177
- 2.893854749
178
- </code></pre>
179
-
180
- <p>さらにこの値を使ってポテンシャルのパラメータを求めるのは以下の通り.ここで,$q$を設定している.</p>
181
-
182
- <pre class="code ruby"><code class="ruby">phi:=r-&gt;12.0*A*exp(-p*r)-sqrt(12.0*(B*exp(-q*r))^2);
183
- poq:=2.893854749;
184
- q:=3.00*0.2474390089;
185
- a0:=8.0828/2;
186
- r0:=evalf(a0*sqrt(2)/2.0); #2.857701345
187
- eq1:=phi(r0)=-3.39;
188
- s2:=solve(eq1,A);
189
- p:=poq*q; #2.148157653
190
- eq2:=subs(r=r0,diff(phi(r),r));
191
- #plot(subs(A=s2,eq2),B=0..20);
192
- b0:=fsolve(subs(A=s2,eq2),B=10);
193
- a0:=subs(B=b0,s2);
194
- phi0:=unapply(subs({A=a0,B=b0},phi(r)),r);
195
- plot(phi0(r),r=2..5);
196
- phi0(r0);
197
- a0,b0,p,poq,q;
198
- #69.1378255, 12.47431958, 2.148157653, 2.893854749, 0.7423170267
199
- </code></pre>
200
-
201
- <p><img src="eam_ev.png" alt=""></p>
95
+ によって求められる.$\rho$は強結合(tight binding)の2次モーメント近似から,
96
+ 電子密度を表わすとされている.
97
+ これによって原子空孔を初め多くの金属物性を
98
+ うまく表現することが可能となった.詳しくは西谷・赤本参照.</li>
99
+ <li>具体例
100
+ EAM potentialにおいて単原子空孔の生成エネルギEvは</li>
101
+ </ol></li>
102
+ </ol>
103
+
104
+ <p>$$
105
+ E_v = -\fracE_c2\frac2-poq1-poq
106
+ $$</p>
107
+
108
+ <p>の関係がある.したがって,</p>
202
109
  </div></div>
203
110
 
204
111
  <div id="footer">
205
- Generated on Thu Jun 23 14:03:52 2016 by
112
+ Generated on Fri Jun 24 11:52:33 2016 by
206
113
  <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
207
114
  0.8.7.6 (ruby-2.2.2).
208
115
  </div>
@@ -0,0 +1,112 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <script type="text/x-mathjax-config">
6
+ MathJax.Hub.Config({
7
+ tex2jax:{
8
+ inlineMath: [ ['$','$'], ["\(","\)"] ],
9
+ displayMath: [ ['$$','$$'], ["\[","\]"] ]
10
+ }
11
+ });
12
+ </script>
13
+ <script type="text/javascript"
14
+ src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML">
15
+ </script>
16
+ <meta http-equiv="X-UA-Compatible" CONTENT="IE=EmulateIE7" />
17
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
18
+ <title>
19
+ File: atom.mjx
20
+
21
+ &mdash; Documentation by YARD 0.8.7.6
22
+
23
+ </title>
24
+
25
+ <link rel="stylesheet" href="css/style.css" type="text/css" charset="utf-8" />
26
+
27
+ <link rel="stylesheet" href="css/common.css" type="text/css" charset="utf-8" />
28
+
29
+ <script type="text/javascript" charset="utf-8">
30
+ hasFrames = window.top.frames.main ? true : false;
31
+ relpath = '';
32
+ framesUrl = "frames.html#!file.atom.mjx.html";
33
+ </script>
34
+
35
+
36
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
37
+
38
+ <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
39
+
40
+
41
+ </head>
42
+ <body>
43
+ <div id="header">
44
+ <div id="menu">
45
+
46
+ <a href="_index.html">Index</a> &raquo;
47
+ <span class="title">File: atom.mjx</span>
48
+
49
+
50
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
51
+ </div>
52
+
53
+ <div id="search">
54
+
55
+ <a class="full_list_link" id="class_list_link"
56
+ href="class_list.html">
57
+ Class List
58
+ </a>
59
+
60
+ <a class="full_list_link" id="method_list_link"
61
+ href="method_list.html">
62
+ Method List
63
+ </a>
64
+
65
+ <a class="full_list_link" id="file_list_link"
66
+ href="file_list.html">
67
+ File List
68
+ </a>
69
+
70
+ </div>
71
+ <div class="clear"></div>
72
+ </div>
73
+
74
+ <iframe id="search_frame"></iframe>
75
+
76
+ <div id="content"><div id='filecontents'><ol>
77
+ <li>概要</li>
78
+ <li><p>EAM
79
+ EAM(Embedded atom method)は1980年代に盛んに使われるようになった経験的原子間ポテンシャルである.</p>
80
+
81
+ <ol>
82
+ <li>エネルギー表記
83
+ EAMは原子$i$のエネルギーを
84
+ $$E_i = \sum _ j\phi \left( r_j \right) + f(\rho)
85
+ $$と表記する.右辺第1項は単なる2体間の相互作用を表わす.
86
+ 右辺第2項が多体項と呼ばれるEAMに特徴的な項である.
87
+ $r_j$はこの場合原子$j$との距離を意味しており,
88
+ $E_i$は原子$i$の周りの原子との和によって求まる.
89
+ 多体項は,一般的に
90
+ $$f(\rho) =\sqrt{\rho}=\sqrt {\sum_j h^2 \left( r_j \right) }
91
+ $$によって求められる.$\rho$は強結合(tight binding)の2次モーメント近似から,
92
+ 電子密度を表わすとされている.
93
+ これによって原子空孔を初め多くの金属物性を
94
+ うまく表現することが可能となった.詳しくは西谷・赤本参照.</li>
95
+ <li>具体例
96
+ EAM potentialにおいて単原子空孔の生成エネルギEvは</li>
97
+ </ol></li>
98
+ </ol>
99
+
100
+ <p>$$E_v = -\frac{E_c}{2}\frac{2-poq}{1-poq}
101
+ $$
102
+ の関係がある.したがって,</p>
103
+ </div></div>
104
+
105
+ <div id="footer">
106
+ Generated on Fri Jun 24 11:52:33 2016 by
107
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
108
+ 0.8.7.6 (ruby-2.2.2).
109
+ </div>
110
+
111
+ </body>
112
+ </html>