2018年5月20日日曜日

[Atom] ターミナルが使える ”platformio-ide-terminal"

Atomエディタ上からターミナルを利用できれば便利です.
それが可能になるのが "platformio-ide-terminal (platformio-ide-terminal)"というパッケージです.
インストールは"Setting"から"Install"を選択して,"platformio-ide-terminal"で検索すると見つかるので,インストールボタンをクリックすれば,インストールが始まります.


インストールが完了した後に,エディタ画面の左下の"+"ボタンをクリックすると,画面の下側がターミナルになります.

2018年5月11日金曜日

OctaveでのGhostscriptの競合によるエラー

Octaveで図をファイルに保存しようとした時に,以下のようなエラーが出る場合があります.

>> print -dpng 'xxx.png'
GPL Ghostscript 9.21: Can't find initialization file gs_init.ps.
(上記の9.21はGhostscriptのバージョン)

Ghostscriptが見つからないというエラー表示なのですが,Ghostscript(gs)を探してみると,
$ which gs
/usr/local/bin/gs

と,インストールされていることが確認できます.インストールされているのにみつからないと返ってくる理由は,Ghostscriptを使用するソフト(TeXなど)のインストール*のせいで,シンボリックリンクが切れた事によって見えなくなってしまっていることのようです.

そこで,
$ brew link --overwrite ghostscript
とすると,シンボリックリンクが復活して,使えるようになります.

* Ghostscriptに関する問題は,HomebrewとMacTeXでそれぞれ違った方法でGhostscriptをインストールしていることに起因するようです.また,Ghostscriptの最新版をHomebrewで入れたつもりでいても,MacTeXの方に上書きされてしまい,知らないうちに古いほうを使っているということもあるようです.

[macOS] macOS High Sierra にOctaveをインストール

macOS High SierraにOctaveをインストールした際のメモです.
インストールは,Homebrewを使用して行います.

先ずは,gnuplotで描画する際に AquatermかXQuartzのどちらを使うか分からないので,両方インストールしておきます.

ターミナルを立ち上げ,以下のようにコマンドを入力していきます.
この例では,Aquatermが既にインストールされていたので,"reinstall"としています.
$ brew cask reinstall aquaterm

インストールされていない場合は,"install"とします.
$ brew cask install aquaterm

すると,以下のようにインストールが実行されます.
==> Tapping caskroom/cask
...
...
🍺  aquaterm was successfully installed!
上記の"..."は,そのような表示となるわけではなく,省略を意味します.

続いて,XQuartzをインストールします.
$ brew cask install xquartz
この場合も,すでにインストールされている場合は,"reinstall"とする.

すると,以下のようにインストールが実行されます.
Updating Homebrew...
...
...
🍺  xquartz was successfully installed!
先の例と同じく,"..."は省略です.

続いて,描画に用いるgnuplotをインストールします(この場合も,既にインストールされていた場合の例( i.e. "reinstall")なので,初めての場合は"install"とします).
$ brew reinstall gnuplot --with-aquaterm --with-x11
==> Reinstalling gnuplot --with-aquaterm --with-x11
...
🍺  /.../.../.../gnuplot/5.2.3: 47 files, 2.7MB, built in 1 minute 22 seconds
("..."は省略です)

そして,Octaveをインストールします.
$ brew install octave

ズラズラと,表示が流れ,インストールが進み,最後に以下のような表示があってインストールは完了します.
🍺  /.../.../.../octave/4.4.0: 2,173 files, 45.4MB

Octaveを立ち上げるには,"octave"と入力します.
$ octave
そして,以下のように立ち上がればインストール成功です.
GNU Octave, version 4.4.0
Copyright (C) 2018 John W. Eaton and others.
This is free software; see the source code for copying conditions.
There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.  For details, type 'warranty'.

Octave was configured for "x86_64-apple-darwin17.5.0".

Additional information about Octave is available at https://www.octave.org.

Please contribute if you find this software useful.
For more information, visit https://www.octave.org/get-involved.html

Read https://www.octave.org/bugs.html to learn how to submit bug reports.
For information about changes from previous versions, type 'news'.

octave:1> exit
(Octaveを終了するには,上記のように"exit"と入力します)

2018年4月28日土曜日

Atom のコメント色の変更

Atomではデフォルトの設定ではコメントはグレーで表示されます.
この色を変えたい場合は,以下のように設定を変更します.

Atom > Preference を開き,Themesタブをクリックします.
'your stylesheet'をクリックします.

styles.less が開くので,ここに追記したり編集を行うことで,テーマの設定を変更することができます.
コメントを緑色にしたい場合は,末尾に次のコードを追記します.

    atom-text-editor::shadow .comment {
      color: Green;
    }

    atom-text-editor.editor .syntax--comment {
      color: Green;
    }

2018年4月25日水曜日

[macOS] OpenCVのインストール

Anacondaがインストールされている前提です.

ターミナルから以下のコマンドを入力します.
$ conda create -n opencv python=3.5 anaconda

すると,以下のようにインストールが始まります.
Solving environment: done

==> WARNING: A newer version of conda exists. <==
  current version: 4.4.10
  latest version: 4.5.1

Please update conda by running

    $ conda update -n base conda

## Package Plan ##

  environment location: /anaconda3/envs/opencv

  added / updated specs: 
    - anaconda
    - python=3.5


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    unicodecsv-0.14.1          |   py35h2154ad0_0          25 KB
    networkx-2.1               |           py35_0         1.9 MB
    ...
    ...
    ...
    pywavelets-0.5.2           |   py35h9dc8fb8_0         3.9 MB
    et_xmlfile-1.0.1           |   py35h40eb147_0          20 KB
    ------------------------------------------------------------
                                           Total:       196.2 MB

The following NEW packages will be INSTALLED:

    alabaster:                          0.7.10-py35hb692fe1_0     
    anaconda:                           5.1.0-py35_2              
    ...
    ...
    ...
    zict:                               0.1.3-py35h1ae85d2_0      
    zlib:                               1.2.11-hf3cbc9b_2         


上記のインストールされるパッケージが表示されている箇所の"..."はこのような表示になるわけではなく,ズラズラと続くことの省略です.

そして,以下のように表示されるので,"y"を入力してReturnキーを押します.
Proceed ([y]/n)? y

すると,またズラズラとリストが表示されインストールが始まります.
Downloading and Extracting Packages
unicodecsv 0.14.1: ######################################################################### | 100% 
networkx 2.1: ############################################################################## | 100% 
...
...
...
pywavelets 0.5.2: ########################################################################## | 100% 
et_xmlfile 1.0.1: ########################################################################## | 100% 
Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use:
# > source activate opencv
#
# To deactivate an active environment, use:
# > source deactivate
#

(opencv)環境に入るには"source active opencv"と入力します.
そのあとに"conda install -c Menlo opencv3"と入力します.
$ source activate opencv
(opencv) $ conda install -c menpo opencv3

すると,先と同じようにパッケージが表示された後に,以下のように表示されるので,"y"を入力します.
Proceed ([y]/n)? y

インストールが完了した後に,(opencv)環境から抜けるには以下のようにします.
(opencv) $ source deactivate

2018年2月20日火曜日

[TeX] macOS High Sierra (TeXShop) でヒラギノ明朝体を使う

ヒラギノ明朝体が,High Sierra では合体版(ヒラギノ明朝 ProN.ttc)に変更されたので,dvipdfmx 等からは使えなくなってしまったようです.

公式対策は取られていませんが,フォントへのシンボリックリンクと dvipdfmx 等用の Map ファイルを手動で作成すれば,ヒラギノ明朝体を使うことができるようです.
(参考にしたサイトhttp://okumuralab.org/bibun7/)

ヒラギノを dvipdfmx から利用する3 step.

Step 1: ファイルの入手と設置
High Sierra 用のリンクと Map ファイルを入手する(ダウンロードはこちらから).
このファイルには,
ヒラギノフォントへのシンボリックリンク
実フォントと仮想フォントとの対応関係を記した Map ファイル
が入っています.
これをダウンロードして,中身のフォルダ構成を保ったまま適切なフォルダにコピーする(通常は /usr/local/texlive/)

Step 2: TeX への登録
Step 1で設置したファイルを TeX が見つけられるよう,ターミナルから以下のコマンドを実行します.

管理者権限が必要な場合
$ sudo mktexlsr
Password:

管理者権限が不要な場合
$ sudo mktexlsr

Step 3: Map ファイルの生成
以下のコマンドを実行して,最初にコピーした Map ファイルから,dvipdfmx,dvips などを各 DVIware 用の Map ファイルを生成します.
$ updmap-user -setoption jaEmbed hiragino-highsierra-pron

このコマンドを実行すると(通常は)~/Library/texlive/2017/ 内に、kanjix.map 等の Map ファイルが生成されます.
システム全体で共有したい場合は、updmap-user ではなく updmap-sys を使います(sudo が必要か否かは mktexlsr の場合と同様)

以下は,実行例です.
$ sudo mktexlsr
Password:
mktexlsr: Updating /usr/local/texlive/2017/texmf-config/ls-R... 
mktexlsr: Updating /usr/local/texlive/2017/texmf-dist/ls-R... 
mktexlsr: Updating /usr/local/texlive/2017/texmf-var/ls-R... 
mktexlsr: Updating /usr/local/texlive/texmf-local/ls-R... 
mktexlsr: Done.
$ updmap-user -setoption jaEmbed hiragino-highsierra-pron
updmap will read the following updmap.cfg files (in precedence order):
  /usr/local/texlive/2017/texmf-dist/web2c/updmap.cfg
updmap may write changes to the following updmap.cfg file:
  /Users/hide/Library/texlive/2017/texmf-config/web2c/updmap.cfg
Creating new config file /Users/hide/Library/texlive/2017/texmf-config/web2c/updmap.cfg
dvips output dir: "/Users/hide/Library/texlive/2017/texmf-var/fonts/map/dvips/updmap"
pdftex output dir: "/Users/hide/Library/texlive/2017/texmf-var/fonts/map/pdftex/updmap"
dvipdfmx output dir: "/Users/hide/Library/texlive/2017/texmf-var/fonts/map/dvipdfmx/updmap"

updmap is creating new map files
using the following configuration:
  LW35 font names                  : URWkb (/usr/local/texlive/2017/texmf-dist/web2c/updmap.cfg)
  prefer outlines                  : true (/usr/local/texlive/2017/texmf-dist/web2c/updmap.cfg)
  texhash enabled                  : true
  download standard fonts (dvips)  : true (/usr/local/texlive/2017/texmf-dist/web2c/updmap.cfg)
  download standard fonts (pdftex) : true (/usr/local/texlive/2017/texmf-dist/web2c/updmap.cfg)
  jaEmbed replacement string       : hiragino-highsierra-pron (/Users/hide/Library/texlive/2017/texmf-config/web2c/updmap.cfg)
  jaVariant replacement string     : <empty> (default)
  scEmbed replacement string       : arphic (/usr/local/texlive/2017/texmf-dist/web2c/updmap.cfg)
  tcEmbed replacement string       : arphic (/usr/local/texlive/2017/texmf-dist/web2c/updmap.cfg)
  koEmbed replacement string       : baekmuk (/usr/local/texlive/2017/texmf-dist/web2c/updmap.cfg)
  create a mapfile for pxdvi       : false (default)

Scanning for LW35 support files  [  3 files]
Scanning for MixedMap entries    [ 44 files]
Scanning for KanjiMap entries    [ 11 files]
Scanning for Map entries         [265 files]

Generating output for dvipdfmx...
Generating output for ps2pk...
Generating output for dvips...
Generating output for pdftex...

Files generated:
  /Users/hide/Library/texlive/2017/texmf-var/fonts/map/dvips/updmap:
       15814 2018-02-20 19:35:31 builtin35.map
       21287 2018-02-20 19:35:31 download35.map
     2095980 2018-02-20 19:35:32 psfonts_pk.map
     2356875 2018-02-20 19:35:31 psfonts_t1.map
     2350288 2018-02-20 19:35:31 ps2pk.map
          14 2018-02-20 19:35:32 psfonts.map -> psfonts_t1.map
  /Users/hide/Library/texlive/2017/texmf-var/fonts/map/pdftex/updmap:
     2350295 2018-02-20 19:35:32 pdftex_dl14.map
     2348630 2018-02-20 19:35:32 pdftex_ndl14.map
          15 2018-02-20 19:35:32 pdftex.map -> pdftex_dl14.map
  /Users/hide/Library/texlive/2017/texmf-var/fonts/map/dvipdfmx/updmap:
       10923 2018-02-20 19:35:31 kanjix.map

*************************************************************
*                                                           *
* WARNING: you are switching to updmap's per-user mappings. *
*            Please read the following explanations.        *
*                                                           *
*************************************************************

You have run updmap-user (as opposed to updmap-sys) for the first time; this
has created configuration files which are local to your personal account.

Any changes in system map files will *not* be automatically reflected in
your files; furthermore, running updmap-sys will no longer have any
effect for you.  As a consequence, you have to rerun updmap-user yourself
after any change in the system directories; for example, if a new font
package is added.

See http://tug.org/texlive/scripts-sys-user.html for details.

If you want to undo this, remove the files mentioned above.

(Run updmap --help for full documentation of updmap.)

Transcript written on "/Users/hide/Library/texlive/2017/texmf-var/web2c/updmap.log".
updmap: Updating ls-R files.

2018年2月14日水曜日

[gnuplot] 複数のグラフを一枚にプロットする

gnuplotで,複数のプロットを一枚に描く(同じようなグラフを並べる)方法のメモです.
以下にスクリプトの例を示します.青字部分が,複数グラフのプロットに関連したコマンドです.

set multiplot layout 2,3 rowsfirst downwards title "Lissajous curve"
set parametric
set samples 1000
set xrange [-1.2:1.2]
set yrange [-1.2:1.2]
set trange [0:2*pi]
set key outside center top samplen 0
plot cos(1*t),sin(2*t)
plot cos(1*t),sin(3*t)
plot cos(2*t),sin(3*t)
plot cos(2*t),sin(5*t)
plot cos(3*t),sin(5*t)
plot cos(4*t),sin(5*t)
unset multiplot

<解説>
set multiplot layout 2,3 rowsfirst downwards title "Lissajous curve"
複数プロットをする宣言(set multiplot)を行います.
例では"layout 2,3"によって縦2行,横3列にプロットすることを宣言しています.
"rowsfirst"は行(横)優先に並べる(プロットするグラフが左,右...と並べられる)ことを意味します.
列(縦)優先に並べる場合は"columnsfirst"とします(プロットするグラフが上,下...と並べられる).
"downwards" は下方向に並べること意味します.上記の例の場合は最初に左から右に3個のプロット
plot cos(1*t),sin(2*t)
plot cos(1*t),sin(3*t)
plot cos(2*t),sin(3*t)
が並べられた後に,次の列に移って以下の3個のプロットが左から右に並べられることになります.
plot cos(2*t),sin(5*t)
plot cos(3*t),sin(5*t)
plot cos(4*t),sin(5*t)

このスクリプトを実行すると,以下のような図が作成されます.