1.5. 例文番号
論文では番号つきの例文をよく用いる。しかし、この番号をいちいち入力していたのでは、途中に新しい例文を増やしたり、例文の順序を変えたりするたびに、番号をつけかえなければならないことになる。また、本文中で例文番号を参照しなければならないことも多く、その場合は、本文中で用いた番号と実際の例文番号とがずれてしまわないようにリンクを確立することが非常に重要になる。Word では、連続番号を付す方法がいくつかあるようだが、私が用いているのは図表番号を用いる方法である。ところが、Word ではその図表番号の使い勝手があまり良くないので、私なりに工夫していることを以下に紹介したい。
(以下では、マクロがいくつか紹介されている。次の手順に従えば、紹介されているマクロを自分のシステムに組み込むことができる。)
- C ドライブの中で、"Normal.dot" というファイルを検索する。
- 見つかった "Normal.dot"(複数ある場合には、最も日付の新しいもの)を右クリックし、それを「開く」(「新規作成」ではなく)。
- 「ツール」メニュー → 「マクロ」 → 「Visual Basic Editor」
- 新しく開いた画面の左上「プロジェクト - Normal」という枠の中の「Normal」の[+]印をクリックする。
- (A) 「Normal」の中に「標準モジュール」というフォルダがあれば、その中の(いずれかの)ファイルをダブルクリックする。 or
(B) 「Normal」の中に「標準モジュール」というフォルダがなければ、「Normal」にカーソルを合わせ右クリックし、「挿入」 → 「標準モジュール」とする。
- 右側の大きな画面に、下に紹介されているマクロを copy & paste する。(必ず、Sub 〜 という行から End Sub という行までまとめてコピーする。その画面にすでに別のマクロが表示されている場合でも、End Sub という行の直後ならば、どこに copy & paste してもかまわない。)
1.5.1. 準備
図表番号とは、普通は「図 1」とか「表 5」のように用いるためのもので、この「図 」「表 」など、数字の左側の部分をラベル名という。例文番号として (1) とか (12) というように表示させるためには「(」というラベル名を登録する必要がある。この作業は、通常は一度やっておけば二度としなくてよいはずの作業なので、手作業で行ってもよいが、今まで何度か、何かの拍子にその設定が消えてしまったことがあるので、私はマクロとして登録し、ワンタッチでその設定を回復できるようにしてある。マクロといっても、中身はたった1行である。
Sub CaptionLabelExample()
CaptionLabels.Add Name:="("
End Sub
このマクロを組み込んであれば、「ツール」メニュー → マクロ → マクロ として表示されるマクロ名から「CaptionLabelExample」というのを選択して実行するだけで設定を回復することができる。
1.5.2. 自動連番
自動的に連続番号となる例文番号を表示させるためには、本来、「挿入」メニュー → 参照 → 図表番号(Word のバージョンによって多少メニューの中の選び方が異なる可能性あり) を選び、ラベル名として「(」が指定されているのを確認して「OK」とすればよい。しかし、このやり方だと、(i) 閉じカッコを毎回入力しなければならないし、(ii) 数字の前に半角スペースが入ってしまうのでいちいち取り除かなければならない。そこで、その作業も含めて自動化したのが次のマクロである。
Sub Numbering()
'
' 作成日 99/02/26 作成者 Ayumi Ueyama
'
Selection.InsertCaption Label:="(", _
TitleAutoText:="InsertCaption1", _
Title:="", Position:=wdCaptionPositionBelow
Selection.TypeText Text:=")"
Selection.HomeKey Unit:=wdLine
Selection.MoveRight Unit:=wdCharacter, Count:=2
Selection.TypeBackspace
Selection.EndKey Unit:=wdLine
' その段落のスタイルを ex に指定する場合には、次の行の行頭の「'」を削除する。
' Selection.Style = ActiveDocument.Styles("ex")
End Sub
(最終行は、その行のスタイルを「ex」に指定するためのものなので、自動連番を表示させることそのものには関係ない。スタイルを指定しなければ、自動的に「図表番号」というスタイルとなり、太字で表示される場合が多い。)このマクロ「Numbering」にショートカットキーを割り当てるなり、ツールボタンとして登録するなりすれば、ワンタッチで自動連番を表示することができる。
途中で新しい例文を付け加えたり、例文の順番を入れ替えたりした場合、直後には例文番号が変わらない場合もあるが、該当箇所(もしくは文書全体)を選択した上で、ファンクションキー「F9」(フィールド更新)を押すと、番号が並べ替えられる。(その場合、本文中にリンクされている番号も、もちろん正しく変更される。)
行頭に図表番号がある行の直前に何かを挿入したい場合、その行頭で Enter を入力して新しい行を作ってしまうと、例文番号を参照したときにトラブルが起こることが多い。必ず、その前の行の行末で Enter を入力して新しい行を作る癖をつけておきたい。
1.5.3. 例文番号の参照
Word には、図表番号を参照してリンクをはる機能があるので、本文中で例文番号に言及する場合、この機能を使うことができる。ところが、Word のこの機能は私たちにとっては大変使い勝手が悪い。「挿入」メニュー → 参照 → 相互参照(Word のバージョンによって多少メニューの中の選び方が異なる可能性あり) を選び、「参照する項目」の欄で「(」を選択し、「番号とラベルのみ」が挿入されるように指定した上で、下のボックスの中から該当する番号の行を選択するのであるが、そのボックスでは、本文中のカーソルがどこにある場合でも、常に (1) が一番上になって表示されるので、ほとんどの場合、いちいちそのボックス中で該当例文までスクロールする必要があり、とても面倒である。
しかし、次のマクロを組み込めば、該当例文の番号を入力するだけでよい。
Sub LinkExNumber()
'
' 作成日 99/02/26 作成者 Ayumi Ueyama
'
Dim refnum$
refnum$ = InputBox("挿入したい例文番号 = ?", _
"例文番号へのクロスレファレンス")
If refnum$ <> "" Then
Selection.InsertCrossReference _
ReferenceType:="(", _
ReferenceKind:=wdOnlyLabelAndNumber, _
ReferenceItem:=refnum$
Selection.TypeText Text:=")"
End If
End Sub
先ほどの場合と同様、このマクロ「LinkExNumber」にショートカットキーを割り当てるなり、ツールボタンとして登録するなりすれば、ワンタッチでリンクをはることができる。
このマクロを起動したときに表示されるボックス内への入力は半角数字に限られる。またそのボックスで数字 n を入力した場合、このマクロの働きは、現在の画面における (n) という例文にリンクをはるというよりは、文書の冒頭から n 番目の例文にリンクをはる、というものである。したがって、このマクロを用いる際には、その前に「フィールドの更新」(1.5.2.節参照)をしておかないと正しい結果が出ないことがある。
|