「tips」カテゴリーアーカイブ
tikzメモ
自分用の tikz メモです.よろしかったらどうぞ.
素敵なことをご存じでしたら是非教えてください.ここに載せていきます.
- マルチカラムのデータから特定の列を選んでプロットする方法:どうやら少なくとも2つやり方がある模様.
[1] index を使う.
\addplot table[y index = 3] {data.dat};
のように書く.これは,y座標データとして4列目を使えと言うこと(indexは0から始まる模様.トラップかー!).x座標は何も指定していないのでデフォルトで1列目が選ばれる.
[2] ラベルを付ける.
まず,データファイルの1行目に,データと同じフォーマットで「ラベル」を書いておく.
(例) t H Z
データファイル自体をこのようにしておいて,tikzソースでは次のように書く.
\addplot table[x = t, y = H] {data.dat}; - 図のラベルのフォントサイズを大きくする:
\begin{axis}[options] のオプションで指定できる.まず,
\newcommand{\pgflarge}{\fontsize{20pt}{20pt}\selectfont}
のようにフォント指定のマクロを定義しておく,これを使って,[options]の中に一行,
label style = {font=\pgflarge},
を追加する. - 自分定義の色を使う:これは,tikz環境の中だけでなく \usepackage{color}したときに TeX ソース全体で有効です.色々やり方はありますが,簡単なのは
\definecolor{deepgreen}{rgb}{0,0.3,0}
のようにやること.各パラメータは [0,1] 区間内で指定します.([0,255]でやりたい場合は RGB と指定すればいい模様.)
この色名は tikz 内でも使えます.緑はデフォルト green だと明るすぎてスライドとかで飛んじゃうので,これくらい深い緑が個人的にはオススメです. - tikzの図をPDFにエクスポートする
tikzはその場できれいな図を描くので便利なのだが,「描画が重い」「tikzを使わない人とソースを共有する」などの際には,tikzの図をPDF等にエクスポートし貼り込むと便利です.これは以下の手順でできます.- まず,tikz環境下でコンパイルし図のPDFを生成する. これをやるために,TeXソースのプリアンブル,tikz周りあたりに次のコマンドを書く.
\usetikzlibrary{external}
\tikzexternalize[prefix=./figpdf/] % オプションはなくても良い.左記ではPDF生成フォルダを指定.この状態でコンパイルすると,図ひとつごとにPDFファイルが生成されます.pdflatex等でコンパイルが通らない際は,オプション –shell-escape を指定すると吉.
- 生成したPDFを普通に取り込む. includegraphicsとかでやってください.
- まず,tikz環境下でコンパイルし図のPDFを生成する. これをやるために,TeXソースのプリアンブル,tikz周りあたりに次のコマンドを書く.
コンピュータまわりの自分用メモ
自分用メモです.参考になるならどうぞ.
MATLAB
以下,主に mistblade + R2013a 用.
- linux版を画面を飛ばしてるときのキーボードショートカット.
デフォルトではEmacs bindingになっている.[HOME]-[preferences]の[Keyboard]-[Shortcuts]でbindingをWindowsにできる. - Figureウィンドウをfigファイルとして保存する.
最近のMatlabにはsavefigというコマンドがあるが,mistblade上で動いているR2013aにはそれがないので,代わりに saveas(file_handle, file_name, 'fig')を使う. - サーバー上でMatlabスクリプトファイルをバッチ処理する.
長時間動かすスクリプトは,リモートサーバー上で動かし,自分のPC自体は帰宅時に電源を落としてしまいたいもの.Matlab でこれをやるには,次のようにする.(シェルのコマンドラインから)nohup matlab -nodisplay -r 'myscript; exit' &
-nodisplayオプションにより,Figureなどの表示を抑制する.抑制したFigureは,それ自体が必要ならsaveasで保存.nohupはログアウト後もプロセスが殺されない用.スクリプト実行中の標準出力等は,必要なら > /dev/nullでゴミ箱へ.
UNIX
- テキストファイルでn行に1行を抽出する.
数値データを格納したテキストファイルの場合.行方向にデータが並んでいて,巨大すぎてpgfplotsなどがメモリオーバーを起こす場合は,次のコマンドで行を抽出できる.
cat file.dat | perl -ne 'print if $. % 4 == 1;' > file_s.dat
これは4行に1行を残す.
WordPress
- WordPress用のPHPを5.3から5.4以降にバージョンアップする際の致命的エラー.
Wordpressを5.x系にバージョンアップする際,PHP自体を5.6系以上にバージョンアップする必要がある.しかしながら数理3研のウェブサーバーで,5.3系から5.4系以上にバージョンアップする際,WordpressがInternal Server Errorを吐いてどうしようもなくなったとき調べたこと.
結論から言うと php.iniの問題.5.4系以降,次のdirectiveが廃止されており,php.iniに残っているとfatal errorになる.これらをコメントアウトすればよい.
allow_call_time_pass_reference
register_long_arrays
なお,このエラーを突き止めるのに種々ログ表示を駆使した.どのようにログ表示ができるかについてもメモを書いておく.
PHPエラーは,同じ php.ini でいくつかの directive をオンにすると出力される.画面上にも表示できるが,error_log = ファイル名(フルパス必要) でファイル出力するのがお勧め.
また,httpd自体のエラーログも参考になる.ただしこれは3研サーバーの管理者しか見えないので,必要があれば管理者に依頼すること.
出張に行くとき
出張の際の持ち物リストなど,自分用の備忘メモですが,参考になるかもしれないので公開します.
主に海外出張を想定して書きますが,一部は国内出張でも当てはまります.
海外出張の持ち物
【手荷物】
スマホ
パスポート
財布(普段使ってるものはもちろん,現地小銭用を1つ持っていくと混乱せず便利)
e-ticketコピー (なくても乗れるが念のため.タブレット可)
ホテル予約確認コピー(現地でタクシー運転手に見せられるもの)
機内セット(スリッパ,靴用の袋,ペン※1)
コンタクトレンズ予備 (長時間フライトの場合,乗ったら外して着陸寸前に予備を装着)
ノートPC (電源ケーブル,VGA拡張アダプタ含む※2)
タブレットとイヤホン (※3)
USBケーブル (※4)
その他資料等
【スーツケース】
シャツ・下着×宿泊数 (シャツ,上下下着,靴下※5)
ジャケット (会議ディナー等用)
就寝用(スウェット上下,Tシャツ)
薬(酔い止め,下痢止め,風邪薬,胃薬等)
コンタクトレンズ
洗面セット
各種ケーブル(USB充電アダプタ,各種USBケーブル,三ツ口タップ※6)
有線→無線アダプタ(※7)
室内履き(※8)
※1:エコノミークラスは狭い.足下も狭い.そこで,私は飛行機に乗った瞬間に持参したスリッパに履き替え,(ここがポイントなのだが)脱いだ靴はビニール袋(コンビニ袋などでよい)に入れて頭上のコンパートメントに入れてしまうことにしている.足下が(まだしも)広くて快適!なお,人によってはアイマスクや耳栓,空気式枕などを持ち込む人もいる.色々試した結果,私は,要らない,という結論.ペンは,大抵の場合機内で出入国カードを書くことになるのでそのときに.
※2:ノートPCは重たいのでスーツケースに入れたくなるが,航空会社の規定では破損しやすいものは入れてはいけないことになっている.また,紛失等もありうるので手荷物が原則.発表前(=行き)であれば,拡張アダプタ等,ないと発表ができなくなるものもとにかくすべて手荷物.なお,発表スライドは,クラウド上などネット接続さえできれば取得できるところにも置いておき,最悪の場合でも(他人のPCを借りてでも)発表自体はできるようにしておくこと.
※3:機内映画は大抵つまらないので,タブレット等に電子書籍なり音楽なり動画なり(著作権OKなものに限りますよ)何なり時間つぶしができるものをいれておくのが吉.なお,持参のイヤホンを機内エンターテイメントシステムに接続したい場合は,航空機用のアダプタが必要になることがあるので注意すること.(最近は,ミニプラグが直接させるようになっている機体も増えている.)
※4:最近の機体はUSBポートを備えていて,USBケーブルでスマホやタブレットを繋ぐと,充電できるようになっている.ACコンセントもついている機体もあるが,USB経由で充電するものであれば,かさばるACアダプタを持ち込むよりUSBケーブル1本だけ持ち込む方がラク.iPhone/iOS系であれば,接続端末内の動画や音楽を機内エンターテイメントシステムで再生できる模様.(Android系はほとんどダメ)
※5:この辺は個人の趣味嗜好に合わせて適当にやればよいが,普段からくたびれてきてそろそろ捨てようと思っているものを溜めておき,旅行のときに持っていって,脱いだら(洗って再利用せず)捨てる,というのも一案.Yシャツの類も,くたびれたものを使い捨ててしまい,最近はどの国でも大抵あるH&MやZARAなどのファスト・ファッション店で買い直せば,衣類の在庫入れ替えにもなり一石二鳥.
※6:あると重宝するのが三ツ口タップ等,コンセント口を増やす機器.ホテルは,案外コンセントが少ないことがある.なお,厳密に言うと240Vまで対応した機器でないとダメなので注意すること.大手家電店の海外用品コーナーで海外対応のタップを売っている.(日本で売られている三ツ口タップはほとんどが100V以外非対応.)
※7:これは便利!手のひらに収まる位の大きさで,有線LANを無線LANに変換するものが色々売られている.つまり,極小の無線LANルータ.有線LANポートに挿すと,自動的にDHCPで(ホテルなどの)ネットにぶら下がり,特定のSSID/WEPで無線接続を可能にする.国内出張でも便利だが,特に有用なのは海外で,有線LANしかないホテルでも,これを使ってスマホを無線接続できる.
※8:海外のホテルだと部屋にスリッパの用意はない.外出用の靴をずっと履いているのも(日本人としては)くたびれるので,室内履きを持っていくのがお勧め.スリッパでもサンダルでも自分がラクなもので.
海外出張tips
- 上で書かなかったが,一般に航空機の機内は大変に寒いので,夏であっても長袖のシャツは必須.欧米人は,Tシャツ・短パンで乗っている人がたまにいる.日本人は真似してはダメ.うっかり薄手のシャツで乗ってしまい,どうしても寒いときは2枚目の毛布をお願いするしかない.また,機内は大変に乾燥している.長時間フライトの場合,CAさんが定期的に水を配ってくれるが,できることならペットボトルの水を持ち込むのがよい.問題は,ペットボトルの類は原則としてセキュリティを通らないことである.成田や羽田は,セキュリティ後のゲートサイド(これを air side という)でペットボトルの水を売っているので問題ない.海外の空港では,air sideではペットボトルは売っていないか,売っていたとしてもゲート前にさらにもう一段セキュリティがあり,そこで廃棄させられることが多い.そういう場合は原則としてあきらめるしかないのだが,どうしても,という場合,それでも機内にペットボトルを持ち込む方法が2つ存在する.ひとつは,ペットボトルの水を免税店で買い,免税袋にパッキングしてもらうこと.こうしてもらえば,ワインなどと同様機内持ち込みが可能になる.ただし,免税袋は原則として目的地まで開けてはならないことになっているので,機内でその禁を破る行為はあくまで自己責任.もうひとつは,空のペットボトルをセキュリティ後(なんならゲート前のセキュリティ通過後の機内)までもちこみ,そのあとそれに給水すること.たまにこれをやっている人を見かける.私としては,そこまでするのなら,もうあきらめて機内でグラスの水をもらえばいいと思うのだが...
- 上にも書いたが,私は原則として旅先では洗濯はしない(使い捨てる).だが,それでもどうしても何かを洗わなくてはならないとき,洗濯物をなるべく早く乾かすにはバスタオルを使うとよい.例えばTシャツを洗ったとする.あまり強く絞ると生地にダメージを与えるので,ある程度絞ったら,バスタオルの上に広げ,そのままシャツごとバスタオルを海苔巻きの要領でぐるぐる巻きにしていく.巻いたら,その上から体重をかけるなどして水分をタオルに移す.これだけで,広げたらかなり乾いている.バスタオル1枚で,シャツ類数枚程度はいける.海外のホテルだと,ダブルあるいはツインの設定で最初からバスタオルが2枚あるのも都合がよい.
- 何はなくとも絶対に忘れてはならないのはパスポートとクレジットカード.これさえあれば,あとのものは忘れても大抵なんとかなる.パスポートは,行き先の国によって有効期限の残存期間にも注意すること.ビザが必要な国もある.クレジットカードは,買い物に使うのはもちろんのこと,海外では身分保証の意味で要求されることも多いので絶対に必要(クレジットカード会社の審査を通過した人間であること,および何かあった際,その決済に対してクレジットカード会社も一定の責任をもってくれること,が保証される).例えばほとんどのホテルでは現金決済は受け付けない.決済端末により,上限に達していないカードでも通らないことがあるので,複数枚持っておくのがよい.
- 飛行機はいまどきはほぼe-ticketである.このとき実はパスポートの提示だけで(=氏名の確認がとれれば)乗れてしまうことが多いのだが,万一ということもあるので,紙で印刷していきチェックインカウンターではそれを見せるのがよい.タブレットなどでも可.e-ticketには一般に搭乗便などのスケジュール(itinerary)も書いてあるが,その中で真に有意なのは「航空券番号」(ticket number; どうやら航空会社による,発券した一連のチケットを束ねる内部番号)と「予約番号」(reservation number; 全航空会社共通の6桁の英数字)である.特に後者が大事で,提携航空会社便およびその他の便を利用する場合は,最終的に有意なのはこの数字になる.一連の航空券であっても,主たる発行会社と異なる便については,異なる番号が付いている.e-ticketにそれが書いてある場合もあるし,何らかのシステムにログインして探さないと分からない場合もある.予約が正常に通っていないなどの緊急事態には,この予約番号が必要になるので,できる限り事前に調べてから旅に出ること.(私自身,地球の裏側で「予約が通っていない」事態に遭遇した経験がある.その際は,事前に調べておいたこの番号を伝えて,それを頼りに探してもらい,主たる航空会社→アライアンスの提携会社→そこからさらに提携を受けている会社,の経路の途中で予約情報が正しく伝わっていなかったことが判明し,予約を入れ直して乗せてもらった.)
- スーツケースが鍵式の場合,自宅でロックしたあと,当日,鍵を持っていくのを忘れた,という悲劇がたまに聞かれる.そういうときはスーツケースを壊す以外に開ける方法はない.複数鍵を用意して,ひとつをだいぶ前から財布に入れておくなどの自衛策が必要.なお,空港によっては予備の鍵を店で売っている場合がある.忘れたときは,ダメ元で案内所に尋ねてみよう.
- 日本の入出国には,最近は無人ゲート(指紋認証方式)も設置されている.混雑して長い待ち行列ができるようなときは,こちらを使う方が遙かに速い.手続きは15分~30分程度でできるので,空港に早く着いて暇なことがあったらぜひ登録してみよう.日本国内のすべての国際空港で共通で,パスポートの残存期間だけ有効.
- tips,というより余談.ノートPCのACアダプタは大抵の場合世界対応で,コンセント形状を除けば特に気にすることはない....と思っている人が多い.私も少し前までそう思っていた.しかしながら,実は,案外そうでもないのである.ACアダプタの類は,なぜか,アダプタ本体の箱状のモノのところで2つのパーツに分けられることが多くないだろうか?しょっちゅうそこで外れてイライラして,なんでこんなところで外れるようになってるんだ...と思ったりするわけだが,そういう場合,実は世界対応なのは外れたパーツのうち本体側だけで,そこより先,コンセントに挿す側は世界対応ではないのである.つまり,日本で販売しているPCであれば,世界対応なのはアダプタ本体側だけで,そこより先は日本の100Vにしか対応していない(ことになっている).電気店に行くと,ちゃんとこの部分の「世界対応版」が売られているので,それを買って付け替えてから旅に出ること.日本仕様のまま,コンセントアダプタだけ使って他国で使っても大抵動くが,その場合,高電圧に耐えられなくて炎上した場合は使用者責任になる.
- 上に書いてないもので,スーツケースに放り込んでおくと便利なもの.はさみ(服を買ったときのタグ切りに),ワイン・ボトルオープナー(現地でお酒を買って飲みたい人はあると便利;ホテルでも借りられるが面倒くさい),ゴミ袋数枚(汚れた衣類を入れるほか,帰国時の荷物の分類に),目覚まし機能付き小型時計(部屋に時計がないホテルもある;でもいまどきはスマホがあれば十分かも)
海外SIMを使ってみよう
日本では道に迷ったとき,すぐ何とかmapsで地図を見て位置確認したりするわけだが,そういうのを一番使いたくなるのはむしろ全く勝手の分からない海外においてである.しかしながら,日本のSIM(後述)のまま海外でスマホを使おうとすると,いわゆる「ローミング」の状態になり,法外な値段を取られてしまう.(1日あたり数千円程度).滞在国と期間の長さに依るが,場合によっては現地のプリペイドSIMを買って使うと便利である.
SIMというのは,誰でもスマホの買い換えの時ショップの人が出し入れしているのを見たことがあるはずだが,スマホの心臓部分で,電話番号等契約者情報が入っている小さなカードのことである.大きさには通常,micro,nanoの3種類があり,概ね1cm四方程度である.日本では,原則としてスマホの販売会社と通信回線のキャリアが一致しており,SIMカードの自由度を意識する機会はほとんどないが,海外ではこの2つは切り離されており,他国を旅行する際は現地の通信キャリアのSIMを購入し,それに差し替えて,現地のスマホとして使うのが当たり前である.しかも,日本のようなサブスクリプション方式(月額方式)ではなく,プリペイドサービスもあるので,短期旅行者にも使い勝手がよい.多少の通話やデータ通信をする程度なら,一週間滞在して数千円のことが多いので,興味がある人はぜひ使ってみよう.
その際,以下の点に注意すること.
- 自分のスマホはSIMフリーになっているか. 日本のスマホはデフォルトではその会社のSIMしか挿せない,いわゆる「SIMロック」がかかっている.これをキャリアのショップで外しておく必要がある.
- 自分のスマホのSIMがどの大きさか. 現地SIMを買う際,SIMの大きさを伝えないと買えない.
- 現地キャリアのAPN情報等. 新しいSIMを挿すときは,その会社の「APN情報」など,いくつかの情報をスマホに入力する必要がある.海外スマホでは,そのような作業が常態化しているので,SIMを挿すだけで自動的にその情報が読み込まれることが多いが,日本のスマホはそのようにできておらず,常に手動で設定しなくてはならない.この情報は,現地業者の販売員でもよく分かっていないことがあるので(向こうのスマホは挿せば自動ロードなので当たり前と言えば当たり前),日本を出る前にどういうキャリアを使うか大体の当たりを付けておき,各種サイトを参照してAPN情報等を調べておくのがよい.
googleカレンダーに予定を一括登録する方法
googleカレンダーに,毎週ある予定などを書き込むとき,ひとつのやり方は
- まず最初の週の予定を普通に登録する
- 次に,その登録した予定を「予定を編集」で開き,「その他の操作」から「予定を複製」を選択.新しい(複製する)日付を入力する
で,次々と予定を増やしていくことです.
しかし2~3個ならともかく,10個を超える予定をこれで入力するのは骨が折れます.そのときは,次のようにしてCSV形式のファイルから一括登録すると便利です.EXCELを使います.
- 次のEXCELシートをダウンロードします:
google_calender_schedule.xlsx(ダウンロード後,名前は適当に変更してよい) - このEXCELシートを開いて,予定を書き込みます.見れば分かると思いますが,一行だけサンプルの予定を入れてありますのでそれを参考にしてください.EXCELなので,行をコピーして予定を増やすのは簡単です.
- すべての予定を書き終えたら,[名前を付けて保存]で「CSV形式(カンマ区切り)」を選択して保存します.
【重要】CSVファイルは漢字コードUTF-8にする必要があります.お使いの環境で,Shift-JISなどで保存される場合は,エディタ等で一度CSVファイルを開き,エンコードをUTF-8に変更して保存し直してください. - google calenderをウェブで開き,[マイカレンダー]の右側の「▼」印をクリックして[設定]を選択します.
- [カレンダーをインポート]を選択し,上で作成したCSVファイルを選択します.マイカレンダーに複数のカレンダーを設定している場合は,どのカレンダーにインポートするかも選択します.最後に[インポート]をクリックします.
これで,指定した予定が一気にカレンダーに書き込まれます.
上ではEXCELを使っていますが,CSVファイルの書き方を知っていれば,テキストエディタで直接CSVファイルを作ることもできます.が,EXCELを使う方がラクでしょう.
なお,上の最後のステップで,「以上の予定をカレンダーに書き込みますか?」などの確認は一切出ないので気を付けてください.一旦読み込んだ予定を取り消すこともできません.CSVファイルの中に一部不正な行があった場合,その行は飛ばされますが,どの行に不正があったかも教えてくれません.ひとつひとつ書き込まれた予定をチェックして,どの予定がスキップされたかを手動で探す必要があります.
また,上で述べたように漢字コードをUTF-8以外にしていると,読み込んだ予定が盛大に文字化けします.そのときは,「一括取り消し」という手順がないので,手動ですべて削除しなければいけません.そのため,一度に登録する予定は10個程度にとどめておくのがお勧めです.100個以上の予定を書き込みたい場合は,手数がかかりますが,いくつかに分割して登録するのがよいでしょう.
このように,いささかインターフェイスに問題はありますが,しかしかなり便利な機能ですので,ぜひ使いこなしてみてください.