Showing posts with label bibtex. Show all posts
Showing posts with label bibtex. Show all posts

Saturday, November 2, 2013

BibDesk: BibTeX for OS X

Bibliography#02: BibDesk

Bibliography#02: BibDesk


;; =================================================
;; εμα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#02: BibDesk

지난 Post에서 LaTeX 문서 작성에서 BibTeX 사용의 장점을 간략하게 살펴보았다.

자신의 모든 references 정보를 하나의 .bib 파일에 모아서 관리한다고 했는데, 그럼 적게는 수십에서 많게는 수백에 이르는 정보를 매번 일일이 브라우저에서 찾아서 복사한 후(⌘C), .bib 파일에 붙여 넣기(⌘V) 해야 하나? 관련된 .pdf 문서도 함께 관리할 수 없나? 이런 문제들을 처리해 주는 몇 프로그램들이 있는데(예를 들어, ZoteroMendeley), 그 중에서 OS X 사용자라면 BibDesk를 한 번 사용해 볼 것을 권한다.

BibDeskBSD License의 BibTeX 관리하는 OS X 전용 프로그램으로, 소위 말하는 논문 관리 프로그램이다. 이를 사용하면 다음의 문제들을 한꺼번에 처리할 수 있다.

  • 자체 브라우저에서 "원클릭"으로 BibTeX 정보를 저장한다.
  • .pdf 문서나 url 주소를 함께 링크할 수 있다.
  • 특히 링크된 문서를 특정 directory에 지정된 이름으로 자동 완성해 준다.
  • iTunes나 Mail.app 처럼 Smart Group 기능이 있다.

Managing References

자체 브라우저에서 바로 논문을 검색해도 되지만, 내가 주로 사용하는 방법은 다음과 같다. 주로 쓰는 브라우저(내 경우는 Firefox)에서 논문을 검색한 후, 그 url을 복사해서 BibDesk에서 [Web]에 붙인 후, [Import] 하는 순서이다.

10624595863_12332d8fc8_z.jpg

아래는 올해(<2013-10-08 Tue>) Nobel Prize in Physics 공동 수상자 중에 한 명인 Peter Higgs의 유명한 논문 Broken Symmetries and the Masses of Gauge Bosons을 가지고, 어떻게 BibDesk에서 BibTeX을 관리하는 지를 보여주는 짧은 동영상이다.1

  1. Search a bibliography via browser
  2. Copy the url
  3. Paste it into BibDesk
  4. Import
  5. Import multiple references

Autocomplete: BibDesk + Quicksilver + Dropbox

BibDesk는 BibTeX만 관리해줄 뿐만 아니라, pdf나 url도 링크해서 관리할 수 있다. 위의 방법대로 BibTeX 정보를 저장했다면 url은 대부분 자동으로 링크가 따라붙는다. 해당 article의 pdf 파일은 직접 넣어주면 이도 함께 관리할 수 있다. 이때 미리 지정해둔 형식으로 자동으로 해당 BibTeX에서 정보를 불러와 이 pdf 파일명을 바꿔주며, 역시 미리 지정해둔 directory로 파일을 자동으로 옮겨준다.2 Quicksilver 사용자라면, 이 directory를 catalog에 등록을 해두면, quicksilver에서 바로 접근할 수 있다. 게다가 Dropbox 사용자라면, pdf 파일의 저장 장소를 ~/Dropbox/ 아래에 적당한 directory로 정해줌으로써 mobile device에서도 자유롭게 열람할 수 있게 된다.

이는 [BibDesk Preferences]->[AutoFile]에서 설정할 수 있다.

10624446665_9907dea66d_z.jpg

파일명을 [BibTeX Type]이라는 directory 아래에 [First Author].[Year].[Unique alphabet].[15 words ofTitle].pdf 로 지정하는 방법은, 위의 그림에서 보듯이, [Auto File Options]->[File papers in fixed location:]에서 ~/Dropbox/bibliography 로 적어주고, [Local file format]->[Preset Format:]을 Custom으로 선택하고 [Advanced…]를 눌러, [Format String:] 아래와 같이 적어주면 된다.

%f{BibTeX Type}/%A1.%Y%u1.%T15%e

10624517734_3a4ba9f75b_z.jpg

아래는 autocomplete에서 파일명을 [BibTeX Type]이라는 directory 아래에 [First Author].[Year].[Unique alphabet].[15 words ofTitle].pdf 로 지정한 후, 실제로 pdf 문서를 link 거는 과정을 간단히 보여준다. 위와 마찬가지로 사용한 예는 Peter Higgs의 논문 Broken Symmetries and the Masses of Gauge Bosons이다.

  1. Setup autocomplete
  2. Search and save a BibTeX again
  3. Download the pdf
  4. Link it into the bibliography

BibDesk + Quicksilver + Dropbox (+ Devonthink)

Devonthink 사용자라면, 여기서 한 발 더 나아갈 수 있다. 위에서 지정한 directory(~/Dropbox/bibliography)를 Devonthink에 "Index…" 시켜두면, BibDesk에서 BibTeX 파일에 링크 걸어둔 pdf 파일들의 위치는 유지되면서, Devonthink에서 바로 열람 및 검색 할 수 있다. 즉, 여기까지 설정하면, BibDesk에서 BibTeX 파일에 링크 걸어둔 pdf 파일들을 1) Quicksilver에서 바로 접근 가능하며, 2) Dropbox를 통해 다른 devices에서도 접근할 수 있고, 3) Devonthink로 바로 검색할 수 있다.

Smart group and advanced search

OS X 사용자라면 iTunes, Mail, iPhoto, 등으로 이미 Smart group 이야 익숙할 것이라고 생각한다. 간단히 말해서, 특정 field를 지정해서 자동으로 group을 만들어 주는 기능이다. 이게 BibDesk에서도 가능한데, 예를 들어, 오늘 수정한 것들만 따로 모으거나, Physical Review B(Phys.Rev.B) Journel 만 본다던가, S.Weinberg 가 저자로 들어간 논문들만 추려낸다던가, 등을 간단하게 할 수 있다.

또한 Regular expression까지는 아니더라도 Wild character를 지원하기 때문에 검색이 용이하다. 저자의 이름이 가물가물할 때, 예를 들어, Weinberg 를 찾고 싶은데 스펠링이 정확하게 기억나지 않을 때는 w**rg 라고 검색하면 나온다. 자세한 내용은 아래를 참고하자.

Export as minimal BibTeX

마지막으로 어떻게 보면 가장 중요한(?) 기능이 바로 Export as minimal BibTeX 이다. 여기까지 설명한 데로 BibTeX을 관리하면 .bib 파일을 직접 열어봤을 때, 링크 걸어둔 모든 정보들이 알 수 없는 문자로 아래처럼 적혀있는 것을 볼 수 있다.

10624690485_758c68ddb4_z.jpg

혼자 개인적인 목적으로 LaTeX을 이용하여 pdf 문서를 만들 때는 어떻게 적혀있던 상관 없으나, 이대로 .bib 파일을 referee나 editor 아니면 coworker에게 보낼 때는 조금 싫은 소리를 들을 수도 있다. 이렇게 남들에게 .bib 파일을 보낼 때는 [File]->[Export…]로 가서 [File Format:]을 Export as minimal BibTeX 로 바꾸면, 깔끔한 .bib 파일이 만들어 진다.

10624598524_a6d42c5bbd_o.png


Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.

Footnotes:

1

이 동영상에서는 Quicksilver에 Web Search Module plugin을 깔아서, 이미 Inspire-HEP의 search field를 저장한 상태에서 사용한 모습이다. 즉, "Firefox->Inspire-HEP->검색"의 단계를 거치지 않고, Quicksilver에서 Inspire-HEP 검색을 바로 했다. Quicksilver에 Web Search Module plugin의 자세한 정보는 지난 Post를 참고하자.

2

가끔 자동으로 옮기지 못하는데, 이는 파일명을 바꾸는 지정된 형식에서 정보가 빠졌을 때 발생한다. 예를 들어, 파일명이 [Author].[Year].pdf로 바뀌게 지정해 놓았는데 BibTeX 정보에 year가 빠져 있다면, 여전히 link는 걸려있지만 파일명도 바뀌지 않고 지정된 directory로 옮겨지지도 않는다. 이는 수동으로 해결할 수 있다. [Publication]->[AutoFile Linked Files…]를 클릭한 후, [Move All]을 선택하면 빠진 정보를 제외하고 파일명을 바꾸어 지정된 directory로 옮긴다.

Created: 2013-11-02 Sat 21:00

Emacs 23.4.1 (Org mode 8.0.2)

Validate XHTML 1.0

Monday, October 7, 2013

Bibliography#01: BibTeX

Bibliography#01: BibTeX

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 을 통해 살펴보자.

9806180365_7ddfdbd3fb_o.png

첫번째 방법 - .tex 파일에 직접 넣기

위의 그림에서 두번째 빨간 박스된 LaTeX(US)을 클릭하면, 아래와 같은 화면이 나오는데,

9806202196_62c3c896f6_o.png

이를 아래와 같이 .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 하면 본문에서는 아래와 같이 보이고

10128303646_05390397c3_o.png

문서 마지막에 주석이 아래와 같이 붙는다.

10128390893_bd772ac463.jpg

두번째 방법 - .bib 파일에 넣어 관리하기

위의 그림에서 첫번째 빨간 박스된 BibTeX을 클릭하면, 아래와 같은 화면이 나오는데,

9806255784_fe314433fe_o.png

이를 긁어서, 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 에서,

  1. 단축키(⌃C [)를 쓰던지, 직접 ⌥x 로 Minibuffer를 불러, reftex-citation 을 타이핑한 후 ,
  2. weinberg ↩ 하면, bibliog.bib 에 저장한 모든 references 정보 중, weinberg와 관련된 모든 references가 뜬다.
  3. 그 중에 하나를 위/아래 화살표(↑/↓)로 선택 후 ,

그러면, 저절로 들어간다. 물론, 위에서 이미 언급한 대로, main.tex 안에 적당한 형식으로 bibliog.bib 를 references로 쓴다고 적어 놓아야 하고, bibtex과 latex으로 compile 해 주어야 한다.

간단히 말해서, 하나의 .bib 파일에 모든 references 정보를 모아 놓고, 각 문서에 그 단 하나의 .bib 파일을 이용하여 references를 달더라도, 당연히 compile 후 완성된 문서에는 각 문서에서 직접 \cite{} 로 적어 넣은 것만 자동으로 붙여준다.

아래는 간단하게 만들어본 무음 동영상이다. 실제로 OS X 에서 Aquamacs(LaTeX+BibTeX) + Terminal(Bash) + Skim으로 작업하는 모습을 담아봤다. Quicksilver는 찬조 출연했다.


Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.

Created: 2013-11-02 Sat 21:10

Emacs 23.4.1 (Org mode 8.0.2)

Validate XHTML 1.0

Friday, December 23, 2011

Quicksilver














Quicksilver

Operating System Environments
Main : Mac OSX SnowLeopard (10.6.8)
Sub- : Windows XP SP3
Server : Debian GNU/Linux lenny (5.0.8) or squeeze (6.0.2)



맥을 처음 구입한 게 2010년 2월 경. 처음부터 어떻게 하면 Mac OSX를 잘 쓴다고 소문날까 생각하며, 이것저것 깔아보고, Macintosh Operating System에 관해 이해하려고 애써본 것에 관해 Review들을 조금 써보려 한다. 가능하면 Macintosh에 국한된 Application보다는 Windows, GNU/Linux까지 아우르는 Cross Platform을 소개하려 노력하려 한다.

재일 처음 쓰게 될 Review는 Cross Platform이 아닌, Mac전용 Application이다. 
많은 이들이 Mac 최고의 킬러앱으로 꼽길 주저하지 않는 바로 Quicksilver !!!
나 또한 Quicksilver 때문에 다른 OS로는 더 이상 갈아타지 못 할 것같다.

그러면 Quicksilver란 무엇인가?

  1. Application Launcher
  2. Advanced Spotlight - searching files
  3. Move, Copy, Delete
  4. Much More -
  1. Logout, Sleep, etc
  2. Alternative Finder : get info, service, rename, etc
  3. Mail Plugin




I) 기본 사용법

말 재주도 글 재주도 없는 내가 이것이 무엇인가를 한 두 문장으로 설명하는 일은 의미가 없을 것으로 생각하고, 내가 처음 Quicksilver를 접한 Macintoch Podcast 몇 을 소개할까 한다. 길다면 길 수도 있는데, 이보다 더 잘 설명하기도 쉽지 않을 것으로 확신한다.

[Macintosh Genius] Ep. 1 - Quicksilver (1/3)



[Macintosh Genius] Ep. 3 - Quicksilver (2/3)



[Macintosh Genius] Ep. 4 - Quicksilver (3/3)







2) 더 심하게 사용하기

위의 Podcast에서 소개한 정도로만 써도 굉장히 매력적이고, 한 번 쓰면, Quicksilver 없이는 아무것도 할 수 없게 되지만, 내가 소개할 기능은 다음과 같다.
  1. [Preferences] -> 상단, [Trigger] -> 왼쪽, Quicksilver 옆에 {Select Current Selection in command window}
  2. [~]key & [,]key
  3. [Preferences] -> 상단, [Catalog] -> 왼쪽, Custom에 자주 쓰는 Directory(or Folder) 추가
  4. Bibtex과 함께 쓰기
  5. [Services Menu Module] Plugin과 Automator
이를 잘 쓰면 Finder도 거의 사용할 일이 없어진다. 

예를들여, Quicksilver로 File&Folder를 단체로 Copy/Move/Delete 하려할 때 Finder안에서 해당 Files/Folders를 [Cmd]키로 단체로 선택 후, Quicksilver를 불러([Opt]+[Spacebar] by default) {sele…}를 치면, 파란색으로된 {Select Current Selection in command window}가 보이는데, 거기서 오른 쪽 방향키를 누르면, 아까 Finder안에서 선택한 Files/Folders가 Quicksilver안에서 선택된 것을 볼 수 있다. 
이를 Finder 없이 하려면, Quicksilver를 불러([Opt]+[Spacebar] by default) 원하는 곳으로 이동([~]키를 눌러보자, 최상위 Home Directory로 이동한다)해서 원하는 Files에서 일일이 [,]키를 누르면 역시 Quicksilver 안에서 선택되어 있는 것을 확인할 수 있다.
이렇게 단체로 선택된 객체로 다음 Action을(그게 Copy/Move/Delete든 Move to Trash든 Mail to든…) 하면 된다.

컴을 쓰게 되면 필연적으로 계속 하위 Directory(or Folder)를 계속 만들게 되는데, 계속 Directory를 
하위로 하위로 만들게 되면 자주 쓰는 Directory인데도 너무 깊어서 Quicksilver로 찾기가 어려운데(아니면 방향키로 계속 내려가야…), 이 때 위 c) 와 같이 추가해주면 바로바로 잘 찾을 수 있다.  



덤으로 거기가 LaTeX 같은 작업을 주로 하는 곳이라면 주로 보는 .tex이나 .pdf, .dvi 말고도 .log 같은 실제로 보지는 않는 files이 많아 Quicksilver 안에서 보기가 불편할 때가 있는데, 이 역시 Catalog에 넣은 Directory에서 그 Window 맨 하단에 [i]를 클릭해 보면 다른 Pane 하나가 더 나오는데, 여기서 직접적으로 Quicksilver 안에서 보고 싶은(혹은 제외할, Exclude Types: ) files의 종류를 정확히(Finder 상에서 보이는 직접적인 "Kind") 써 넣으면 된다.



혹시 Bibtex을 쓴다면 Quicksilver와 조합이 아주 좋은데, 왜냐하면 Bibtex에 넣은 논문들은 자동으로 이름을 바꿔 지정된 Directory에 저장해주는데, 이 Directory도 추가해 주면 Bibtex으로 정리된 논문들도 Quicksilver에서 바로바로 찾을 수 있다. 

마지막으로 자주 쓰는 기능을 Automator로 만들어 Service로 지정해 놓으면, 이 또한 Quicksilver에서 Action 중 하나로 쓸 수 있게 해주는 [Services Menu Module] Plugin도 강력한데, 이는 내용이 너무 길어 다음 기회로 미루는 점 양해 바랍니다.