lecture – how to make master thesis format

有用な本,情報

日本建築学会構造系,計画系,ならびに環境系論文集応募原稿募集

ソフトウェア

価格 利点 欠点
MS Word 100/月 なし Word
Adobe InDesign 1980/月 美しいレイアウト 数式ない
TeX 0 数式きれい 慣れ必要
手書き 0

論文用ドキュメントファイルを作る

  1. 構成 論文全体
    1. 表紙,目次,(扉,章),謝辞,付録,奥付
  2. 構成 ページの中
    1. chapter-section-subsection-subsubsection
    2. 引用と注
  3. InDesignでドキュメントつくる
    1. ドキュメントとブック 偶数ページ
    2. フレームグリッド設定
      1. 新規レイアウトグリッド
      2. テキストフレームとフレームグリッド
    3. スタイル
      1. フレームグリッド設定
      2. 段落スタイル
      3. 文字スタイル
      4. ベースライングリッド=テキストフレームないの文字位置を決める普段は見えていないグリッド
    4. 段落スタイル
      1. 文字スタイルとの違い
        1. 目次自動生成
        2. 図や表の番号が振れる
        3. 強調文字とか
      2. グリッド設定 グリッド揃えにしておけば,文字送りは自動でよい。
    5. 章,節,小節をつくってみる
      1. 制御文字表示
      2. 字下げ
      3. インデントとスペース
      1. referenceの段落スタイル
      2. 箇条書きの設定
      3. 改行と強制改行
      4. ハイパーリンク 相互参照 新規相互参照 形式:段落番号
      5. 再リンク
    6. 図番号・表番号・キャプション
      1. テキスト内オブジェクトとテキストフレーム外オブジェクト
      2. 段落スタイル(Figure)グリッド揃えしない
      3. 別フレーム間でFig番号を連続させるには,箇条書き内のリストタイプを使う
      4. 図版の前後関係をページ内で変更する場合は,図版の番号順に「カット」「元の位置のペースト」
    7. 表の挿入
      1. テキストフレームをつくる
      2. 表の挿入
      3. 新規リストTableNum
      4. 文中へのキャプションリンクは相互参照
    8. 文字スタイル
      1. 強調の文字スタイル
  4. フォルダ構成
  5. 図の挿入と編集
  6. 表の挿入と表すたいる
  7. 自動章番号
  8. ページ番号とセクションの設定
  9. 自動目次設定
  10. マスターの設定
  11. 合成フォント
  12. 製本
  13. 数式の設定

 

lecture Networkx(python) – Cytoscape – CSV

  1. cytoscape→networkx
    1. 隣接行列,隣接リストをCSVで書き出して読み込む
    2. graphml書き出して読み込む
    3. (レイアウトも一緒に読み込みたいならば)cyjsで書き出していろいろ呪文を唱えて読み込む
  2. networkx→cytoscape
    1. 隣接行列,隣接リストをCSVで書き出して読み込む
    2. graphml書き出して読み込む
    3. (レイアウトも一緒に読み込みたいならば)cyjsで書き出していろいろ呪文を唱えて読み込む

呪文の一部

def from_networkx(g, layout=None, scale=DEF_SCALE):
 # Dictionary Object to be converted to Cytoscape.js JSON
 cygraph = __build_empty_graph()

 if layout is not None:
 pos = list(map(lambda position:
 {'x': position[0]*scale, 'y': position[1]*scale},
 layout.values()))

 nodes = g.nodes()
 if isinstance(g, nx.MultiDiGraph) or isinstance(g, nx.MultiGraph):
 edges = g.edges(data=True, keys=True)
 edge_builder = __build_multi_edge
 else:
 edges = g.edges(data=True)
 edge_builder = __build_edge

 # Map network table data
 cygraph[DATA] = __map_table_data(g.graph.keys(), g.graph)

 for i, node_id in enumerate(nodes):
 new_node = __create_node(g.node[node_id], node_id)
 if layout is not None:
 new_node['position'] = pos[i]

 cygraph['elements']['nodes'].append(new_node)

 for edge in edges:
 cygraph['elements']['edges'].append(edge_builder(edge, g))

 return cygraph


def to_networkx(cyjs, directed=True):
 """
 Convert Cytoscape.js-style JSON object into NetworkX object.

 By default, data will be handles as a directed graph.
 """

 if directed:
 g = nx.MultiDiGraph()
 else:
 g = nx.MultiGraph()

 network_data = cyjs[DATA]
 if network_data is not None:
 for key in network_data.keys():
 g.graph[key] = network_data[key]

 nodes = cyjs[ELEMENTS][NODES]
 edges = cyjs[ELEMENTS][EDGES]

 for node in nodes:
 data = node[DATA]
 data[POSITION] = [node[POSITION][X], node[POSITION][Y]] #set position as attribute
 g.add_node(data[ID], attr_dict=data)

 for edge in edges:
 data = edge[DATA]
 source = data[SOURCE]
 target = data[TARGET]

 g.add_edge(source, target, attr_dict=data)

 return g

 

 

lecture-networkanalysis-centrality

中心性 centrality
点中心性 node centrality
  • 離心中心性 eccentricity
    • 直径 diamiter
    • 半径 radius
    • 周辺 periphery
  • 近接中心性
    • status
    • median
  • 次数中心性 degree centrality
    • outdegree/indegree
  • 固有ベクトル中心性 eigenvector centrality
  • pagerank
    • 推移確率行列
  • パワー中心性 power centrality
  • 媒介中心性 betweeness centrality
    • 切断点 cutpoint
    • 切断集合 cutset
  • 情報中心性 information centrality
グラフの中心度
  • 集中度,中心化傾向centlization グラフ中心性 graph centrality

参考文献

  • 鈴木努:Rで学ぶデータサイエンス8 ネットワーク分析,共立出版,pp.41-74,2009

python seminar 2

Python

  • List
    • L[0], L[1][2]
    • nest[[1, 2], [3, 4]]
    • list.append()
    • reference
  • Dictionary
    • dic[key] = value
    • dic = {k0: v0, k1:v1, …}
    • in, has_key()
    • dic.keys(), dic.values(), dic.items(),
    • reference
  • Class
  • import
    • import hoge
    • from hoge import huga
    • import hoge as hg
  • library
    • numpy, scipy
    • matplotlib
    • networkx

Assignment

#組み合わせてもよい

#わからなければどんどんグーグルや友達と相談,もしくはこのページのコメント欄に書き込む

#面白さ求む

# Githubにまたアップする(150731フォルダ) Github repository [monnailab/slytherin_2015]

 

programming introduction

Programming seminar for architectural design and research

github

Goal

  • pythonでのオブジェクト指向プログラミングを理解する
  • 自分の開発環境を持つ
  • 独学するためのはじめの一歩

languages

library

  • pip
  • numpy
  • scipy
  • networkx
  • matplotlib
  • ipython

version control

  • github
  • bitbucket
  • dropbox

assignment

150724までのassignment宿題
ファイル名は150724assignment_[自分の名前].py
Github
1)アカウントを作る。githubソフトもインストール
2)アカウントを安田に知らせる。Githubの門内研organizationにinviteします
3)inviteをメールで確認して承認する。
4)slytherin_2015のrepositoryがあるので,それを自分の作業環境にcloneする。
5)slytherin_2015/150724_assignment/[自分の名前]フォルダの中に自分の宿題ファイルを置く。(このファイルをコピーするとよい)
6)宿題が途中でも完了しても,とりあえずcommitしてsync(push)しておく。
Python
###かかった時間を関数の中にコメント(#)で記しておいてください。
1)(例)func1(x) = 2x + 1 の関数(名前はfunc1)
2)(復習)func2(x, y) = x^2 + y^2 の関数(名前はfunc2)
3)(復習)func3(n) = ‘偶数です’(nが偶数の場合)・’奇数です’(nが奇数の場合)
4)(復習)func4(n) = (n番目のフィボナッチ数)
5)(演習)func5(n) = (n番目の素数)#1番目の素数は2とする
6)(演習)func6 何か面白い関数を作る。引数(ひきすうargument:f()の()の中のパラメータ)はなんでも良い。

やったこと
string, integer, float
for, while, if
def function(hogehoge):
hogefuga
return fugafuga
list
range()
わからなければわかりそうな人に聴いてみる

reference