生物学生のためのLaTex #2
博士過程に進む人たちの中の多くは、学振DC1に応募する
制度の概要(PD・DC2・DC1) | 特別研究員|日本学術振興会
月20万+年間研究費100万(上限)がもらえる
応募するためには、申請書を書かなくてはならない
LaTeXで申請書が書けるので、準備のために環境を再構築した
もともとMacTeX2015を入れていたが、なぜかヒラギノフォントの埋め込みがうまくいかなかったため、すべてアンインストールしてMacTeX2017をインストールし直した
参考
Mac OS XへのLaTeXとTeXShopのインストレーション
TeX Forum
環境
- MacBook Air 11-inch, Early 2015
- OS X El Capitan
- yatexを使用(TeXshop使った方がいいのだろうか?こっちになれすぎて、もう戻れない)
Mac OS Mmavericks 10.9 に emacs + yatex を導入して爆速で tex を書こう - TB-LAB BLOG
手順
- MacTexをダウンロード、インスコするぜ!ミラーサイトからやらないとクソ時間が掛かるから注意!!
- pkgファイルを展開!Next連打!!!たまにAgree!
- terminal起動!sudo tlmgr update --self --all と打込め!(ウツベシウツベシ)
- 待ってもいいが、時間が掛かるので、ここは別ウィンドウでterminalを起動する!(command+nでできるよ)
- /usr/local/texlive/2016/texmf-dist/scripts/cjk-gs-integrate に行け!!(cdが移動のコマンドだよ)
- sudo perl cjk-gs-integrate.pl --link-texmf --forceと打て!(シンボリックリンクを貼るよ)
- sudo mktexlsrって打て!!!(ls-Rファイルをupdateするよ)
- sudo kanji-config-updmap-sys hiragino-elcapitan-pronで完了!!!今日からヒラギノフォントだ!
確認のために、kanji-config-updmap-sys statusとターミナルに打込め。current familyがhiraginoならおk
そうでなければどこかが違う。ググれ。参考の2番目のリンクに行け
最後のとこから-pronを消去すれば、Nシリーズではないヒラギノが埋め込まれるぞ!やったね!
README-ja.pdfがapplication/Texにあるが、これの通りにやってもうまくいかなかった。理由は不明
最終確認として、出力したpdfファイルをアドビのアクロバットリーダーで読み込んで、command+d、フォントの項目を確認してくれ、hiraginoの項目に埋め込みサブセットとか書いてあればおk
3月くらいに2018年度のDC1用latexファイルが配布されます!ありがとうございます!!!
科研費LaTeX - 2017年秋応募分
2017のsingle、utfバージョンで第一稿を書いてますが、非常に快適です!!
みんなで内定勝取ろう!だが、2018年度DC1神経科学分野に申し込む君は敵だッ!!負けないぞ!
僕は、DC1内定したら20万くらいでパソコンを買う予定です!!
ですが、自己評価に何を書こうか本当に迷っています!どーすんねん!!
あと腰が痛い!どーすんねん!!
これだけ準備しましたが、結局wordで書く可能性の方が高いです
前から言っていますが、生物系の人はTeXを使わないです(使えない?)
現に僕もpdfで卒論の添削を教授にお願いしたら、突っぱねられました
今後、TeXに理解を示してくれればうれしいです
Unityによるゲーム制作#2
少しづつではあるが形になってきたので、一旦備忘録
参考
【Unity2D】Unityで2Dミニゲームを作るチュートリアル(第1回) - Qiita
【Unity2D】Spriteを左右反転する方法 - Qiita
Unityプログラミング基礎 (変数からclassまで) - Qiita
【Unity】 Rigidbodyの移動方法 - エフアンダーバー
一番お世話になったのは、一番上のブログ
.csファイル二つはそこで挙げられているものをそのまま流用
githubの学生プランでprivateリポジトリを作って、バージョン管理
現在の状況 (はてなブログって動画あげられないんだ...)
— Ryupy (@nagoyaryu12) 2017年10月14日
魚が餌であるエビに向かって泳ぐ
背景とエビは拾ったやつ
魚は友人に10分くらいで書いてもらった
制作時間約15時間
以下スクリプト
あくまで初心者が書いたものなので、間違っている部分があるはず
間違ってたら教えてください
Fish2.cs (Fish.csでないのは作り直したからで、深い意味はない)
using System.Collections; using System.Collections.Generic; using UnityEngine; /// Token (流用)を継承 public class Fish2 : Token { // Use this for initialization void Start () { // サイズを設定 SetSize (SpriteWidth / 2, SpriteHeight / 2); } // Update is called once per frame void Update () { // カメラの左下座標を取得 Vector2 min = GetWorldMin (); // カメラの右上座標を取得 Vector2 max = GetWorldMax (); if (X < min.x || max.x < X) { // 画面外に出たので、X移動量を反転する VX *= -1; // 画面内に移動する ClampScreen (); } if (Y < min.y || max.y < Y) { VY *= -1; ClampScreen (); } /// ここまでは1番目のブログを丸パクリ /// 2番目のブログより /// VX, VYはToken中で定義されている // 魚を進行方向へ向かせる // Vector3でscaleを取得し、VX(移動量)の向きで場合分け Vector3 scale = transform.localScale; if (VX > 0) { scale.x = -1; } else if (VX < 0) { scale.x = 1; } else { } // scaleを代入する transform.localScale = scale; /// 魚っぽくするために、Update()で減速するようにした // 魚を減速させる VX *= 0.9f; VY *= 0.9f; // 止まった場合、魚を動かす // ここ上の方の条件分岐に入れれると思う if (VX == 0) { // ランダムな方向に移動する // 方向をランダムに決める // SetVelocityもToken中で定義されている float dir = Random.Range (0, 359); float spd = Random.Range (0, 10); SetVelocity (dir, spd); } /// ここが一番苦労した /// Ebiオブジェクトをさがして、Vector2変数に打ち込む /// Fish2は魚のスプライトにアタッチしているので、thisでok /// Distance関数で距離を取得 // エビと自分の距離 Vector2 Ebipos = GameObject.Find("Ebi").transform.position; Vector2 Fish2pos = this.transform.position; float dis = Vector2.Distance (Ebipos, Fish2pos); Debug.Log ("Distance : " + dis); /// 魚とエビの距離が8より小さい時、魚とエビの角度を取得して、その方向へ力を加える if (dis < 8f) { Vector2 dir = Ebipos - Fish2pos; RigidBody.AddForce (dir * 20f); } } }
Fish2には、Rigidbody2DとColliderをGUIからアタッチ
重力はなしで、is Triggerをチェック
prefab化
Ebi.cs
using System.Collections; using System.Collections.Generic; using UnityEngine; public class Ebi : Token { // Use this for initialization void Start () { SetSize (SpriteWidth / 2, SpriteHeight / 2); } // Update is called once per frame void Update () { // 画面内にいるようにする Vector2 min = GetWorldMin (); Vector2 max = GetWorldMax (); if (X < min.x || max.x < X) { VX *= -0.1f; ClampScreen (); } if (Y < min.y || max.y < Y) { VY *= -0.1f; ClampScreen (); } } /// ここまではFish2と一緒 // 魚と触れたとき void OnTriggerEnter2D(Collider2D c){ // 消える DestroyObj(); } }
EbiにもRigidbody2DとColliderをアタッチ
水の中なので、重力は小さめに設定、is Triggerにチェック
prefab化
CreatEbi.cs (??"クリエイトebi!!")
using System.Collections; using System.Collections.Generic; using UnityEngine; public class CreateEbi : Token { // 生成したいPrefab public GameObject Ebi; // クリックした座標 private Vector3 clickPosition; // Use this for initialization void Start () { } // Update is called once per frame void Update () { // 左クリックをした瞬間,0は左クリック if (Input.GetMouseButtonDown (0)) { clickPosition = Input.mousePosition; clickPosition.z = 10f; // 一度、"ebi"というなまえにして、"Ebi"に戻すことで(clone)が名前に付くのを防ぐ GameObject ebi = Instantiate(Ebi, Camera.main.ScreenToWorldPoint(clickPosition), new Quaternion()) as GameObject; ebi.name = "Ebi"; } } }
CreateEbiスクリプトはヒエラルキーウィンドウにCreateEbiというフォルダ?を作ってそこにアタッチ
ヒエラルキーウィンドウにあるCreateEbiをクリックすると、インスペクターウィンドウ上にCreateEbiスクリプトが出てくる。そこに、Ebiのprefabをセットする。
挙動を見ると分かるが、エビが何個あろうと一つのエビ(一番古いエビ)との距離しかとってくれない
これでいいかもしれないが、全てのエビに対しての距離をとってほしかった(for文で繰り返すといいのか?)
あとはHPとか作って、死んだり増えたりする魚育成ゲームにしようと思う
このプロジェクトが終わったら一度横スクロールゲームを作ってみたい
プログラミング初心者がここまでできるUnityは神
オブジェクティブ指向とかは、いまでもよくわからん部分がある
構造を直してた時間が非常に多かった
なににせよ、新しい趣味ができてよかった
2017年 衆議院選挙
朝ごはん
研究室に配属されてからというもの、朝ごはんは研究室で食べた方がいいんじゃないかという考えに至った。
ゲルが固まるまで、ごはんタイム。なう。
再現性
とれない
草
温度計
三つあって、一つが違う値を示している。
なんでやねん。