2015年3月24日

入れ子の夢

うたたねをするといやな夢をみる。

子どもを一人亡くしてしまう。
溺れてしまったのだ。
探して探して、見つけた時には、手のひらに載るほど小さな体になっていた。その小さな冷たい背中を撫でてやる。

私は疲れて眠っている。

どこなのか、大きな吹き抜けのあるコンクリート造りの家。いとこの誰かのところなんだろうか。

インターホンでそこの奥さんが「これなに?」と夫に尋ねる。「オウゴンゾウムシだな。珍しいから写真に撮っておきなさい」と応えている。屋上ではそこのうちの子ども(成人している)たちがバーベキューで歓声をあげている。

下階に降りていくとお寺のような広いよく磨かれた木の廊下。「あ、お父さん」と私を見つけてうちの娘が声をかける。三男もいる。私はそのまま廊下を歩いていく。どこへ?

…というところで目が覚めたので、起き上がる。うたたねをしていたつもりなのに、ズボンもシャツも脱いでいた。

ズボンを履きかけたところで、本当に目が覚めた。


(溺れた子どもは長男でも次男でもないと思う。その前、生まれてこなかった二人の子どもたちなのかもしれない。)

2015年2月19日

Excelでカレントセルのアドレス・内容を呼び出す

Excelで条件付き書式を複数のセルにいっぺんに当てるには、カレントセルのアドレスや内容を関数で呼び出しておく方がいい(というか、そうしないといっぺんに当てられない)。そのための備忘メモ。
  • 行位置:row()
  • 列位置:column()
  • セル番地:address(row(), column())
  • 内容:indirect(address(row(), column()))
要するにrowとcolumnのふたつの関数は引数を空にしておけばカレントセルの行・列位置を返してくれるってことなんだな。

これを使えば、カレントセルの内容が左隣のセルより1大きいという条件は、
=indirect(address(row(), column()-1))+1=indirect(address(row(), column()))
これを条件付き書式で「数式を使用して、書式設定をするセルを指定」の欄に書けばいい。けっこう面倒だな。(しかもこの欄では、入力補完も関数のヘルプ参照もない。カーソルキーを叩こうものなら……)

そうそう、この欄に書く「数式」の左端の等号は、式の残りの式の真偽を吟味するという意味なので、上の式だと真ん中の等号とは意味が違う。これもややこしい話。


2014年11月27日

紙の重さ

自分のための備忘録です。

紙のパッケージに「B4 100枚 40g/m2」と表示してあることがあるけど、この「40g/m2」は“つぼりょう(grammage)”というもので、単位をみればわかるけど、その紙の1m2あたりの重さ。



A0版の面積は1m2、B0版の面積は1.5m2だから、坪量G (g/m2) の用紙1枚の重さは次のように計算できる。
  • An版用紙1枚の重さ=G/2n (g)
  • Bn版用紙1枚の重さ=1.5G/2n (g)

このトレーシングペーパーだと、1.5×40÷24=3.75 (g) ということになるらしい。

2014年6月22日

漢数字を無思慮に洋数字に変える

縦組みだからとせっかく漢数字に直したけど、Blogで公開するときは横組み。漢数字のままでもいいんだけど、世間に迎合して洋数字に書き換えよう。

ということで、またまたperlスクリプトを書いてみた。ただ単純に置換しているだけだから、数字の入った漢字熟語まで無思慮に変換してしまうのでご注意を。

(『すぐわかるPerl』『すぐわかる オブジェクト指向 Perl』『文字コード「超」研究』の著者・深沢千尋さんがご自身のBlog「イジハピ!」に、このスクリプトの“すぐわかる”解説を書いてくれました。うれしい!  http://blog.query1000.com/archives/39051213.html


#!/usr/bin/perl

use utf8;
binmode STDOUT, ':utf8'; 
binmode STDERR, ':utf8'; 
binmode STDIN, ':utf8';

while(<>) {
  # 単位語の前に数字がない場合「一」を補う
    s/(?<![一二三四五六七八九千百十])(?=[兆億万])/一/g;
    s/(?<![一二三四五六七八九])(?=[千百十])/一/g;
  # 欠けている桁をゼロとして復活させる
    s/(?<=兆)(?![一二三四五六七八九][十百千万]?億)/〇億/g;
    s/(?<=億)(?![一二三四五六七八九][十百千]?万)/〇万/g;
    s/(?<=[兆億万])(?![一二三四五六七八九]千)/〇千/g;
    s/(?<=千)(?![一二三四五六七八九]百)/〇百/g;
    s/(?<=百)(?![一二三四五六七八九]十)/〇十/g;
    s/(?<=十)(?![〇一二三四五六七八九])/〇/g;
  # 単位語のうち千百十を消す
    s/[千百十]//g;
  # 億万でゼロを整理
    s/〇〇〇〇[億万]//g;
    s/(?<=[兆億万])〇+//g;
  # 洋数字に変換
    y/〇一二三四五六七八九/0123456789/;
  # 3桁毎にコンマを挿入
    s/(?<=\d)(?=(\d\d\d)+(?!\d))/,/g;

    print $_;
}


*7月7日訂正:次の赤字部分を付け加えました。これがないと「二億二百万」などで4桁余分の0が入ってしまいます。

  # 欠けている桁をゼロとして復活させる
    s/(?<=兆)(?![一二三四五六七八九][十百千万]?億)/〇億/g;
    s/(?<=億)(?![一二三四五六七八九][十百千]?万)/〇万/g;

*7月8日補正:単位語のうち兆億万は残して、ゼロの羅列を減らしました。

*7月9日訂正:億万でゼロを整理のところの2行目で洋数字の0は間違いで漢数字の〇にしないといけませんでした。
  # 億万でゼロを整理
    s/〇〇〇〇[億万]//g;
#   s/(?<=[兆億万])0+//g; #誤
    s/(?<=[兆億万])+//g; #正

2014年6月19日

洋数字を単位語入りの漢数字に変換するぞ

縦組みで数字はやはり漢数字で書きたい。でも原稿はたいてい洋数字で書いてくる。

いちいち書き換えるのは面倒だし、間違えやすい。そこは計算機に任せよう。

perlの先後読み正規表現を使って、単位語を入れる位置を指定すれば、意外に簡単かも。ちゃんと動くかな?


#!/usr/bin/perl

# utf-8テキストを扱うまじない
use utf8;
binmode STDOUT, ':utf8'; 
binmode STDERR, ':utf8'; 
binmode STDIN, ':utf8';

while (<>) {
  # 数字は半角にそろえておく
    y/1234567890/1234567890/;
  # 単独の0は「ゼロ」に書き換える
    s/(?<!\d)0(?!\d)/ゼロ/g; 
  # 桁区切りのコンマを取っておく
    s/(?<=\d),(?=(\d\d\d)+(?!\d))//g;
  # 4桁ごとに区切って万億兆を挿入
    s/(?<=\d)(?=\d\d\d\d(?!\d))/万/g;
    s/(?<=\d)(?=\d\d\d\d(?=万))/億/g;
    s/(?<=\d)(?=\d\d\d\d(?=億))/兆/g;
  # 下から1桁ずつ十百千を挿入
    s/(?<=\d)(?=\d(?!\d))/十/g;
    s/(?<=\d)(?=\d(?!\d))/百/g;
    s/(?<=\d)(?=\d(?!\d))/千/g;
  # 0になってる桁を削除
    s/0[十百千]//g;
    s/億0万/億/g;
    s/兆0億/兆/g;
    s/0//g;
  # 十百には1をつけない
    s/1([十百])/\1/g;
  # 各桁を漢数字に書き換え
    y/123456789/一二三四五六七八九/;

    print $_;
}


6月25日 修正:「0万」「0億」が消えてしまってはよくない場合があるので、「億0万」「兆0億」の場合だけ消えるようにした。
7月10日 改訂:もとの洋数字がコンマ区切りでも変換でるように、コンマ消去の処理を最初に付け加えた。ただしく3桁ごとに区切ってないとうまく変換できないけど、後にコンマが残るので、もとの桁区切りがおかしかったことがわかっていいかな。
10月13日 修正:「海抜0m地帯」なども0が消えてはいけないし、こういったものは縦書きだと「ゼロ」と書くことが多いので、そんな場合に対応できるようにした。



未来の自分のためにちょっとメモ:

(?<=\d)(?=\d\d\d\d(?!\d))は、

後読み
後ろをちょっと振り返えれば (?<= )
数字\dがひとつは見えて (?<=\d)

先読み否定先読み
先を望めば (?= )
数字がよっつ見えて \d\d\d\d
さらにその先は数字じゃない (?!\d) (←もちろん、文字がなくてもかまわない)
(?=\d\d\d\d(?!\d))

そういう場所。
文字じゃなくて場所だってところが味噌。
組版的には字間かな。


2014年1月15日

ことしもカレンダーを作ったけれど…

「週単位で仕事をする人のためのカレンダー」、ことしも作った。でも、ことしは自分の業務用に徹して、遊びなし。判型も小さくした。



PDF版はこちらに置いてあるけど、いらないよね。

普通のカレンダーのように月ごとじゃなくて、週が途切れないこのデザインは2012年から作っているんだけど、OS X 10.9からカレンダーアプリが同じ形式になった。

2013年5月15日

プレビューで見られるものは何でもアイコンに

これもまた遼東の豕だろうけど……

OS Xではプレビュー.appで表示できるものなら、ファイルやフォルダのアイコンに使える。しかも、わざわざアイコンファイルに変換する必要もない。Windowsでもそうなのかな?

では、手順を…

(1) ファインダー:アイコンを変えたいファイル・フォルダの「情報」を表示する。
(2) プレビュー:アイコンに使いたい画像をプレビュー.appで表示する。


(3) プレビュー:サムネールを表示させる。



(4) プレビュー:サムネールを選択して、command+C でコピー。


(5) ファインダー:「情報」のアイコンをクリックして、command+V でペースト。


(6) できあがり。簡単。




2013年4月20日

dona nobis pacem

アラビア語の「こんにちは」は、
「アッサラーム アライクム」

返す「こんにちは」は、
「ワ アライクム ッサラーム」。

「サラーム」はヘブライ語の「シャローム」と同じく「平安」。

すぐ隣りの民族だから、訛の差程度しかない。
ヘブライ語の方はダークダックスが「シャロームの歌」を歌ってたから日本人には馴染みがあるかもしれない(一部の世代だけ?)。


で、「アライクム」は「あなたの上に」。「ワ」は「そして」なので、直訳すれば、

「平安があなたのあなたの上に」
「いやいや、あなたの上にこそ平安を」
…と実に思いやりに満ちた挨拶。

そういえば韓国・朝鮮の挨拶「アンニョンハシムニッカ」でも、
「アンニョン」は「安寧」だな。「ハシムニッカ」は「〜ですか」。
これもまた平和な挨拶。

日本語の挨拶「こんにちは」は、述部が省略されていて、それはそれなりに汎用性がある。どんな天候の日でも使えるw

では、アッサラーム アライクム!

2013年1月4日

経籍繙更黄、渾欲不勝筆、

明けましておめでとうございます。

Blog読者のみなさまには遅くなりましたが、新年の挨拶を申し述べさせていただきます。



ことしは芋版を使ってみました。むづかしい…  スタンプ台を使えば簡単だろうと思ったのですが、版にインキがなかなかのりません。

背景は、彌永昌吉・彌永健一『集合と位相 I 』(岩波講座 基礎数学)のp. 25。無限系譜として自然数が立ち上がるところです。岩波講座基礎数学は学生時代に買ったものですが、通読したのは『線形代数』のIとIIだけ、この『集合と位相 I 』は十年ほど前に半分ほど読んで行き詰まったままになっていました。それを昨年からまた読み始め、また行き詰まって、最初からもう一度、読み直しているところです。理解が用紙の酸化にまったく追いついていません。余命は20年ぐらいでしょうけど、なんとかこの講座を読み通したいと思っています。(学問の進歩とはまったくはずれたところにいるので、これでいいのです)

なお、標題は杜甫「春望」のパロディです。こういうもってまわった冗談も癖になってきました。

こんな私ですが、ことしもよろしくお付き合いください。

2012年12月6日

52週はたらく人のためのカレンダー CE2013版

昨年につづいて「52週はたらく人のためのカレンダー」をつくりました。

普通のカレンダーだと月をまたぐ週が、週単位で仕事をしている私にとっては見にくいのです。

ごくごく趣味的に地球の動き、月の動き、惑星たちの動きを記しています(『理科年表』によりました)。しかも、それぞれの時刻も示しました。

例えば、11月の望は18日なのですが、その時刻は0:16分。これは未明ですから、「18日の夜」にはもう十六夜月に近くなっています。実感的には「17日の夜」が満月なのです。そんなことが分かるようにしました。

内惑星は東西の最大離角の日を、外惑星は衝の日を示しました。冥王星が入っているのは作成者が「どってんかいめい世代」だからです。


来年は、欠けながら没する部分月食がなんとか見えるぐらいで、空は地味な年のようです。でも、中秋の名月は9月19日の夜8時ごろ、眺めるのにちょうどよい高さに正真正銘の満月がかかるはずです。7月2日は半夏生ですが、冥王星が衝。なにやら妖しげな日になりそうです。



PDFをサイトに置いてきましたので、よろしければ、ご自由に(かつ自己責任で)お使いください。https://sites.google.com/site/amplexicaule/file_cabinet

[12/24 第2版] 流星群の極大日も載せました。なお、日曜日に振ってある通し番号は私が作っている新聞の号数です(ちょっとおじゃまでしょうが、消し忘れました ^^)