最近アルコール度数が高いお酒を少しずつ飲むのにハマり始めてる
二日酔いになりにくいし、一人で飲むのにオヌヌメ
最近飲んでるコニャック(ウマイ
ブランデーなんてスパイ映画みたいだなぁと思ってパシャり
こんな写真学生課が怒りそうだけどまぁ誰も見てないから大丈夫でしょ!
おや、誰か来たみたいだ......
\begin{frame}[allowframebreaks]
\bibliographystyle{}
\bibliography{}
\end{frame}
スライドの資料をTexで書いている奇特,ではなく真面目なみなさん、
参考文献のページに[allowframebreaks]をframeに書き加えるとbibTexで見切れそうになったら改ページを勝手にやってくれるようになります
Cygwin入ってない人入れた方がいいかもしれない→http://cygwin.com/
Graphvizを取ってくる→http://graphviz.org/
ページの下の方の「download」押す スクロールして「windows」の欄の「Stable 2.38 Windows install packages」 graphviz-2.38.msi をダウンロード
graphviz-2.38.msiをダブルクリックで実行
インストール進めていけばGraphvizデビュー!
たぶん自分よりも原田先輩あたりの方が詳しいと思うのですが自分のためにと思って
テンプレートとか書いたけど基本的に自由度が高い感じだから結構なんでもあり
digraph cantPairingCase{ graph[ charset= "UTF-8", layout = dot ]; rmax[label="r_max:"]; r1[label="r_1"]; r2[label="r_2"]; r3[label="r_3"]; r4[label="r_4"]; r5[label="r_5"]; r6[label="r_6"]; rmax -> r4; rmax -> r5; rmax -> r6; r4 -> r2; r5 -> r2; r6 -> r3; r2 -> r1; rmax -> r1; }
では適当に解説
最初の行「digraph cantPairingCase{」 cantPairingCaseはグラフの名前で、ほとんど出てこないから実際なんでもいい digraphはグラフの種類の指定でこれは有向グラフである(指定しなければ矢印で要素を結ぶ.ぶっちゃけこれでも無向グラフも作れる) 無向グラフはgraphとする
graph[ ]; グラフ全体の特性を決めるセクションここを頑張ればたぶんかっこよくなる.レイアウトのあれこれを「,」で繋いでいって最後は何もつけなくておk. charset= "UTF-8" これは書式なんでUTF-8でほぼ決まり layout = dot 要素の配置.dotは階層型二分探索木みたいな配置になる 他にもcirco, fdp, neato, nop, nop1, nop2, osage, patchwork, sfdp, twopi がある
それぞれの配置の感じは→ http://melborne.github.io/2013/04/02/graphviz-layouts/
Graphvizは下付き文字とかが入力できないんだが、dot2texを使うと数学記法の一部が使えるようになるんやで
少なくとも自分はその程度(下付き文字を使う程度)しか使ってないけど、もっと上手く色々できる人はむしろ俺に教えて
基本的にはgraphvizと互換性があるので、graphvizで図を作成する体で作って大丈夫です。
コンパイル 作ったdotファイルをtexファイルにコンパイルして、platexでdviファイルにコンパイル。それをdvipdfmxでpdfにすれば完成 $ dot2tex -tmath hoge.dot > hoge.tex $ platex hoge.tex $ dvipdf hoge.dvi コマンドオプションとして,--figpreamble="\Large"を使うと,文字が大きくなる.\Large<\LARGE<\Huge<HUGEの順にでかくなる.
研究室のパソコンで実験した結果をグラフにしたいあなたにオヌヌメ!その名もgnuplot
そこそこの苦労できれいにグラフを書いてくれるいいやつ
自分は今ルール順序最適化アルゴリズムの実験結果しか出さないからx軸をルール数,y軸を遅延とした棒グラフの書き方で紹介いたしやす
先ず、実験結果を作る。これが一番大変
x軸の値を縦に並べたファイルを作成する(latency.txt)
latency.txt 1000 2000 3000 4000 5000
次に実験で得られた各アルゴリズムの実験結果を縦に並べたファイルを作成する(SGM,Ogasawara)
SGM 268216926 4.96526e+08 7.04782e+08 8.48017e+08 1.17249e+09
Ogasawara 2.67993e+08 4.96356e+08 7.04155e+08 8.47685e+08 1171751856
下のコマンドを実行すると任意のファイルにSGMとOgasawaraのデータそのファイルの中で合体する!
$paste latency.txt SGM Ogasawara > hoge.txt
latency.txt 1000 268216926 2.67993e+08 2000 4.96526e+08 4.96356e+08おこ 3000 7.04782e+08 7.04155e+08 4000 8.48017e+08 8.47685e+08 5000 1.17249e+09 1171751856
必須じゃないけどファイルの上に何のアルゴリズムの実験結果か書いておくと確認しやすいぞ
latency.txt # SGM Ogasawara 1000 268216926 2.67993e+08 2000 4.96526e+08 4.96356e+08 3000 7.04782e+08 7.04155e+08 4000 8.48017e+08 8.47685e+08 5000 1.17249e+09 1171751856
次にどんなグラフを作るのかっていう設計図pltファイルを作る。どっかに転がってるテンプレートファイルを参照することをおススメする。めんどくさそう
https://texwiki.texjp.org/?TeXworks%2F%E8%A8%AD%E5%AE%9A#vd0f0d24 ↑これにすべてが記されている.
.bibファイル内のはみ出るurlを探してurlを"\url{}"で囲むとtexがurlを認識していいところで改行してくれる.すでに{}で囲まれてるならその外に\urlを書き足すだけで認識される.
ディスクを入れてディスクのディレクトリで"./install-tl"を入力する.
コマンドを要求されるので"I"を入力してエンターを押す.
Can't locate Digest/MD5.pm in @INC (...) at tlpkg/TeXLive/TLUtils.pm line 204. BEGIN failed--compilation aborted at tlpkg/TeXLive/TLUtils.pm line 204. Compilation failed in require at ./install-tl line 53. BEGIN failed--compilation aborted at ./install-tl line 53.
こんなエラーが吐かれたら以下のコマンドで対応するパッケージをインストール
yum install perl-Digest-MD5
LaTeX Error: Cannot determine size of image (no BoundingBox)の場合
pdfのバージョンの違いによってtexがpdfのサイズを認識してくていない場合発生する.
extractbb *.pdf
のコマンドを使うと,ファイルサイズを含む.xbbファイルが生成される.
xbbファイルをcatすればBoundingBoxの項目が出てくる.
tex内部の\includegraphicsの[]オプションにbb="xbbファイルのBoundingBoxの部分"と記述すればtexが対象のpdfファイルのサイズを認識してくれる.
cpなどして復元させようとすると,ファイルの属性が変わっている場合がある(前回ホームページ等をアップデートしたとき,これで苦労した).
属性が変わっていると当然ながら正常に動作しない.ネットで先駆者たちの話に耳を傾け,ファイルの属性を合わせてあげる必要がある.
研究室のPCのOSがubuntuになったため,mininetの運用が格段にやりやすくなった.それに伴い,SDNベンチマークツールであるmininetとその周辺アプリケーション「wireshark」と「Ryu SDN Framework」についての備忘録のようなものを残そうとこれを記述する.
始めに,現在,mininet,wireshark,Ryuのインストールは比較的整備されており,「apt-get install」コマンドやgithubからのダウンロード,スクリプトの実行により,インストールが可能となっている.しかし,Ryuが最新のPythonに対応していないため,Ryuを運用するためには「Python3.9x」かそれ以下が必要となる.単純にmininetをインストールするとおそらく最新のPythonがインストールされるようになっているため,注意が必要である.
また,mininetの運用にはxtermの実行が推奨されているため,これのインストールも必要である.xtermとは,新たにコンソールを起動するアプリケーションであり,mininet上で使用することで,対応するノードのコンソールを新たに生成することができる(ただし,挙動の確認をしていないため,元からCUIのみで運用しているPCでは動作不明).また,xtermをインストールしていれば,別ウィンドウにwireshark等のアプリケーションのGUIを表示させることができる.しかも,リモートでログインしていてもウィンドウの展開が可能である.ただし,その場合,手元のPCにもxtermもしくはxtermを実行できるアプリケーションのインストールが必要である.また,windowsなどでxtermを運用する場合,大体面倒なことになる.