Showing posts with label 한글. Show all posts
Showing posts with label 한글. Show all posts

Saturday, May 30, 2015

Hunspell for Emacs in Debain

Hunspell for Emacs in Debain

Hunspell for Emacs in Debain


This post is written with e[ ⎋Esc ]m[ ⌥Meta ]a[ ⌥Alt ]c[ ^Ctrl ]s[ ⇧Shift ] org-mode.


System Environments

Operating Systems

  • Main- : OS X Yosemite (10.10.3)
  • Sub- : Debian GNU/Linux Wheezy (7.8)
  • Server: Debian GNU/Linux Wheezy || Squeeze
  • Mobile: iOS 7.1.2

Hunspell and Emacs in Debian GNU/Linux

Debian GNU/Linux Wheezy doesn't have Hunspell preinstalled, but does GNU Emacs by all means. The version of the default emacs in the system is 23.4.1, which can be seen under Bash with emacs --version. I have testified not only the default version of Emacs, but the manually compiled 24.3.2 version as well. The following will work for both.

Using hunsepll for GNU Emacs in Debian GNU/Linux is much simpler than that in OSX, because all needs can be easily installed and configured via Debian repositories, i.e. apt. Here a English-Korean multilingual environment is taken as an example.

Additionally, dictionary-toggling in Emacs will be also at issue of this post.

Installation and configuration

  1. Get necessary packages: Open Bash, and run
    $ sudo apt-get install hunspell hunspell-ko hunspell-en-us
    
  2. Check detailed information of Hunspell:
    $ hunspell -D
    

    Two most important things are a) being executable with the above command and b) dictionaries you installed. The later must be en_US and ko_KR. Information could be as similar as the screenshot of mine.

    17657609743_e07000deb4_o.png

    Figure 1: Hunspell information in Debian 7.8

  3. Open the Emacs preference file, i.e. ~/.emacs and add the following elisp code into it
    (setq ispell-local-dictionary-alist
    '(
      ("english-hunspell"
       "[A-Za-z]" "[^A-Za-z]" "[0-9a-zA-Z]" t
       ("-d" "en_US")
       nil utf-8)
      ("korean-hunspell"
       ;; "[가-힝]" "[^가-힝]" "[0-9a-zA-Z]" nil   ;; <--- emacs 22 or lower
       "[가-힣]" "[^가-힣]" "[0-9a-zA-Z]" nil   ;; <--- emacs 23 or higher
       ("-d" "ko_KR")
       nil utf-8)
      ;; ("german"
      ;;  "[a-zäöüßA-ZÄÖÜ]" "[^a-zäöüßA-ZÄÖÜ]" "[']" t
      ;;  ("-d" "de_DE")
      ;;  nil utf-8)
      )
    )
    (setq ispell-program-name "hunspell"
          ispell-dictionary "english-hunspell")
    (setq ispell-really-hunspell t)   ;; <--- optional??? working w/o it in emacs(cocoa)
    

    FYI) If you wanna use a triple lingual environment such as German together, you can uncomment the last four sentences and modify a library.

Toggle two dictionaries

If you can change libraries with a single keyboard stroke, like C-\ for toggle-input-method rather than type it after M-x, it must then be great. I set the toggle for libraries by S-SPC. And it works after adding the following into ~/.emacs

;; ;; ### korean-english
(let ((langs '("korean-hunspell" "english-hunspell")))
  (setq lang-ring (make-ring (length langs)))
  (dolist (elem langs) (ring-insert lang-ring elem)))
(defun cycle-ispell-languages ()
  (interactive)
  (let ((lang (ring-ref lang-ring -1)))
    (ring-insert lang-ring lang)
    (ispell-change-dictionary lang)))
;; ### key bindings
(global-set-key (kbd "S-SPC") 'cycle-ispell-languages)

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Created: 2015-05-30 Sat 22:43

Emacs 24.3.1 (Org mode 8.2.10)

Hunspell for Emacs in OSX

Hunspell for Emacs in OSX

Hunspell for Emacs in OSX


This post is written with e[ ⎋Esc ]m[ ⌥Meta ]a[ ⌥Alt ]c[ ^Ctrl ]s[ ⇧Shift ] org-mode.


System Environments

Operating Systems

  • Main- : OS X Yosemite (10.10.3)
  • Sub- : Debian GNU/Linux Wheezy (7.8)
  • Server: Debian GNU/Linux Wheezy || Squeeze
  • Mobile: iOS 7.1.2

Hunspell and Emacs under OSX

Hunspall is one of the famous spell-checker softwares and GNU licensed. However, it is tricky to use it. Furthermore, the latest Emacs porks provided not only by Emacs Cocoa, but also by MacPorts and all Aquamacs can not be applicable to Hunspell as long as I have tried. Frankly speaking, the only way I know how to make Hunspell work in Emacs is the Emacs Cocoa 24.3.1 Installation of hunspell is done by means of MacPorts. Note that a English-Korean multilingual environment is taken in this post as an example.

Additionally, dictionary-toggling in Emacs will be at issue of this post as well.

Instruction for Hunspell in Emacs Cocoa with English-Korean under OSX

  1. It assumed that MacPorts were already installed, so that ready to use.
  2. Install Hunspell and its English library via MacPorts
    $ sudo port install hunspell hunspell-dict-en_US
    
  3. See paths for hunspell and hunspell-dict-en_US by running
    $ hunspell -D
    

    They must be /opt/local/bin/hunspell and /opt/local/share/hunspell/en_US.

  4. Download Hunspell dictionary for Korean: Homepage, download page, or "direct download"
  5. After unzipped ko-aff-dic-0.5.6.zip, locate two files ko.aff and ko.dic into ~/Library/Spelling/.
  6. Open the Emacs preference file ~/.emacs and add library-information as the following elisp
    (setq ispell-local-dictionary-alist
    '(
      ("english-hunspell"
       "[A-Za-z]" "[^A-Za-z]" "[0-9a-zA-Z]" t
       ("-d" "/opt/local/share/hunspell/en_US")   ;; <--- exact path
       nil utf-8)
      ("korean-hunspell"
       ;; "[가-힝]" "[^가-힝]" "[0-9a-zA-Z]" nil   ;; <--- emacs 22이하
       "[가-힣]" "[^가-힣]" "[0-9a-zA-Z]" nil   ;; <--- emacs 23이상
       ("-d" "/Users/JOHN/Library/Spelling/ko")   ;; <--- JOHN indicates you in OSX
       nil utf-8)
      ;; ("german-hunspell"
      ;;  "[a-zäöüßA-ZÄÖÜ]" "[^a-zäöüßA-ZÄÖÜ]" "[']" t
      ;;  ("-d" "de_DE")
      ;;  nil utf-8)
      )
    )
    

    Remember that a) you have to use exact paths ,not like ~ for your home directory and b) JOHN above must be replaced by your name in OSX. FYI) If you wanna use a triple lingual environment such as German together, you can uncomment the last four sentences and modify a library.

  7. And put the Hunspell information
    (setq ispell-program-name "/opt/local/bin/hunspell"   ;; <--- exact path in OSX 10.10
          ispell-dictionary "english-hunspell")
    (setq ispell-really-hunspell t)   ;; <--- optional??? working w/o it in emacs(cocoa)
    

Toggle libraries

It must be great to change libraries with a keyboard stroke, like ^\ (C-\ in typical Emacs notation) for toggle-input-method rather than type it after ⌥x (M-x in typical Emacs notation). I set the toggle for libraries by ⇧SPC (S-SPC in typical Emacs notation). Add the following into ~/.emacs

;; ### korean-english
(let ((langs '("korean-hunspell" "english-hunspell")))
  (setq lang-ring (make-ring (length langs)))
  (dolist (elem langs) (ring-insert lang-ring elem)))
(defun cycle-ispell-languages ()
  (interactive)
  (let ((lang (ring-ref lang-ring -1)))
    (ring-insert lang-ring lang)
    (ispell-change-dictionary lang)))
;; ### key bindings
(global-set-key (kbd "S-SPC") 'cycle-ispell-languages)

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Footnotes:

1

Exact version of the Emacs Cocoa working with Hunspell is 24.3.1. Other versions I have tested are 24.5-1, 24.4, and 23.4, which all I failed to use smoothly.


Created: 2015-05-30 Sat 21:01

Emacs 24.3.1 (Org mode 8.2.10)

Sunday, April 6, 2014

Bash commands for Debian GNU/Linux

Bash commands for Debian GNU/Linux

Bash commands for Debian GNU/Linux


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

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


Operating System Environments

  • Main- : OS X Mavericks (10.9.2)
  • Sub- : Debian GNU/Linux Wheezy (7.4)
  • Server: Debian GNU/Linux Wheezy || Squeeze || Lenny
  • Mobile: iOS 7.1

Bash commands(or shell commands)를 여기서 전부 다루는 것은 불가능하고 의미도 없다. 그 중에서 Debian GNU/Linux에서 주로 쓰이며, 이 정도만 알면 기본적으로 시스템이 어떻게 돌아가는지 알 수 있다고 생각되는 몇 가지 기본적인 명령어들을 A4 한 장 분량의 pdf로 만들어 보았다. 이 블로그에도 같은 내용을 html 형식으로 옮겨 놓았다.

Bash commands for Debian GNU/Linux in PDF

bash_commands_korean_xoblivoir.pdf

이 문서는 Kangsoo Kim (karnes@ktug/a.k.a. 도은이아빠)께서 만들고 배포하고 있는 xoblivoir-class를 써서 XeLaTeX으로 compile 하였다.

Bash commands for Debian GNU/Linux in HTML

Bash(Bourne-again shell)은 Bourne shell(sh)를 free-/open-software로써 대체하려는 GNU project를 위해 Brian J. Fox가 만들었다. Born again과 유사한 발음이 나서 재탄생한 쉘(Born again shell)이란 이중적 의미를 가지게 의도적으로 만들었다. Debian 계열의 Linux에 default로 설치되어있으며 터미널(terminal or terminal emulator)에서 작동한다. 전에 실행했던 명령어 내역이 자동으로 저장되어 위/아래 방향키( / )로 쉽게 접근할 수 있으며, 문자열을 적다가 탭키(↹Tab)를 누르면 자동 완성된다. 터미널 안에서 복사/붙이기는 각각 ⌃Ctrl + ⇧Shift + c/v 이다.

13334096135_54b29dfaac.jpg

앞으로 Bash command에서 고정된 부분은 소문자(lowercase letter)로 바뀌는 부분은 대문자(CAPITAL_LETTER)로 적기로 한다.

su, adduser, login, logout, exit, passwd, and shutdown

$ su 시스템 관리자(super user or root)로 로그인
# adduser ACCOUNT_NAME ACCOUNT_NAME 이라는 이름의 계정(account) 만들기
# login ACCOUNT_NAME ACCOUNT_NAME 계정으로 로그인하기
$ logout 현재 로그인하고 있는 사용자에서 로그아웃 (logout) 하기
# exit 시스템 관리자에서 나오거나 터미널 (terminal/Bash) 창 닫기
$ passwd 현재 로그인 (login) 하고 있는 사용자 (user) 의 비밀번호 (password) 변경
# shutdown -h now 지금 바로 시스템 종료하기

Debian GNU/Linux information

$ lsb_release -a 현재 설치된 Debian GNU/Linux의 정보를 출력
$ dpkg --print-architecture Debian이 설치된 architecture를 출력(ex. i386, amd64, or etc)
$ sudo ifconfig 연결된 네트워크 정보 (ex. ip-, mac-address, or etc) 출력
$ sudo fdisk -l 연결된 저장장치 (ex. hdd, usb, or etc) 정보 출력

pwd, clear, ls, cd, cp, mv, rm, and mkdir

$ clear 터미널(terminal) 창의 화면에 보이는 내용을 지움
$ ls 현재 디렉터리에 있는 내용(contents) 출력
$ ls -a 숨겨있는 내용까지 출력
$ ls -la 숨겨있는 내용까지 자세히 출력
$ ls |grep KEYWORD 내용 중 KEYWORD 가 포함된 것만 출력
$ cd ∼ 홈 디렉터리 (/home/user_ID/)으로 이동
$ cp SOURCE DESTINATION SOURCEDESTINATION 으로 복사
$ mv SOURCE DESTINATION SOURCEDESTINATION 으로 이동
$ mv SOURCE NAME SOURCE 의 이름을 NAME 으로 변경
$ rm FILES FILES 를 삭제
$ rm -rf DIRECTORY DIRECTORY 와 그 안의 내용을 모두 삭제
$ mkdir DIRECTORY_NAME DIRECTORY_NAME 의 이름을 가진 디렉터리를 현재 위치한 곳에서 만듦

Installation and removal

$ sudo apt-get update 업데이트 목록이 있는지 확인
$ sudo apt-get upgrade 확인된 업데이트 목록을 업그레이드
$ apt-cache search PACKAGE_NAME Debian 저장소(repository)에서 PACKAGE_NAME 의 유무 확인
$ sudo apt-get install PACKAGE_NAME Debian 저장소에서 PACKAGE_NAME 을 설치
$ dpkg --get-selections 설치된 패키지(packages) 모두 보기
$ dpkg --get-selections |grep KEYWORD KEYWORD 라는 이름을 포함한 설치된 패키지 모두 보기
$ sudo dpkg -i PACKAGE_NAME.deb PACKAGE_NAME.deb 수동으로 설치하기
$ sudo apt-get remove PACKAGE_NAME 설치된 PACKAGE_NAME 지우기
$ sudo apt-get autoremove 설치된 패키지 중 더이상 필요 없는 것들 지우기
$ tar -zxvf ARCHIVE.tar.gz ARCHIVE.tar.gz 파일을 현재 디렉터리에 압축 풀기

man and find

$ man COMMAND COMMAND 라는 이름의 명령어 매뉴얼(manual) 보기
$ find ∼ -name KEYWORD* 홈 디렉터리 (~) 아래에 이름에 KEYWORD 가 들어간 모든 파일 및 디렉터리를 찾기
$ sudo find / -name KEYWORD* 시스템 천체에서 이름에 KEYWORD 가 들어간 모든 파일 및 디렉터리를 찾기

Run

$ sh SHELL_SCRIPT SHELL_SCRIPT 실행
$ ./EXECUTABLE_FILE EXECUTABLE_FILE 실행

mount and umount

# mount -o loop IMAGE.iso MOUNT_POINT IMAGE.iso 파일을 MOUNT_POINT 에 마운트(mount)하기.
  MOUNT_POINT 는 미리 만들어져 있어야 한다.
$ sudo umount MOUNT_POINT MOUNT_POINT 에 마운트한 이미지를 추출하기
# mount -t ntfs-3g /dev/sdb# /media/NTFS ntfs 형식의 usb(or hdd)를 /media/NTFS 에 마운트하기.
  /media/NTFS 는 미리 만들어져 있어야 하며,
  /dev/sdb#$ sudo fdisk -l 로 확인할 수 있다.

Permissions

13333808914_695eac6e89.jpg

$ chmod +w FILE FILE 을 쓰기 가능으로 만듦
$ chmod -w FILE FILE 을 쓰기 불가능으로 만듦
$ chmod +x FILE FILE 을 실행 가능으로 만듦

ssh, sftp, and smb

$ ssh USER@IP_ADDRESS IP_ADDRESSUSER 로 ssh(secure shell) 접속
$ ssh -Y USER@IP_ADDRESS IP_ADDRESSUSER 로 X11-enabled ssh 접속
$ sftp USER@IP_ADDRESS:PORT IP_ADDRESSUSER 로 sftp 접속(:PORT 는생략가능)

sftp와 smb 프로토콜(protocol)은 File manager(Dolphin, Thunar, or etc)에서 ⌃Ctrl + l로 이용할 수 있다.


Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Created: 2014-04-06 Sun 16:13

Emacs 23.4.1 (Org mode 8.0.2)

Tuesday, February 4, 2014

XeLaTeX: basic + xoblivoir-class

XeLaTeX: basic + xoblivoir-class

XeLaTeX: basic + xoblivoir-class


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

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


Operating System Environments

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

XeLaTeX, xoblivoir-class, and HCR-LVT

OS X에서 나는 Aquamcs + Bash shell(Terminal.app) + Skim 조합을 쓴다. 기본적인 LaTeX 사용 환경 설정은 지난 Posts를 참고하자.

여기서는 한글 LaTeX 사용 환경에 관해서만 얘기하기로 하겠다.

XeLaTeX

LaTeX 환경에서 한글 사용의 근본적인 문제는 latex 이나 pdflatex 으로는 한글 폰트가 제대로 출력되지 못함에 있다. Editor 안에서는 한글이 보여도 (혹은 보이게 만들어도) latex 이나 pdflatex 으로는 unicode로 된 문자를 compile 하지 못 한다. 이는 비단 한글뿐만 아니라 Umlaut(ä, ö, ü)를 쓰는 독일어 등의 비영어권 언어 사용에서 전반적으로 문제를 일으킨다. 하지만, 역으로 unicode를 지원하는 TeX engine을 쓰면 해결된다는 말과 같은데, 최신 TeX engine 중 하나인 XeTeX (혹은 XeLaTeX)이 uft8을 default로 지원한다. XeTeXXeLaTeX은 source code를 짤 때부터 다른데, 전자는 TeX처럼 써야 하고 후자는 LaTeX 형식으로 짜야 한다. 거기다 compile 후의 문서의 형식도 다르다. 나는 TeX 형식으로는 쓸 줄도 모르므로, 여기서는 LaTeX 형식으로 짜서 .pdf 로 결과를 만들어 주는 XeLaTeX만을 다루기로 하겠다.

xoblivoir-class

XeLaTeX을 쓰면 우선 한글이 출력이 되기는 한다. 하지만 여기서 또다른 문제가 발생한다. 가장 기본적으로 쓰는 article-class에서 자간, 행간, 등이 엉망이 된다. 해결책은 한글 사용에 최적화된 xoblivoir-class이다. Kangsoo Kim (karnes@ktug/a.k.a. 도은이아빠)께서 만들고 배포하고 있는 xoblivoir-class를 쓰면 웬만한 한글 관련 문제는 한방에 해결된다.

oblivoir 클래스는 2006년 3월 말경, KTUG 디렉터인 도 ̇ 은 ̇ 이 ̇ 아 ̇ 빠 ̇ 님이 발표한 클래스 입니다. 기존 LATEX의 기본 클래스 중 하나인 article 클래스의 형식에 memoir의 장점을 그대로 살렸으며, 특히 이제까지 개발된 한글 구현 테크닉 중 좋은 것을 대부분 내재하고 있는 클래스입니다. TEX 유저들의 수준 고하에 관계 없이 누구나 쉽게 사용할 수 있을 것입니다.

[oblivoir 클래스 소개] 요약에서 발췌

oblivoir 클래스 2.0 버전은 그 동안 별도의 브랜치로 개발되어 오던 xoblivoir 와 oblivoir를 통합하여 완전히 동일한 클래스가 되었다.

[초간단 oblivoir v2.0 사용법] 요약에서 발췌

xoblivoir-class의 자세한 정보는 아래 링크들을 참고하자.

특히, "xoblivoir-class" 다운로드 바로 가기 from CTAN에서 다운로드 후 압축 풀면 볼 수 있는 oblivoir-simpledoc.pdf 파일에 많은 정보와 xoblivoir-class 자세한 사용법이 상세하게 나와있으니 꼭 한 번 읽어보길 권한다.

HCR-LVT

옛한글 또한 font만 설치하면, XeLaTeX 통해서 .pdf 문서로 구현할 수 있다.

처음 만들었을 때는 낱자 28글자와 성조를 나타내는 기호(방점)가 따로 있었으나, 지금은 ㅿ, ㆁ, ㆆ, ㆍ 네 글자와 성조 기호(방점)가 사라져서 24글자가 되었다.

위키피디아: 한글 문서에서 발췌

한글과 옛한글에 관한 정보는 아래 링크를 참조하자.

옛한글을 구현을 위해서는 함초롬체 LVT 사용을 추천한다. 은바탕체도 구현할 수 있다는데, 테스트해 본 봐 이가 좀 빠져있었다.

다운로드 후 압축을 풀고 글꼴을 설치하면, HCR Batang LVT/HCR Dotum LVT 을 사용할 수 있다. 물론 옛한글을 포함하지 않는 보통의 한글 문서를 만드는 경우는 함초롬체 LVT 말고 다른 한글 폰트를 설치해도 된다.

OS X

목표는 "xoblivoir-class" 다운로드 바로 가기 from CTAN에서 받은 oblivoir-simpledoc.tex 파일로 oblivoir-simpledoc.pdf 문서를 만드는 것이다.

현재(<2013-12-22 Sun>) OS X Maverick에는 MacPorts를 통해 "TeX Live 2013"이 설치되어있다.1 xoblivoir-class와 관련된 .sty 파일도 모두 받아 놓았고 함초롬체 LVT도 설치되어 있다. 그래도 xelatex 실행 시 error가 뜬다. 아래의 .sty 파일들이 더 필요하다. 아래 링크에서 전체 복사를 한 후, 각각의 이름으로 파일을 만들어 붙여 넣고 저장하자.

이러면 준비는 끝났다. oblivoir-simpledoc.tex 파일로 oblivoir-simpledoc.pdf 문서를 만드는 간단한 과정은 아래와 같다.

  1. 위의 파일 모두와 xoblivoir-class에 포함된 .sty 파일 모두를 전부 oblivoir-simpledoc.tex 파일과 같은 폴더에 둔다.
  2. oblivoir-simpledoc.tex 를 Aquamacs로 열어 글꼴을 HCR Batang LVT 로 설정한다.
    • ]{xoblivoir} %% ,latinquote 아래에 \setmainfont{HCR Batang LVT} 를 적어 넣는다.
      ]{xoblivoir} %% ,latinquote
              
      \setmainfont{HCR Batang LVT}   % <--- 여기
              
      %\documentclass[12pt,a4paper,footnote,xcolor={svgnames}{oblivoir}
      
    • 나머지 글꼴 관련 부분을 지우거나, 아래 처럼 주석(%)처리한다.
      % %%%%%% tested on Windows XP SP3
      % \setkormonofont{은 필기}
      % \setmonoscale{0.9}
      % \defaultfontfeatures{Mapping=tex-text}
      % %%%%%% tested on Linux/Ubuntu
      % %\setmainfont[Mapping=tex-text]{Bradley Hand ITC}
      % %\setmonofont[Scale=.85]{Comic Sans MS}
      % %\setmainfont[Mapping=tex-text]{Monotype Corsiva}
      % \setmonofont[Scale=.85]{Monaco}
      % %\setkormainfont(문화 궁서 Std L){문화 궁서 흐림 Std L}(){네이버사전}
      % \setkormainfont(* Bold)(*){HCR Batang LVT}
      % %\setkorsansfont(문화 궁서 Std B)(문화 훈민 Std R){문화 고딕 Std R}(){한컴돋움}
      % %%%%%%%%%%%%%%%%%%%%%%%%%%%
      
  3. Bash shell(Terminal.app)에서 xelatex 으로 compile 한다.
    $xelatex oblivoir-simpledoc
    

아니면 source code를 내가 수정한 oblivoir-simpledoc.tex 파일을 직접 써도 된다. 위에서 언급한 부분만을 수정한 버전이며 다른 부분은 전혀 건드리지 않았다. 본인은 원 source code에 어떠한 저적권도 가지고 있지 않음를 밝힌다.

Debian GNU/Linux

Debian GNU/Linux에는 TeX Live 2012가 설치되어 있다. xoblivoir-class를 사용하는데 OS X와는 약간의 차이가 있다. OS X처럼 다수의 xoblivoir-class 관련 .sty 파일들이 필요하지는 않지만, ko.tex-package 가 필요하다. 여기서 중요한 점은, Debian repository에서 제공하는 ko.tex-package 로는 제대로 compile되지 않는다는 점이다. 즉, apt-cache search ko.tex 하면, 관련 package가 나오는데, 이들을 설치할 필요는 없다.(혹은 설치하지 말자.) 대신, 따로 ko.tex-package 를 설치해 주어야 한다. 기본적인 준비는 다음과 같다.

  • Installation of HCR-family: sec:HCR-LVT에서와 같이 적당한 한글 폰트를 설치한다.
  • 아래를 Bash shell에서 실행하여 texlive 전체를 설치한다.
    $sudo apt-get install texlive-full
    
  • 아래의 링크를 따라가서 kotex-macros-20100511.tar.gz~/Downloads/ 아래에 다운로드 한다.
  • Bash shell에서 아래를 실행한다.2
    $cd ~
    $mkdir texmf
    $cd texmf
    $tar zxvf ~/Downloads/kotex-macros-20100511.tar.gz
    

이제, 기본적으로 아래와 같이 ex.tex 파일을 시작하고, xelatex ex 로 compile하면 제대로된 ex.pdf 문서가 만들어진다.

\documentclass[11pt,a4paper]{xoblivoir}
\usepackage{fontspec}   % ---> uncommented in xoblivoir-class
\setmainfont{HCR Dotum LVT}

위의 OS X에서 언급한 oblivoir-simpledoc.tex 경우에는 kotex-logo.sty만 같은 directory에 두고 compile하면 된다.

Epilog

나는 LaTeX이 어떻게 구성되고 만들어졌는지 알지 못한다. 다만 한 사람의 end-user로써 내 컴에서 LaTeX을 최대한 간단하게 사용할 수 있게 하는 데에 초점을 맞추었다. 나보다 더 스마트하게 쓰는 사람도 당연히 있겠지만, 누군가에게는 도움이 되었기를 바란다.

관련 파일을 모두 내가 직접 업로드하는 것이 이 글을 읽는 사용자들이 쓰기에 훨씬 편할 것을 안다. 그러나 내가 직접 만든 것들이 아니기에 나에게는 어떠한 저작권도 없어서 여기에 올리는 것은 내 권한 밖의 일임을 양해를 부탁한다. 최대한 원 저작자가 배포하는 방법으로 관련 링크를 걸었고 내가 수정한 부분에 한해서만 제한적으로 여기서 언급하였다. 잘 안되는 경우는 댓글을 달면, 최대한 답변을 하겠다.


Footnotes:

1

Bash shell(Terminal.app)에서 $xelatex –version 실행하면, TeX Live version을 알 수 있다.

Created: 2014-02-04 Tue 22:30

Emacs 23.4.1 (Org mode 8.0.2)

Thursday, November 28, 2013

Emacs spell-checker

Emacs 한글 맞춤법 검사기

Emacs 한글 맞춤법 검사기


;; =================================================
;; εμα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

Emacs 사용 환경

  • OS X: Aquamacs + OS X dictionaries
  • Debian GNU/Linux: Emacs + Hunspell

emacs_lisp in .emacs

OS X: Aquamacs + OS X dictionaries

Aquamacs한글 맞춤법 검사기는 아래에서 다운 받는다.

ko-aff-dic-0.5.6.zip 파일의 압축을 풀어, ko.affko.dic~/Library/Spelling/ (Finder에서 ⌘⇧G) 아래에 복사해 넣는다. 전체 사용자에게 한글 맞춤법 검사기가 동작하게 하려면, /Library/Spelling/ 에 복사해 붙이자. 시스템을 재부팅한다.

여기까지 하면, TextEdit.app이나 Mail.app 등에서 한글 맞춤법 검사기가 잘 동작하는 것을 볼 수 있다. 하지만 여기서 목표는 Aquamacs에서 이를 사용할 수 있게 하는 것이다. Aquamacs에서는 TextEdit.app이나 Mail.app 등과는 다르게 어떤 언어를 사용하여 맞춤법 검사를 할 지를 editor 차원에서 일일이 변경해야 함에 주의하자. 즉, 한글 맞춤법을 검사할 때는 한글로 해서 검사해야 하고, 영문 맞춤법을 검사할 때는 영어로 맞춤법 검사기를 바꾸어 주어야 한다. 또한, 아래의 기술할 방법으로 Aquamacs에서 한글 맞춤법을 쓰게 되면, TextEdit.app이나 Mail.app에서도 한 가지 언어로만 맞춤법 검사를 할 수 있게 됨에도 주의하자. 1

그럼에도 불구하고 Aquamacs에서 한글 및 다른 언어들의 맞춤법 검사를 쓰고 싶으면 다음을 진행하자. 사실, 아래 Emacs Lisp code에 다 적어 놨지만 간단히 방법을 기술하면 아래와 같다.

0째, Aquamacs에서 원할한 한글 사용을 하려면 바람 입력기 사용을 추천한다. 자세한 설치법은 지난 Post를 참고하자. -> "Emacs에서의 한글환경" 바로 가기

첫째, Aquamacs에서 영어 맞춤법을 검사하기를 기본으로 지정하자. 2

  1. OS X Mavericks에서는 System Preferences 을 열어 Keyboard 를 클릭, Text 페널에서 Spelling:U.S. English 로 선택하자.
  2. OS X Mountain Lion에서는 System Preferences 을 열어 Language & Text 를 클릭, Text 페널에서 Spelling:U.S. English 로 선택하자.

여기까지하면 Aquamacs 뿐만 아니라 TextEdit.app이나 Mail.app 등에서도 영어 맞춤법 검사만 가능해진다.

둘째, 이제 아래 Emacs Lisp code를 ~/.emacs 를 열어 적어넣자.

;; -------------------------------------------
;; Aquamacs spell-checker
;; -------------------------------------------
;; ###
;; pre-settings for Mountain Lion: System Preferences -> Language & Text -> [Text: Spelling: U.S. English]
;; pre-settings for Mavericks    : System Preferences -> Keyboard        -> [Text: Spelling: U.S. English]
;; ###
;; ### korean-english-german
;; (let ((langs '("ko" "en" "de")))
;;   (setq lang-ring (make-ring (length langs)))
;;   (dolist (elem langs) (ring-insert lang-ring elem)))
;; (defun cycle-ispell-languages ()
;;   (interactive)
;;   (let ((lang (ring-ref lang-ring -1)))
;;     (ring-insert lang-ring lang)
;;     (ispell-change-dictionary lang)))
;; ###
;; ### korean-english
(let ((langs '("ko" "en")))
  (setq lang-ring (make-ring (length langs)))
  (dolist (elem langs) (ring-insert lang-ring elem)))
(defun cycle-ispell-languages ()
  (interactive)
  (let ((lang (ring-ref lang-ring -1)))
    (ring-insert lang-ring lang)
    (ispell-change-dictionary lang)))
;; ###
;; ### key bindings
(global-set-key (kbd "S-SPC") 'cycle-ispell-languages)
(global-set-key (kbd "A-D") 'ispell-region)   ;; cmd+shift+d
(global-set-key (kbd "A-d") 'ispell-word)     ;; cmd+d

한글과 영어로 맞춤법 검사하기를 활성화 하였고, 맞춤법 검사기 변환은 ⇧SPC 로 지정하였다. 영어로 시작되었을 것이므로 ⇧SPC 한 번 누르면 한글로, 또 누르면 영어로, 또 다시 누르면 다시 한글로 바뀐다. 글을 쓰다가 빨간줄이 그어지면, ⌘d 를 누르면 올바른 단어가 Aquamacs 최상단에 뜬다. 예를 들어, "적어놨지만"이라고 적은 부분에서 ⌘d 하면 아래 화면을 볼 수 있다.

11104767174_46ee950f40_z.jpg

여기서 0 을 누르면 "적어냈지만"으로, 3 을 누르면 "적어 놨지만"으로 바뀐다. Shift-Selction으로 지정한 영역 전체의 맞춤법 검사는 ⌘⇧d (or ⌘D)로 지정해 놓았다. 물론 이 key bindings가 싫으면, 사용자 취향에 따라 원하는 것으로 바꾸면 된다. 세 개 이상의 언어로 맞춤법 검사를 하고 싶으면 이를 확장하면 된다. 위의 Emacs Lisp code에서 주석 처리(;;)해놓은 부분이 바로 "한국어-영어-독어"의 사용 예이다.

Debian GNU/Linux: Emacs + Hunspell

Emacs는 깔려 있는 것으로 가정한다. 역시, 아래 Emacs Lisp code에 다 적어 놨지만 간단히 방법을 기술하면 아래와 같다. 여기서는 "한국어-영어-독어"를 사용하는 것으로 예를 들었다.3

  1. 아래를 실행하여 hunspell, hunspell-en-us, hunspell-ko, hunspell-de-de 를 설치한다.
    $ sudo apt-get install hunspell hunspell-en-us hunspell-ko hunspell-de-de
    
  2. 아래 Emacs Lisp code를 ~/.emacs 를 열어 적어넣자.
    ;; -------------------------------------------
    ;; GNU Emacs spell-checker in Debian GNU/Linux
    ;; -------------------------------------------
    ;; ###
    ;; pre-settings: sudo apt-get install hunspell hunspell-en-us hunspell-ko hunspell-de-de
    (setq ispell-local-dictionary-alist
          '(
            ("korean"
             "[가-힣]" "[^가-힣]" "[0-9a-zA-Z]" nil
             ("-d" "ko_KR")
             nil utf-8)
            ("english"
             "[A-Za-z]" "[^A-Za-z]" "[0-9a-zA-Z]" nil
             ("-d" "en_US")
             nil utf-8)
            ("german"
             "[a-zäöüßA-ZÄÖÜ]" "[^a-zäöüßA-ZÄÖÜ]" "[']" t
             ("-d" "de_DE")
             nil utf-8)
            )
          )  ;; =====> Mandatory I.
    (if (file-exists-p "/usr/bin/hunspell")
        (progn
          (setq ispell-program-name "hunspell")
          (eval-after-load "ispell"
            '(progn (defun ispell-get-coding-system () 'utf-8))))
      )      ;; =====> Mandatory II.
    (setq ispell-local-dictionary "english")
    ;; ###
    ;; ### korean-english-german
    (let ((langs '("korean" "english" "german")))
      (setq lang-ring (make-ring (length langs)))
      (dolist (elem langs) (ring-insert lang-ring elem)))
    (defun cycle-ispell-languages ()
      (interactive)
      (let ((lang (ring-ref lang-ring -1)))
        (ring-insert lang-ring lang)
        (ispell-change-dictionary lang)))
    ;; ###
    ;; ### korean-english
    ;; (let ((langs '("korean" "english")))
    ;;   (setq lang-ring (make-ring (length langs)))
    ;;   (dolist (elem langs) (ring-insert lang-ring elem)))
    ;; (defun cycle-ispell-languages ()
    ;;   (interactive)
    ;;   (let ((lang (ring-ref lang-ring -1)))
    ;;     (ring-insert lang-ring lang)
    ;;     (ispell-change-dictionary lang)))
    ;; ###
    ;; ### key bindings
    (global-set-key (kbd "S-SPC") 'cycle-ispell-languages) ;; shift-spacebar
    (global-set-key (kbd "s-D") 'ispell-region)            ;; cmd+shift+d
    (global-set-key (kbd "s-d") 'ispell-word)              ;; cmd+d
    ;; ### key bindings for windows keyboard
    ;; (global-set-key (kbd "S-SPC") 'cycle-ispell-languages) ;; shift-spacebar
    ;; (global-set-key (kbd "M-D") 'ispell-region)            ;; alt+shift+d
    ;; (global-set-key (kbd "M-d") 'ispell-word)              ;; alt+d
    

key bindings와 사용법은 위와 동일하다. Debian GNU/Linux를 Windows keyboard와 쓰는 경우(대부분은 그렇겠지만)는 위 code의 ;; ### key bindings for windows keyboard 위의 세줄을 주석(;;) 처리하고, 아래 세 줄은 주석(;;) 해제하여 쓰면 된다. 위에서 보다시피 이 경우에는 '단어 검사'와 '영역 검사'를 각각 ⌥d⌥⇧d (or ⌥D)로 지정되었다.

Epilog

Cocoa emacs에서 한글 맞춤법 검사기 사용은 시도해 보았으나… 실패했다. Cocoa emacs에서 OS X 사전을 사용하는 방법도 모르겠고, MacPorts에서 Hunspell port에 한글도 없어서 쓰려면 직접 설치해야 하는데, 귀찮아서 안해봤다. 어차피 Cocoa emacs는 자잘한 bugs가 많아서 쓰지도 않고 추천하지도 않는다.


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

Footnotes:

1

원래 TextEdit.app이나 Mail.app 등에서는 Input sources에서 지정해준 언어들로 자동으로 그 언어에 맞게 알아서 맞춤법 검사를 해준다.

2

이유는 모르겠지만, 이렇게 하지 않으면 Aquamacs에서 맞춤법을 검사할 사전(⌥x ispell-change-dictionary)이 바뀌지 않는다.

3

참고 사이트들: Ref. #1, Ref. #2, Ref. #3

Created: 2013-11-28 Thu 21:35

Emacs 23.4.1 (Org mode 8.0.2)

Validate XHTML 1.0

Saturday, May 4, 2013

Korean in Emacs

Korean in Emacs

Korean in Emacs


이 문서는 e[⎋esc]m[⌥⌘meta]a[⌥alt]c[⌃ctrl]s[⇧shift] 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를 쓴다.

내가 주로 보는 소스 코드들은, .c, .h, 등의 C-language와 .f를 가지는 Fortran, .tex, .bib, 등의 LaTeX 관련 파일들과, Mathematica source 들이다. 모두 e⎋m⌘a⌥c⌃s⇧로 coding을 하고 있는데, 최근에는 plain text 와 .org의 emacs org-mode 를 e⎋m⌘a⌥c⌃s⇧에서 쓰려고 하니, 한글이 문제였다.

e⎋m⌘a⌥c⌃s⇧ 안에서의 한글환경

OS X에서

처음 맞닥드리는 문제는 한글이 e⎋m⌘a⌥c⌃s⇧ 안에서 깨지는 것인데, 이는 ~/.emacs 를 수정하는 것으로 손쉽게 해결할 수 있다. current-language-environmentUTF-8 으로 바꿔주면 된다. 가장 큰 문제는 시스템 차원의 한영변환(⌘-SPC)과 e⎋m⌘a⌥c⌃s⇧가 궁합이 안맞는다는 점이다. 즉, ⌘-SPC로 한영변환을 하면 Save(⌘-s)와 Save as…(⌘⇧-s) 등이 aquamacs 안에서 먹히지 않는것은 물론이거니와, ⌥-! 나 ⌥-x 로 minibuffer를 부를 수도 없다. aquamacs가 아니라 emacs(cocoa)를 쓰면 Save(⌘-s)와 Save as…(⌘⇧-s) 등은 쓸 수 있지만, 여전히 다른 단축키는 먹히지 않는다. 이는… 완벽한 해결책이 아직은 안보인다. 나같은 초보자가 보기에는 다른 Applications 처럼, ⌘(Meta or Command), ⌥(Alt or Option), ⌃(Ctrl), 등의 특수키를 누르면 자동 영어로 넘어가게 만들어 놓으면 간단히 해결될 문제로 생각되는데… e⎋m⌘a⌥c⌃s⇧ 안에서는 안된다. e⎋m⌘a⌥c⌃s⇧이 자체적으로 input method를 지원해서 인지, 그냥 개발자들이 비영어권 언어에대한 이해가 부족한 것인지.. 그 자세한 내막은 알 수 없다.

어찌보면 가장 간단한 해결책은 OS X에서 한글을 쓸 때 e⎋m⌘a⌥c⌃s⇧를 안쓰는 것일지도 모르겠으나, 그럼에도 불구하고 쓰고 싶을때는 두가지 방법이 있다. 언급했다시피, 문제의 핵심은 e⎋m⌘a⌥c⌃s⇧가 OS의 input method toggling에 반응을 한다는 점이므로, 첫째는 OS의 input method는 그대로 둔채 (즉, OS X에서는 ⌘-SPC), e⎋m⌘a⌥c⌃s⇧ 안에서 지원하는 input method의 단축키를 ⇧-SPC 같은 것으로 따로 설정해서 쓰는 방법이다. 이방법은 나름 유용함은 있으나, 막상 사용해보면 두 단축키가 달라서 헷갈리기 쉽상이고 자꾸 타이핑이 꼬인다. 그렇다고 OS의 input method toggling 단축키와 너무 다른 단축키로 e⎋m⌘a⌥c⌃s⇧의 input method toggling을 지정하면 사용이 불편하다. 두번째 방법으로 OS의 input method를 사용하지 말고 바람입력기를 사용하는 방법이 있다. 바람입력기는 Application 별로 input source를 고정해 놓을 수 있는 기능을 제공하고 있어서, e⎋m⌘a⌥c⌃s⇧를 쓸 때는 OS의 input method를 영어로 고정해 놓고, e⎋m⌘a⌥c⌃s⇧ 안에서 제공하는 input method toggling 단축키를 OS의 그것과 일치시키면 된다. 그러면 사용자 입장에서는 e⎋m⌘a⌥c⌃s⇧ 안에서 한글 사용환경이 OS 전반과 동일해지고, e⎋m⌘a⌥c⌃s⇧ 제공하는 다양한 기능은 문제없이 쓸 수 있다.2

Debian GNU/Linux에서

Debian GNU/Linux에서는 ibus 입력기를 사용하고 있는데, gnu emacs는 여기에 당연(?)하게도 반응하지 않는다. 그러므로, 한글깨짐만 수정하고, 그냥 ibus와 gnu emacs의 input method toggling을 하나로 일치시켜주기만 하면 모든 문제는 해결된다. Linux 한글입력기 관련 지난 Post 보러가기

해결책

OS X에서

I. aquamacsemacs(cocoa)는 깔려있다고 가정한다.

II. 바람입력기를 설치한 후 아래 순서로 OS X의 input source를 조정한다.

  1. 바람입력기는 pkg 형태로 배포되고 있다. 설치 후에는 자동으로 logout 된다.
  2. [System Preferences] → [Accessibility] → "Enable access for assistive devices"를 선택한다.
  3. [System Preferences] → [Language & Text] → [Input Sources]로 가서 "Baram"만 남겨두고 모두 선택해제한다.3
  4. [System Preferences] → [Keyboard] → [Keyboard Shortcuts]로 가서, 왼쪽 페널에서 "Keyboard & Text Input "을 선택 한 후, 오른쪽 페널에서 원래 지정되어있던 "Select the previous input source"와 "Select next source in input menu"를 모두 선택해제한다.
  5. 바람입력기에서 [Preferences]로 가서 "User Defined Hangul-English Switch Shortcut"을 설정(내경우는 ⌘-SPC) 후, [Application]으로 가서 aquamacs와 emacs(cocoa)를 등록해서 항상 English로 동작하게 설정한다.
  6. 바람입력기 삭제 순서는 아래와 같다.
    • a. Baram_xxx.dmg 를 클릭하여 마운트 한다.
    • b. Bash shell(Terminal)을 연다.
    • c. Baram_xxx.dmg 에 포함된 uninstall.sh을 Terminal로 Drag&Drop 하고 Enter(return)키를 눌러 실행한다. 이때 "Password:"가 화면에 출력되면, administer password(관리자 비밀번호)를 입력한다.
    • d. logout한다.

Screen+Shot+2013-05-04+at+10.58.29+AM.png Screen+Shot+2013-05-04+at+11.01.22+AM.png Screen+Shot+2013-05-04+at+11.02.45+AM.png Screen+Shot+2013-05-04+at+11.07.54+AM.png Screen+Shot+2013-05-04+at+11.07.48+AM.png

III. 특별히 한글폰트를 깔지않은 맥의 경우, ~/.emacs 를 다시 열어 아래를 복사해 넣고 저장한다.

(set-fontset-font "fontset-default" '(#x1100 . #xffdc) '("Apple SD Gothic Neo" . "iso10646-1")) ; 한글과 영문 폰트 따로 설정
(custom-set-variables
 '(current-language-environment "UTF-8")
 '(default-input-method "korean-hangul390")  ;; 세벌식 390
 ;; '(default-input-method "korean-hangul3f")   ;; 세벌식 최종
 ;; '(default-input-method "korean-hangul")     ;; 두벌식 
)

;; (global-set-key (kbd "S-SPC") 'toggle-input-method)   ;; Debian GNU/Linux에서
(global-set-key (kbd "s-SPC") 'toggle-input-method)   ;; OS X에서 emacs(cocoa)용
(global-set-key (kbd "A-SPC") 'toggle-input-method)   ;; OS X에서 aquamacs용

옆에 주석(;;)을 달아놓았으니 헷갈리지는 않겠지만, 나는 세벌식390을 쓰고 있고, input source toggling은 ⌘-SPC (A-SPC for aquamacs, s-SPC for emacs(cocoa))로 지정해 놓았다. 두벌식 사용자는 ";; 두벌식"가 쓰인 문장을 주석해제(문장 맨 앞의 ;; 를 지우고)하고 ";; 세벌식390"이라고 쓰인 문장을 주석처리하면 된다. Debian GNU/Linux에서 gnu emacs를 쓰는 경우는 ⇧-SPC 로 쓸 예정이므로 그부분도 지우지 않고 주석처리해 놓았다.

FYI) '함초롬'체를 설치한 경우4, 맨위의 애플 산돌고딕체를 뜻하는 Apple SD Gothic NeoHCR Dotum 혹은 HCR Batang 으로 변겅하면 된다. → '함초롬'체 다운로드 바로가기

(set-fontset-font "fontset-default" '(#x1100 . #xffdc) '("HCR Dotum" . "iso10646-1")) ; 한글과 영문 폰트 따로 설정

Free-/Open-font로는 unfont(은체) 가 가장 유명한데, Debain GNU/Linux 에서 뿐만아니라 OS X 에서도 한글을 쓰기위해서는 부족하다. 특히 은체만으로는, e⎋m⌘a⌥c⌃s⇧VLC 에서 한글명 파일의 이름이 깨진다던지, 자막을 쓰는데 bold체가 없다던지, 하는 자잘한 문제가 간혹 발생할 수 있다. 또한 독어에 Umlaut(ä ö ü) 등이 빠져있는 무료 한글폰트들도 많은데, 함초롬체는 완벽하다. 함초롬체를 적극 추천한다.


Updated <2015-11-21 Sat>

Current Operating Systems

  • Main- : OS X El Capitan (10.11.1)
  • Sub- : Debian GNU/Linux Wheezy (7.9)
  • Server: Debian GNU/Linux Wheezy || Squeeze
  • Mobile: iOS 9.1

Aquamacs는 버렸다. OS X와 Debain GNU/Linux 모두에서 Emacs로 통일했고, 버전은 24.3.x이다. 한글 사용은 아직 까지는 매우 만족스럽다. 맞춤법은 Hunspell로 해결했다. 자세한 내용은 이 블로그의 지난 Posts인 아래 링크를 참고하자.


Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Footnotes:

1

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

3

English가 해제되지 않는 경우, Kotoeri를 선택하면 English를 해제할 수 있다. 그리고 다시 Kotoeri를 해제하면 Baram만 남는다. Baram 에서도 English는 지원하니, 문제는 없다.

4

'함초롬'체는 한글과 컴퓨터 에서 개인 및 기업 사용자에게 무료로 배포하고 있는 '한컴오피스 2010'의 대표글꼴이다.

Created: 2015-11-21 Sat 10:32

Emacs 24.3.1 (Org mode 8.2.10)

Saturday, September 29, 2012

Quicksilver ß70 & plugins

Quicksilver ß70 와 추천 plugins


Operating System Environments

Main : OS X Mountain Lion (10.8.2)

Sub- : Debian GNU/Linux squeeze (6.0.5)

Server : Debian GNU/Linux lenny or squeeze

Mobile : iPod-touch 4G - iOS 6



Quicksilver 공식 Blog 에서 곧 베타(ß)딱지를 뗀다고 말한 지도 한참 지났는데 아직 ß70 이다.


심각한 버그 하나 : ß68 부터 64bit 로 돌아가고 있으며, 이때부터 Login Item 으로 설정된 quicksilver 가 부팅 시, dock 에 자꾸 두 개 씩 생긴다. 수동으로 quicksilver 를 끄면, 새로 생긴 녀석은 안 꺼지는데, 이 녀석을 클릭하면 사라지고, 다시 quicksilver 를 수동으로 키면 정상적으로 하나만 dock 에 나온다. 현재 ß70 까지 사라지지 않고 있으며, 수많은 시도를 했으나 해결하지 못 했다. 사용하는 데는 전혀 문제가 없지만 자꾸 신경 쓰여서, 그냥 quicksilver 를 dock 에서 없애고 menu bar 에만 올려놓고 쓰고 있다.


ß70 특징 : 이번 ß70 의 가장 큰 특징은 한글 지원이다. 이것 때문에 alfred 같은 녀석으로 갈아타는 사람이 많다고 하는데, ß70 부터는 한글 검색이 된다. 아직 조금 부족하긴 하지만 되긴 된다. 아래는 참고 화면이다.



§ 추천 quicksilver plugins 

기본적인 quicksilver 사용법은 지난 Post 를 참고하자.

[Quicksilver] 지난 Post 보러가기


quicksilver 에는 수많은 plugin 이 존재하는데, 재미있는 기능이 많지만 오래 쓰고 꼭 필요한 몇 가지를 정리해 본다. 

1) Extra Scripts Plugin

2) Apple Mail Plugin & Address Book Plugin

3) Web Search Module 


Firefox 의 수많은 extensions 처럼, 너무 많이 써봤자 자주 쓰지 않는 것은 깔아 놓은 지도 모르고 resource 만 많이 잡아 먹으니, 위에 열거한 것 외에도 이것저것 실험해 보고 필요한 것은 쓰고 나머지는 지우자.


1) Extra Scripts Plugin

Shut Down, Logout, Restart, Sleep, Fast Logout, 등의 기능을 수행하게 해준다. 

Preferences -> Actions 에서 아래 화살표가 가리키는 두 개의 [run]이 선택되어 있어야 한다.


2) Apple Mail Plugin & Address Book Plugin

업무상 email 을 자주 쓰는 사람들에게 꼭 필요한 plugins 이다. 간단한 사용 예는, finder 에서 첨부하고 싶은 파일들을 선택한 후, 주소록에 등록한 사람의 email 주소로 보내는 것을 한방에 할 수 있게 해 준다. 방법은:

a) finder 에서라면 보내고 싶은 파일들을 [CMD 혹은 Shift]로 복수 선택 후 [Opt+Space]로 quicksilver 를 불러 {Current Selection}으로 quicksilver 로 부르고, 아니면 quicksilver 안에서 직접 directory로 찾아가서  [,]로 복수의 파일을 하나씩 선택한다. 

b) 두 번째 pane 에서 E-mail To… 를 선택

c) 세 번째 pane 에서 address book 에 등록된 보내고 싶은 사람을 선택해서 실행하면 된다.


이렇게 글로 적으니 장황한데, quicksilver 를 조금 사용해 본 사람은 이 과정이 얼마나 순식간에 이루어 지는 지 알 수 있을 것이다. 아래는 복수의 파일을 나한테 보내는 quicksilver 창의 모습이다. [return]을 치면 바로 Mail.app 이 열리고, 주소와 파일이 첨부되어 있는 것을 볼 수 있을 것이다.


3) Web Search Module 

이 module 을 사용하기 전까지는 firefox 를 키고, [CMD+l]로 주소창으로 이동, 미리 설정한 searching engine을 선택 (예를들어, g 는 google, w 는 wikipedia, ndic 는 네이버 영어사전, lm 은 longman online dictionary, etc), 그리고 검색을 수행했었다.

Web Search Module 을 설치하면, 첫번째 pane에서 미리 설정한 searching engine을 선택, 두번째 pane은 {Search for…} 로 고정, 세번째 pane에서 검색어를 넣어서 실행하면, 바로 default web browser 가 켜지며 실행된다.


TIP I. 두번째 pane 을 {Search for…} 로 고정하는 방법은, 두번째 pane 에서 [→]를 눌러 전체 가능한 actions 중에서 {Search for…}를 찾아서 두손가락 클릭(secondary click 혹은 우클릭)해서 {make default}로 하면 된다.

TIP II.  Web Search Module 을 설치하면 Catalog -> Plugins 아래 Web Searches 라는 이름의 Sources 가 두 개 등록되어 있는 것을 볼 수 있는데, 다 사용할 필요없이 안의 내용을 보고 사용할 engines 몇 개만 선택할 수 있고, 아예 사용을 안 하고 manually 등록해서 쓸 수도 있다. 수동 등록은 Catalog 에서 맨 아래 [+]버튼을 눌러 등록하면 된다.

TIP III. 수동으로 Web Search List 를 등록할 수도 있는데, 몇 가지 주소는 아래와 같다.

inspire 논문 검색 : http://inspirehep.net/search?ln=en&p=%s

longman online dictionary  :  http://www.ldoceonline.com/search/?q=%s

네이버 영어사전 : http://endic.naver.com/search.nhn?isOnlyViewEE=N&query=%s

본인 검색하는 주소를 찾는 방법은 검색 주소를 보고 때려 맞춰야 하는데, google translator 를 예로 들어보자. 아래는 google translator 로 guten 이라는 독어를 영문으로 본 화면인데 주소창에 주목하자.


주소가 http://translate.google.com/#de/en/guten 게 되어 있는데, 아래처럼 맨 마지막 단어만 %s로 바꿔서 quicksilver 던 firefox 던 넣어주면 된다.

http://translate.google.com/#de/en/%s