Showing posts with label aquamacs. Show all posts
Showing posts with label aquamacs. Show all posts

Saturday, December 14, 2013

Note in plain text

Note in plain text

Note in plain text


;; =================================================
;; εμαcs is ⎋[esc]⌘[meta]⌥[alt]⌃[ctrl]⇧[shift].
;; =================================================

이 문서는 emacs org-mode로 작성된 글입니다.


Operating System Environments

  • Main- : OS X Mavericks (10.9)
  • Sub- : Debian GNU/Linux Wheezy (7.2)
  • Server: Debian GNU/Linux Squeeze || Lenny
  • Mobile: iOS 7.0.4

시중에는 Note 관련 Apps이나 Applications이 즐비하다. OS X나 iOS 사용자라면, Apple에서 제공하는 Notes.app을 대부분 쓸 것이다. iCloud로 자동으로 sync되는 이 Notes.app은 그냥저냥 쓸 만은 하다. IT 환경에 조금 밝은 사람은 Evernote를 많이 쓴다. 이 역시 나쁜 선택은 아닐 것이다. 그럼 뭐가 불만인가? 내가 Note 관련 Apps이나 Applications에 요구하는 기능은, 한 마디로 하자면, Plain text이다.

  • Plain text는 어떤 OS에서도 완벽히 호환된다.
  • Plain text는 읽거나 수정하는데 있어 특별한 프로그램이 필요치 않다.
  • Plain text는 검색이 용이하다.

다시 되짚어 보자. iCloud는 Apple 제품에서만 쓸 수 있다. Evernote 역시 Linux 버전이 없으며 따로 iOS 버전이던 OS X 버전을 설치해야 사용이 용이하다. 물론 나도 이 글에서 어떤 프로그램을 추천하겠지만, Plain text로 작성된 문서는 기본적으로 따로 특별한 프로그램이 요구되지는 않는다는 점을 다시 한 번 강조하고 싶다.

여기서는 두 개만 예로 들었지만, Note를 표방하는 시중의 대부분의 제품의 가장 큰 문제는 검색이 엉망이라는 데 있다. 아름다운 GUI로 Note 프로그램을 잘 만들어도, 그 안에서만 검색이 가능하거나 그마저도 잘 않되는 것들이 태반이다. Note를 쓰면 쓸 수록, 쓴 글들이 database가 되어, 이를 언제라도 빠르고 쉽게 검색할 수 있어야 진정한 Note라고 부를 수 있지 않을까? 강력한 호환성을 자랑하는 문서 format은 첫째가 단연 plain text고 두 번째로는 pdf라 할 수 있겠다. 한글을 사용할 것이므로 unicode의 한 종류인 utf8으로 note를 작성하고, .txt 확장자로 저장하면 어느 OS에서도 문제 없이 사용할 수 있는 강력한 호환성을 갖게 된다.

Sync는 Dropbox로 해결할 것이다. Dropbox를 쓰는(혹은 추천하는) 가장 큰 이유는 다양한 OS를 지원하기 때문이다. OS X, Linux, Windows의 3대 OS는 물론이고 iOS, Android, BlackBerry에 Kindle Fire까지 지원한다. 또한 API가 공개되어 있어서 다양한 apps에서 접근성 또한 높다. 무료 사용자에게는 2GB 만을 제공하지만, Note 사용에는 한도 끝도 없는 용량이며, 간단한 pdf 파일들로는 일반인들은 다 쓰기도 어려운 용량이다. 어떤 editor든지 .txt 파일로 만들어서 Dropbox directory 아래에 저장만 하면 그냥 sync 된다. 인터넷만 된다면 어디서든 볼 수 있다.

Dropbox 사용의 또 하나의 강력한 장점은, 지난 번에 저장했던 같은 이름의 파일들이 Dropbox server에 고스란히 저장되어 있다는 점이다. 즉, 글을 계속 수정하고 저장해 가며 쓰다가 문득 지난 번에 쓴 표현을 되살리고 싶을 때, Dropbox homepage에 가서 그 이름의 파일에서 secondary click (aka 우클릭) 후, 'Previous versions'을 클릭하면 지난번에 저장했던 파일들이 고스란히 존재하는 것을 볼 수 있다. 시간 순서로 정렬되어 있으므로 적당한 시간대의 파일들을 몽땅 다운로드해서 확인해 보면 된다. 한 가지 주의할 점도 있다. 아직껏 Dropbox hacking 소식없지만, 그래도 기본적으로는 서버에 올리게 되는 것이므로, 개인정보에 관한 파일을 Dropbox와 함께 사용하는 것은 항상 신중해야 하고 가능하면 그런 파일은 encrypt해서 그냥 컴에만 가지고 있자.

11259796523_5099ab2db9.jpg

여기까지 정리하면, Note 관련 Apps이나 Applications에게 요구되는 기능은 다음과 같다.

  1. Plain text에 Unicode를 지원해야 한다.
  2. 가볍게 돌아가야 하고 사용이 간단해야 한다.
  3. 강력한 검색을 지원해야 한다.
  4. Dropbox sync가 용이해야 한다.
  5. Markdown 같은 markup language를 지원하면 금상첨화다.

OS X

Notational Velocity and nvALT

Notational Velocity라는 환상의 프로그램이 있다. GNU GPLv3 license의 OS X 전용의 plain text note 프로그램이다. 이 프로그램 안에서 note를 작성하는 것은 물론 검색도 해준다. 한글도 잘 동작하며, dropbox sync도 문제없다. 무엇보다도 정말 가볍고 빠르다.

Notational_velocity_screenshot.png

Notational Velocity, image from Wikipeida: Notational Velocity

기본적인 동작은 검색 필드(로 보이는)에서 모두 이루어진다.(단축키 ⌘L)

  • 여기에 단어를 쓰면 바로 검색을 해 주고, 그 단어가 포함된 notes를 모두 filtering 해서 바로 아래 panel에서 즉각 보여주며, 방향키로 검색한 단어가 포함된 notes 사이를 이동할 수 있다. 이 때 세 번째 panel에서 그 note 안에서 검색한 단어가 강조되어 표현됨은 물론이다. 다른 applications과 마찬가지로, Forward finding (단축키 ⌘G)으로는 그 note 안에서 계속적으로 그 검색 단어를 찾아준다.
  • 여기에 단어를 쓰고 엔터(↩)를 누르면, 그 단어를 이름으로 한 다른 note를 바로 만든다.

개인적으로는 Notational Velocity의 모든 기능에 MultiMarkdown preview까지 지원하는 nvALT를 더 추천한다. Open source는 아니지만 free이다. 사용 방법 및 설정은 Notational Velocity와 완전히 동일하다. dropbox sync와 notes 관리 설정은 아래와 같다.

  1. nvAlt에서 Preferences(⌘,)를 열어 아래 그림에서 (1.)의 'Notes'를 클릭한다.
  2. (2.)를 클릭해서 Dropbox에서 sync 시킬 폴더를 선택한다. 아래 예에는 ~/Dropbox/nv 로 설정되어있다.
  3. 기본으로는 모든 notes를 단 하나의 이름의 파일로 관리하는 것으로 되이있는데, 그 아래 'Storage' panel에서 (아래 그림 (3.)) (4.)을 클릭해서 'Plain Text Files*'로 바꾸면 각기 다른 파일 이름으로 note 작성 가능하다.
  4. Markdown(.md) 파일을 nvALT에서 작성 및 검색 가능하게 하려면, (5.1)의 '+'를 클릭하여 (5.2)에 md를 추가시킨다. FYI) (5.2)의 빨간 박스를 잘 보면 txt 가 굵게 표시되어 있는데, 이건 새로 작성할 note가 .txt 로 작성됨을 뜻한다. .md 를 기본으로 하려면 그 이름을 클릭해서 굵게 표시되게 만들면 된다.

11242442566_34e7884a80.jpg

말로는 잘 설명이 안된다. free software(Notational Velocity는 free-/open-)이므로 한 번 써보는 것을 권한다. 써보면 무슨 말인지 알게 된다.

특히, Markdown 및 MultiMarkdown 사용자라면 nvALT를 한 번 써볼 것을 추천한다. Mou라는 꽤 괜찮은 OS X 전용 무료 editor가 존재하지만 nvALT도 그 못지 않다. Navtive nvALT의 Live-preview 기능을 켜고 편집을 하면 Live-preview 화면이 다시 맨 위로 올라가서 다소 부족한데, 이 또한 해결이 가능하다. 이를 위해서는 아래 사이트에 가서 Download Lopash for nvALT v1.0 를 클릭하여 다운로드 받은 후 (혹은 여기를 눌러 직접 받은 후)

압축을 풀어서, 아래 여섯개의 파일을 ~/Library/Application Support/nvALT/ 에 붙여 넣는다.

custom.css
highlight.pack.js
jquery.min.js
solarized_dark.css
solarized_light.css
template.html

그러면 아래 그림과 같은 Live-preview을 볼 수 있게 된다. 이 설정을 완료한 후, Live-preview 기능을 켜고 편집을 하면 Live-preview 화면이 다시 맨 위로 따라 올라가지 않는다.

11313128466_4c01428dca_z.jpg

FYI-#1) 같은 MultiMarkdown source로 확인해 본 결과 Mou와 nvALT가 같은 결과(html 혹은 pdf)를 보여주지는 않았다. 즉, 둘의 MultiMarkdown engine이 다른 것으로 보인다.

FYI-#2) DEVONthink 사용자라면, 위의 예에서 dropbox sync 시킨 ~/Dropbox/nv 폴더를 indexing 하면 DEVONthink 안에서도 검색할 수 있음은 물론이다.

FYI-#3) Simplenote 사용자라면, sync는 Simplenote로 해결하면 된다. Notational Velocity와 nvALT 모두 Simplenote를 기본으로 지원한다.

Aquamacs (or emacs) deft-mode

완전하지는 않지만 markdown-mode.el 를 만들어 배포하고 있는 Jason Blevins1 가 Notational Velocity의 영감을 얻어 유사하게 만든 deft.el 도 만들어서 배포하고 있다.

설정하는 방법은 jblevins.org/projects/deft/에 자세한 설명이 나와있지만 간단하게 설명하면,

  1. deft.el을 다운 받아 (혹은 링크를 따라가서 전체 복사 후, Aquamacs에서 새 문서를 열어 붙여 넣고 deft.el 로 저장)
  2. deft.el 파일을 ~/.emacs.d/ 아래로 이동. 예를 들어, ~/Desktop/deft.el 으로 만든 경우에 bash sell(Terminal.app)을 열어 아래를 실행
    $mv ~/Desktop/deft.el ~/.emacs.d/deft.el
    
  3. 내 경우는 markdown도 가끔 쓰지만, 주로 org-mode를 .txt 확장자로 사용한다.

    위의 nvALT에서와 같은 폴더(~/Dropbox/nv)를 사용하고 .txt 확장자를 새 note에 기본으로, note 편집은 org-mode 에서 할 경우에는, 아래를 ~/.emacs 파일에 붙여 넣고 저장한다.

    (add-to-list 'load-path "~/.emacs.d/")
    ;; ###################
    ;; for deft.el
    ;; ###################
    (require 'deft)
    (setq deft-directory "~/Dropbox/nv")
    (setq deft-extension "txt")
    (setq deft-text-mode 'org-mode)
    (setq deft-use-filename-as-title t)
    (global-set-key (kbd "C-c d") 'deft)
    

    Markdown을 주로 쓰는 사용자라면, .md 확장자를 선호할 것이고 note 편집은 물론 markdown-mode 를 쓸 것이므로 아래를 ~/.emacs 파일에 붙여 넣고 저장한다.

    (add-to-list 'load-path "~/.emacs.d/")
    ;; ###################
    ;; for deft.el
    ;; ###################
    (require 'deft)
    (setq deft-directory "~/Dropbox/nv")
    (setq deft-extension "md")
    (setq deft-text-mode 'markdown-mode)
    (setq deft-use-filename-as-title t)
    (global-set-key (kbd "C-c d") 'deft)
    

    물론 markdown-mode 가 깔려있어야 한다. 그리고 두 경우 모두 deft-mode 를 부른 단축키는 ⌃c d 로 지정되어 있다. 수동으로는 ⌥x 누른 후, deft ↩ 하면 부르는 것과 동일하다.

FYI) deft-mode를 쓰더라도 nvALT (혹은 Notational Velocity)는 필요하다. 왜냐하면, plain text를 쓰는 이유 중의 하나인 검색이 deft-mode에서 용이하지 않다. 특히 한글 검색은 deft-mode를 부른 후, ⌥x deft-filter 과정을 거쳐야 가능하다. 그럼에도 불구하고 deft-mode를 쓰는 이유는, Finder나 Quicksilver로 찾는 것보다 Aquamacs 안에서 보고, 찾아서, 바로 편집하는 편리함 때문이다.

Any test editor + searching

물론, 원론적으로는 어떤 editor를 쓰던 상관없다. Plain text로 작성하므로 OS X에 기본으로 들어있는 TexdEdit.app을 써도 된다. DEVONthink 사용자라면 그 안에서 검색은 물론 편집도 가능하므로 아무것도 필요 없다. Markdown을 주로 쓰면 Mou를 써도 되고, Emacs user라면 Aquamacs를 쓰면 되고 뭐든 상관없다. 문제는 검색인데, 그것도 Notational Velocity나 nvALT (혹은 DEVONthink) 처럼 시각적으로 바로 검색 결과를 보여주는 것도 필요 없다고 생각하면, 역시 문제 되지 않는다. 처음에 얘기했듯이 plain text로 작성한 문서는 검색도 용이하기 때문이다. 즉, 다른 프로그램 없이 그냥 Finder.app에서 ⌘F 로 검색해도 되고, DEVONtechnology에서 무료로 배포하는 EasyFind를 써서 검색해도 된다. (-> EasyFind: direct link for download) Plain text로 작성했으므로 파일명 뿐만 아니라 그 안의 내용까지 잘 검색해 준다.

11259740685_3f3f4b7df6_z.jpg

in Finder.app

11259824573_2ed49be81d_z.jpg

in EasyFind

Debian GNU/Linux and Kubuntu

다시 말하지만 plain text로 note를 만드는 것은 어디에서 해도 된다. 그냥 깔려있는 Kate 같은 프로그램으로 작성해도 된다. 저장만 Dropbox directory 아래에 적당한 이름으로 하면 그냥 sync도 된다. 역시 Notes 검색이 문제인데, 단순하게는 OS X의 Finder.app처럼 KDE environment에서는 Dolphin안에서 검색을 해도 잘 되긴 한다. 하지만 조금 더 나은 검색 환경을 위해 OS X 경우처럼 다른 가능성을 살펴보겠다.

nvpy

Notational Velocity나 nvALT는 OS X 전용 프로그램이다. Linux에서는 여기에 영감을 얻은 Charl P. Botha가 만들고 BSD License로 배포되고 있는 nvpy가 있다. 작동하는 방식은 Notational Velocity과 거의 같다. Markdown도 지원하고 Dropbox sync도 가능하다. 한글도 모양이 좀 이상하긴 하지만 무난하게 지원된다.

  • Debian GNU/Linux와 Kubuntu에서 설치는 다음 순서로 bash sell(Konsole/Terminal)에서 실행하면 된다.2
    $sudo apt-get install python python-tk python-pip python-markdown
    $sudo pip install nvpy
    
  • Dropbox sync3 위해서는
    1. home directory 아래 .nvpy.cfg 를 만들고
      $touch ~/.nvpy.cfg
      
    2. 적당한 editor로 .nvpy.cfg 파일을 열어, 아래를 적어 넣자.
      [nvpy]
      simplenote_sync = 0
      notes_as_txt = 1
      txt_path = /home/user_id/Dropbox/nv
      

      위에서 user_id 에는 실제 사용자 ID를 적어 넣어야 한다. Dropbox 아래 nv 라는 이름의 directory와 sync 시키는 경우로 설정되어 있음에 유의하자.

  • 실행은 K-runner나 bash sell(Konsole/Terminal)에서 nvpy↩ 하면 된다.
  • 간단한 단축키로는, ⌃?: 단축키 정보 표시, ⌃N: 새 노트, ⌃M: html로 rendering. (주의 html rendering 후 저장은 따로 브라우저 안에서 해야한다.) 자세한 단축키는 여기를 가서 살펴보자.

11243974703_76d77194de_z.jpg

nvpy in Debian GNU/Linux wheezy

Markdown은 지원하는데 MultiMarkdown은 지원하지 않는다 는 점도 염두해 두자.

Emacs user

Aquamacs와 다를 것이 하나도 없다. Deft-mode를 쓰면 된다. 'Aquamacs (or emacs) deft-mode' section 에서 자세히 기술하였다.

iOS

plain text를 편집할 수 있는 어떤 app도 가능하다. Dropbox app을 쓰면 수동으로 올리고 다운받는 것도 가능하긴 하다. 하지만 이렇게 쓰면 너무 불편하다. app 안에서 dropbox sync 기능이 지원되어 그 안에서 sync를 눌러 수행하거나 인터넷에 연결되면 자동으로 수행하는 방식이 가능한 apps 위주로 간단하게 살펴보기로 하자. 아래 링크를 따라가면 정말 많은 apps의 특징들을 비교하여 표로 만들어 놓았으니, 더 많은 정보를 원하면 참고하자.

Free apps

꽤 많은 수의 무료 apps가 있는데, 그 중에 쓸만한 두 개는 Writeroom과 Nocs이다. Writeroom은 OS X 용의 유료 application도 있는데, iOS 용은 현재(<2013-12-08 Sun>) 무료로 배포되고 있다. 자화사의 무료 app인 PlainText의 iOS 7 용의 미발매로 지금 한시적으로 무료로 배포하고 있다. 괜찮은 GUI를 가지고 있으나 Markdown preview 기능은 지원하지 않는다. Nocs는 항상 free로 배포되고 있는데, GUI가 조금 촌스럽긴 하지만 광고도 없고 Markdown도 지원하고 그럭저럭 쓸만하다. 내가 추천하는 free app이다. 그것도 아니면 Notational Velocity나 nvALT, nvpy가 default로 지원하는 Simplenote를 쓰는 것도 한 방법이다. iOS, Android, Kindle을 지원하고 OS X 용도 있다. ID를 만들고 가입하는 절차가 필요하다는 점과 Markdown은 지원하지 않는다는 점을 유의하자.

Non-free apps

아직 $4.99 가격의 평이 좋은 apps도 있다. MultiMarkdown을 지원하는 Element나 그냥 Markdown만 지원하지만 OS X 용도 있는 ByWord이 쓸만해 보인다. 어디를 가도 추천 리스트에 꼽히는 apps다. 나는 둘 다 써보지 못 해서 추천할 수는 없고, 그냥 정보 정도라고 생각했으면 한다.

Nubulous Notes

neb·u·lous
미[nébjuləs] 영[nébjuləs]
【형용사】
(격식)
1. 흐린; 구름 같은; 성운(상)의(nebular).
2. 뚜렷하지 않은(formless), 막연한(vague), 불분명한(in-distinct); 혼란한

출처: Daum 영한사전: nebulous

마지막으로 내가 쓰는 app인 Nubulous Notes이다. 살 때만 해도 $3.99 였는데, 지금은 $7.99 이어서 추천하기에는 조금 부담스러운 가격이 되었다. 그래도 기능은 정말 막강하다. Dropbox sync도 잘 되고, 전체 화면 모드도 최상단의 정보창 부분도 사라지고 꽉차는 진짜 전체 화면 모드로 지원되며, Markdown 뿐만 아니라 html rendering도 지원되서 내 경우는 org-mode에서 html로 export 한 파일을 올려서 보기도 한다. 또한 자주 쓰는 단축키(or macros)를 설정(아래 세 번째)해서 자판 위에 올릴 수 있어서(아래 두 번째) 편집이 매우 용이하다. 내 설정(macros)에서는 (두 번째 그림에서), 1. 을 누르면 '** {오늘 날짜}' 가 찍히고, 2. 를 누르면 '*** ' 가 찍히게 설정되어 있다. 또한 Fonts도 몇 깔려 있어서 원하는 것으로 선택해서 쓸 수 있다.

11313219513_e56c457f2a_z.jpg

무료로 배포되는 lite version도 있으니 한 번 써보고 구매하길 추천한다.

FYI) 언급한 다섯 apps 모두 iPhone과 iPad를 전부 지원하는 univeral app이다.

Epilog

가벼운 note 검색은 nvALT와 Aquamacs의 Deft-mode로 하지만, 개인적으로는 거의 모든 검색은 DEVONthink로 하고 있다. 가격이 좀 되기 때문에 note만 쓰는데 추천하기는 애매하지만(원래 이런데 쓰라고 나온 게 아니다), 가히 database 관리의 왕이라 불릴 만한 프로그램이다. DEVONthink는 워낙 다루는 블로거들이 많으므로 난 다룰 일이 없을 것 같다.

Markdown을 꼭 쓸 필요는 없다. 나조차도 Emacs org-mode를 주로 쓰고 있다(물론 그것은 내가 Emacs 사용자이기 때문일 수 있다). 그러나 문법이 워낙 간단(?)하고 유명 apps 중에 이를 지원하지 않는 것이 손에 꼽을 정도라 언급했다.

글이라는 것을 쓰는데 자질구레한 설정이 필요 없이 글쓰기에만 집중하게 하는 컨셉의 applications이 많은데, nvALT를 그런 용도로도 쓸 수 있을 것 같다. 원래 이 글은 쓰려고 했던 동기를 주었던 프로그램이다. OS X 사용자는 한번 쯤 써볼 것을 추천한다.


Footnotes:

1

바로 이 사람이 만든 markdown-mode.el 가 Aquamacs 3.0 preview에 기본으로 들어가 있다.

2

Installation은 여기를 참고하였다.

3

Dropbox sync 관련은 여기를 참고하였다. Simplenote 사용자는 여기를 살펴보자.


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

Created: 2013-12-14 Sat 16:56

Emacs 23.4.1 (Org mode 8.0.2)

Validate XHTML 1.0

Friday, December 6, 2013

Aquamacs 3.0 preview

Aquamacs 3.0: preview

Aquamacs 3.0: preview


;; =================================================
;; εμαcs is ⎋[esc]⌘[meta]⌥[alt]⌃[ctrl]⇧[shift].
;; =================================================

이 문서는 emacs org-mode로 작성된 글입니다.


Operating System Environments

  • Main- : OS X Mavericks (10.9)
  • Sub- : Debian GNU/Linux Wheezy (7.2)
  • Server: Debian GNU/Linux Squeeze || Lenny
  • Mobile: iOS 7.0.4

Aquamacs 3.0 preview가 배포되고 있다. 얼마만에 major update인지… 지난 4년 동안 한번도 preview version을 배포한 적이 없었는데, 무슨 이유인지 모르겠지만 이번에는 Apple이 하는 것처럼 하려는 것일까… 아무튼 preview version 사용자들에게서 적극적으로 feedback을 얻는다면, 더 좋은 stable version이 나올 수 있는 것이므로 사용해 보기로 했다. 가장 큰 차이점은 일단 emacs 24를 기본으로 만들었고 markdown-mode가 기본으로 들어 가있다. 약간의 bugs가 보이긴 하는데, 차차 고쳐지거나 사용자가 말하면 바뀌겠지…


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

Created: 2013-12-06 Fri 00:28

Emacs 24.3.50.2 (Org mode 8.0.2)

Validate XHTML 1.0

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 문서도 함께 관리할 수 없나? 이런 문제들을 처리해 주는 몇 프로그램들이 있는데(예를 들어, Zotero나 Mendeley), 그 중에서 OS X 사용자라면 BibDesk를 한 번 사용해 볼 것을 권한다.

BibDesk는 BSD 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

Wednesday, May 29, 2013

Emacs org-mode

emacs org-mode

emacs org-mode


e⎋m⌘a⌥c⌃s⇧ is Esc Meta Alt Ctrl Shift


이 문서는 emacs org-mode 로 작성된 글입니다.

Operating System Environments

  • Main- : OS X Mountain Lion (10.8.3)
  • Sub- : Debian GNU/Linux Squeeze (6.0.7)
  • Server : Debian GNU/Linux Squeeze || Lenny
  • Mobile : iOS 6.1.3

태초에 e⎋m⌘a⌥c⌃s⇧1라는 이름의 초강력 editor 가 있었다. Richard Stallman이 이끄는 GNU Project에서 1976년에 처음으로 배포된 후, 아직까지 최강의 editor로 군림하고 있다. Lisp라는 언어로 쓰여진 e⎋m⌘a⌥c⌃s⇧는 거의 못 하는 것이 없는데, 특히 LaTeX, Fortran, C, 등의 coding에 강력한 힘을 발휘하며, .el의 확장자를 가진 일종의 plugin을 설치하면 Mathematica source, Markdown, 등도 편리하게 사용할 수 있다. 역사가 오래된 만큼 다양한 emacs variants(or forks)가 존재하는데, windows users 사이에서는 xemacs가 가장 유명하고, os x users 사이에서는 aquamacs와 emacs(cocoa)가 널리 사용되고 있다. 내 MacBookPro에는 둘다 깔려있긴한데, 그중에서 aquamacs가 나의 메인 editor이다. Debian GNU/Linux에서는 당연히 gnu emacs를 쓴다.

e⎋m⌘a⌥c⌃s⇧ org-mode

Org-mode는 기본으로 설치되어 있는 Major-mode 중의 하나로, notes, TODOs, GTD(Get Things Done), HTML, LaTeX, 등을 plain text로 해결하자는 취지로 Carsten Dominik 가 고안한 언어(혹은 macro)이다. Markdown 언어와 마찬가지로(아니 더 강력하게) source code가 간단해서 배우기 쉽고 debugging이 용이하다. 게다가 특별히 emacs가 꼭 아니라도 source code를 일반 text editor로도 보거나 편집에 전혀(혹은 거의) 문제가 없다는 점이 큰 장점이다. 특히 HTML을 모르는 나 같은 사람이 blogging을 하는데 훌륭한 도구이다. Markdown에 비해 특히 표 지원이 탁월하며, 간단한 수식을 위한 LaTeX 지원도 조금 더 나은 것 같다. Org-mode의 강력한 기능은 Carsten Dominik 이 직접 발표한 40여분짜리 동영상을 보면 한눈에 확인할 수 있다.

org-mode

준비물

OS X 에서는 emacs(cocoa)나 aquamacs 가 있으면 되는데, blogging이나 기타 이유로 org-mode를 자주 쓸 경우,

  • Emacs(cocoa) 가 main editor 인 경우는 그냥 쓰면된다. 모든게 잘 동작한다.
  • Aquamacs 가 main editor 인 경우는 조금 조치(?)를 해줘야 한다. 이유는 link를 걸때 가끔 (주로 한글을 쓰는 사이트) aquamacs 에서는 link가 깨지기 때문인데, 이는 aquamacs 2.4(현재 2013년 5월)가 gnu emacs 23을 기반으로 만들어 졌기때문에 org version 6.33x 깔려있는데, 이 버젼에서 문제가 생기는 것으로 보인다. 현재 emacs(cocoa)는 gnu emacs와 같은 emacs 24이고 org version 7.3.3f 이며, 여기서는 아무런 문제 없이 link가 동작한다. org-mode의 최신 버젼은 8.0.x 인데, 어떠한 방법으로든 aquamacs의 org-mode version을 7.3.x 이상으로 올리면 aquamacs에서도 자유롭게 쓸 수 있다.

    → Org-mode 8.0.x upgrade 관련 Post 바로가기

Debian GNU/Linux 에서는 gnu emacs 면 된다.

FYI) emacs(cocoa)는 MacPorts를 통해서도 설치할 수 있다.

$sudo port install emacs-app

General Settings

아무 설정도 안건드리고 org-mode를 쓰면, 자동으로 Table of contents가 만들어 진다던지, *, *, **, 등으로 처리한 sections에 번호가 붙는다던지 한는 불편함이 발생한다. 각자 export/publish를 해보고 본인의 추향에 따라 설정을 변경하자.

방법은 크게 세가지가 있다. 첫째 로 org-mode source file에다 처리하는 방법이고, 둘째 는 e⎋m⌘a⌥c⌃s⇧ 안에서 수동(?)으로 처리하는 방법, 그리고 마지막 으로 ~/.emacs 을 직접 수정하는 방법이 있다. 여기서는 두번째와 세번째만 다루는 방법을 소개하고 첫번째 방법은 생략하기로 한다. 특별한 이유는 없다.

I. in org-mode source file → 공식 홈페이지 바로가기

II. via ⌥x customize-mode

  • literal link

⌥x customize-mode → Org Link : Options concerning links in Org-mode. → Org Descriptive Links: Hide Value Toggle off (nil)

  • disable section number

⌥x customize-mode → Org Export : Options for exporting org-listings. → Org Export General : General options for exporting Org-mode files. → Org Export With Section Numbers: Hide Value Toggle off (nil)

  • hide author info

⌥x customize-mode → Org Export : Options for exporting org-listings. → Org Export General : General options for exporting Org-mode files. → Org Export Author Info: Hide Value Toggle off (nil)

  • hide table of contents

⌥x customize-mode → Org Export : Options for exporting org-listings. → Org Export General : General options for exporting Org-mode files. → Org Export Remove Timestamps From Toc: Hide Value Toggle on (non-nil)

  • else

⌥x customize-mode → Org Startup : Options concerning startup of Org-mode. → Org Startup Align All Tables: Hide Value Toggle on (non-nil)

III. in ~/.emacs

(custom-set-variables
'(org-descriptive-links nil)
'(org-export-author-info nil)
'(org-export-with-section-numbers nil)
'(org-export-with-toc nil)
'(org-startup-align-all-tables t)
'(org-startup-truncated nil)
'(org-support-shift-select t)
)

e⎋m⌘a⌥c⌃s⇧ 안에서의 한글환경은 지난 Post를 참고하자. → emacs 한글환경 관련 지난 Post 바로가기


part of org-mode source code

#+TITLE:    emacs org-mode
---------------------
#+STARTUP:  showall
#+AUTHOR:   Yonggoo Heo
#+EMAIL:    y DOT heo AT gsi DOT de
#+OPTIONS:  LaTeX:t
#+STYLE: <style type="text/css">.text-red   { color: red;   }</style>
#+STYLE: <style type="text/css">.text-green { color: green; }</style>
#+STYLE: <style type="text/css">.text-blue  { color: blue;  }</style>


* e⎋m⌘a⌥c⌃s⇧ is /Esc Meta Alt Ctrl Shift/
---------------------
*이 문서는 emacs org-mode 로 작성된 글입니다.*

* Operating System Environments
   + Main-  : *OS X Mountain Lion* (10.8.3)
   + Sub-   : *Debian GNU/Linux Squeeze* (6.0.7)
   + Server : *Debian GNU/Linux Squeeze* || *Lenny*
   + Mobile : *iOS* 6.1.3



#+LINK: gnu-emacs                http://www.gnu.org/software/emacs/
#+LINK: gnu-project              http://www.gnu.org/gnu/gnu.html
#+LINK: org-mode                 http://orgmode.org/
#+LINK: org-mode-talk            http://orgmode.org/talks.html
#+LINK: wiki-RichardStallman     http://en.wikipedia.org/wiki/Richard_Stallman
#+LINK: wiki-lisp                http://en.wikipedia.org/wiki/Lisp_%28programming_language%29
#+LINK: aquamacs                 http://aquamacs.org/
#+LINK: emacs-cocoa              http://emacsformacosx.com/
#+LINK: xemacs                   http://www.xemacs.org/index.html
#+LINK: gnu-emacs                http://www.gnu.org/software/emacs/



태초에 [[gnu-emacs][e⎋m⌘a⌥c⌃s⇧]][fn:emacs-classification]라는 이름의 초강력 editor 가 있었다. [[wiki-RichardStallman][Richard Stallman]]이 이끄는 [[gnu-project][GNU Project]]에서 1976년에 처음으로 배포된 후, 아직까지 최강의 editor로 군림하고 있다. [[wiki-lisp][Lisp]]라는 언어로 쓰여진 [[gnu-emacs][e⎋m⌘a⌥c⌃s⇧]]는 거의 못 하는 것이 없는데, 특히 LaTeX, Fortran, C, 등의 coding에 강력한 힘을 발휘하며, .el의 확장자를 가진 일종의 plugin을 설치하면 Mathematica source, Markdown, 등도 편리하게 사용할 수 있다. 역사가 오래된 만큼 다양한 emacs variants(or forks)가 존재하는데, windows users 사이에서는 [[xemacs][xemacs]]가 가장 유명하고, os x users 사이에서는 [[aquamacs][aquamacs]]와 [[emacs-cocoa][emacs(cocoa)]]가 널리 사용되고 있다. 내 MacBookPro에는 둘다 깔려있긴한데, 그중에서 [[aquamacs][aquamacs]]가 나의 메인 editor이다. Debian GNU/Linux에서는 당연히 gnu emacs를 쓴다.

[fn:emacs-classification] 여기서, e⎋m⌘a⌥c⌃s⇧라 함은 OS X에서 aquamacs와 emacs(cocoa) 그리고 Debian GNU/Linux에서의 gnu emacs를 모두 포괄하는 용어로 사용되었다.

Footnotes:

1

여기서, e⎋m⌘a⌥c⌃s⇧라 함은 OS X에서 aquamacs와 emacs(cocoa) 그리고 Debian GNU/Linux에서의 gnu emacs를 모두 포괄하는 용어로 사용되었다.

Created: 2013-05-29 Wed 21:31

Emacs 23.3.50.1 (Org mode 8.0.2)

Validate XHTML 1.0

Upgrade org-mode in aquamacs

Aquamacs에서 Org-mode 업그레이드

Aquamacs에서 Org-mode 업그레이드


e⎋m⌘a⌥c⌃s⇧ is Esc Meta Alt Ctrl Shift


이 문서는 emacs org-mode 로 작성된 글입니다.

Operating System Environments

  • Main- : OS X Mountain Lion (10.8.3)
  • Sub- : Debian GNU/Linux Squeeze (6.0.7)
  • Server : Debian GNU/Linux Squeeze || Lenny
  • Mobile : iOS 6.1.3

태초에 e⎋m⌘a⌥c⌃s⇧1라는 이름의 초강력 editor 가 있었다. Richard Stallman이 이끄는 GNU Project에서 1976년에 처음으로 배포된 후, 아직까지 최강의 editor로 군림하고 있다. Lisp라는 언어로 쓰여진 e⎋m⌘a⌥c⌃s⇧는 거의 못 하는 것이 없는데, 특히 LaTeX, Fortran, C, 등의 coding에 강력한 힘을 발휘하며, .el의 확장자를 가진 일종의 plugin을 설치하면 Mathematica source, Markdown, 등도 편리하게 사용할 수 있다. 역사가 오래된 만큼 다양한 emacs variants(or forks)가 존재하는데, windows users 사이에서는 xemacs가 가장 유명하고, os x users 사이에서는 aquamacs와 emacs(cocoa)가 널리 사용되고 있다. 내 MacBookPro에는 둘다 깔려있긴한데, 그중에서 aquamacs가 나의 메인 editor이다. Debian GNU/Linux에서는 당연히 gnu emacs를 쓴다.

e⎋m⌘a⌥c⌃s⇧ org-mode

Org-mode는 기본으로 설치되어 있는 Major-mode 중의 하나로, notes, TODOs, GTD(Get Things Done), HTML, LaTeX, 등을 plain text로 해결하자는 취지로 Carsten Dominik 가 고안한 언어(혹은 macro)이다. Markdown 언어와 마찬가지로(아니 더 강력하게) source code가 간단해서 배우기 쉽고 debugging이 용이하다. 게다가 특별히 emacs가 꼭 아니라도 source code를 일반 text editor로도 보거나 편집에 전혀(혹은 거의) 문제가 없다는 점이 큰 장점이다. 특히 HTML을 모르는 나 같은 사람이 blogging을 하는데 훌륭한 도구이다. Markdown에 비해 특히 표 지원이 탁월하며, 간단한 수식을 위한 LaTeX 지원도 조금 더 나은 것 같다. Org-mode의 강력한 기능은 Carsten Dominik 이 직접 발표한 40여분짜리 동영상을 보면 한눈에 확인할 수 있다.

Org-mode

Aquamacs 에서의 문제점

주로 한글을 쓰는 사이트의 경우, link를 걸때 가끔 aquamacs 에서는 link가 깨진다. 즉 link를 복사해서 aquamacs에 붙이고 compile 하면, output인 html 파일에서 link된 페이지로 가지 않는다. 이는 aquamacs 2.4(현재 2013년 5월)가 gnu emacs 23을 기반으로 만들어 졌기때문에 org version 6.33x 깔려있는데, 이 버젼에서 문제가 생기는 것으로 보인다. 현재 emacs(cocoa)는 gnu emacs와 같은 emacs 24이고 org version 7.3.3f 이며, 여기서는 아무런 문제 없이 link가 동작한다. org-mode의 최신 버젼은 8.0.x 인데, 어떠한 방법으로든 aquamacs의 org-mode version을 7.3.x 이상으로 올리면 aquamacs에서도 자유롭게 쓸 수 있다.

Org-mode upgrade 방법 3

0. 는 aquamacs에 marmalade라는 elisp repository를 이용해서, package manager를 설치한 후, aquamacs 안에서 upgrade하는 것이다.

I. 우선 여기(package.el 바로가기)를 클릭해서, 페이지 전체를 복사한다.

II. Aquamacs에서 new buffer를 열어, 붙여넣은 후 ~/Library/Preferences/Aquamacs Emacs/package.el 으로 저장한다.

III. ~/Library/Preferences/Aquamacs Emacs/Preferences.el 를 열어, 다음을 적어넣고 저장한 후, aquamacs를 재시작한다.

(require 'package)
;; Marmalade
(add-to-list 'package-archives
             '("marmalade" . "http://marmalade-repo.org/packages/"))
;; The original ELPA archive still has some useful
;; stuff.
;; (add-to-list 'package-archives<br />
;;              '("elpa" . "http://tromey.com/elpa/"))
(package-initialize)

IV. mini-buffer(⌥x)를 열어, list-packages 를 타이핑한 후 return 키를 누른다. 즉, ⌥x list-packages .

V. 조금 기다리면 아래와 같은 화면이 뜨는데, 빨간 화살표가 가리키는 org 를 그냥 클릭하면 설치된다.

8873567984_4d628c16df_z.jpg

알아두면 유용한 단축키

  • Export/Publish… → ⌃c ⌃e → h o
  • Insert Link → ⌃c ⌃l

FYI) Insert Link는 미리 org-mode source에 적어둔 links(#+Link …)를 간단한 명령으로 바로 부르는 역할을 한다. LaTeX에서 BibTeX에 적어둔 bibliography를 부르는 것과 유사하다.


Footnotes:

1

여기서, e⎋m⌘a⌥c⌃s⇧라 함은 OS X에서 aquamacs와 emacs(cocoa) 그리고 Debian GNU/Linux에서의 gnu emacs를 모두 포괄하는 용어로 사용되었다.

Created: 2013-05-29 Wed 21:13

Emacs 23.3.50.1 (Org mode 8.0.2)

Validate XHTML 1.0

Tuesday, August 7, 2012

OS X Mountain Lion III. : Quicklook - unknown extension with text format

OS X Mountain Lion : 임의의 extension(확장자)의 파일 text format 으로 Quicklook 에서 보기


Operating System Environments

Main : OS X Mountain Lion (10.8)

Sub- : Debian GNU/Linux squeeze (6.0.5)

Server : Debian GNU/Linux lenny or squeeze

Mobile : iPod-touch 4G - iOS 5.1.1



extension(확장자)이 일반적(?)이지 않아, Finder 에서 Quicklook 으로 볼 수 없을 때, 이를 text(.txt) 형식으로 볼 수 있게 해주는 방법이다.

예를들에, Fortran data file 이 주로 .dat의 extension(확장자)을 갖는데, 거의 숫자로 이루어진 text sheet지만 Quicklook 으로 볼 수 없다. 또는 source code 인데, 임의로 extension(확장자)을 바꿔 사용하는 경우도 Quicklook 으로 볼 수 없다. 이런 경우, text format 으로 Quicklook 을 통해 볼 수 있게 하는 방법이다.

이것저것 시도한 끝에 결국 해결한 방법은 사실 그리 일반적인 방법은 아닌데, 이유는 Apple 에서 제공하는 bundle applications 중에 하나로 해결한 것이 아니라, MacTeX package 에 딸려오는 TeXShop 이란 Application 을 통해서 겨우(!!!) 해결했기 때문이다. 보통 이/공학 계열에 종사하시는 분들은 LaTeX을 쓰고, 주로 그 분들이 coding과 관련된 이런 문제에 직면에 있을 것이라고 스스로를 자위하며 글을 이어간다.


PS) OS X Mountain Lion 뿐만 아니라, Snow Leopard 에서도 이 방법으로 해결 가능하다.



§ 임의의 extension(확장자)의 파일 text format 으로 Quicklook 에서 보기

필요한 applications : TeXShop and Xcode(혹은 favorite editor, 여기서는 Aquamacs)


1) /Applicaitons/TexShop.app/Contents/Info.plist 를 적당한 editor로 연다. Xcode 로 보면 아래와 같다.


빨간 박스 친곳처럼, {Exported Type UTIs} -> {Item} -> {Equivalent Types} -> {public.filename-extension} 아래, text형식으로 보고싶은 extension(확장자)을 등록한다. 여기서는 .dat 를 등록했다.

Aquamacs Emacs로 보면 아래와 같다.


역시 <string>dat</string>처럼 추가하고 싶은 extension(확장자)을 등록하면 된다.


2) 그리고는 Bash shell (Terminal)을 열어, 아래 두 commands 를 실행시켜 준다.

$sudo qlmanage -r

$sudo touch /Applications/TeXShop.app


이제 .dat 로 끝나는 파일을 quicklook 으로 볼 수 있다.

PS) TeXShop.app 의 이름과 경로에 주의한다.



§ 임의의 extension(확장자)에 적당한 [Kind(파일 형식 이름)] 지정하기

잘 알려진 파일의 경우, extension(확장자)에 따라 적절한 Kind(파일 형식 이름)이 할당된다. 예를들어, .tex 에는 TeX document, .pdf 에는 Portable Document Format (PDF) 등…


사용자가 임의로 바꾼 extension(확장자)에 대해서도 Kind(파일 형식 이름)를 지정해 줄 수 있다.

여기서는 .mtt 의 extension(확장자)에 대해서 Kind(파일 형식 이름)를 Mathematica Code로 지정하는 방법을 Aquamacs Emacs로 바꾸는 방법으로 설명한다. 방법은 아래와 같다.


/Applicaitons/Aquamacs.app/Contents/Info.plist 를 적당한 editor로 열어, Document types 에서 아래와 같이 .mtt 를 등록해 놓으면, Finder에서 .mtt로 끝나는 Kind(파일 형식 이름)가 지정해 놓은것처럼 Mathematica Code 로 뜨고 파일 아이콘도 Aquamacs Emacs file icon으로 바뀌어 있는 것을 볼 수 있다.

Wednesday, August 1, 2012

OS X Mountain Lion I. : what to do after upgrade

OS X Mountain Lion : 업그레이드 후 다듬기


Operating System Environments

Main : OS X Mountain Lion (10.8)

Sub- : Debian GNU/Linux squeeze (6.0.5)

Server : Debian GNU/Linux lenny or squeeze

Mobile : iPod-touch 4G - iOS 5.1.1



2012년 7월 25일, 기다리고 기다리던 OS X Mountain Lion (10.8)이 Mac App Store를 통해 공개되었다. 가격은 미화로 $19.99, 유로로는 15.99€ 이고, Mac OS X Lion 에서 뿐만 아니라, 내가 썼던 Mac OS X Snow Leopard (10.6.8)에서 바로 업그레이드 가능하다. 독일의 인터넷 상황을 고려해 볼 때, 다운로드 속도도 원활하고, 다운 후 업그레이드 하는데 약 한 시간이면 충분했다. 5일 째 쓰고 있는데 performance도 Snow Leopard 와 차이가 없을 만큼 쾌적하고, 눈에 띄는 버그도 아직 못 봤으며, 자잘한 버그도 아직 크게 보고되지는 상황이다. 특히 사용하는 application 중에 어떤 것이 동작하고, 동작하지 않는지는 roaringapps 가서 직접 검색해 보는 것도 도움이 된다.


Customizing(?)을 좀 해서 쓰는 상황이라 걱정한 부분이 좀 있었는데, 그에 관한 간단한 정리를 해 볼까 한다. 세세한 부분은 다른 블로거들이 너무 많이 다루므로, 주관적으로 중요하다고 생각되는 부분과 내 상황과 관련된 부분만 다루기로 하겠다. 내용은 아래와 같다.

  1. Save As..
  2. FileVault
  3. Quicksilver, Aquamacs Emacs, and X11
  4. MacPorts
  5. 안되는 applications



  • Save As…

Lion은 잘 모르겠고, Snow Leopard 와 크게 달라진 불편한 점은 TextEdit 이나 Preview 에서 [Save As] 가 바로 활성화 되어 있지 않고 단축키가 바꾸었다는 점이다.


위에서 보듯이 [CMD + Shift + s] 로 할당된 [Duplicate] 가 바로 보이고, [Save As]는 [Opt]을 눌러야 보인다. 이를 해결(?)하는 간단한 방법은 단축키(shortcut)를 바꿔주면 된다.

아래 그림과 같이, System Preferences -> Keyboard -> Keyboard Shortcuts 로 가서 {Application Shortcuts} 에 맨위에 있는 {All Applications}를 선택, 아래 있는 [+] 버튼을 눌러, {Menu Title}에 정확한 명령 이름 (예를 들에, Save As...) 을 적고 그 아래에서 단축키(Shortcut)를 지정하면 된다.(이경우,  [CMD + Shift + s])


그리고 다시 아래 있는 [+] 버튼을 눌러, Duplicate에 [CMD + Shift + Opt + s]를 지정하면, 단축키들도 바뀌고, TextEdit 이나 Preview 에서 아래 그림처럼 원래(Snow Leopard)처럼 쓸 수 있다.



  • FileVault

Snow Leopard에서 FileVault 를 쓰고 있었는데, 아무런 변경 없이 Mountain Lion으로 바로 업그레이드 할 수 있고, 쓰던 그대로 바로 쓸 수도 있다. 새로운 FileVault인 FileVault 2 를 쓰고 싶으면, System Preferences -> Security & Privacy 로 가서 변경하면 FileVault 2 를 쓸 수 있다. Snow Leopard에서 FileVault는 TimeMechine을 쓰는데 약간의 불편함이 있어서 새로운 FileVault 2에 큰 기대를 하고 있는데, 아직 TimeMechine과의 궁합은 제대로 파악하지 못 했다. 조만간 Post를 하나 할 계획이다.



  • Quicksilver, Aquamacs Emacs, and X11

이것들 없이는 아무것도 할 수 없을 정도로 나에게는 중요한 applications인데, 간단히 말해서 큰 문제 없이 동작한다. 특히 Aquamacs Emacs 2.4는 아직까지는 전혀 문제 없이 동작한다.

Quicksilver ß69의 경우 시스템을 껐다 키면 가끔 두 개의 아이콘이 독(Dock) 위에 올라가 있는 버그가 있는데, 이는 Quicksilver ß69를 일단 끄고, 원래 지정해 놓은 Dock 위치 말고, 다른 곳에 생긴 아이콘을 클릭해 없앤 후, 다시 켜서 사용하면 된다. 완전히 64bit로 돌리는 방향으로 가는 중이라, 몇몇 plugins이 동작하지는 않지만, 주요기능 사용에는 문제가 없다. 개발자 측에 따르면 조만간 베타 딱지를 떼고, 정식으로 나올 예정이라고 하니 다음 버전에서는 나아지길 기대한다.

quicksilver news #1

quicksilver news #2

X11의 경우 이미 Snow Leopard에서 깔아 쓰다가 업그레이드 한 경우라도, 바로 쓸 수 없다. Mountain Lion으로 업그레이드 완료 후 X11 을 실행하면, "안되니 새로 깔아 주세요" 비스무리한 말이 뜨고 친절히(?) 관련 web page를 링크 걸려있다. 직접 XQuartz Home Page 에가서 XQuartz 2.7.2를 다운로드 받아 깔아 쓰면 된다.

[XQuartz 2.7.2 다운로드] 바로가기



  • MacPorts

Snow Leopard에서 쓰고 있지 않았다면, Mountain Lion 에서도 사용가능하니, 바로 MacPorts 로 가서 다운로드 받아 쓰면 된다.

[MacPorts 소개 및 간단한 사용법] 지난 Post 보러가기

원래 Snow Leopard에서 MacPorts를 쓰던 경우는, Mountain Lion 업그레이드 후, 

  1. Mac App Store에서 Xcode 4.4를 우선 다운로드해 설치한다.
  2. Xcode 4.4를 실행 후, [CMD+,]로 Preferences를 열어 {Downloads} 아래, {Components} 부분에서 {Command Line Tools}를 설치한다.
  3. 다음을 실행 후 원래 쓰던 대로 사용하면 된다. $sudo port selfupdate


PS) Colored ls 를 coreutils 로 구현한 경우는 port를 upgrade 해 주고,

$sudo port -u upgrade outdated

Terminal 을 켜서, [CMD+,]로 Preferences를 열어 {Settings} -> {Advanced} -> {Declare terminal as} 에서 xterm으로 설정해주면 Snow Leopard에서 구현하던 그대로 동작한다.

[Colored ls] 지난 Post 보러가기


PPS) Xcode 4.4를 깐 후 Snow Leopard에서 쓰던 옛 Xcode를 지우는 방법은 간단(?)하다.

/Developer/Library 로 가보면 uninstall-devtools 라는 이름의 파일이 하나 있는데 이를 실행해 주면 된다.

$sudo /Developer/Library/uninstall-devtools --mode=all

그리고도 남은 /Developer 아래 있는 찌꺼기들은, 내 경우는 그냥 몽땅 trash에 넣고 지워줬다.



  • 안 되는 Applications

Apple이 예고한 대로 rosetta가 더 이상 제공되지 않으므로, ppc에서 돌리던 applications은 돌릴 수 없다. 대표적(?)으로 Mathematica 5.2 같은 것은 돌릴 수 없다. 도무지 이해가 가지 않는 정책이지만… 어쩔 도리가 없다.

Snow Leopard에서 부팅 사운드를 간단히 없애주었던 StarUpSound를 더 이상 쓸 수 없다. startninja 같은 application이 돌아갈 듯 하지만, 깔고 다시 지우면, 원래대로 돌아간다고 떡하니 Home Page에 써있다. 구려서 다른 방법을 알아볼 계획이다.

VirtualBox 4.1.18이 돌아간다고들 하는데, 아직 Oracle에서 공식적인 답변이 없는 상태이고, 나도 시간을 두고 확인해 보지는 못했다.