2009年1月30日金曜日

MS Word でテキストボックスの行間を設定する - デフォルトの行間よりも狭める

1. 行間を狭めたい

Word で 090130-004 テキストボックスを使い、文章を複数行入力した。

デフォルトでは、行間が広いので狭めたい。

090130-001

 

2. グリッド線に合わせない

上記の文字を選択し、右クリック > 段落

「インデントと行間隔」タブ > 間隔 の

1ページの行数を指定時に文字を行グリッド線に合わせる

チェックをはずす

「間隔」の値を 1 以下に設定すると、行間を狭められる。

090130-002

例えば、上記の値を 0.75 にすると、以下のようになった。

090130-003

 

グリッド線の表示

行間は、グリッド線を表示すると、把握しやすい。

【連載】Wordはなぜ思い通りにならないのか? (2) Wordにおける「1字」「1行」とは | マイナビニュース によると、

Wordには標準の「文字サイズ」と「行間」というものが定められており、「1字」や「1行」はこれを基準にした単位となる。初期設定では「1字」=10.5pt、「1行」=18ptに設定されている。仮に20ptの文字を編集している場合であっても、「1字」は10.5ptであり、「1行」は18ptとなる。 …

Wordにおける「1字」や「1行」の概念は少し紛らわしい。これを視覚的に分かりやすく示してくれるのがグリッド線だ。「1行」の間隔を示す行グリッド線は、「表示」タブにある「グリッド線」のチェックボックスをONにすると表示できる。

グリッド線を表示し、先ほどの段落の設定にあった、

1ページの行数を指定時に文字を行グリッド線に合わせる

にチェックを入れると、テキストボックスの内容が、グリッド線に合わせられているのが分かる。

img_0170

標準の行間を変更するには、

  • メニューより、ファイル > ページ設定 > 「文字数と行数」タブ

で設定を行う。

img_0171

はじめての洋梨「ル・レクチェ」

苦手な果物と言えば「瓜」。味自体も好みでないけれど、胃に入るとキュンとして気持ちが悪くなる。 (+_+) 似た系統としてメロンも得意ではない。胃に入ると変な違和感を感じる。家族からは「もったいない、こんなに甘いのに…」と言われるけれど、体が拒否反応。

好きな果物は、最近では洋梨。小さい頃は洋梨の存在自体知らなかった。高校になって洋梨のジュースをはじめて飲み、そのスッキリとした甘さに引かれた。ちなみに「梨」はよく子どもの頃に食べたけれど、あまり好きではない。

 

メジャーなラ・フランス

ごく最近まで、洋梨と言えば「ラ・フランス」のことだと思っていた。しかし、戴き物でこれまで見たことがない形の洋梨をもらったことをキッカケに、いくつか種類があることを知った。

セイヨウナシ – Wikipedia によると、

ラ・フランス

生産量のおよそ7割を占めており、日本における洋なしの代表格である。

なるほど、「ラ・フランス = 洋梨」と思ってしまうわけだ。

 

貴重なル・レクチェ

これに対してもらったのは「ル・レクチェ」という品種。箱を開けた瞬間、ものすごく良い香りがしてびっくり。(@_@) 形も違い、ラ・フランスよりも縦長。

ル・レクチェ – Wikipedia によると、

元々病気には弱かったこと(黒斑病尻くされ輪紋病等)、長期追熟のための広い保管場所が必要なことなどから、生産は難しい。原産地であるフランスでも現在ほとんど生産されていない。

うーむ、これは期待ができる。 ^^

 

食べ頃

早速食べて見たら、「あれ?それほど味はラ・フランスとは変わらないかな…」と。良く見たら食べ頃ではなかった。 ^^;

ルレクチェ によると、食べ頃は、

「色」 美しいブライトイエローに変化します。
「香り」 甘くて香水のような香りがひろがります。
「じく」 茶色のじくが、しわしわになってきます。
「くび」 実のくびの部分にしわがよってきます。
「硬さ」 実を手に持つと、弾力のある感触を感じます。

食べたとき、「じく」なんて全然しわしわでなかった。

 

待つこと約 1 週間。触ると柔らかさを感じ、「じく」は茶色くしわしわになってきた。

がぶっとひとかみしたら、ラ・フランスのスッキリとした甘さに対して、「どわ~ん、ぼわぁ~ん」と重厚なすごい甘みが口一杯に広がる。洋梨好きにとって、こりゃ、たまらんわ。 ^^

   

2009年1月26日月曜日

入力モードの状態を一瞬で把握 -「IME Watcher reduce」と Firefox のアドオン「IME and DiMENSiON」

1. IME の状態を把握するのは面倒

PC で文字を入力するとき、言語バーをチラッと見て

「今、日本語を入力できるのか?それとも英語を入力できる状態なのか?」

を判断してから入力を開始する。言語バーは、タスクトレイの左横に位置している。

入力する場所から遠く、一々確認するのは面倒。入力したとこ勝負で、思った通りの入力がされなかったら削除して打ち直す、ということが結構ある。しかし、その際イラッとする。 (+_+)

 

2. 言語バーを縦置きにする

090126-012少しでも IME の状態を把握しやすくするために、言語バーを独立化し、縦置きにして画面右端に置くようにした。

  • 言語バーで右クリック > 縦置き

画面右端にはウィンドウのスクロールバーが表示されていることが多い。スクロールバーを使うことがめったにないので、この場所に置いても邪魔にならない。

 

3. IME Watcher reduce

090126-007言語バーを右端に置くだけでは満足できなかったので、IME Watcher reduce をインストールした。

このアプリケーションは、文字を入力する位置に現在の IME の状態を表示してくれる。

 

常に表示する設定

090126-008

  1. タスクトレイより IME Watcher Reduce を右クリックして、「IME Watche Reduce のプロパティ」を選択。
  2. ウィンドウ設定 > ウィンドウに対する設定 > 表示スタイル において、「常に表示する」にチェック。

文字を入力するたびにモードを表示する枠が動くのでうざかったけれど、慣れるとこの方が都合がよい。

 

4. Firefox のアドオン IME and DiMENSiON

IME Watcher reduce は、残念なことに Firefox では動作してくれなかった。(+_+)

Firefox では、アドオン IME and DiMENSiON を利用すると、アドオンは、テキストを入力するフィールドにおいて、IME が直接入力の状態であれば「青色」に、

https://addons.mozilla.org/ja/firefox/addon/4687

IME and DiMENSiON :: Firefox Add-ons via kwout

ひらがな等を入力できる状態だとピンクに背景をしてくれる。

 

ロケーションバーにおける動作と Migemo

IME and DiMENSiON :: Firefox Add-ons によると、

ロケーションバーにフォーカスがあった際には勝手にIMEをオフにします。

ロケーションバーではスマートキーワードを使って、様々な検索や辞書を引いたりする。スマートキーワードは、最初の文字は英数なので問題ない。

また、ロケーションバーからブックマークや履歴を選択したいとき、日本語で入力することもあるけれど、XUL/Migemo を使っていればローマ字で入力すればいいので、この設定でも使いづらくなることがない。

 

その他

追記 (2010.6.19) :

  • 最近では言語バーの状態を知るのに ImeTray を使っている。
  • IME and DiMENSiON に似た機能を持つ IMEStatus というアドオンもある。

2009年1月25日日曜日

Haskell の read 関数で、文字列から代数的データ型へ変換 - 導出インスタンスを使って

1. 文字列から代数的データ型へ変換したい

Haskell の print 関数で日本語を出力するために、以下のコードを参考にした。

上記には、

「文字列から、代数的データ型へ変換するための、Read クラスの導出インスタンスの使い方」

についても、わかりやすく書かれていた。忘れないうちに、練習しておこう。o(^^)o

 

2. Show クラスの使い方はわかってきた

ところで、Read の反対 Show クラスについては、少しわかるようになった。

しかし、Read についてはチンプカンプンだった。 (+_+)

 

3. Read クラスについて

文字列を、特定の型へ変換する例を、最初に書いたのは以下の記事。

この記事を書いたときは、まだ、

「返り値の型を指定する関数」

について理解してなかった。そういう書き方をするものだ、と疑問を持たずに写経。

後になって、腑に落ちなかったので、少し調べた。

 

read 関数の基本

基本となる要点を復習しておく。

例えば、文字列 “100” を読み込んで、数値 200 と足し合わせる場合、

*Main> (read "100" :: Int) + 200
300

read 関数の返り値の型を Int と指定する必要がある。

read の関数の型は、

read :: Read a => String –> a

(Prelude より)

read 関数の、型変数 a は Read クラスのインスタンスだという制約がある。

Int 型は Read クラスのインスタンスとなので、返り値を Int で型付けてもエラーとならない。

090125-002

上記では、返り値を Int と型を指定した。

別の書き方として、read 関数の型を指定することもできる。

*Main> (read :: String -> Int) "100" + 200
300

 

型推論が行われる場合、型を明示的に書く必要はない

ただし、この場合 + 200 と文脈があるので型推論が行われ、

*Main> read "100" + 200
300

のように返り値の型を明示的に指定しなくても大丈夫。

 

実装について

ちなみに実装は、GHC.Read モジュールの中で instance Read Char と定義されていた。

 

Read, Show のドキュメントを読んでも理解できなかった

しかし、これだけでは The Haskell 98 Language Report

を読んでも相変わらず理解できず… (@_@;)

 

4. Read クラスの導出インスタンスを使う

そこで最初に参考にしたコードを真似て、Read の導出インスタンスを使う方法を試してみる。データは、前回と同じく Person 型の値とする。

以下の内容で UTF-8 で保存。(person.txt)

Person {name = "太郎", age = 20}
Person {name = "次郎", age = 30}

 

フィールドラベルで値を構築

その前に、「フィールドラベルを使って値を構築できるんだっけ?」と疑問を感じたので、調べたら、

ラベルの付いたフィールドをもつ構築子は構成要素が位置ではなく名前で 指定される値を構成するのに使用できる。宣言リストで用いるブレースとは 違い、これらはレイアウトの支配を受けない。

(3.15.2 フィールドラベルを用いた構築 より)

知らなかった。 ^^;

 

導出インスタンスを使って定義

一行ごとに、文字列から Person 型へと変換を行うことにする。person.hs の記述は、以下の通り。

import qualified System.IO.UTF8 as U

data Person = Person {name :: String,
                      age  :: Int} deriving (Read)

instance Show Person where
    show (Person name age) = name ++ " " ++ show age

main = U.getContents >>= U.print . map (read :: String -> Person) . lines

コマンドラインより、

runghc person.hs < person.txt > result.txt

結果は、

[太郎 20,次郎 30]

次は自前で実装する方法を調べよう~。 CCC

追記(2011.11.26) : コンマ区切りのデータを、一度タプルに変換した後、特定の型へ変換する方法は、以下を参照。

2009年1月24日土曜日

Haskell の print関数 (utf8-string) で日本語を出力

1. print 関数で日本語が文字化け

Haskell で print 関数により日本語を出力すると、文字化けする。 (+_+)

例えば、「人」を表わす代数的データ型 Person が、「名前」と「年齢」を持っているとする。Person 型を Show クラスの導出インスタンスとして、Person 型の値を print 関数によって出力させる。ファイルは UTF8 で保存。

(cf. Haskell で日本語表示 - utf8-string を利用して)

import qualified System.IO.UTF8 as U

data Person = Person {name :: String,
                      age  :: Int} deriving Show

main = U.print $ Person "太郎" 20

結果は、

Person {name = "\22826\37070", age = 20}

なぜか名前が変な数字に。 (@_@;)

 

2. System.IO.UTF8 の print 関数は、ユニコード値を出力する

System.IO.UTF8 の説明には、

… This function differs from the System.IO.print in that it preserves any UTF8 encoding of the shown value.

UTF8 の値を保持しているとは、どういうことだろう…?

 

JavaScript で Unicode の値を確認

Javascriptで数値文字参照の値を求める方法」のサイトで、「太郎」と入力したら、結果は、

&#22826;&#37070;

Haskell で出力したときと、同じ数字が返ってきた。

そこで、上記サイトの JavaScript のソースを見たら、charCodeAt メソッド利用により、値が出力されている。

String – MDCcharCodeAt によると、

与えられた インデックスの文字の Unicode の値を示す数を返します。

なるほど、あの数字は Unicode を表わす値だったということか。

念のため、JavaScript で、以下のコードを実行。

var tarou = "太郎"
for (var i=0; i < tarou.length; i++){
    console.log(tarou.charCodeAt(i));
}

結果は、先ほど同じになった。

22826

37070

 

3. Show クラスの導出インスタンスを利用せず、自前で実装

上記のように、Unicode 値ではなくて、print 関数で文字を出力したい。

に書かれているコードでは、printf 関数が使われており、日本語が出力できている。この関数によって日本語が表示されるのか、それとも、導出インスタンスを利用していないから出力されるのだろうか?

試しに Person 型を Show クラスのインスタンスにして、show 関数を実装してみると、

instance Show Person where
    show (Person name age) = name ++ " " ++ show age

結果、日本語が表示された。

太郎 20

ということは、deriving Show が原因だったのかな?

 

4. その他


5. 関連記事

2009年1月19日月曜日

Google 検索における all ○○○ オプション

1. Google 検索のオプション

Google で検索するとき、意識しないで使っているのが AND 検索。複数の検索ワードを入力すると、AND 検索になる。

次によく使うのは、site: オプションを付けたサイト内検索OR 検索よりも使うことが多い。

たまに使うのが、 site:inurl: を組み合わせた検索。独自ドメインでないサイト内検索をするときに使う。

最後に、まれに使う intitle: 検索。ページのタイトルを対象にした検索をすることがある。

 

2. 接頭辞が all ○○○ の検索オプションは AND 検索

090119-036検索オプションの内、使いこなせていないのが all ○○○ シリーズ。

  • allintitle:
  • allinurl:
  • allinanchor:
  • allintext:

例えば、普通に AND 検索をすると、ページのタイトル、ページの内容を検索してくれる。そのため、たくさんの結果が表示される。

これに対して、allintitle: オプションは、タイトルのみを検索対象とした AND 検索。そのため、検索結果を絞り込むことができる。

intile オプションと比較すると、違いが分かる。

 

3. サイト内検索と組み合わせて、ブログのタイトルから抽出

自分のブログを検索してみる。

で検索すると、いくつかの記事が表示される。

allintitle を使うと、記事をかなり絞り込める。

 

3. 検索オプションを忘れたら「表示設定」を見る

Google の検索において、「表示設定」を選択。

090119-033

表示言語を、「英語」変更する。

090119-034

例えば、 allintitle オプションを忘れた場合、Advanced Search において、

Date, usage…

のオプションを開き、

Where your keywords…

において `in the title of the page’ を選択し、検索したい単語を入力する。

090119-035

 

参考サイト

2009年1月18日日曜日

痛恨の Google Notebook 開発中止 (+_+)

追記 (2010.6.5) : 未だに Google Notebook を使い続けているけれど、アドオンを無理に利用しなくなった。ノートするときは新規ウィンドウで Google Notebook を開き、Make Link で文章を引用するための形式をカスタマイズ してコピペするようにした。


 

え… (@_@;)

何か悪い冗談かと思いきや、リンク先の開発ブログを見たら、

Starting next week, we plan to stop active development on Google Notebook.

(Official Google Notebook Blog: より)

パタッ(o_ _)o~†

 

欲しかった機能

Google Notebook was announced on May 10, 2006 and made available May 15, 2006.

(Google Notebook – Wikipedia より)

自分のノートブックの一番古いクリッピングを見ると日付は `06/07/04’ 。もう 2 年以上も使っていることになる。内容は GTD に関するものだった。

その後、タグ付け、Google Bookmarks と統合、Google Docs にエクスポートなどゆっくりと進化。最近まで携帯から利用できることを知らなった。 ^^;  Google のサービスの中では検索を除けば、今では Gmail, Blogger についで依存度の高いものになっていた。

Google Notebook はいくつかの点においてシンプルで、追加して欲しかった機能はいろいろとある。例えば、

  • ノート内でもっと階層化したい。
  • ノート自身にタグを付けたい。
  • ノート間でリンクを貼りたい。
  • タグの俯瞰

など。

 

ノートブックの使い道はプライベートグーグル

正直、最初はどういった用途に使うのがいいのかわからず、あまり使っていなかった。しかし、友人や家族でちょっとした内容を共有したいときや、特定のテーマで調べものをするときに頻繁に利用するようになった。

気になることを読んだら「未分類」という名前のノートにメモ。このブログと共にお陰で覚えておくべきことを忘れることができ、いざとなったら検索すればいいやと思えるようになった。普通の Google 検索では、時によりその内容が変化してしまうけれど、自分が一度読んだものであれば、それがある程度コントロールできる。ノートの内容はプライベートな Google 検索となり、一度自分が目にしている分だけ目的のものに早く辿り着くことができるようになった。

「気になること」はどんどんノートを作成して蓄積させている。気になる程度なので、内容はまとまっていないし、クリッピングした時点では何と関連するかわからない。ノート間で内容が重複しようが構わずメモ。しかしこれが結構重要で、後でノートを検索するとき、思ってもいない文脈でひょっこり顔を出してくれることがあり、突然つながりを見出せることも。なぜなら、ある程度ノートという形でまとめようと試みているので「気になるなり」の文脈ができており、他の情報と併せて見たときに関連付けやすく、情報がお互いに引き寄せられることがあるからだ。セレンディピティのツールとしても役に立ってくれている。だから、Google Bookmarks とノートブックが統合されたときには、Google が個人の知識の構造化にも関心があり、そういった方面にも力を入れていくのだろうと期待していた。

 

クリッピングする意味

Google ノートブックに類似したサービスとして、クリッピングというと最近では Tumblr を連想する。クリッピングするということは要点を抽出することであり、情報をなるべく頭の中に残すために情報をスリム化することだ。また、その能動的な作業により、個々の情報へより注意が向けられ、後の再生・再認率を上げていると思う。自分が理解できる言葉をクリッピングしているというのも大きい。Tumblr と違い、Google ノートブックでは後で役に立つだろうと考えるものに絞り、また、時には要点だけではなく、まるごと保存することもある。

 

代替は?

Evernote

さて、サービスとしてはまだ存続するようだけれど、開発がストップしてしまったものを使うのは心許無い。突然、使えなくなってしまったらどうしよう…。 (+_+) 今から代替を考えておかねば。

有名所としては、最近よく見かける Evernote 。しかし、無料では月に 40 MB の制限がある。

自分がどれくらい容量を使うのかわからない。間違いなくそんなに今は使っていないと思うけれど、イメージがたくさん含まれている場合、上限を気にしなくてはいけなくなるかも。 (@_@;) 上限を気にしながらのクリッピングは心理的にどうしても避けたい。

しかし、これは気になる。

Evernote is working on a Google Notebook importer. We will have it up and running soon. Tell all your GN-using friends.

(Twitter / Evernote: Evernote is working on a G ... より, via Google Notebook廃止の動きを受け、 Google Notebookのインポート機能を開発中! )

 

 

ZOHO Notebook

ZOHO Notebook はとてもおもしろかった。見た目シンプルな Google Notebook に対して、高機能な ZOHO という感じ。アカウントを登録するとき、Google のアカウントを利用できるところもいい。ただし、検索をすることができないようなので今のところ代替にはならない。友だちとメモを共有するのにはいいかも。

追記 (2009.1.20) : Zoho Notebook:拡張機能 を読むと興味深い。欲しかったノート間のリンクもお手軽にできそうだし、録音まで簡単にできるとはすごい。

 

やっぱりショック

それにしても、Google ノートブックのようなメジャーなサービスが開発中止になるとは思ってもみなかった。どこかで「Google なら大丈夫」という信頼を抱いていたからだ。

という記事を読んでも、「たまにはそれくらいのことはあるでしょ。」くらいに思っていた。なぜなら、あまりにも無償でいろいろなサービスの恩恵に与っているので、多少のことは気にならなかったからだ。しかし、今後の進化を一番期待していたノートブックが開発中止になってしまうのは結構ショックだった。

Google、Notebookやカタログ検索など6サービスを整理 | ネット | マイコミジャーナル によると、

プロジェクト停止の明確な理由は示されていないが、公式ブログでは代わりとしてSearchWiki、Docsのノート機能、 Gmailのタスク機能、Google Bookmarksなどの利用を勧めており、重複の解消である可能性が高い。

残念ながら、どれも代わりにはならない。もし、Docs に専用のプラグインができ、クリッピングした単位で自由に内容を動かせ、Google Bookmarks とも連動してくれるなら、めちゃうれしいけれど。

 

最後に

いろんなサービスに自分が保持している情報を一括で検索してくれるインターフェイスが欲しい! ついでなら、自分の脳みその中身も検索対象にしたいくらい。 ^^;

2009年1月16日金曜日

Inkscape でパターンをオブジェクトに適用

前回、「Inkscape でストライプのメニューを描く」において、ストライプ模様を描くとき手動で描いた。今回は、特定のオブジェクトをパターンとして登録し、そのパターンをオブジェクトに適用する方法で描く。

 

パターンの作成

光が当っているところを表現した白のグラデーションを配置したところまでは前回と同じ。

090116-025

まず、ストライプのパターンの元になるオブジェクトを描く。ここでは斜めの線を一つだけ描いた。

090116-023

上記のオブジェクトを選択しておき、メニューより、「Object > Pattern > Object to Pattern」を選択。

 

パターンの適用

次に、ピンク色のオブジェクトを複製 (Ctrl + D)。

090116-026

最前面に位置した上記オブジェクトを選択しておき、メニューより「Object > Fill and Stroke」。Fill タブにおいて Patten を選択。 Pattern fill セレクトボックスでは、先ほど作成したパターンを指定する。

090116-027

 

以下がパターンを適用した結果。

090116-028

後の操作は前回と同じ。

 

パターンの変形

パターンの位置や大きさ、角度を変更したい場合は、editpath パスを編集するためのツールでパターンを適用したオブジェクトを選択し、表示されたハンドルを移動させる。

090116-029

移動後。

090116-031

Inkscape で文字の大きさ・位置を変更

文字の操作の中で位置の変更はよく忘れる。 (+_+)

以下、最初に select 「選択ツール」が選択されているとする。

 

拡大・縮小

文字を選択した後、Alt + > または < 。

090116-019

 

文字全体の間隔を広げる・狭める

文字をダブルクリックして text 文字ツールに切り替え、文字を編集。

Alt + > または < 。

090116-021

 

各文字ごとに位置を変更

Alt + ← ↑ → ↓

090116-022

 

参考

Inkscape で保存した SVG 形式のデータを LibreOffice, OpenOffice Draw や MS Word で読み込む

1. Inkscape のベクタ-イメージを、他のアプリで利用したい

Inkscape で作成したデータはベクタ形式。どれだけ拡大しても、なめらかな曲線で表示される。この形式のデータを他のアプリで利用したい。

 

2. Inkscape のデータを LibreOffice, OpenOffice で読み込む

090116-017Inkscape で作成したデータを LibreOffice, OpenOffice で読み込みたい場合、Inkscape でデータを保存するときに、

OpenDocument drawing (.odg)

を選択する。

ただし、日本語のファイル名は文字化けをした。保存先が日本語を含むフォルダだと保存できない。そのため、c: の直下などを保存先にすると良い。

 

LibreOffice, OpenOffice で編集

データを編集したい場合、OpenOffice Draw で開いた後、

  • 画像を右クリック > グループ解除

により、要素を変更することができる。

 

保存形式は XML

OpenOffice のデータの保存形式は XML をベースとしている。

OpenDocument – Wikipedia によると、

XMLをベースとしたオフィススイート用のファイルフォーマットである。

… ISO/IEC 26300 として標準規格に認定されている。…

例えば、Microsoft Officeで作成したファイルは、未来永劫にわたってMicrosoft Officeを使用し続けられる保証がない以上、やがて活用することが困難になる状況も想定される。そのため、特定ベンダに独占されないオープンなファイルフォーマット(オープンフォーマット)の要求がおきた。

同じように SVG も XML で記述されている。

Scalable Vector Graphics – Wikipedia によると、

XMLで記述するため、Webブラウザ上で閲覧でき、テキストエディタなどで編集することができる。またハイパーリンクを画像中に埋め込んだり、JavaScriptなどと連携させることもできる。

 

3. Inkscape のデータを、MS Word で読み込む

コピー ~ 090116-017

MS Word で読み込むためには、Inkscape で保存するときに、

  • Encapsulated Postscript (*.eps)
  • Enhanced Metafile (*.emf)

を選択する。

activecell epsファイルをOfficeで使用する時の注意 によると、

EPSイメージファイルはMSOfficeの標準インストールで使用できる一般的なフォーマットです

Encapsulated PostScript – Wikipedia とは、

PostScriptをベースとし、バウンディングボックスプレビュー画像等の他のメディアに埋め込む際に必要な情報を補った画像ファイルフォーマット

ベクトルデータとビットマップデータの両方を含むことができ、ベクトルデータのみを含むEPSファイルは、画像を拡大しても画質が落ちることはない

 

MS Word で編集

上記の形式で保存したファイルを MS Word で開いた後、

画像で右クリック > 図の編集

を選択することにより、個々の要素を変更できる。

 

4. その他

Inkscape でぼかした (blur) 要素は、OpenOffice Draw, Word 共に再現されなかった。

2009年1月15日木曜日

Drupal の Book モジュールによるメニューのカスタマイズ

要件

構造

サイトの構造が以下のようであるとする。

  • トップページ
    • A
      • a1
      • b2
    • B
      • b1
    • C
      • c1
 
レイアウト

レイアウトは、以下のような小規模なサイトに見られる典型的な形を想定。メニューに「A, B, C」の項目があり、それぞれに詳細なコンテンツを配置。

以下では、メニュー A が選択されている状態で、左のサイドバーには A に関する詳細な内容 a1, a2 が表示されている。

090115-007

 

Book モジュールを利用

管理セクション › サイトの構築 > モジュール」の「コア - 任意」の 「Book」 モジュールを有効にする。

090115-008

 

ブロックの設定

左のサイドバーに A, B, C の内容詳細 a1, a2,… に対するリンクが表示されるようにする。

まず「管理セクション › サイトの構築 > ブロック」において、「無効」になっている「ブックナビゲーション」のセレクトボックスにおいて「左サイドバー」を選択し、ブロックの保存ボタンを押す。

090115-009

ただし、このままでは全てのページにおいてブックナビゲーションが表示されてしまう。

これを変更するために、上図のブックナビゲーションの「設定」をクリック。

「ブロック固有の設定」の「ブックナビゲーションブロックの表示」において、「ブックページにのみブロックを表示」のラジオボタンにチェックをつける。

090115-012

 

コンテンツの作成

「コンテンツの作成」において「Book Page」を選択。「A, B, C」のコンテンツの作成時には、「ブックアウトライン」の「ブック」のセレクトボックスにおいて「<新しいブックを作成>」を選択する。a1, a2… などの内容詳細のコンテンツの作成時には、それぞれ親となる A, B, C のコンテンツを選択。「ウェイト」セレクトボックスは表示される順序を表わす。

090115-010

 

メニューの作成

画面上部のメニューは、「管理セクション › サイトの構築 › メニュー > プライマリリンク」で作成する。先ほど作成した A, B, C のコンテンツの URL のうち、

node/数字

の部分を控えておき、プライマリリンクの作成時のパスに設定する。

090115-011

 

完成~ ^^

090115-013

2009年1月14日水曜日

Meadow (Emacs) のライブラリをポータブルに - Dropbox へ配置

1. php-mode のインストールと設定

Emacs で PHP を編集するために、php-mode を利用する。

SourceForge.net: PHP mode for Emacs からダウンロードして解凍。

設定方法は、Installation - PHP Mode Manual を参考にして、

  1. Emacs Lisp のライブラリに php-mode.el を置く。
  2. .emacs に以下を追記。
(load "php-mode")
(add-to-list 'auto-mode-alist
     '("\\.php[34]?\\'\\|\\.phtml\\'" . php-mode))

PHP ファイルを Emacs で開いた場合、表示が次のように変わる。

g2413

 

拡張子を追加

Drupal のソースファイルの拡張子は .php ではなく、.module, .inc 。この拡張のファイルを開いたときも、php-mode を利用したい。

Installation - PHP Mode Manual  を参考にして、

(add-to-list 'auto-mode-alist '("\\.module\\'" . php-mode))
(add-to-list 'auto-mode-alist '("\\.inc\\'" . php-mode))

 

2. Dropbox に Emacs のライブラリを置く

現在、Emacs のライブラリはローカルに配置している。どの場所にいても、同じライブラリを使いたいので、ライブラリを Dropbox フォルダに置くことにした。

My Documents\My Dropbox

に eslips フォルダを作成。上記の php-mode.el を置いた。

初期設定ファイル (~/.emacs) に、ライブラリのフォルダを認識させるために、以下を記述。

(add-to-list 'load-path "~/My Documents/My Dropbox/elisp")

 

3. その他

設定に関する関数や変数を調べたい場合、

正規表現におけるバックスラッシュについては、

Google デスクトップのインデックスの内容を完全に削除して再作成したら調子いいかも?

たまに、Google Desktop の調子が悪くなる。そのため、タスクトレイにある Google のアイコンからインデックスの再作成をすることがしばしば。少し前に、インデックスの作成される場所を変更した。

 

Google Deskop が影響?

Google Desktop が原因か今一よくわからないけれど、まめ File 5 の動作に影響を与えているように思えることがある。新しくタブを開こうとすると極端に動作が遅くなり、Google Desktop を終了させるとスイスイ動作することがあった。インデックスは作成しなおしたばかりだったけれど、インデックスが作成されるフォルダの内容を全てゴミ箱へ入れ、再度インデックスを作成。

 

結果、まめ File 5 の動作が元に戻った。また、以前 explorer.exe が頻繁に暴走し、やむなくbb4win へ乗り換えていたけれど、試しに explorer.exe に戻したら問題なくなっている。加えて、起動できなくなっていた UltraExplorer が起動するようになった。

追記 (2009.3.20) : 原因は設定ファイルが壊れたためだったようだ。 (cf. また UltraExplorer が起動しなくなった)

暴走するようになってからの間に Windows Update や ATI Catalyst をアップデートしているので、本当の原因はわからないけれど、Google Desktop が影響を与えていたのだろうか?