Bibliography#01: BibTeX
;; ================================================= ;; εμαcs is ⎋[esc]⌘[meta]⌥[alt]⌃[ctrl]⇧[shift]. ;; =================================================
이 문서는 emacs org-mode 로 작성된 글입니다.
Operating System Environments
- Main- : OS X Mountain Lion (10.8.5)
- Sub- : Debian GNU/Linux Wheezy (7.2) || OS X Mavericks (10.9)
- Server: Debian GNU/Linux Squeeze || Lenny
- Mobile: iOS 7.0.3
LaTeX 사용환경
- OS X: Aquamacs + Bash Shell + Skim
- GNU/Linux: Emacs(+AUCTeX) + Bash Shell + Okular
Bibliography#01: BibTeX
§ BibTeX 이란?
BibTeX은 LaTeX을 이용하여 문서를 만들때, citations (or references)을 관리해 주는 소프트웨어로, 관련 파일의 확장자(extension)는 .bib 이다. LaTeX을 이용한 문서 작성 시, references를 넣은 방법이 크게 두 가지 있는데,
- 하나가 LaTeX(.tex) 문서에 일일이 직접 적어 넣는 방법이고,
- 다른 하나가 BibTeX(.bib) 파일을 만들어 모아두고 필요할 때 부르는 방법이 있다.
Steven Weinberg 의 유명한 논문 중 하나인 A Model of Leptons 을 통해 살펴보자.
첫번째 방법 - .tex 파일에 직접 넣기
위의 그림에서 두번째 빨간 박스된 LaTeX(US)을 클릭하면, 아래와 같은 화면이 나오는데,
이를 아래와 같이 .tex 파일 안에, thebibliography 환경에 직접 넣고 compile 하면 된다.
\begin{thebibliography}{} %\cite{Weinberg:1967tq} \bibitem{Weinberg:1967tq} S.~Weinberg, %``A Model of Leptons,'' Phys.\ Rev.\ Lett.\ {\bf 19}, 1264 (1967). %%CITATION = PRLTA,19,1264;%% \end{thebibliography}
위에서 주석 처리(%\cite…
) 된 부분을 보면 알 수 있듯이, 이 주석을 넣을 곳에 \cite{Weinberg:1967tq}
를 타이핑해 주고 compile 하면, 문서에 자동으로 주석이 따라 붙는다. 예를 들어, 아래와 같이 .tex에 적고
... This is well described in his work~\cite{Weinberg:1967tq}. ...
compile 하면 본문에서는 아래와 같이 보이고
문서 마지막에 주석이 아래와 같이 붙는다.
두번째 방법 - .bib 파일에 넣어 관리하기
위의 그림에서 첫번째 빨간 박스된 BibTeX을 클릭하면, 아래와 같은 화면이 나오는데,
이를 긁어서, bibliog.bib
파일에 넣어 저장하고,
@article{Weinberg:1967tq, author = "Weinberg, Steven", title = "{A Model of Leptons}", journal = "Phys.Rev.Lett.", volume = "19", pages = "1264-1266", doi = "10.1103/PhysRevLett.19.1264", year = "1967", SLACcitation = "%%CITATION = PRLTA,19,1264;%%", }
bibtex으로 compile 해 주면 된다. 예를 들어, 지금 작성하고 있는 문서의 이름을 main.tex라 하고, references를 모아둔 파일을 bibliog.bib라 하자. LaTeX을 통해 compile 하는 방법은, 우선 main.tex
안의 \end{document}
나오기 전에 아래 두 줄을 넣은 후,
\bibliographystyle{unsrt} %---> labelling in appearing order \bibliography{bibliog} %---> bibliog.bib contains bibtex information
bash shell(Terminal.app)을 열어, 아래 순서로 실행하면 된다.
$latex main $bibtex main $latex main $latex main
FYI) pdflatex을 이용하는 경우는 위의 latex을 pdflatex으로 바꿔주면 되고, OS 상황에 따라 확장자(extension)을 일일이 붙여야 하는 경우도 있다.
§ BibTeX 사용의 장점
BibTeX을 이용하여 references를 관리하면 좋은 점은, 하나의 .bib 파일을 가지고 서로 다른 문서의 인용 처리를 할 수 있다는 점이다. 물론 필요한 경우(editor 나 referee 에게 전달해야 할 경우)에는 각 문서마다 따로 .bib를 만들어야 하지만, 관리라는 측면과 초안(manuscript)를 만들고 있는 경우에는 단 하나의 .bib 파일로 참조한 모든 references를 관리하는 것이 편하다.
Aquamacs(or Emacs + AUCTeX) 사용자의 경우, 작성 중인 문서에 reference를 다는 것이 무척 편한다. 위에서 다룬 경우의 예(main.tex
& bibliog.bib
)를 계속 사용해서 얘기하면,
한 번 LaTeX compile 하고,
$latex main
Aquamacs로 부른 main.tex
에서,
- 단축키(
⌃C [
)를 쓰던지, 직접⌥x
로 Minibuffer를 불러,reftex-citation
을 타이핑한 후↩
, weinberg ↩
하면,bibliog.bib
에 저장한 모든 references 정보 중, weinberg와 관련된 모든 references가 뜬다.- 그 중에 하나를 위/아래 화살표(↑/↓)로 선택 후
↩
,
그러면, 저절로 들어간다. 물론, 위에서 이미 언급한 대로, main.tex
안에 적당한 형식으로 bibliog.bib
를 references로 쓴다고 적어 놓아야 하고, bibtex과 latex으로 compile 해 주어야 한다.
간단히 말해서, 하나의 .bib 파일에 모든 references 정보를 모아 놓고, 각 문서에 그 단 하나의 .bib 파일을 이용하여 references를 달더라도, 당연히 compile 후 완성된 문서에는 각 문서에서 직접 \cite{}
로 적어 넣은 것만 자동으로 붙여준다.
아래는 간단하게 만들어본 무음 동영상이다. 실제로 OS X 에서 Aquamacs(LaTeX+BibTeX) + Terminal(Bash) + Skim으로 작업하는 모습을 담아봤다. Quicksilver는 찬조 출연했다.
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
No comments:
Post a Comment