パワーポイント用テンプレート (欧文フォントと和文フォントを別で設定)
そろそろ卒論,修論の時期ですね。
完全に私的メモですが,自分のPPT用のテンプレを貼っておきます。
参考文献
一見よくわかりませんが,フォントの世界は奥深く,フォント警察やフォントヤクザなどこだわりをもった人がたくさんいます。
スライドに用いる時において重要視されるのは「 読みやすさ 」でしょう。
以下のサイトはスライド作成におけるノウハウをとても丁寧に説明してくれます。
丁寧すぎて長くてかったるいんですけどね。
書体の選び方|伝わるデザイン
テンプレート
今回のスライドはMicrosoft Powerpoint2013上で作っています。
私が作るといつも硬めのデザインができるので,いつかアーティスティックな感じのも作ろうと思います。
色で大学アッピルしていこう。
フォントの設定方法
スライドマスターの「フォント」のメニューから英文和文別にフォントを設定できます。
みんなboxで操作するでしょうから意外と知られてないかも。
1.ホームから「表示」→「スライドマスター」をクリック。
2.スライドマスター から「フォント」をクリックして以下のように入力しました。
これを設定することで,テキストボックスも全て指定したフォントになります。便利。
最後はスライドマスターを終了して保存しましょう。
テーマとして保存すると次回以降非常に便利です。
Raspberry pi でパスワードを忘れた時のパスワードリセット手順
ラズパイしばらく放置してたらパスワードがどうしても思い出せなくなった…
あるいは勝手に変更されたのだろうか。
とにかくパスワードを初期化する必要がありそうです。
きちんと準備すれば30分もかからないと思います。
それでは。
Raspberry Piのパスワード初期化
調べた所,ラズパイのパスワード初期化はそこそこお手軽にできるようです。
準備物は
- microSDカードをPCで読めるようにする器具(SDスロットなど)
- microSDを読むPC
- ディスプレイに映して作業するので周辺機器
[参考文献]
How To Reset A Forgotten Raspberry Pi Password
手順1:マイクロSDカードをラズパイから外し,PCへと差し替える。
手順2:フォルダ内の cmdline.txt を編集
メモリを読むと cmdline.txt なるファイルがあるかと思います。
このファイルの末尾に半角スペースを空けて次の文言を追記しましょう。
init=/bin/sh
手順3:ラズパイにSDを刺し直して再起動
再起動時に少し時間がかかると思われます。
途中,黒背景に白い文字が並ぶ画面で,
『random: nonblocking pool is initialized』
という文言が出た後に,カーソルが出現するので以下のように打ってください。
mount -rw -o remount /
すると,
『~~~ re-mounted ~~』なる行が一行出て来て,
その後に,『#』 で始まる行になると思います。
そこに
passwd pi
と入力してEnterを押すと,今度は
『Enter now UNIX password』と出るので新しいパスワードを入力します(確認のため2度入力させられます。)
その後成功していれば『successfully ~』と出るので最後に,
sync exec /sbin/init
と打って終了です。
この後は通常通りのブート画面になるはずです。
ここではログインせずにそのままshutdownしましょう。
手順4:cmdline.txt を元に戻す
最後にもう一度SDカードを取り出して手順2と同様にcmdline.txt を開き,末尾に加えた
init=/bin/sh
を削除します。
これにてパスワードのリセット終了です。
エクスペディアで姓名を逆にして登録してしまった話
航空券を取得する際にエクスペディアというWebサービスをよく使用します。
www.expedia.co.jp
国内外を問わず幅広い会社の航空券を安く取り扱っているため旅行をする際にはとても重宝します。
利点として
- オンライン操作のみでチケットやホテルを確定可能
- アプリなどと連携することによってチケットの管理などが非常に便利
- 大体において大手旅行代理店の航空券より安い。(体感半額くらい)
とまぁ素晴らしいのですが,幾つか問題がありまして総評するなら「融通が効かない」ってところでしょうか。
一般的にどうすべきか
ネットで幾つかのブログを拝見しましたが,
- 羽田のゲートをくぐれずにOut
- 怪しまれたがなんとか問題なく入国までこぎつけた
の白黒どちらのパターンも存在しました。
近頃の航空券における搭乗者管理は厳しいらしく(テロとかのせいかな?)あまり乗れることを期待しないほうが良さそうです。
この理屈で行くとアメリカなんかは厳しそうですね。
従って,
航空券をキャンセルし新たに取り直す
旅程まで日程が十分にある場合はこれ一択です。
以下のエクスペディアの電話サービスに電話して旅程をキャンセルする相談をしましょう。
航空会社に電話して変更してもらう
なお,出発日が近い場合は新たに旅程を取ることができないことも多々あります。
今回僕もそうだったのですがその場合は航空会社に直接連絡して名前を変更できるか尋ねる必要があります。
落とし穴として,会社によって日本語対応じゃなかったりします。その場合は非常に面倒ですね。
なお,今回のアメリカン航空の場合は手数料を払えば姓名の逆転を変更できるような口ぶりでした。
自分の場合の手順
エクスペディアに電話したら半日で解決しました。
はい,いろいろ喋ってちょっと手数料(5000円)を払っておしまい,でした。
結論
とにかく,エクスペディアに電話して旅程の変更が可能か確認を取るのが最優先です。
エクスペディアの電話応対は雑という風評も多々ありますが過去にメールが来ない問題等で問い合わせたときも,対応が良かったので
少なくとも僕が体感している限りではそこまでひどいということはなかったです。
カスタマーセンターの類に関しては日本語対応してくれるところはサービスが良いことが多い印象ですね。
この手の出張関係はちょっとミスするとすぐにお金が飛んでいくのでもっと慎重になりたいですね。
Pythonで始めるコンピュータビジョン ( #1 環境設定と基礎的なプログラムについて)
(注) このメモはしばらく執筆中の状態で放置されることと思います。
(注) Programなどは[実践コンピュータビジョン Jan Erik Solem 著]を元にしています。著作権云々で警告を受けた場合前触れ無く記事を削除する予定です。あちらもWebにいろいろ公開してる(後述)ので何も言われないと思いますが。
記事のシリーズ化について
正直、これからの記事は先ほどの本の内容のメモになる予定ですので、
よくWebである丁寧な講座形式みたいにはしない予定です。(あの手のサイトはすごく手間がかかっています。作者様には頭が上がりませんね。)
ほれほれ〜買うんじゃ〜。
https://www.amazon.co.jp/%E5%AE%9F%E8%B7%B5-%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A5%E3%83%BC%E3%82%BF%E3%83%93%E3%82%B8%E3%83%A7%E3%83%B3-Jan-Erik-Solem/dp/4873116074www.amazon.co.jp
なお、悪い本ではないですがOpenCVなどの高度な機能を用いたプログラムを書くとなるとこの内容はやや物足りないと言わざるを得ないです。
それでもすべてコードが公開されていてコンピュータビジョンの基礎がわからずとりあえず試してみる場合には結構いい本ではないかと思います。
すべてのサンプルプログラムを下記に置いていてくれています。
Programming Computer Vision with Python
日本語で説明しているサイトもあったりして。
実践コンピュータビジョン サンプルプログラム
この点だけで素晴らしいと思ってしまいます。(買った人的には特別感ないかもしれませんがねw)
基本的な環境のSetup
まず、今回は前提としてLinuxのDebian環境でやることにします。
まずは以下の過去記事などを参照してOpenCVなどのセットアップをしてください。
自分はUbuntu16.04上で進めていきたいと思います。
ossyaritoori.hatenablog.com
ossyaritoori.hatenablog.com
これらの記事が終了した時点で、
なんかの環境が整っていることかと思います。
本にあるとおり追加でMatplotlibとScipyをインストールしたいので以下のコマンドを打ちましょう。
sudo apt-get install python-matplotlib python-scipy
Numpy、PILなんかが怪しい場合は上に加えてNumpyなどと書けばよいです。apt-get最高。
Ubuntu14.04をUSBブートするためのセットアップ
今回はUSBブートでUbuntuを用いたいという要望があったので
その作成方法をメモとして残しておきます。
インストール単体については正直,他のサイトを見たほうが断然良いので
手順と参照サイトだけ残しておきます。
- 大前提:USBブートの利点,欠点
- USBメモリの選定
- 実際のインストール - Pattern1 - DVDからインストール
- 実際のインストール - Pattern2 - Windowsなどから直接書き込み
- 最後に:FAT32とかext4とかなんぞや?
大前提:USBブートの利点,欠点
USBブートの利点
- 自分のPCの環境を一切変えずに試せる
- USBからブートできるPCであれば(PCを要確認)どのPCでも同じ環境を使用できる
USBブートの欠点
USBメモリの選定
USBメモリの選定ですがこれが1番手のかかる分野だと思います。
求められるUSBメモリの条件は,
- 最低限4G以上。正直8Gか16Gはあったほうが良い。
- USB3.0 推奨。read/write速度が結局性能を決める。
- 長持ちするメモリ推奨:たくさん読み書きを行うので耐久性がかなり大事。
これを満たすUSBメモリは...結構探すのが大変です。
とにかく安価なメモリは避け,信用のある会社の物品を使うことをおすすめします。
amazonで買うならば,しっかりレビューを見るようにしましょう。
ショップで買うなら上記の条件をきっちり伝えるようにすると良いです。
今回は無期限保証につられてTranscendのを買いました。
Transcend USBメモリ 64GB USB 3.0 キャップ式 ブラック (無期限保証) TS64GJF700
- 出版社/メーカー: トランセンド・ジャパン
- メディア: Personal Computers
- この商品を含むブログを見る
お金があるならサンディスクなんかがおすすめでしょうか。
SanDisk Extreme USB3.0 フラッシュメモリー 64GB (無期限保証)[国内正規品] SDCZ80-064G-J57
- 出版社/メーカー: サンディスク
- 発売日: 2014/04/15
- メディア: Personal Computers
- この商品を含むブログを見る
実際のインストール - Pattern1 - DVDからインストール
こちらは私が実際にやった手法です。
という文献がありました。
DVDを読んでUSBに焼くので正直時間は結構かかりました。
なお,今はUSBにイメージを焼くのを推奨されている節もあるようです。
こちらのサイトの情報なんかが参考になります。
【windows上】 Ubuntu の ブートUSB を作る - arisua4's diary
PCをDVDドライブから起動できるようにする
DVDイメージを持っている人は良いですが,持っていない人はまず,DVDにUbuntuのインストーラを入れます。
下記のようなブログを元にDVDにファイルを移してください。
Windowsマシンを使ってUbuntuのISOイメージをDVDに書き込む
次に,PCのBIOS(起動時にF2とか押すと出るやつ)をつけて,
「起動時にDVDの電源をONにする」,「DVDからの起動を最優先にする」の2点を行います。
DVDからUSBにUbuntuをインストール
下記のブログが大変参考になりました。
cloud-work.net
また,同様の手順を行っている方として以下の方もいらっしゃいます。
yohaku6066.blog.fc2.com
比較的メジャーと言える手法かもしれません。
実際のインストール - Pattern2 - Windowsなどから直接書き込み
私は試してないですが直接書き込みもできるようです。
検索すると以下のサイトが出てきます。
Ubuntu 14.04 起動USBメモリの作成(変更データ保存領域あり)と日本語化 Linux USB kumasan
書き込み用のソフトをPCに入れて,それを用いてUSBへの書き込みといった流れのようです。
isoをディスクに焼かなくて良いのでこっちのほうがいいかもしれませんね。
MATLAB figureの背景を分けて塗りつぶす (補題:3次Spline補間とPCHIPの比較)
完成図 と 目的
研究柄matlabで図を書くことが多いですが,稀にmatlabの背景領域に色を塗りたくなります。
要はこういうグラフが書きたいってわけ。
使う関数area()について
今回はarea()という関数を使います。
Referenceは以下のとおりです。
2 次元プロットの塗りつぶし領域 - MATLAB area - MathWorks 日本
今回は
area([X1 X2],[Y1 Y2],basevalue);
という形で使っていきます。
これは(X1 Y1)と(X2 Y2)と Y=baselineで囲む領域を塗るという意味です。
塗りつぶし用コードまとめ
他にも枠線を消したり,グリッドを前面に出したり,ゴニョゴニョした結果次のような感じになります。
以下の手順でplot可能ですが,これは見たい直線よりも先にplotする必要があります。
(2016年追記:gcaの'Children'の順番をいじることにより変更可能ですね)
ha=area([X1 X2],[Y1 Y2],baseline); % 塗る範囲([X1 X2],[Y1 Y2])とbaselineの間 set(ha,'FaceColor',[1.0 1.0 0.9]); % 塗りつぶし色指定:今回はクリーム色 set(ha,'LineStyle','none'); % 塗りつぶし部分に枠を描かない set(gca,'layer','top'); % gridを塗りつぶしの前面に出す hAnnotation = get(ha,'Annotation'); hLegendEntry = get(hAnnotation','LegendInformation'); set(hLegendEntry,'IconDisplayStyle','off'); % legendに入れないようにする
従ってこの後に
hold on
plot(...)
grid on
grid off
とやることによって完成です。
しかしこのままだとベースラインが見えてしまったり,プロット範囲を手動で変更したりが結構面倒です。
そこでくりかえし使えるように以下のように関数化します。
関数化(注意点あり)
同期I氏によってもっと便利に使えるよう関数化を施されました。
- 自動でプロット範囲を判別し,余計な所を塗らない点
- Childrenのハンドラをいじることで表示の優先順を変えられるため,後付けでプロットできるようにした点
がアピールポイントになります。
丁寧にプログラム書く人は尊敬しますね。
僭越ながら少し手を入れさせてもらいました。
x軸の範囲だけ与えれば適当に色を塗ってくれる関数です。引数を追加することで細やかな配色も可能です。
2017/1/27 : 引数の順番を変えました。キモいけど必要な順にすることで余計な入力を省きます。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 2017/1/28 Y.R & T.I @ Univ.T % Input : Xrange, color, Baseline, Yrange % % PX = [X1, X2]; % color : [red, green, blue], ex) 'm', 'c' % PY = [Y1, Y2]; % Bace : Filled up above this value %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function Square_coloring(PX, color, PY, Bace ) hold on; xlimit = get(gca, 'XLim'); % デフォルトXレンジ設定 ylimit = get(gca, 'YLim'); % デフォルトXレンジ設定 colordflt = [1.0 1.0 0.9]; % デフォルト色:クリーム if nargin<4, Bace = ylimit(1); end % 以下,引数が足りない時に埋めます。 if nargin<3, PY = [ylimit(2), ylimit(2)]; end % if nargin<2, color = colordflt; end % if nargin<1, PX = [xlimit(1), xlimit(2)]; end % Area_handle = area(PX , PY, Bace); % 塗る範囲([X_1 X_2],[y1 y2]) hold off; % set(Area_handle,'FaceColor', color); % 塗りつぶし色 set(Area_handle,'LineStyle','none'); % 塗りつぶし部分に枠を描かない set(Area_handle,'ShowBaseline','off'); % ベースラインの不可視化 set(gca,'layer','top'); % gridを塗りつぶしの前面に出す set(Area_handle.Annotation.LegendInformation, 'IconDisplayStyle','off'); % legendに入れないようにする children_handle = get(gca, 'Children'); % Axisオブジェクトの子オブジェクトを取得 set(gca, 'Children', circshift(children_handle,[-1 0])); % 子オブジェクトの順番変更 set(gca,'Xlim',xlimit); % 表示の調整 set(gca,'Ylim',ylimit); % end
使い方
最もよく使われるであろう使い方を以下に書きます。
figure; plot(...) Square_coloring([xmin xmax]);
注意点として,以下のコマンドでgridを
set(gca,'layer','top');
にしているのでEPS変換時にgridに線が潰されるという問題があります。
困った点・改善点 2017/2/12 :追記
したがって
set(gca,'layer','top');
を使わずに,alpha値を設定してareaを透過させることでこれを解決します。
なお,FaceAlphaのプロパティがAreaに追加されるのはMATLAB 2015bからなのでご注意。
なお,これも問題があって,
areaが図の軸の枠線に被ったりするんですよね…
適当なmargin=0.2%くらいをAreaから削ることによって解決していますが,非常にキモイ。
graphicのサイズから削る量を計算するのがベストですが読みにくい記述の入るのは確実。
なおコードは以下の通り。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 2017/1/28 Y.R & T.I @ Univ.T % Input : Xrange, color, Baseline, Yrange % % ## Need version after MATLAB 2015b ## % % PX = [X1, X2]; % color : [red, green, blue], ex) 'm', 'c' % PY = [Y1, Y2]; % Bace : Filled up above this value %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function Square_coloring(PX, color, PY, Bace ) hold on; xlimit = get(gca, 'XLim'); % デフォルトXレンジ設定 ylimit = get(gca, 'YLim'); % デフォルトXレンジ設定 colordflt = [1.0 1.0 0.9]; % デフォルト色:クリーム margin = 0.002*(ylimit(2)-ylimit(1)); % 見栄えのためAreaの塗る範囲を少し削ります if nargin<4, Bace = ylimit(1) + margin; end % 以下,引数が足りない時に埋めます。 if nargin<3, PY = [ylimit(2) - margin, ylimit(2) - margin]; end % 本来の領域よりmargin=0.2%分縦に削って埋めています。 if nargin<2, color = colordflt; end % if nargin<1, PX = [xlimit(1), xlimit(2)]; end % Area_handle = area(PX , PY, Bace,'FaceAlpha',0.5); % 塗る範囲([X_1 X_2],[y1 y2]) % alpha値 0.5にします hold off; % set(Area_handle,'FaceColor', color); % 塗りつぶし色 set(Area_handle,'LineStyle','none'); % 塗りつぶし部分に枠を描かない set(Area_handle,'ShowBaseline','off'); % ベースラインの不可視化 set(gca,'layer','bottom'); % gridを塗りつぶしの前面に出す set(Area_handle.Annotation.LegendInformation, 'IconDisplayStyle','off'); % legendに入れないようにする children_handle = get(gca, 'Children'); % Axisオブジェクトの子オブジェクトを取得 set(gca, 'Children', circshift(children_handle,[-1 0])); % 子オブジェクトの順番変更 set(gca,'Xlim',xlimit); % 表示の調整 set(gca,'Ylim',ylimit); % end
補題:spline補間とPCHIP補間
matlabの3次スプライン補間とPCHIP補間で遊んだものに使ったコードを乗せておきます。
splineに食わせる時は境界条件を忘れないようにしましょう。
close all % spline and PCHIP x = -3:3; y = [-1 -1 -1 0 1 1 1]; t = -3:.01:3; p = pchip(x,y,t); s = spline(x,[0 y 0],t); % plot figure(1) % plot line plot(x,y,'o',t,p,'-',t,s,'-.') legend('data','pchip','spline','Location','SouthEast') xlabel('time[s]'); ylabel('$\frac{d}{dt}\xi_{ref}$','Interpreter','latex'); grid on Square_coloring([0 3]);
補間のお勉強用に資料へのリンクをば。
B-Spline 近似 - 大人になってからの再学習
Tex環境をコピーした時のセットアップ方法( 【dvipdfmx】のセットアップの仕方 )
クソ記事連投してごめんなさい。
今日留学生の方にTexが入らないという報告を受けて数時間戦った結果を残しておきます。
『正直こういうのがあるから初学者にTexを安易に勧めにくい』
何をするのか
Texのインストーラとの相性が絶望的に悪い人がいて,どう頑張っても関連ファイルを落とすことができなかったので
自分の環境下にあったファイルを全てコピーして環境設定をすれば使えるんじゃね?と思っていろいろ試しました。
準備:何が必要か
私の環境下では 以下の4つが前提条件となっています。
WinTex環境があればtexからdviを作るのは比較的簡単です。
その後,dvipdfmxを用いてdviからpdfにすると思いますが,ここでちょっぴり(そこそこ)苦戦しました。
前準備
W32Tex以外はネットから落としてこれるので落としてもいいです。
今回はdvioutforwindowsは事前に入っていました。
前操作
C直下のW32texのフォルダとGhostScriptのフォルダ(フォルダ名はgs)をコピーしておきます。
Step1:環境変数の設定
左下にあるwindowsの田マークを 右クリック → システム → システムの詳細設定 → 環境変数 の順にクリックします。
環境変数のうち,pathに次の3つを加えましょう。
ちなみにこういうのはめったに晒すもんじゃないですよ。気をつけてね。
写真にある1つめはtex関連のファイルのpath,
2つ目はghostscriptのpathです。
バージョンが違う場合はgs9.16の数字部分を変えると良いでしょう。(なお,問題のPCではC直下に置いたので若干違う感じになってます。)
ここまできちんとやれば,platexのコマンドができるので
platex hoge.tex
とうつとdviファイルが生成されると思います。
Step2:dvioutの設定
dvi for Windows を使っている場合は(自分は使ってない!)こいつに渡すgsのpathを設定する必要があります。
[Option] -> [Setup Parameters] -> タブ[Graphic] -> [gsx:] 部分に
のように対応するgswin32c.exeのpathと本体を記述します。
ごめんなさい,画像は以下のサイトからお借りしました。
とてもタスカル!
dvioutのdvipdfmxでpdfファイルが作成されない
Checkしよう
とりあえず一通り終わったら依存関係を反映させるために再起動をすることをおすすめします。
先程のtexから作ったdviファイルに対して,
dvipdfmx hoge.dvi
とすることでめでたくpdfが生成されるのでした。めでたしめでたし。
トラブルシューティング
結構トラブルが置きたわけですが,正直1番問題なのはghostscriptです。
未だに最善手がよくわかってないのですがいくつかダメなパティーンがあります。
コマンドプロンプトを用いて
gswin32c -h
と打ってみてください。コマンドが認識されてなければStep1のやり直しです。
うまくいくと下のようなpathが見れます。
このpathが現実に存在しないところを見てるとかなり怪しい感じになります。
このpathをどこで変更するのか結局理解できなかったので仕方なく,pathに書いてある通りの所にフォルダを引越しさせました。
具体的にはCの直下に置くことで解決をしました。
どうすればよかったんや…
おまけとして普通に実行すると
gswin32c
こうなります。
ここでWarning*** No fonts... とか出してるとアウトです。最新のgs9.20だとFontsとかがなくて泣く泣く9.16をコピーしました。ザコ!