2017-06-25

LaTeX 表の中のセルに改行を入れる方法

LaTeXの表で改行を入れる方法としてよく紹介されるのは, 罫線を部分的に消して, 次の行と一体化しているように見せる方法である. 一方で, この方法では, ひとつのセルの情報がソースコード中ではバラバラになってしまうので, わかりにくい.

ここでは, 別の方法, 表を入れ子にする方法を紹介する.

ソース:
\begin{table}
 \center \begin{tabular}{|c|c|c|} \hline
  & A & B \\\hline\hline
  a &
  \begin{tabular}{l}
    n: 0.0 -- 0.5 \\
    p: 1.2 -- 0.7
  \end{tabular} &
  \begin{tabular}{l}
    n: 0.0 -- 0.6 \\
    p: 1.2 -- 0.6
  \end{tabular} \\\hline
 \end{tabular}
\end{table}
出来上がり:

2017-06-19

TrackRの誇張記事

スマートフォンから自分の自動車の位置を知る方法という記事をみつけた.
TrackRのサイトを読んでみたが,
  • 距離表示機能: Bluetoothでスマートフォンと接続しておよその距離を表示,
  • Crowd Locate: ほかのTrackRユーザーが近くにいれば彼らから位置情報を共有してもらう という機能らしい.

    Techiefansの記事は誤解をもたらしているように思える.
    たぶん, 盗まれたバイクや自転車を探すとか, 迷子の猫を探すとかといった使い方には向かないだろう. 街中にTrackRユーザがいるわけではないのだから.

    世界中で追跡できるとしたら, GPS受信機と3Gモデムくらいが付いていると期待するかもしれないが, そういう機能込みで, こんな小さいサイズで1年間もバッテリー駆動できるはずがない.

  • 2017-06-18

    Firefoxのスムーズスクロールを無効にする

    Firefoxにスムーズスクロールの機能があるが, 個人的には無駄な機能だと思っているので, 無効にした.

    about:configをURLとして打ち込み, general.smoothScrollをダブルクリックしてfalseに設定する.

    スムーズスクロールってこんなにデメリットがあると思う.

  • 先を見たいからスクロールするのに, スムーズスクロールが働いている間, 待たされる.
  • CPUリソースを消費する.
  • あえてメリットを挙げるとしたら, これくらいかな.
  • これまで見ていた箇所がどこまでスクロールしたのかわかりやすい.
  • タッチパネルで操作するときは, スワイプしただけでたくさん移動できて便利(かも). iPhoneで画面遷移のときにゆっくり動かしてみせる機能が契機かなと思う.
    次の画面をロードするときにユーザーを不快に思わせないことが目的だったので, 見た目だけ真似たのだろう.
  • 2017-06-17

    Microsoft Wireless Mobile Mouse 4000 を買った

    前のマウス (m705t) が使いづらかったので, 新しいマウスを買った.

    Logicool m705tよりはマシだと思う.

  • センサーの感度は良好. つるつるのところでも動作する.
  • 中ボタンのクリックが硬い. Xではセレクションからの貼り付けなので, 中ボタンクリックの操作性は重要.
    アサインを変更した. 戻るボタン (8番) に中ボタンを割り当てたが, やはり押しにくい. やや親指が届きにくいところにあるので, クリックしようとするとカーソルが動いてしまう.
  • ホイールの上下時, クリック感が無いのが斬新. 摩擦があって, 手で回すと回るが, 自然には回らない.
  • クリックやホイールを回すと, トラッキングLEDが明るくなって, コイル鳴きする. トラッキング中でないのにLEDが明るくなるのは無駄たと思う.

    マウスの使い勝手という点では, Thinkpadのトラックポイントの方が好きだ. (急がずに購入するなら, Lenovo ThinkVantage Clubに入って, 50%くらいの割引メールが届くのを待つのがおすすめ.)


  • 2017-06-14

    X-windowでマウスボタンの割当を変更

    マウスボタンの割当を変更する方法のメモ.

    まず, マウスのIDを調べる.

    xinput list
    
    戻るボタン・左右スクロールに下の表のように機能を割り当てる場合, 以下のxinputコマンドで設定する.
    xinput set-button-map 17  1 2 3 4 5 8 9 2 9 10 11 12 13 14 15 16
    
    なお, 上記の17は, xinput listで出てくるIDを書く.
    物理ボタン動作
    戻るボタン (8)中ボタン (2)
    左スクロール (6)戻る (8)
    右スクロール (7)進む (9)

    スクリプトで設定する場合は, 以下のように書けば良い.

    #! /bin/bash
    xinput list |
    grep 'Microsoft .* Nano Transceiver.*slave  pointer' |
    sed 's/.*id=\([1-9][0-9]*\).*/\1/' |
    xargs -I{} xinput set-button-map {} 1 2 3 4 5 8 9 2 9 10 11 12 13 14 15 16
    
    なぜかNano Transceiverが2つ認識されるので, 両方に対して同じ設定を行う.

    dvips + ps2pdfで日本語をタイプセットするためのメモ

    Fedora 24上のTeXLive 2017/platex + dvips + ps2pdf で日本語混じりのドキュメントをタイプセットするための設定方法をメモする. どういう変更をしたのか理解できていないが, 日本語が埋め込まれたPDFが生成されたようなので良しとする.
    なお, dvips+ps2pdfの代わりにdvipdfmxを使用すると, 一部の図が表示できなくなった.

    $ cat /usr/share/ghostscript/9.20/Resource/Init/cidfmap.ja
    /IPAexMincho << /FileType /TrueType /Path (/usr/share/fonts/ipa-mincho/ipam.ttf) /CSI [(Japan1) 6] >> ;
    /IPAexGothic << /FileType /TrueType /Path (/usr/share/fonts/ipa-ex-gothic/ipaexg.ttf) /CSI [(Japan1) 6] >> ;
    
    上記は, cidfmap
    (cidfmap.ja) .runlibfileifexists
    
    という行が見つかったので, 日本語のためにcidfmap.jaというファイルをインクルードしているのだろうと推測した. もともと, cidfmap.jaというファイルは見つからなかったので, cidfmapと同じディレクトリに作成. ipam.ttfとipaexg.ttfは, find /usr/share/fonts -name ipa*.ttfでパスを探しだした.
    将来GSのバージョンが変わった時は, 9.20の部分を新しくするべきなのだろう.

    以下のコマンドでPDFを生成する.

    platex -halt-on-error  -recorder  "main.tex"
    dvips -P pdf  -o "main.ps" "main.dvi"
    ps2pdf -dPDFSETTINGS=/prepress -dMaxSubsetPct=100 -dSubsetFonts=true -dEmbedAllFonts=true  "main.ps" "main.pdf"
    
    生成したPDFのフォントを確認する:
    $ pdffonts main.pdf
    name                                 type              encoding         emb sub uni object ID
    ------------------------------------ ----------------- ---------------- --- --- --- ---------
    ...
    WWYGYS+IPAMincho                     CID TrueType      H                yes yes no     276  0
    ...
    
    IPAMinchoが埋め込まれている (emb=yes) ようだ.

    生成されるPSファイルには,

    %%DocumentFonts: NimbusRomNo9L-Regu NimbusRomNo9L-Medi rtxr rtxmi
    %%+ NimbusRomNo9L-ReguItal IPAexMincho-H rtxb txsy txex Times-Roman
    %%+ Helvetica Symbol Times-Italic Courier Helvetica-Oblique
    %%+ NewCenturySchlbk-Roman Times
    
    と書かれており, IPAexMincho-Hがあるので, IPAexMinchoを設定すれば十分なのだと思う.

    以下のサイトを参考にした.

  • ghostscript 日本語フォントの設定 -alprovs の記録; SL 6とUbuntu 16での設定方法が書かれている.
  • 2017-06-04

    Python: a == not b は構文エラー

    Pythonのドキュメントに意外なことがかいてあるのを見つけた. not は非ブール演算子よりも優先度が低いので、 not a == b は not (a == b) と解釈され、 a == not b は構文エラーです。 Cではa == !ba == (!b)と解釈されるので, Pythonでも同様だと思っていたが, 構文エラーになるらしい.
    >>> a = True
    >>> b = False
    >>> a == not b
      File "", line 1
        a == not b
               ^
    SyntaxError: invalid syntax
    >>> a == (not b)
    True
    

    なお, Awkではこうなる:

    $ :| awk 'BEGIN { a=1; b=0; print a==b; print a==!b }'
    0
    1
    

    2017-06-02

    私の歴代携帯電話

    機種OS購入日
    モトローラ M1000 (A1000のドコモ版)Symbian2005年
    HTC HT-03A (HTC Magicのドコモ版)Android 1.6 → 2.3?
    富士通 F-05DAndroid 2.3 → 4.02012年3月
    Sony Xperia Z5Android2016年6月
    iPhone 8iOS2019年10月