2014年10月12日日曜日

LibreOffice ImpressやMicrosoft Powerpointでわりと簡単に家系図を作る方法

研究室で「Excelで家系図を作れば簡単と聞いたがわりと面倒だった」というのを耳にしたときに、「Impressとかパワポ使ったらわりと簡単なのに……」と思いました(思っただけ)。

歴史学徒の場合、もちろん時代や研究対象によりますが、家系図を自前で作る必要がある場合も少なくないはず、と思って、「ImpressやPowerpointでわりと簡単に家系図を作る方法」を書き残しておきます。少なくともExcelよりかは自由度が高くていいと思います。

これから解説ですが、内容もスクショもすべてUbuntuのImpressです。Powerpointでも同等の機能があることは確認しているので、適当に読み替えるなり、相当するものを探すなりしてもらえれば、同じようにできるはずです。
前提はここまでにして始めます。

全体を通じて、「コネクター」と「整列」がキーワードです。特に後者はきちんと行わないと、線に段差ができたり、きれいに並んでいなくて見づらくなったりする、という事態が生じると思います。

さて、具体的な手順。
まず、テキストボックスで親を用意します。ついでに、用意した「親1」「親2」を水平方向で整列しておきます。

コネクターを選択して

「親1」のテキストボックスの右側から
 「親2」のテキストボックスの左側にコネクターを張ります。

コネクターの線種に二重線(=)があればいいのですが、少なくともImpressにはないので(Powerpointもなかったと思う)、太めの線の上に細めの白線を置いて二重線に見せる方法を採ります。
見せかけの線は1.5ptで揃えていきます(1)。
まず、先ほど引っ張ったコネクターの線の太さを6ptにセットします。
 先ほど同様に上からコネクターを「親1」から「親2」に張ります。

先述の(1)の通りにしたいので、今張ったコネクターの線の太さは3ptにします。そして、線の色を白に設定します。

これでだいたいOKなのですが、下の「親1」の側にように何か変な線が入ってしまいますが、これは重ねた白線が下の線より、ごくわずかに短い状態になっているからです。コネクターが自動的にテキストボックスをつないでいるため、これは微調整でどうにかなるものじゃありません。

なので、白線の側の頂点を出っ張らせることで対応します。

頂点の形状を「四角」に変えるといい感じに出っ張ってくれて、変な線も消えます。

ここで「子1」が生まれました。親同士をつないでいるコネクターの中心から「子1」上中央部にコネクターを張り、線幅を3ptにします。このままだと、白線の上に新しいコネクターが被ってしまうので、これを最背面に移動し隠します。

一人っ子核家族の家系図の完成。

2人めの「子2」が出来ました。子1の場合と同様につなぎ、処理します。「子1」へと伸びる線と「子2」へと伸びる線とがちゃんと重なるように、「上揃え」で整列させます。(「中央揃え(垂直)」だと文字ごとの大きさの兼ね合いから、うまく揃わず、段差ができてしまうことがあります。)

とりあえず、きれいに整列されてないけど、新しい家系図の完成。

これを整列していきます。親のテキストボックス2つを選択して、グループ化。同様に子のテキストボックスもグループ化します。

作ったグループ2つを選択して「中央揃え(水平)」で整列します。

これで、左右対称になってきれいに整いました。子の数がもっとある場合は、分布を使って、間隔を揃えてやるときれいです。

高校世界史の資料集にあった王朝系図を作ってみたらこんな感じ。一番の売りと思しき婚姻の二重線が1箇所しかないのはご愛嬌。
コネクターはテキストボックスを移動させた場合でも追従してくれますし、折れ曲がる位置も調整できるので、レイアウト変更に対応できるのが便利ですね。

CalcやExcelで作る場合と比べていかがでしょうか。個人的にはスプレッドシートで家系図を作るとか嫌すぎるので、検証は割愛しますが、こちらのほうが直感的で自由度が高く、二重線問題も重ねることで解消できるのでおすすめしたいと思います。