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 사이에서는 aquamacsemacs(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-modeOrg Link : Options concerning links in Org-mode.Org Descriptive Links: Hide Value Toggle off (nil)

  • disable section number

⌥x customize-modeOrg 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-modeOrg 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-modeOrg 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-modeOrg 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

No comments:

Post a Comment