High Sierraでシリアル通信

以前にMacOS X 10.6.8 (snow leopard)をインストールしたMac Book Air 10inchでシリアル通信ができるようにしたのですが,このMac Book AirのOSを10.13.6 (High Sierra)にアップデートしたため使えなくなっていました。

NnometricsのTitan加速度計の感度設定はシリアル通信で簡単にできるのですが,2台を並べて出力をみていたらなぜか同じフルスケール0.25G設定なのに出力電圧が20倍ほど違いました。どう考えてもおかしいのですが,シリアルでつないで設定を呼び出しても確かに0.25Gと答えます。ためしに,いちど4Gに設定した後,改めて0.25Gに設定し直すと今度は,2台のセンサーの出力が同じくらいになりました。どうも,設定値を覚えているところと設定そのものを覚えているところが違っていて何かの拍子に両者が整合しなくなることがあるようです。

Titanの設定のためだけに観測にシリアルポートのついたノートPCを持っていくのははっきり言って馬鹿馬鹿しいので,普段持ち歩いているMac Book Airで設定をできるようにしたいというのが目的です。

手元に転がっていたUSB-CVRS9という名前がついたusb-シリアル変換ケーブルをmac book airに接続して,アップルマーク-->このmacについて-->システムレポート-->usbと辿っていくとusbデバイスとしてusb-serialなんちゃらというのが見つかって,そこを叩くとProlificなんちゃら,というようなことが書かれているので,Prolific PL2303 chipsetベースのものであろうと見当がつきます。以前と同様に,チップメーカーのサイトからドライバを落とします。High Sierraまでは対応しているようです。

ダウンロードしてインストールすると,最後の段階で,ブロックされた,というようなメッセージが表示されます。システム環境設定のセキュリティとプライバシーの一般というところの下に今,ブロックされたドライバの名前が出ていて,これを許可するか,というメッセージが出ています。左下の鍵マークをクリックしてパスワードを入れてから鍵を開けて,「許可」を押すとドライバのロードが許可されます。

これで,OSを再起動すると,ドライバが正しくロードされます。

これで,USB-CVRS9をusbポートにさしてみると...まったく認識しません。何か違うのかもしれません。

道具箱を漁ってみると,秋月電子が昔売っていたusb-シリアル変換ケーブルが見つかったので何も考えずにUSBポートにぶっ刺してみると,こちらはちゃんと認識して,/dev/tty.usbmodemとかいう感じのデバイスが現れます。

これをscreenコマンドに指定して使えばOKです。

screen /dev/tty.usbmodem 9600

という感じです。mac OSからはリターンキーを叩いてもCR+LFを送れないので,CR+LFを送るためにはリターンを叩いてからCtrl+jと叩かねばなりません。しかし,なぜか,Titan加速度計は普通にリターンキーを叩くだけで返事をしてきました。なんかよぉわかりません。

screenコマンドの終了はc-A c-\ですが,usb-シリアル変換ケーブルを引っこ抜くと勝手に終了してしまいますので終了コマンドを覚えていなくても大丈夫そうです。

というわけで,万一,観測の現場でTitanの設定がおかしくなってもどうにかなりそうです。変換ケーブルを持っていくのを忘れないようにしないと...
posted by MOR at 06:00Comment(0)Computer

mendex

pLaTeXで本を書いて組版をして,索引を作る,というごく当たり前の作業を正月からずっとやっていたのですが,最後の索引でかなりハマりました。出版社が用意してくれたスタイルファイルは索引はmendexを使う,ということが前提になっていましたが,私の手元のFreeBSDは古いteTeXの環境であるためmendexがインストールされていませんでした(makeindexのみがインストールされていました)。

mendexをソースからインストールしようにもそもそも,TeXのソースがないとコンパイルできません。mendex自体は短いコードですがそれをコンパイルするためだけにTeXのソースを展開して...なんて考えたくもありません。TeXLiveにはmendexが最初からインストールされています。これをなんとか使おう,と考えました。TeXLiveベースのmacTeX 2018をmacOS 10.13 (High Sierra)にインストールしていたのでこれをなんとか使おうというわけです。

ただ,これまでteTeXで作業していたソースをmac TeXでコンパイルすると図のレイアウトが乱れてしまいます。もうわけがわからんので,mendexのみmac上で処理することにしました。ところが文字コードがぐちゃぐちゃになってしまいます。jisコードはFreeBSDのteTeXでもmac OSのmac TeXでも使えるはずですがmac OS上でmendexをjisコードで処理しようとするとなぜかFreeBSD上では正しく認識されずに処理できません。

結局,わかったことは,FreeBSD上のteTeXで処理をしたいならば索引はeucでやらねばならない,ということでした。

本文はjisコード,索引だけeucというもはやぐちゃぐちゃです。しかも索引のための漢字の読み仮名の辞書ファイルを作成したのですが,この辞書ファイルもeucでなくては正しく処理できません。

というわけで,macOSのmacTeX 2018でのmendexのオプションは,

mendex -E -d yogo.dic -s line.ist hogehoge

とするとなんとかなる,ということがわかりました。オプションの意味は以下の通り。

-E:EUCで処理する
-d yoga.dic:yoga.dicという辞書ファイルを参照する。このファイルは漢字と読み仮名を並べてタブで区切って書いたファイルで文字コードはEUCでなくてはなりません。
-s line.ist:line.istという索引のスタイルファイルを参照する。line.istはここにあったものをそのまま使わせていただいてます。
hoghoge hogehoge.texというpLaTeXのソースファイルを指定。

最初にplatex hogehogeを叩いてhogehoge.idxファイルを出力したのち,上のコマンドを叩いてhogehoge.indファイルが正しく出力されれば,改めて

platex hogehoge

とやることで索引を含むhogehoge.dviができます。

いや,もうワナにはまりまくりました...
posted by MOR at 18:00Comment(0)Computer

ついに脱稿...

15年越しで書いていた本がようやく完成したので出版社に送りました。私自身は5年くらい前に脱稿していましたが,共著者がまったく書かなかったのでずっと引きずっていました。もともと,あるシリーズのなかの第1巻として出るはずだったものです。ようやくおよその原稿が揃ったので出版社にその旨知らせたのが昨年の暮れでした。

やっと出版社との約束を果たしたと思って意気揚々と完成を報告したのですが,出版社曰く,そのシリーズの最後の巻が出てからすでに7, 8年経過しているうえに,シリーズの売れ行きが驚くほど悪くてまったく商売になってないのでもはや続刊はない,ということでした。

なんだかバカみたいな話ですが,企画から15年もかかっている時点でこちらが悪いわけで,ぐぅの音もでません。とりあえず,形は整えたので,どこか出版してくれるところを探すか,最悪,自費出版でもしょうがない,と考えていました。しかし,もともと出版を予定していた出版社が,せっかく書いたのだからシリーズとは別に単体で出してもよい,と言ってくれました。ただし,コストを抑えて値段を安くするために組版まで完成させてフォトレディの原稿を出せばという条件つきでした。当初のシリーズでは原稿の取りまとめは出版社がやってくれることになっていたため,原稿のフォーマットについてはおおよそ合わせておいてページ数がわかればよい,という程度の緩い制約で書いていました。図もあまり大きさを考えずにレイアウトも考えていませんでした。

そのため,私はpLaTeXで書いていて,共著者はWordで書いていました。

これをフォトレディの原稿にするとなるとTeXにするかWordにするか,まずはどちらかにしないと見た目が揃わないしページ番号や図番号の管理も大変です。内容的には数式がとても多いので,とてもじゃないですがWordで組版する,という話にはなりません。やむをえず,TeXで組版する,ということにして,共著者からWordの原稿のファイルをもらって,今年のお正月に作業しました。

出版社には,ぎゅうぎゅう文章を詰め込んでページ数を少なく(=定価を安く)できるように,このためにわざわざ新しいLaTeXのスタイルファイルを調整して提供していただきました。スタイルファイルから作るとなると死亡でしたが,これはとても助かりました。それで,お正月休み(といってもたいして休みがあるわけじゃないですが)を全部潰して,朝から晩までWordでタイプされた数式を手作業でTeXのコマンドに打ち直しました。タイプしていると数式の間違いが大量に見つかって,検算して正しい式に直すという泣きそうなことをなんで自分がやってるんだ,とか思いながらやってなんとか正月あけには全部pLaTeXで処理できるようにしました。

Wordに貼り付けられていた図はjpegなどのイマイチ美しくない図なので,これは共著者にepsで出力しなおしてくれるように依頼しました。組版するということになった時点で全部自分でやらねばならないのはわかっているとはいえ,図のレイアウトの段階に入ってくるといよいよイヤになってきます。共著者はずっと昔からコーレルドローで作図をしているということだったのでepsでエクスポートしてくれるように依頼しました。1ヶ月あまりして,とりあえずエクスポートした図を送ってくれたのですが,コーレルドローの吐き出すepsはゴミだらけでヘッダにわけのわからんゴミが書き込まれていてghostscriptで正しく処理できません。そのうえ,矢印の頭が勝手に回転していたり,日本語フォントが文字情報を失ってたんなるアウトラインになっていたりして,なんだかなぁ,という悲惨なものでした。

いろいろ試した結果,イラストレーターで読み込むとヘッダのゴミを乗り越えて無理やり中身を表示できることがわかりました。そこで,イラストレータで読み込んで矢印の頭を正しい向きに回転させて,文字情報を復活させて,aiファイルとして保存したのち,改めてepsとして出力,というアホみたいなことを手作業で延々と繰り返してなんとかpLaTeXで読み込めるようにしました。これに1ヶ月。

共著者に最終的な原稿の確認と文言の修正などをしてもらって,最後の難関である索引にとりかかったのが先週。索引をつけるのに時間をかけると大抵の場合,論理的な一貫性が失われてわけのわからん索引ができてしまうのでこれだけは短期集中でやらねばなりません。先週は,他のことを全て投げ出して索引だけに集中して作業しました。索引を拾い出すためには一字一句読み直さねばなりませんからついつい内容に対して欲がでてくるうえに,文章の間違いもあれこれ見つかるし,用語の表現の揺らぎがとても気になります。原稿を書くときはその部分に集中していて前後のことは考えていませんから,表記がローカルには一貫していても全体としてはバラバラです。

すぐに直せるところは直して一貫した表現にするようにしましたが,全部は無理で,もうそれは諦めました。そうすると,索引で表記の揺らぎを吸収するという話になって,「Rayleigh波」の項目には「レイリー波」を参照するような表現をいれることになります。その結果,索引はどんどん肥大していき,130ページあまりの本に索引の見出し語を拾った数が最終的には844件になってしまいました。しかも,作業をした日によって作業内容に揺らぎがあるので一貫性がないところがでてきます。もう,最後は諦めて出てきたものでよし,ということにしてしまいました。

あとは,出版社で目を通して校正を入れてくれた分を可能な範囲で修正して本当に終わりにするだけです。

索引については,ワナにハマりまくったのでそれについては別途メモを残しておきます。
posted by MOR at 05:00Comment(0)Computer