학술문헌 서지정보 정리 방법: BibTex 활용법을 중심으로

O-Joun Lee·2023년 8월 6일
0

Academic Writing 101

목록 보기
1/1
post-thumbnail

서론

이 글에서는 CS 관련 분야 논문 및 여타 학술문헌 작성에 있어서 서지정보 정리 방법 및 노하우를 정리한다. LaTex으로 논문 작업을 진행할 경우, 레퍼런스에 포함된 학술문헌들을 Item Key\cite{} 명령어를 이용해 논문 상의 여러 위치에서 인용 가능하다. LaTex 원고의 레퍼런스에 학술문헌들을 추가하는 방법은 크게 두가지이다.

첫번째 방법은 아래와 같이 참고문헌들 즉, bibitem들을 \begin{thebibliography} ... \end{thebibliography} 환경에 직접 열거하는 방법이다.

\begin{thebibliography}{widest entry}
 \bibitem[label1]{cite_key1} bibliographic information
 \bibitem[label2]{cite_key2} bibliographic information
 ...
\end{thebibliography}

이 방법의 장점은 아래 예시와 같이 일반 워드프로세서에서 편집하는 것처럼 인용양식의 세부적인 부분을 조절 가능하다는 것이다. BibTex을 이용하여 레퍼런스를 자동생성하더라도, 생성 결과물로 주어지는 *.bbl 파일 안에는 위와 같은 포맷의 LaTex 코드가 들어 있다. 일반적으로 논문원고 제출시에는, 생성된 *.bbl 파일 내의 \begin{thebibliography} ... \end{thebibliography} 구문을 \bibliography{*.bib} 대신 삽입하여 최종원고(Camera Ready Copy)를 준비한다. 이때, 자동생성의 오류나 여타 문제로 인용양식에 수정사항이 있는 경우, 생성된 구문을 재편집하기도 한다.

\bibitem{Boney96} Boney, L., Tewfik, A.H., and Hamdy, K.N., ``Digital
Watermarks for Audio Signals," \emph{Proceedings of the Third IEEE
International Conference on Multimedia}, pp. 473-480, June 1996.

하지만, Journal이나 Conference의 인용양식에 맞춰 직접 수정해야 하는 것은 여러가지 불편을 유발한다. APA, MLA, Chicago/Turbian, AMA 등의 다양한 인용양식 표준들이 존재하나, Journal이나 Conference 마다 세부사항에서는 조금씩 차이를 보이며, 매번 논문원고 준비시 마다 이를 세세히 확인하는 것은 고된 일이다.

따라서, 일반적으로는 위에서 언급한 바와 같이, *.bib 파일을 활용해 bibitem들(즉, 참고문헌들)에 대한 서지정보를 정형화된 일종의 XML로 저장해 두고, *.bst 파일에 명시된 인용양식(Bibliography Style)에 따라, *.bbl 파일을 자동 생성하는 방식이 보통 가장 널리 활용된다. 다음 LaTex 코드를 참고문헌을 삽입할 위치에 추가하면 손쉽게 이용 가능하다.

 \bibliographystyle{*.bst}
 \bibliography{*.bib}

이를 통해, 우리는 참고문헌 내 bibitem들의 열거순서(원고 내 출현 순서, 저자 성의 알파벳 순서, 출판년도 순서 등), 본문 내 인용부호를 포함한 각종 인용 양식에 따른 변경을 \bibliographystyle{}을 활용하여 대부분 해결 가능하다. *.bst 파일은 일반적으로 Journal이나 Conference 웹사이트의 Author Guideline을 통하여 여타 LaTex 템플릿과 함께 배포된다.

또한, 특정 연구분야에 대한 주요 논문들을 각각의 *.bib 파일에 정리해 두고 원고 작성시 마다 재사용 가능하다. 다음은 *.bib 파일 내의 서지정보 기술의 예시이다. 다음 장에서 부터는 서지정보의 습득 방법과 *.bib 파일을 편집 방법 등을 설명한다.

@article{19,
   author = {Adolphs, Ralph},
   title = {Cognitive neuroscience of human social behaviour},
   journal = {Nature Reviews Neuroscience},
   volume = {4},
   number = {3},
   pages = {165-178},
   ISSN = {1471-003X},
   DOI = {10.1038/nrn1056},
   url = {http://www.nature.com/nrn/journal/v4/n3/pdf/nrn1056.pdf},
   year = {2003},
   type = {Journal Article}
}

학술문헌 서지정보 검색방법

우리가 어떤 논문을 인용하고자 할때, 서지정보를 확인할 수 있는 경로는 여러가지가 있다. 대표적으로는 (1) 논문이 온라인 게시되어 있는 출판사 웹사이트, (2) CS 분야 논문들의 서지정보를 확인할 수 있는 DBLP, (3) 학술문헌 검색에 가장 널리 이용되는 Google Scholar 등이 가장 대표적인 경로이다. 이 대표적인 방법들의 서지정보의 신뢰도는 언급된 순서와 같으며, 접근성은 그 역순과 같다.

Google Scholar에는 여러 경로를 통해 온라인 상에 게시된 해당 학술문헌에 대한 서지정보들이 취합되어 있다. 이 정보들은 경우에 따라 서로 상충되기 때문에, Google Scholar에서 대표로 노출되는 서지정보와 자동생성되는 인용문구는 부정확한 경우가 많다. 특히, 어떤 논문이 arXiv에 먼저 게시되고 추후 Conference나 Journal에서 재발표되었으나 여전히 arXiv가 주된 서지정보로 표기되어 있는 등의 문제가 자주 발생하며, 저자의 이름이나 Conference나 Journal이름이 약어로 표기되어 있어 정식명칭(Full name)을 확인할 수 없거나, 권/호/페이지가 누락 혹은 오기 되는 등의 문제도 빈번하다.

따라서, Google Scholar 검색을 통해 인용할 학술문헌을 찾았다면, 해당 학술문헌을 DBLP에서 재검색하여 DBLP에서 제공하는 BibTeX record를 확인하는 것이 오류를 줄이는 방법이다. 하지만, 이 BibTeX record 또한 출판사에서 제공되는 정보를 바탕으로 자동생성된 결과이기 때문에 몇몇 정보가 누락되거나 오기되는 등의 오류가 발생하므로 최종적으로는 이 BibTeX record를 출판사 웹사이트 상의 정보와 대조하고 누락된 정보를 최대한 확인하여 기입하는 것이 향후 수고를 더는 방법이다. DBLP의 BibTeX record 상에 발생하는 대표적인 오류로는 Conference 장소와 일시 정보가 Conference Proceeding 제목 상에 함께 기재되는 경우, Proceeding Editor들의 정보가 누락되는 경우, Publication Type이 부정확한 경우 등이 있으며, 구체적으로는 다음 장에서 설명하겠다.

학술문헌들이 DBLP에 색인되어 있지 않은 경우에는 출판사 웹사이트를 확인하여 BibTeX record를 직접 작성하거나, 출판사 웹사이트에서 BibTeX record를 제공할 경우 이 또한 자동생성 결과물이므로 웹사이트에 기재된 정보들과 교차확인하여 수정하여야 한다.

또한, 출판사 웹사이트에서도 제공되지 않거나 누락된 정보들의 경우, 해당 논문의 PDF 파일 혹은 Issue나 Proceeding Book 서문/목차/커버 등에서 확인할 수 있는 경우가 많다. 투고하고자 하는 Conference나 Journal의 인용양식이 해당 정보를 요구하지 않더라도 *.bib 파일의 이용목적은 향후 재사용을 염두에 두는 것이므로 최대한 정확하고 충분한 정보를기재해 두는 것을 권장한다.

정리하자면, Google Scholar, DBLP, 출판사 웹사이트, 논문 출판본(PDF 파일), Issue/Proceedings 출판본(PDF 파일)을 순차적으로 확인하며 충분하고 정확한 정보를 *.bib 파일에 정리해 두는 것이 재사용성을 높이고 향후 재수정 가능성을 낮추는데 바람직하다.

BibTex 활용방법

이 Section에서는 *.bib 파일의 보다 실무적인 작성 팁을 서술한다.

  • Jabref

Publication Types

@article{CitekeyArticle,
  author   = "P. J. Cohen",
  title    = "The independence of the continuum hypothesis",
  journal  = "Proceedings of the National Academy of Sciences",
  year     = 1963,
  volume   = "50",
  number   = "6",
  pages    = "1143--1148",
}
@book{CitekeyBook,
  author    = "Leonard Susskind and George Hrabovsky",
  title     = "Classical mechanics: the theoretical minimum",
  publisher = "Penguin Random House",
  address   = "New York, NY",
  year      = 2014
}
@booklet{CitekeyBooklet,
  title        = "Canoe tours in {S}weden",
  author       = "Maria Swetla", 
  howpublished = "Distributed at the Stockholm Tourist Office",
  month        = jul,
  year         = 2015
}
@inbook{CitekeyInbook,
  author    = "Lisa A. Urry and Michael L. Cain and Steven A. Wasserman and Peter V. Minorsky and Jane B. Reece",
  title     = "Photosynthesis",
  booktitle = "Campbell Biology",
  year      = "2016",
  publisher = "Pearson",
  address   = "New York, NY",
  pages     = "187--221"
}
@incollection{CitekeyIncollection,
  author    = "Shapiro, Howard M.",
  editor    = "Hawley, Teresa S. and Hawley, Robert G.",
  title     = "Flow Cytometry: The Glass Is Half Full",
  booktitle = "Flow Cytometry Protocols",
  year      = 2018,
  publisher = "Springer",
  address   = "New York, NY",
  pages     = "1--10"
}
@inproceedings{CitekeyInproceedings,
  author    = "Holleis, Paul and Wagner, Matthias and Koolwaaij, Johan",
  title     = "Studying mobile context-aware social services in the wild",
  booktitle = "Proc. of the 6th Nordic Conf. on Human-Computer Interaction",
  series    = "NordiCHI",
  year      = 2010,
  pages     = "207--216",
  publisher = "ACM",
  address   = "New York, NY"
}
@manual{CitekeyManual,
  title        = "{R}: A Language and Environment for Statistical Computing",
  author       = "{R Core Team}",
  organization = "R Foundation for Statistical Computing",
  address      = "Vienna, Austria",
  year         = 2018
}
@mastersthesis{CitekeyMastersthesis,
  author  = "Jian Tang",
  title   = "Spin structure of the nucleon in the asymptotic limit",
  school  = "Massachusetts Institute of Technology",
  year    = 1996,
  address = "Cambridge, MA",
  month   = sep
}
@misc{CitekeyMisc,
  title        = "Pluto: The 'Other' Red Planet",
  author       = "{NASA}",
  howpublished = "\url{https://www.nasa.gov/nh/pluto-the-other-red-planet}",
  year         = 2015,
  note         = "Accessed: 2018-12-06"
}
@phdthesis{CitekeyPhdthesis,
  author  = "Rempel, Robert Charles",
  title   = "Relaxation Effects for Coupled Nuclear Spins",
  school  = "Stanford University",
  address = "Stanford, CA",
  year    = 1956,
  month   = jun
}
@proceedings{CitekeyProceedings,
  editor    = "Susan Stepney and Sergey Verlan",
  title     = "Proceedings of the 17th International Conference on Computation and Natural Computation, Fontainebleau, France",
  series    = "Lecture Notes in Computer Science",
  volume    = "10867",
  publisher = "Springer",
  address   = "Cham, Switzerland",
  year      = 2018
}
@techreport{CitekeyTechreport,
  title       = "{W}asatch {S}olar {P}roject Final Report",
  author      = "Bennett, Vicki and Bowman, Kate and Wright, Sarah",
  institution = "Salt Lake City Corporation",
  address     = "Salt Lake City, UT",
  number      = "DOE-SLC-6903-1",
  year        = 2018,
  month       = sep
}
@unpublished{CitekeyUnpublished,
  author = "Mohinder Suresh",
  title  = "Evolution: a revised theory",
  year   = 2006
}

BibTex 필드

BibTex은 XML 형태로 서지정보를 기술하며, 이때 사용되는 필드들은 다음과 같다. 순서는 알파벳 순서와 같다.

  • address: 주소를 기술하기 위한 필드로, Conference Paper/Proceedings의 경우에는 컨퍼런스 장소를 기술하기 위해 사용한다. Book이나 Book Chapter 등의 경우에는 출판사의 소재지를 기술하기 위해 이용하며, Technical Report를 인용하는 경우에는 해당 Report를 발간한 회사의 소재지를 기술하는데 활용될 수 있다. 주소는 일반적으로 도시, 국가의 형태로 작성하며(예, Seoul, Rep. of Korea), 미국이나 캐나다 등과 같이 가 있는 연방제 국가들의 주소는 도시, 주(보통 약자), 국가와 같은 형식으로 작성하는 것이 보통이다(예, New York City, NY, US).
  • annote: 부가정보 Annotation을 위해 존재하는 필드이지만 실질적으로 사용되지는 않는다.
  • author: 저자 정보를 기입하기 위해 사용하는 필드이다. 이름을 Given Name Fimily Name 혹은 Fimily Name, Given Name의 형태로 작성하며, Author list 상의 순서와 같은 순서로 이름을 열거하는데, 주의할 점은 이름 사이의 구분은 ,를 사용하여서는 안되고(Family Name을 구분하는데 사용됨) and를 이용해 구분하여야 한다. Conference나 Journal에 따라 인용양식에 요구되는 이름의 포멧이 다르지만, .bib 파일의 재사용성을 높이기 위해서는 되도록 Full Name을 통일된 형태로 기재해 둘 필요가 있다.
  • booktitle: Conference Paper의 경우에는 Proceedings Book의 제목을, Book Chapter의 경우에는 Book의 제목을 기재하기 위해 사용하는 필드이다. Book의 인용에 있어서는 일반적인 title 필드를 이용한다. Proceedings Book의 제목은 가장 많은 실수가 발생하는 부분이다. 일반적으로는 Proceedings of the CONFERENCE_NAME (ACRONYMS YEAR)의 형태로 구성되나, 경우에 따라 (1) 외에 불필요한 정보가 혼재되거나, (2) ACRONYMS YEAR의 양식이 일관적이지 못하거나, (3)CONFERENCE_NAME 부분이 부정확하거나, (4) Conference에 따라 위의 형태를 Proceedings Book의 부제목으로 하고 따로 주제목을 두는 경우가 있으나 이를 누락하는 경우(NeurIPS의 Proceedings Book 제목은 Advances in Neural Information Processing Systems 회차) 등이다.
  • chapter: Book Chapter를 인용하는 경우
  • crossref: 학술문헌 간의 인용관계를 추적하기 위해 부여되는 데이터베이스 Key이다. DOI와 함께 학술문헌에 고유하게 부여되는 식별자 중 하나로, 대부분의 학술문헌들이 가지고 있다.
  • edition: 도서의 경우, 판본에 따라 내용이 갱신되는 경우가 많기 때문에 도서(@book 혹은 @booklet 등)나 도서의 일부(@inbook 혹은 @incollection 등)을 인용할 때는 판본을 명확히 할 필요가 있다. BibTex record 상에는 영문 서수 형식으로 첫문자를 대문자로 기록한다(예, First).
  • editor: 도서나 Conference Proceedings Book의 Editor 명단을 서술하는 항목이다. Editor 명단의 작성 방법은 Author 명단의 작성 방법과 같다. 도서나 Proceedings Book에 대해서 뿐아니라, 도서의 일부 혹은 Conference Paper를 인용할 경우에도 기입해야 할 부분이며, 누락이 빈번하게 발생하는 부분이기도 하다. 경우에 따라, 해당 정보를 확인하기 어려운 경우가 있으며, 그러할 때는 Conference Proceedings Book의 표지나 서문을 확인해 보는 것을 권장한다.
  • institution: Technical Report를 인용하는 경우, 해당 보고서를 발간한 기관을 명세하기 위한 필드이다.
  • journal: Journal Article 인용 시에 해당 Article이 출판된 Journal의 명칭을 위한 항목이다. Journal 이름의 약어는 요구될 경우 *.bst 파일을 통해 자동적으로 제공되는 경우가 많으므로, 재사용성을 위해서는 Full Name으로 기재하는 것이 바람직하다.
  • key: 본문 내에서 인용 시에 \cite{} 명령어와 함께 사용되는 식별자이다. 식별자는 다양한 방식으로 정의될 수 있겠으나, 본인이 해당 논문과 그 내용을 쉽게 연상할 수 있도록 지정하는 것을 권장한다(DBLP나 출판사에서 자동생성한 key를 그대로 사용하는 것을 지양할 필요가 있다). 일반적으로 많이 활용되는 방식은 FAMILY_NAME_OF_FA + _ + YEAR + _ + TOPIC이다.
  • month: 학술문헌의 출판 월을 나타내는 항목이다. 모든 종류의 학술문헌에 해당되는 항목이며, 해당 월의 영문명의 첫 세글자 약어로 기재한다(예, aug).
  • note: 학술문헌에 대한 모든 종류의 부가정보를 나타내기 위해 사용한다. 주된 용처는 출판이 완료되지 않은 학술문헌들에 대하여 Publication Status를 기재하기 위한 경우(예, To Appear 등)와 영문으로 출판되지 않은 학술문헌을 인용할 경우 언어를 표기하기 위함(예, In Korean 등)이 있다.
  • number: Journal이나 Magazine, Technical Report, 등 여타 정기/비정기 학술간행물들에 대하여 호(Number)를 표기하기 위한 항목이다. 간행 순서에 따라 자연수로 부여되는 를 기입하며, 위의 경우 외에도 도서나 Conference Proceedings Book이 Book Series 등을 통해서 출판되는 경우 Series 이름과 가 부여될 수 있다. CS 분야에서의 대표적인 경우로는, Springer에서 간행되는 Lecture Notes in Computer Science (LNCS) Series가 있다.
  • organization: Conference Proceedings Book이나 Conference Paper에 대하여 Conference의 후원기관이나 주최기관을 기입하기 위한 항목이다. IEEE, ACM, ACL, AAAI 등의 대형 학회들에 의해 주최 및 후원되는 Conference들에 대하여 학회나 학회내 Society들의 명칭을 기재하는 경우가 많다. S/W 등의 Manual을 인용하는 경우에도 발행기관에 대하여, institution 항목이 아닌 organization 항목을 이용한다.
  • pages: 학술문헌의 쪽 범위를 기재하기 위한 항목이다. 시작쪽과 끝쪽을 Dash로 구분하는 것이 보통(예, 10-20)이며, 범위가 부정형 적일 경우 5,7,10-20 혹은 10+와 같은 형태도 이용된다. 도서나 Conference Proceedings Book 등도 인용하고자 하는 내용이 전체 중 일부에 위치할 경우, 그 쪽 범위를 명시해야 한다. 또한, 최근 오프라인 출판을 지원하지 않는 Journal들의 경우, Journal Article에 쪽 범위 없이 Article ID 만을 부여하는 경우가 있는데, Article ID 또한 이 항목을 이용해 기재할 수 있다.
  • publisher: Journal이나 도서, Conference Proceedings Book 등의 출판사를 기재하기 위해 이용하는 항목이다.
  • school: 석사학위논문이나 박사학위논문 등을 인용할 경우, 해당 학위논문이 승인된 대학의 이름을 기재하는 항목이다.
  • series: 앞서 number에서 언급된 정기/비정기 학술간행물의 Series 이름을 기재하기 위해 이용하는 항목이다. 여러 권으로 구성된 도서들의 경우에도 Series 이름이 따로 존재할 수 있다.
  • title: 학술문헌의 제목을 기재하기 위한 항목이다.
  • type: Technical Report들에 대하여 그 유형을 지정하기 위한 필드이다. 예를 들어, Research Note (연구노트)가 있을 수 있다.
  • volume: Journal이나 여타 여러 권으로 구성된 도서에 대하여, 을 입력하기 위한 항목이다.
  • year: 출판년도를 기재하기 위한 항목으로, 출판되지 않은 학술문헌 중 Peer-Review를 거치지 않은 arXiv 상의 원고 등의 경우에는 게시된 년도를, Peer-Review를 거치는 중이거나 거쳤지만 아직 출판이 완료되지 않은 경우에는 해당 Publication Status의 연도를 기재한다.

DOI (Digital Object Identifier) 활용방법

Item Key 설정방법

Publication Type 별 작성방법

Journal

Conference

Thesis/Dissertation

기타

citep 등등 기타 인용 방법

출판 이전인 논문의 인용

최근에는 출판 과정이 마무리되지 않은 논문이라도 Acceptance 이후에 출판사 웹사이트에 최종원고(Final Proof 혹은 Camera-Ready Copy)가 공개되는 경우가 많다. 이 경우에는 DOI는 부여되어 있으나, 권/호/페이지/출판년도 등의 세부정보는 부여되기 이전인 경우가 많다. 이때는 note 필드를 활용해서 To Appear 등의 형태로 Publication Status 정보를 남길 수 있다. 이때, 권/호/페이지는 기입하지 않고, 출판년월을 온라인 공개일자를 기준으로 작성한다. 자동 생성되는 BibTeX record를 사용할 경우, 가장 잦은 오류가 생기는 때로 권/호/페이지에 부정확한 정보가 유입되게 된다.

본인의 이전 연구를 인용하는 경우, Acceptance 통지를 받았지만 온라인 Early Access 이전 단계인 논문이나 Review 중인 논문을 인용해야만 하는 경우가 종종 생긴다. 이러한 경우는 가급적 피하는 것이 좋지만, 연구의 관련성이 매우 높아 피치 못할 경우에는 동일한 방법으로 게재승인 됨(Accepted), 리비전 진행 중(Under Revision), 리뷰 진행 중(Under Review), 투고됨(Submitted) 등의 형태로 기입한다. 또한, 이러한 정보들은 출판과정 중에 해당 피인용 논문의 Publication Status가 변할 경우, 재투고 및 Proofreading 시 정보를 갱신해줄 필요가 있다.

arXiv 및 여타 Self-Archiving 플랫폼들

arXiv 및 여타 Archiving 플랫폼들에 공개된 논문원고들은 아직 Peer-review가 진행되지 않은 출판 전 원고들이다. 이들을 인용할 때 주의할 점은 Publication Type을 @article이나 @inproceedings가 아닌 @unpublished로 설정해야 한다는 점이다.

웹사이트

웹사이트를 인용 시, 유의해야 할 점은 해당 웹사이트에 인용한 정보가 실제 제공되고 있는지를 언제 최종 확인했는지 일시를 기입하는 것이다. 예를 들어 Available on August 7th, 2023과 같은 형태로 정보를 제공함으로써, 정보의 접근가능성이 수시로 변경될 수 있는 웹사이트들의 문제를 일부 해소하는 것이다.

profile
Graphs illustrate intricate patterns in our perception of the world and ourselves; graph mining enhances this comprehension by highlighting overlooked details.

0개의 댓글