読者です 読者をやめる 読者になる 読者になる

TeXShop の外部エディタとして CotEditor を使う

TeX AppleScript Mac

TeXShop のエディタを使っているとよくカーソルが行方不明になるので、カーソルのいる行の色を変えるとかしたかったのだけど、できなさそうなんでいっそ CotEditor を外部エディタとして使うことにした。TeXShop のエディタには検索が使いにくいなど、他にも不満な点があるし。

ちなみに CotEditor でカーソルのある行の色を変える方法は以下。チェックを入れて、上の赤で囲ったところにチェックを入れて、下で色を設定。

f:id:pn11:20170304051109p:plain

CotEditor は2010年くらいから使っているけど最近は以前よりもかなり安定していて素晴らしいエディタだと思います。とか言いつつ、今日までスクリプトを使えることを知らなかった。

ここから本編

まず TeX Wiki からリンクの貼られていた以下の記事を参考にさせていただいて、

TeXShop と外部エディタの連携skalldan.wordpress.com

以下のような AppleScript を書いた。

tell application "CotEditor"
    try
        set texfileOnCot to the file of the front document
        set path2texfile to texfileOnCot as text
        set posixpath to POSIX path of path2texfile

        tell application "TeXShop"
            activate
            try
--             opendoc(posixpath) -- should use this but I couldn't
                open(posixpath)
                set texfileOnTS to front document
                tell texfileOnTS to latexinteractive
                tell texfileOnTS to close
            end try
        end tell
    on error
        display dialog "Error!"
        beep 1
    end try
end tell

AppleScript はたまにしか書かないのでよくわからない。エラー処理とかも適当。コメントアウトしてる opendoc() っていう関数は TeXShopHelp > Notes on AppleScript in TeXShop と辿ると見れる PDF にこっちを使えって書いてあったんだけど、よく分からなかった。

このスクリプトを、~/Library/Application Scripts/com.coteditor.CotEditor に置く。このときに設定したファイル名が、CotEditor 上でのショートカットになる。Cmd+T に設定したかったけど後述のようにできないので、Cmd+Opt+T にするべく、cot2texshop.@~t.scpt いうファイル名にした。そうするとメニューにはこんな風に表示される。

f:id:pn11:20170304052506p:plain

これで CotEditor で TeX ファイルを編集しているときに、Cmd+Opt+T を押すと TeXShopコンパイルしてくれる。この辺りのことについては、以下の記事を参考にさせていただきました。

satomacoto.blogspot.jp

なお7年前の記事なので今とスクリプトを置く場所が異なるようです。また、この記事では Cmd+T は Show Fonts に割り当てられているとなっているけど、僕の環境ではそうなっていない。僕の使っている CotEditor のバージョンは 3.1.3 なので、macOS Sierra だと Cmd+T でタブが開くっぽい (El Capitan を使っているのでメニューからは見えないが)。たぶんこのせいで Cmd+T は使えなくなっているのだろう。

なお CotEditor のスクリプトについて詳しくは、Help > CotEditor Scripting Manual > About Scripting と進んでいけばファイル名の規則などが書いてあるヘルプドキュメントにたどり着けるはず。

あと、Cmd+Opt+T を押す前に、Cmd+S を押して保存しておかないと編集が反映されない。AppleScript 内に保存する動作を入れても良いかも。

あとあと、AppleScript を使わずとも CotEditor には強力なスクリプト機能があることをあとから知った。これを使えば、TeXShop を呼び出す必要もないのでそっちのほうが良いかも。TeXShop を呼び出す利点は、Ctrl+Cmd+A で aux ファイルを消せたり、Shift+Cmd+B で BibTeX を実行するといったショートカットが使えることかな。

その他参考リンク

AppleScript を書くときは毎回お世話になっております。

Mac の Chrome で Cmd + Shift + B が使えないとき

Mac

表記のことで困っているにも関わらずしばらく放置していたのだが、ふとしたことで解決した。結論からいうと私の場合は Clipy というアプリにショートカットが取られていた。

Cmd + shift + BMacChrome でブックマークバーの表示と非表示を切り替えるショートカット。これが数ヶ月前から動作していなかったのだが、押しても何も起こらないので原因が分からなかった。ところが先ほどタブを復元しようとして Cmd + shift + T を押したら、最近インストールした Todoist が予期せずアクティブになった。常駐している Todoist がショートカットを取ってしまっているということだ。これのおかげで Cmd + shift + B でも同じことが起こっていると予想でき、調べてみると Clipy にショートカットが設定してあった。

f:id:pn11:20170302051508p:plain

というわけで解決。

参考リンク

Clipy の公式サイトはこちら。

clipy-app.com

Clipy の前身となった ClipMenu も同じショートカットが使われているみたい。 apple.stackexchange.com

Ruby で Wunderlist の API を使う

Ruby

ログイン情報をヘッダーに設定するというところではまった。以下にユーザー名を取得するスクリプトを載せる。

と同様にクライアントIDとアクセストークンを取得すれば使える。リストをいじるなどは “https://a.wunderlist.com/api/v1/user” の部分を他のに変える。上記のリンクや、公式のドキュメントを参照。

以下、スクリプト

#!/usr/bin/ruby
# coding: utf-8

require "oauth2"
require "json"
  
client_id = "CLIENT ID"
access_token = "ACCESS TOKEN"
  
client = OAuth2::Client.new("dummy", "dummy")
token = OAuth2::AccessToken.new(client, "dummy")
# client と token は インスタンスを作りさえすればよいので、client_id, client_secret, access token を入れるべきところは "dummy" とした。

response = token.get("https://a.wunderlist.com/api/v1/user",:headers => {'X-Access-Token' => access_token, 'X-Client-ID' => client_id})

hash_body = JSON.load(response.body)
name = hash_body["name"]
puts "You have logged in as #{name}."

Reference

Window 10 を自分好みに設定する

先日 Windows 10 の入った Huawei Matebook を買って、Windows7 以来に Windows をちゃんと使ってるのだけど色々な設定方法がめっっっっっちゃ見つけにくい。「設定」アプリと「コントロールパネル」が乱立してるのが一因だけど、階層が深かったり複雑だったりで一度調べても忘れてしまうので、ここにまとめていく。

タッチパッドの右下をクリックすると右クリックになるのを無効化する

これは調べずとも簡単に見つかった。設定→マウス&タッチパッドでいける。

この下に3本指、4本指の設定もある。そのうち設定しようかな。本当はもっと色々設定したいのでドライバをそのうち探す。

ツールバーのカスタマイズ

デフォルトだとツールバーに表示されるアプリのアイコンがデカすぎるので、ツールバーの何もないところを右クリック → 設定 からアイコンを小さくする。同じ場所からツールバーの位置も変えられるけど、左にしたら使いにくそうだったので下のままにしておいた。Mac を使うときは Dock は左側にしているけど、これは Windows のタスクバー (タスクトレイ) に当たるもの (Mac での呼び方はたぶんツールバー) が上にあるからできるのだと気づいた。 Windows の場合、ツールバーとタスクバーがくっついてるので、これを左にするとごちゃごちゃして使いにくい。

f:id:pn11:20170222070153j:plain

アイコンを小さくすると自動的に左下にある検索窓 (下図) も消えてくれる。

f:id:pn11:20170222070148p:plain

もしアイコンは大きいままで、検索窓だけを残したい場合は、ツールバーの何もないところを右クリック → 検索(?) と進んで、検索アイコンを表示か、隠すかを選ぶ。

f:id:pn11:20170222070150p:plain

この検索は Mac の Spotlight のように使えてなかなか良い。以前の Windows の検索はひどすぎて、今はなき Google Desktop を初めて使ったときはその威力に感動したものだった。

To do

  • IME の切り替え

  • キーボード配列

  • フォント

Amazon Prime Music の曲名表示の言語は (今のところ) 変更できない

Amazon Prime Music を使っていて、洋楽の曲名・アーティスト名がカタカナだったり、日本ローカルな曲名になっていたりして不便*1なので、変更できないか試してみたが、結論としてはできない。SpotifyApple Music ならそんなことはないよね。

まず音楽聴くのに使っている Kindle Fire の言語設定を英語にしたり、amazon.co.jp や music.amazon.jp での表示言語を英語にしてみたけど、効果はなかったので Amazon に問い合わせてみた。

返事は以下の通り。

Amazon.co.jpをご利用いただき、ありがとうございます。
このたびは、当サイトのご利用に際し、ご不便をおかけいたしましたことをお詫びします。
誠に申し訳ありませんが、サイトやKindle端末自体の言語設定を変更した場合でも、曲名などの商品データへは言語の変更は反映されませんことをご了承ください。
○○様よりいただきましたご意見をもとに、今後、質の高いサービスならびにより便利なサイトを提供できるよう努めてまいります。
Amazon.co.jp のまたのご利用をお待ちしております。

今後に期待。しかし洋楽なんて、海外のデータをそのまま使えばいいのに、なんでわざわざローカライズするんだろうか。

ついでに、Prime Music でよく分からない挙動なのが、以下。

+ が自分のライブラリに追加するボタンなんだけど、これを押すと、検索からアルバムを表示したときに、追加した曲だけ別のアルバムとして表示される。うまく説明できないけど、上のスクリーンショットの例だと、トラック2の Walikng In Your Foot Steps とトラック7の Every Breath You Take が下に表示されてて困る。

*1:邦題から曲が連想できない、見た目がダサい、Last.fm に Scrobble するときに英語と日本語が別の曲として扱われてしまう、など

SONY の電子ペーパー DPT-S1 を Box と同期する

Gaget

前置き

PDF 形式の論文を読んで書き込みするのに便利な SONY電子ペーパー DTP-S1 だけど、実際はじっくり読むときしか使わない。ちょっとどんなことが書いてあったっけ、とかを調べるときは、 Mac 上で Spotlight で素早く見つけてささーっと読む *1 。というわけで MacDTP-S1 を常に同期しておきたい。

www.sony.jp

しかし DTP-S1 で使えるネットワークドライブは WebDAV のみ。というわけでこれまでは無料の WebDAV サーバーを借りて、でも Mac の Finder は WebDAV の扱いがだめだめ、あと WebDAV はオンラインのときしか使えないので、Dropbox のフォルダと WebDAV を同期するスクリプトを書いてどうにかしてた。

ownCloudWebDAV なので暇になったらサーバーを建てようなどと思っていたら、 Box は無料アカウントでも WebDAV が使えるということを知ったので乗り換えてみた。ちなみに、 DropboxDropDAV というサードパーティのサービス (有料) を使えば WebDAV が使える。

やり方

community.box.com

にあるように、WebDAV サーバーとして https://dav.box.com/dav を設定する。DTP-S1 上での入力画面は以下の通り。ポートは Box の説明ページに情報がなかったが 443OK だった。ログイン名は Box アカウントのメールアドレス、パスワードは Box のパスワード。「同期用フォルダーパス」は論文とかを入れたディレクトリの名前を入れる。「送信先フォルダー一覧用パス」もよく分からないけど同じにしている。

f:id:pn11:20161208045138j:plain

今のところ、特に問題なく使えている。

アフィコーナー

  • DTP-S1 はあまりに強気な価格設定なのであまり持ってる人もいなそうだけど便利なので布教していきたい。半額だったら文句なくおすすめできる。
  • WebDAV と言えば、東芝の FlashAir を持っているけどあまり活用できてないので何かやりたい。

ソニー デジタルペーパー DPT-S1

ソニー デジタルペーパー DPT-S1

DTP-S1 は現在 Amazon だとやたら高いのでソニーストアのリンクを貼っておく。以前は 98,000 円くらいだったと思うのだが今は 79,800 円になったらしい。もう一声!

http://pur.store.sony.jp/digital-paper/products/DPT-S1/DPT-S1_purchase/pur.store.sony.jp

*1:文献管理の方法についてもそのうち書きたい。今までは Dropbox 、今後は Box に Author.Subject.Journal.Vol.Year.pdf というファイル名で全て突っ込む。こうすると大体どんなデバイス上でも検索できる。

TMinuit の使い方 (ROOT)

ROOT

qiita.com

という記事を少し前に Qiita に書いた。

Qiita には初めて投稿したけど、新着記事の流れがそんなに速くないんで、そこから来てくれる人が多い模様。マイナーな記事なのに一気に 100 PV くらいついて、なんだか気が引けてしまう。ROOT は物理屋さん以外の人も使ったらいいと思うので、たまに Qiita に投稿して布教を図りたいと思いますが、同時に何も気にせず書ける場所も欲しいなと感じたので、技術ブログ的なものを始めてみました。技術的な内容に限らず好き勝手に書く予定。Markdown 使えるの便利。

はてなブログをつくるにあたって5年前くらいに書いてたはてなダイアリーを読んでみた (既に非公開になっていたが)。色々若いなって感じだった。昔の自分の頑張ってる姿を読むのはモチベ向上に良いな、と思った。