Microsoft Word 2007로 매뉴얼 제작: (5) 표, 그림의 번호 지정
Microsoft Word 2007로 매뉴얼 제작: (1) 머리말, 꼬리말, 본문 기본 서식 지정
Microsoft Word 2007로 매뉴얼 제작: (2) 맞춤법 검사
Microsoft Word 2007로 매뉴얼 제작: (3) 목차 구성
Microsoft Word 2007로 매뉴얼 제작: (4) 인덱스 구성
Microsoft Word 2007로 매뉴얼 제작: (5) 표, 그림의 번호 지정
Microsoft Word 2007로 매뉴얼 제작: (6) 문서 버전 관리
Microsoft Word 2007로 매뉴얼 제작: (7) 문서 비교
"목차" / "인덱스"와 같이 "표" 또는 "그림"에서도 "번호" 및 "페이지" 관리가 필요합니다. 왜 그런지 한번 볼까요? 아래의 예제를 보면,
[그림 1: "표" 사용 예제]
"[표 1-1]"이라고 지정을 하고 있는데요. 만약 위의 글에서 앞에 "1장"을 새롭게 넣어야 하는 경우가 발생했다고 가정해 보면, "[표 2-1]"이라고 새롭게 변경해 주어야 합니다. 또한 문서 전체에 걸쳐서 "[표 1-1]"을 지정한 텍스트를 찾아서 변경해 주어야 합니다. 문서 내용이 커질수록 보통 작업이 아니지요.
그래서 이러한 관리는 편집 프로그램들에 의해서 제공되어져야 합니다.
일단 임의로 사용자가 지정한 "표 1"이라는 문자열은 삭제합니다. 그리고 그 자리에 커서를 위치시키고 "References" 리본 탭의 "Insert Caption" 메뉴를 선택합니다. (또는 해당 표/그림을 선택하고 마우스 오른쪽 버튼을 눌러서 나오는 메뉴에 "Insert Caption..."을 선택합니다.)
[그림 2: Caption 메뉴]
"Caption" 대화창에서 적절한 라벨(Heading 1, 그림, 수식, 표...)을 선택하고 확인 버튼을 누릅니다.
[그림 3: Caption 설정 대화창]
적용되고 나면 아래와 같이 자동으로 "표"라는 제목과 "1"번이 지정된 것을 볼 수 있습니다.
[그림 4: 자동 번호가 적용된 표]
이렇게 삽입된 "표 1"의 번호는 편집 프로그램에 의해서 관리되는 영역으로 인식됩니다.
자, 이걸로 표 자체에 대한 자동 번호 지정 기능은 되었고. 그렇다면 이러한 항목들을 문장내에서 "문자열"로 지정하는 것 또한 알아봐야겠습니다. 예를 들어, "표1"을 아래와 같이 본문에 썼다면,
[그림 5: 본문에 적힌 "[표 1]" 문자열]
이제는 자동적으로 "[표 1 제니퍼 서버 사양]"의 실제 표가 제목이 새롭게 부여될 때마다 따라가도록 "참조"시켜야 합니다. 이를 위해서 원래의 "[표 1]" 문자열 내에서 "표 1"을 삭제하고 "References" 리본 탭의 "Cross-reference" 메뉴를 선택합니다.
[그림 6: "Cross-reference" 메뉴]
"Cross-reference" 대화창에서 "Reference type" 항목은 "표"를 선택하고 "Insert reference to:" 항목은 "Only label and number"를 선택한 후 "For which caption" 목록에서 본문에서 가리킬 표에 해당하는 항목을 선택하고 "Insert"버튼을 눌러줍니다.
[그림 7: 가리킬 표를 선택]
아래는 자동으로 참조 유지가 되는 최종 문서의 예입니다.
[그림 8: 적용 문서 예]
그런데, 한 가지 문제가 있습니다. 이전에 말했던 시나리오처럼 "표 1" 앞에 또 다른 표를 삽입한 경우를 예로 들면, 기존에 있었던 표들은 전부 "표 2"부터 시작해서 다시 자동적으로 번호가 매겨져야 하는데, 현재 이 기능은 "자동으로는" 지원되지 않습니다. 그래서 모든 표를 돌아다니면서 "표 [번호]"에 가서 마우스 오른쪽 버튼을 눌러 "Update Field"를 선택해 주어야 합니다.
그런데, 더 심각한 문제가 있습니다. 실제 "표"에 대해서 업데이트 한 것처럼, 그것들을 참조하고 있는 본문의 "표 [번호]"들도 모두 찾아가서 "Update Field" 메뉴를 선택해 주어야 합니다. 솔직히, 이쯤 되면 현실성이 없습니다. ^^;
그런데, 마이크로소프트 워드의 장점이 이제 발휘됩니다. 바로, 모든 문서 내용을 "프로그램"으로 다룰 수 있다는 점입니다. 마침 이에 대한 요구 사항이 저만 그랬던 것이 아니기 때문에 아래의 글에서 이에 대해 친절하게 설명해 주고 있습니다.
Idiots' Guide to Installing Macros
; http://www.gmayor.com/installing_macro.htm
위의 글을 정리해 보면, 마이크로소프트 워드의 매크로에 다음의 함수를 등록하고,
Sub UpdateAll()
Dim oStory As Range
For Each oStory In ActiveDocument.StoryRanges
oStory.Fields.Update
If oStory.StoryType <> wdMainTextStory Then
While Not (oStory.NextStoryRange Is Nothing)
Set oStory = oStory.NextStoryRange
oStory.Fields.Update
Wend
End If
Next oStory
Set oStory = Nothing
End Sub
문서 내용을 모두 돌아다니면서 "Field Update"를 할 필요 없이, 간단하게 위의 매크로만 한 번 실행해 주면 다음과 같이 자동으로 필드가 모두 업데이트 됩니다.
[그림 9: 매크로를 실행하여 모든 필드를 업데이트]
초기에는, 편집 프로그램으로 문서를 작성하면 왠지 쓸데없는 시간이 더 들어가는 것처럼 보이지만 향후 문서 내용이 커지는 상황에서는 오히려 엄청난 시간 단축이 될 수 있다는 장점!
[이 토픽에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]