2007년 1월 22일 월요일

JabRef를 사용한 참조문헌(Reference) 목록 관리

논문을 쓸 때 사용할 수 있는 무료 소프트웨어를 소개한다. Reference를 BibTeX 형태로 관리할 때 도움이 되는 JabRef라는 소프트웨어이다. BibTeX을 사용하여 참조문헌 목록을 관리하면 실수를 줄일 수 있으며, LaTeX과의 궁합도 뛰어나다.


논문을 쓸 때 가장 먼저 해야 할 일은 레퍼런스 목록부터 정리해 놓는 일이라는 글을 읽은 적이 있다. 보통 어떤 순서로들 논문을 쓰는지는 모르겠지만, 서론->관련연구->본론->결론->레퍼런스 와 같이 논문의 구성 순서대로 써 내려 가는 식이라면 레퍼런스 정리할 때쯤엔 매우 혼란스럽고 레퍼런스 다는 것이상당히 귀찮은 작업이 되기 십상이다.

그저 그런 수준의 논문을 쓸 때라면 크게 상관이 없지만, 경쟁률이 높은 컨퍼런스나 저널에 논문을 실을 경우에는 리뷰어들의 수준도 높기 때문에 중요한 레퍼런스를 빠짐없이 달았는지의 여부는 매우 중요한 기준이 된다. 레퍼런스를 뺐다는 것은 관련 연구를 충분히 커버하지 않은 상태이므로 state of art를 반영한다고 보기 어렵다는 평가를 내릴 가능성이 크다. 어떤 경우에는 정확한 레퍼런스를 달지 않는다는 이유로 게재를 거부하는 경우도 있다.(예를 들자면, A 논문을 참조한 B 논문을 레퍼런스했는데, 정확하게는 A논문을 참조논문으로 달았어야 하는 경우.)

그만큼 레퍼런스를 잘 다는 것은 중요하다. 오늘 이야기하고자 하는 바는 레퍼런스 관리 프로그램(Reference Management Software)이다. 레퍼런스 관리 프로그램 중 MS 워드와 가장 잘 맞는 프로그램은 EndNote이다. 프로그램에서 레퍼런스 라이브러리 검색이 되고, MS 워드에 정리된 레퍼런스를 입력해 주는 기능이 있어서 평소에 EndNote를 써 둔다면 논문을 쓸 때 중요한 레퍼런스를 실수로(!) 빼 먹는 경우는 방지할 수 있다.

그러나, EndNote는 상용 소프트웨어이다. 몇몇 학교들은 EndNote에 대한 사이트 라이센스를 갖고 있는 경우도 있지만, 많은 경우 학생들의 관심 밖에 방치돼 있다가 라이센스를 포기하곤 한다.

이 블로그에서 계속 이야기해 왔던 것처럼, 나는 프리 소프트웨어를 매우 좋아한다. 특히 GPL이나 LGPL의 프로그램들 말이다. 오늘 소개하려는 JabRef도 프리소프트웨어다.

앞에서 잠시 언급했지만, 레퍼런스의 관리는 매우 중요하다. 평소에 읽어 둔 논문들을 나중에 찾아보기 쉽게 레퍼런스 관리 소프트웨어에 정리해 둔다면 절대 실수하는 일이 없다. JabRef는 BibTeX 형태의 파일 포맷으로 레퍼런스를 관리해 준다. 앞에서 설명한 EndNote의 경우 전용 파일 포맷으로 정리된다.

BibTeX은 LaTeX에서 사용할 수 있는 파일 포맷이며, 평상시에 레퍼런스 목록을 정리해 뒀더라도 실제로 참조된 논문만 레퍼런스 목록에 포함되므로 매우 편리하다. 예를 들어 내가 관리하고 있는 레퍼런스 목록이 100여개였는데, 어느 논문에는 그 목록의 일부만 참조되는 경우 LaTeX은 자동으로 이 목록들만 정리하여 Reference(혹은 Bibliography) 섹션에 포함시킨다. 뿐만 아니라, BST에서 레퍼런스의 소팅, 출력 형태 등이 정리돼 있다면 참조 문헌 섹션의 포맷팅도 자동으로 해 준다.


JabRef


1. 설치




2. 특징


  • 하나의 Bib 파일 내에 포함된 논문 목록들을 그룹화할 수 있다.
  • RTF, XML, HTML 등으로 내보내기(export) 할 수 있다.
  • 모든 항목에 대한 검색이 가능하다.
  • 한글 입력과 검색이 가능하다.
  • 논문에 대한 추가 링크(웹 링크 및 파일 위치)로 나중에 다시 논문을 살펴보기 쉽다.


3. 기본적인 사용 방법

3.1 새로운 bib 파일을 만들려면 File->New database를 선택한다.
3.2 새로운 BibTeX 항목을 추가하려면 BibTeX->New entry를 선택하거나 Ctrl+N을 누른다.



3.3 이 그림에서 보는 것처럼 다양한 타입의 BibTeX 소스가 있다. 가장 많이 사용하는 몇 가지만 설명하면 다음과 같다. BibTeX에 대한 더 자세한 내용은 여기에서 볼 수 있다.

  • Article: Journal이나 Magazine에 게재된 논문을 참조할 때
  • Book: 책의 내용을 참조할 때
  • Conference, Inproceedings: 컨퍼런스에서 발표된 논문을 참조할 때. 둘 중 어느 것을 써도 무방하다.
  • Techreport: 흔히 Technical Report라고 하는 문서을 참조할 때 사용한다. 외국 대학이나 연구소 등에서는 논문을 제출하기 전에 Technical Report로 등록해 두는 경우가 많다.
  • Phdthesis, Masterthesis: 박사학위논문, 석사학위 논문을 참조할 때 사용한다.


3.4 그럼 이 가운데 Inproceedings를 눌러 보자.

Inproceedings의 경우 다섯 개의 기본 항목(Required fields)이 있다. 각각의 필드를 입력하는 방법은 다음과 같다.

  • Author: Author1 and Author2 and Author3 (저자 이름은 모두 and로 연결한다.)
  • Title: 논문 제목을 입력한다.
  • Booktitle: 프로시딩의 이름을 입력한다. (보통은 "Proceedings of 학회이름"의 형식으로 되어 있다.)
  • Year: 해당 컨퍼런스가 열렸던 연도를 입력한다. (ex: 2007)
  • Bibtexkey: LaTeX이나 LyX에서 참조하기 위한 키 값이다. 특별한 경우가 아니면 Ctrl+G를 눌러서 자동으로 입력되도록 해도 무방하다.


4. BibTeX 소스를 쉽게 입력하는 방법

아. 그럼 이 모든 항목들을 일일이 손으로 입력해 줘야 하나 하는 의문이 들 때가 됐다. 그럴 리가 없다. bibtex은 가장 많이 쓰이는 포맷이다. 각 학회(ACM이나 IEEE같은)에서는 모든 논문에 대해 BibTeX 형태로 붙여넣을 수 있도록 제공하고 있다.

먼저 New Entry를 클릭하여 새 항목이 추가되게끔 하자. 레퍼런스 목록 아래에 입력을 위한 창이 나오면 제일 오른쪽에 있는 BibTeX source 탭을 클릭하자. 이제 추가하고 싶은 논문에 대한 BibTeX 소스를 카피하여 여기에 붙여 넣자. 그런 다음 Required field 탭을 클릭하면 모든 입력 항목들이 적절한 곳에 들어가 있음을 확인할 수 있다.

당장 BibTeX이 어떻게 생겼는지, 어디서 찾아야 하는지 모르는 분들은 아래의 예제 소스를 붙여 넣어서 확인해 보시라. 다음은 컨퍼런스의 프로시딩에 게재된 논문의 항목을 추가하는 예제이다.
@INPROCEEDINGS{Joongsoo200x,
author = {Joongsoo},
title = {Reference manager HOWTO},
booktitle = {Proceedings of IEEE XXXXX},
year = {200x},
volume = {1},
pages = {100--101}
}
이 BibTeX 엔트리의 의미는 이렇다.
IEEE의 XXXXX란 컨퍼런스의 200x년에 출판된 프로시딩의 첫 번째 volume의 100~101페이지에 Joongsoo가 게재한 "Reference manager HOWTO"라는 논문.


5. BibTeX 소스를 찾을 수 있는 곳들

다른 학문 분야에서는 어떤 BibTeX 소스들이 있는지 잘 모르므로 전산학 관련 소스만 소개함을 죄송하게 생각한다.
아래의 사이트들에서 논문 제목이나 저자명 등으로 논문을 검색한 다음 BibTeX Entry를 얻을 수 있다. 그리고, 3에서 설명한 것처럼 새 항목을 추가한 다음 BibTeX source 탭에 카피하여 넣으면 새로운 BibTeX Entry 입력은 모두 끝.


6. Web search 기능을 사용한 BibTeX 입력

4와 5에서 소개한 것처럼 웹에서 직접 논문을 검색한 다음 BibTeX 엔트리를 카피하여 넣는 것은 상당히 쉽게 BibTeX 엔트리를 입력할 수 있는 방법이다. JabRef에서는 웹 서치 기능을 제공하고 있는데, 이 기능을 사용하면 더 간단하게 입력할 수도 있다.

그러나 JabRef의 현재 버전(2.2beta)에서 제공하는 웹 검색 기능은 MediCine, CiteSeer, IEEExplore, ArXiv.org 등이다. 그러므로, BibTeX 소스를 찾을 수 있는 사이트가 있다면 그 사이트에서 검색하는 편이 훨씬 더 많은 소스를 확보할 수 있는 방법이라 생각된다. IEEExplore의 경우에는 Title이 보기 좋게 입력되지는 않으므로 약간의 주의가 필요하다.

0 개의 댓글: