Wordを使った文書作成 †
最初の授業で行うアンケート調査で、この授業で学びたいことの上位に毎年来るのが、Wordを使ってレポートを書く方法というものだ。今回の授業では、Wordを使って、レポート等の文書を作成する方法を学ぶ。
第7回授業の獲得目標: †
- 1. 正規表現:後方参照に慣れる
- 2. レポートとは何か?
- 3. Wordを使った文書作成: 見栄えの良いレポート作りの方法を練習する
- 4. Wordを使った文書作成に習熟する
正規表現熟語集:後方参照に慣れる †
前回初めて触れた正規表現の後方参照。難しかった、分からなかったという意見もけっこう多かった。そこで、もうすこし練習して、使い方に慣れてみよう。まずは、前回できなかった演習問題から。
なお、前回課題1で、こんな意見を貰った。
テキストデータで整形するよりも、Excelとの合わせ技のほうが早いものもあるので、
無理やりテキストファイルばかりを扱うのはどうかと思います。
とても良いコメントだと思う。全くその通りで、テキストエディタと正規表現を使う方法が、いつも1番速く、楽な方法という訳ではない。エクセルの様々な関数や機能の使い方が分かっている人は、そういう方法を使えば良い。以前に説明したことの繰り返しになるが、
方法は1つでは無い
ただ、授業でテキストエディタと正規表現に重点を置いて講義する理由は、次の2つ。
- 汎用性が高い方法だから
例えば、正規表現による文字列の指定とか、後方参照による順番入れ替えとかは、エクセルの1つ1つの関数を覚えるよりも汎用性が高い。文字列の順番を正規表現を使ってテキストファイルで入れ替えられるなら、大規模シーケンスデータから特定の配列を抜き出して一覧表を作ることもできてしまう。
- 「情報処理マインド」を養うのに適した方法だから
汎用性とも一部重複するが、文字列の中にある共通するパターンを自分で見つけ出して、それをコンピュータに操作させる(検索したり、置換したりする)という一連の流れには、「自分で考えてコンピュータに操作させる」という情報処理的な考え方が凝縮されている。しかも、プログラミングほど大げさでは無く、テキストエディタという日常よく使うアプリケーションでそれが可能だというのが、私が気に入っているところ。それに、前回の演習でやったような、文字列の中から出版年だけを別カラムに切り出すというのは、エクセルでもできなくは無いが、そう簡単ではない。エクセルにやらせる場合も、「文字列の中の共通パターン」を見つけだして、指定する必要がある。データを認識し、目的を考え、処理方法を自分で思いつけるというのは(このことを、情報処理マインドと表現してみた)、情報処理授業では大切なテーマだと考えている。
というわけで、もう少し、まずは後方参照を使った正規表現検索・置換の演習をやってみよう。まずは慣れること、そして、理解することを心がけよう。覚えることを目的にするのでは無く、こんな事ができるんだとか、こんな面白い方法があるんだとか、楽しんで貰えると、嬉しいです。
練習:日付データの形式変更 †
下に友達の誕生日リストが月、日、年の順で書かれている。
April 29, 1984
March 20, 1987
September 23, 1980
December 23, 1982
February 11, 1984
January 1, 1999
May 3, 1988
May 4, 1993
May 5, 1987
November 23, 1985
November 3, 1994
- このリストを正規表現検索置換を使って、
- 年・月・日の順(例:1984 April 29)に並び替えなさい
- 日、月、年の順(例:29 April, 1984)に並び替えなさい
解説 †
- まず、この課題では、月、日、年のそれぞれをどうやって正規表現で表すかを考える。
April 29, 1984
を見ると
月: 行頭から始まって、半角英文字だけがいくつか連続した文字列
日: 空白の次にくる半角数字の連続で次にカンマがくるような文字列
年: 空白の次にくる半角数字の連続で最後が行末
それぞれを正規表現で表すと、
月: ^[A-Za-z]+
日: [0-9]+, (注:正規表現前に空白が1つある)
年: [0-9]+$ (注:正規表現前に空白が1つある)
そうすると、これらを左からならべた
^[A-Za-z]+ [0-9]+, [0-9]+$
が
April 29, 1984
にマッチするはずだ。
- 次に、後方参照を考える
後方参照というのは、()で正規表現を囲むことにより、
その正規表現にマッチした文字列を、置換語として再利用できるものだった
まず、上のそれぞれのパーツの正規表現を、カンマや空白の部分を除いて()で囲ってみると、
^([A-Za-z]+) ([0-9]+), ([0-9]+)$
になる(ここは、()で囲むだけだから単純なことだ。この()で囲んだそれぞれの正規表現がマッチした文字列を、左から順番に
¥1 ¥2 ¥3
という記号で、置換文字列に呼び出すことができる。つまり、1行目ではそれぞれ、次のように対応している。
¥1 → April
¥2 → 29
¥3 → 1984
そのため、もし、置換文字列に
¥3 ¥2 ¥1
と書いたばあい、これは1行目では、
1984 29 April
を表すし、2行目では、
1987 20 March 20
を表すことになる。
- 解答例
検索文字列:([A-Za-z]+) ([0-9]+), ([0-9]+)
置換文字列:¥3 ¥2 ¥1
あるいは
検索文字列:^([^ ]+) ([^ ]+), ([^ ]+)$
置換文字列:¥3 ¥2 ¥1
- 補足:2番目の例では、([^ ]+)(意味:空白以外の1回以上の連続)が改行を含んでしまってるため、最後に1行の終わりを示す$をつけないと、うまく行かない。
前回の課題3の解説 †
なお、正規表現の例をもっと知りたければ、H20年度の学生の要望で作った、授業/H20/情報処理/正規表現熟語帳を参照してみよう。
やりたいこと | 検索文字列 | 対象文字列の例 | 置換文字列 | 置換された結果例 | コメント |
1行に含まれる全ての文字列を置換 | ^.*$ | abcdefg hijklmn 12345 opqrstu vwzya 98765 | Replaced! | Replaced! Replaced! | |
連続する半角スペースをタブに置換 | [ ]+ | abc def hij k | ¥t | abc<tab>def<tab>hij<tab>k | |
AまたはKをZに置換 | [AK] | BACK BaKery KABA | Z | BZCZ BaZery ZZBZ | |
AまたはKとそれに続く任意の1文字をZに | [AK]. | BACK BaKery KABA | Z | BZZBaZry ZBA | |
スペース以外の文字列の連続をtangoに置き換え | [^ ]+ | I am a boy. You are a girl. | tango | tango tango tango tango tango tango tango tango | |
1行を行頭からスペースで4つのパートに区切り、順序を逆に並べ替え | ^([^ ]+) ([^ ]+) ([^ ]+) (.*)$ | 12 34 56 78 90 Que sera, sera. Whatever will be. | ¥4 ¥3 ¥2 ¥1 | 78 90 56 34 12 Whatever will be. sera. sera, Que | |
表にあげた以外の正規表現で同じ操作を行うこともできる
レポートってどういうもの? †
みなさんは、これまでに、いろんな授業で何度もレポートを提出しているはず。ところが、「何度レポートを出しても良い評価をもらったことが無い」という人が時々いる。そういう人は、もしかするとレポートのどういう点が評価されるのか、わかっていないのかも知れない。生物学科では3年になると毎週のように実験があり、2週間に1度は実験レポートを書かなければいけないのに、レポートの書き方をわかっていないようでは困ってしまう。
そこでまず、レポートの書き方について簡単にまとめたスライドを見て貰おう。これは、5年前に私が担当したコア授業で、1年生向けに使ったスライドだが、レポート一般に関する注意点は、今でもあまり変わっていない。
Wordを使ってできる「読みやすい」レポート †
ポイント: あなたのメッセージを分かりやすく相手に伝えるために、Wordを使ってできる限りのことをしよう
上で述べたようなレポートについての諸注意は、各自でよく考えて、十分にトレーニングする必要がある。申し訳無いけれど、この授業でこれといった即効性のあるテクニックは教えられない。でも、ワードを使って可能な限り読みやすいレポートを作り、採点者による減点を減らす努力はできるだろう。採点者は、たくさんのレポートに目を通さなければならない。そんなとき、読みにくいレポート(例えば、判読しがたい字で書き殴ったようなレポート)があると、減点をしたくなるのは当然だろう。
- まず、最初にやるべきは、
- 1. どのようなレポートを求められているのかを十分理解すること。「簡潔な説明」を求められている場合もあるし、「詳細な証拠を用いた論述」を求められている場合もある。
- 2. 趣旨に応じた長さのレポートにすること(不要なデータを加えて無理矢理長さを伸ばすのはだめ)
- 3. 何ページもあるようなレポートには表紙をつけること。1頁だけで済むようなレポートに、表紙は必要無い。
- 4. ページ数が非常に多く、章立てが必要になるようなら(例えば卒論や修論)、目次をつけること。
(※表紙や目次の要・不要は担当教員によっても違うので、確認すること)
- 5. 学籍番号、氏名は必ず書くこと
- 6. 複数ページにわたるレポートでは、最初に摘要や要旨を作ること。メッセージは短い文章で伝えられると、わかりやすい。
- 7. 見出しを効果的に使うこと。それによって、そのセクションで自分が主張したいことの種類や内容を、相手に簡単に伝えることができる
- 8. 読みやすい文字(フォントの大きさ、フォントの種類、色遣い)、やレイアウトにも気を遣うこと
- その他、「レポート」に関する注意なんかも見ておこう。
では、レポート作成のサンプルファイルとして、report_example.docxをダウンロードしよう。
- 長いレポートには表紙が必要(※短いレポートなら不要。1枚だけのレポートに表紙はつけないほうが、省資源にもなる)
- 千葉大のホームページから、千葉大のロゴマークをコピーして、表紙に貼ってみよう。ウェブページの画像はコピー・ペーストでワード文書に貼り付けることができる
- 千葉大ロゴを右クリックして「画像をコピー」
- ワードのページにペースト
- タイトル、学籍番号、氏名、提出日を入力。
- タイトル関係の文字を選択し、センタリング(中央揃え)
- 学籍番号等の情報を選択し、ルーラーで右寄せ(ルーラーが表示されていないときは、「表示」タブで表示させる)
- 見出しの設定:
- それぞれの最上位の見出し行(要旨、本論、結論とか)をダブルクリックして選択し、「スタイル」から「見出し1」に設定(文字の大きさが自動的に変わる)
- 下位の見出し(上の例で「リストの作成方法」 など)は、「スタイル」から「見出し2」に設定
- 書式は「書式のコピー・ペースト」で簡単に行える
- 慣れてきたら、よく使う書式は「スタイル」に登録しておくと便利
- 挿入タブから、ページ番号をページの下部に挿入
- (ヘッダー・フッターの部分をクリックすると、、「ヘッダー・フッターツール」が表示される。ページ番号や日付などを挿入できる)
- 表紙にはページ番号を入れたくないので、「先頭ページのみ別指定」にしておく。
- この場合は、「開始番号」を0にすることで、表紙にページ番号が入らない。
- 文字の大きさや書体を見やすいように整える
例えば、頁番号の文字を選択し、「Times New Roman 10 ポイント」にする
- 終わったら「閉じる」
- 表の作成は「挿入」タブから罫線ツールで
- 「表の作成」アイコンをクリックして、目的とする表の行数・列数をマウスのドラッグで指定する。
- エクセルで表を作っておき、コピー・ペーストするのも簡単
- 表の罫線の書式は「罫線」のアイコンをクリックして行う。
- 図の作成は「挿入」タブから図形ツールで
- □や○などの基本図形や矢印、吹き出しなども自由に作成できる
- いろんな図を利用できる → Power Pointの作業と共通する部分が多いので、次週解説。
- 論文やデジタル画像から図を切り取ってきて証拠に使う
- 例:
クジラとカバに近縁であることを示した論文を見る。Nikaido et al,1999, PNAS
- クジラとカバの関係を示した系統樹を表示させる
- Snipping Tool(あるいはPrtSc)で使いたい図を切り取る
- Wordの書類に行きペースト
- 画像を右クリックし、レイアウトで、文字と画像の関係(背面、全面、回り込みなど)を調整する
- 図には必ず番号とレジェンド(説明)をつける。引用もとも明示する。
- 目次の挿入
作成する文書が長くなってくると、目次をつける必要がある。目次は、見出しのところに「見出し」スタイルが適用されていると、自動的に作成することができる。
- (上述)文章中の見出しに、見出しスタイル(「見出し1」、「見出し2」など)のスタイルを当てはめる。
- (上述)文字列を右クリックして、コンテキストメニューからスタイルを選び、見出しを選ぶ
- (上述)フッターを挿入し、ページ番号を表示させておく。
- 目次を挿入したい場所にカーソルを移動し、「参考資料」タブから「目次」を挿入
第7回授業の課題 †