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.
- checksums.yaml +4 -4
- data/README.md +45 -11
- data/Rakefile +26 -3
- data/doc/MathJaxYard.html +3 -3
- data/doc/MathJaxYard/Command.html +214 -128
- data/doc/_index.html +15 -3
- data/doc/file.Home.html +96 -2
- data/doc/file.README.html +45 -9
- data/doc/file.README_ja.html +28 -10
- data/doc/file.Why_mathjax-yard.html +176 -0
- data/doc/file.Why_mathjax-yard.mjx.html +176 -0
- data/doc/file.atom.html +29 -122
- data/doc/file.atom.mjx.html +112 -0
- data/doc/file.potential.html +97 -0
- data/doc/file.potential.mjx.html +96 -0
- data/doc/file_list.html +14 -2
- data/doc/index.html +45 -9
- data/doc/method_list.html +12 -6
- data/doc/top-level-namespace.html +1 -1
- data/docs/README_ja.hiki +91 -0
- data/docs/Why_mathjax-yard.hiki +49 -0
- data/docs/atom.hiki +30 -0
- data/docs/potential.hiki +10 -0
- data/lib/mathjax-yard.rb +41 -51
- data/lib/mathjax-yard/init.rb +34 -0
- data/lib/mathjax-yard/version.rb +1 -1
- data/mathjax.yml +13 -17
- metadata +12 -3
- data/doc/file.potential2.html +0 -196
@@ -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
|
+
— 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> »
|
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->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'><
|
77
|
-
|
78
|
-
<
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
<
|
83
|
-
|
84
|
-
|
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
|
-
|
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
|
-
|
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->n*A0*exp(-P*r);
|
113
|
-
h:=r->B0*exp(-Q*r);
|
114
|
-
rho:=r->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-> 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
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
</
|
179
|
-
|
180
|
-
<p
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
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
|
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
|
+
— 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> »
|
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>
|