'분류 전체보기'에 해당되는 글 114건

  1. 2010.03.18 한컴오피스 2010
  2. 2010.03.17 TeXWorks 스펠링 체크
  3. 2010.03.17 Vim 스펠링 체크
  4. 2010.03.06 TeX Live 2009 설치
  5. 2010.03.06 딱 맞는 크기로 출력
  6. 2010.03.05 LaTeX 코드 모음1 (Heap 구조 그리기)
  7. 2010.03.05 윈도우 7 인증 받기
  8. 2010.03.05 설정 파일 관리
  9. 2010.01.22 윈도우용 Vim 인코딩 설정 3
  10. 2010.01.17 x슨에서 탈퇴하는 법
  11. .
아직미분류2010. 3. 18. 20:45
한컴오피스 2010을 설치했습니다.
  • 설치 디스크는 DVD 한 장으로 변경되었습니다. 요즘에는 DVD 드라이브 다 가지고 계시잖아요. 요즘에는 DVD 드라이브 없이면 컴퓨터라고 안 부르잖아요. (경량 노트북은 제외합니다.)
  • 기본 설치 경로가 변경되었습니다. 예전에는 C:\Hnc에 설치되었지만, 이제 C:\Program Files\Hnc에 설치됩니다.
  • 전체 설치 시 공간을 약 1.5 GiB 정도 차지하게 됩니다.
  • OOXML, ODF와 호환이 된다고 광고합니다. 아직 어느 정도 수준으로 호환이 되는지 확인하지 않았습니다.
  • 옛한글을 유니코드 PUA를 사용하지 않고 유니코드 5.0 표준을 기준으로 지원한다고 합니다. 유니코드 5.2도 있던데 말입니다.
  • 영문 윈도우에는 안 깔리는 듯 합니다. 먼저 한글 언어팩을 설치하라고 하네요.
첫가끝 코드를 사용한 경우 맞춤법 검사가 이상하네요. 바꿀 말과 추천 말은 정상적으로 "우리나라"라고 나오지만 붉은 색으로 강조되는 부분이 엉뚱한 곳입니다.

완성형을 이용하는 경우에는 정상적으로 맞춤법 검사가 됩니다.


소팅은 이상하게 되는 것 같습니다. 하지만 첫가끝을 사용했을 때 완벽하게 소팅해주는 프로그램이 아직 없는 것 같네요.

한컴타자연습은 디자인이 변했는데 심각하게 느려졌습니다. 글자도 조금씩 늦게 찍히는 느낌이고, 소리는 확실히 한 박자 느리게 나오네요. 그리고 프로필 저장이 제대로 안 되는 것 같습니다. 또, 단문 연습에서 문장이 길면 글자가 조금 삐져 나가는 모습도 보이네요.
Posted by asdfzxcv
LaTeX2010. 3. 17. 17:21
사전 데이터를 받아서 %homepath%\TeXworks\dictionaries에 넣어주면 된다.
http://wiki.services.openoffice.org/wiki/Dictionaries

Posted by asdfzxcv
아직미분류2010. 3. 17. 16:54
vim 7의 경우 스펠링 체크 기능을 내장하고 있다.
:setlocal spell spelllang=en_us

.vimrc에 이렇게 하는 방법도 있다.
filetype on
au FileType tex setlocal spell spelllang=en_us
map <F7> <ESC>:setlocal spell spelllang=en_us<CR>

한글 맞춤법 검사
1. 사전 데이터 다운로드
http://wiki.services.openoffice.org/wiki/Dictionaries
http://code.google.com/p/spellcheck-ko/
2. 사전 데이터 변환
:mkspell을 이용하여 .spl 파일을 얻는다.
3. 적절한 위치에 방금 얻은 파일을 복사한다.
vim72/spell
4. 테스트
잘 안 된다는 것을 알 수 있다. 사전 데이터가 첫가끝 코드를 사용하는 것 같다.
5. 다음 자료를 참고하여 데이터를 변환하겠다.
http://cwryu.tistory.com/106
http://bike.snu.ac.kr/blog/heechul/130
jamo2syl.py:
#!/usr/bin/env python
# http://cwryu.tistory.com/106
import unicodedata
import sys

while True:
    line = sys.stdin.readline()
    if not line:
        break
    line = unicodedata.normalize('NFC', line.decode("UTF-8")).encode("UTF-8")
    sys.stdout.write(line)
NFC를 NFD로 바꾸면 반대로 된다.

cat ko.aff | ./jamo2syl.py > ko_2.aff
cat ko.dic| ./jamo2syl.py > ko_2.dic
6. 여전히 문제가 있다. aff 파일은 변환이 제대로 안 된다. 이것이 affix 사전이라 그런 것 같다.
그러므로 그냥 dic만 가지고 변환하여 사용해보겠다. 방법은 위에서 한 것과 동일
7. 테스트2
되긴 되지만 전혀 만족스럽지는 않다. ㅠㅠ
조사나 어미는 인식을 못하고 단어만 썼을때만 인식한다.
실제로 사용하기는 어렵고 어떻게 잘 하면 가능할 것 같기도 한데 모르겠다 정도의 수준.

Posted by asdfzxcv
LaTeX2010. 3. 6. 15:26
개요
TeX Live 2009를 설치하는 방법은 여러가지가 있다.
첫번째는 TeX Live 2009 DVD를 물리적 디스크로 구하거나 iso로 다운 받아서 설치하는 방법이다. 일단 받아두면 설치시에는 인터넷에 연결할 필요가 없므로 인터넷 환경에 관계없이 빠르게 설치할 수 있다는 장점이 있다. 그러나 설치 후에 패키지 업데이트가 필요하고, 보통 업데이트 양이 엄청나기 때문에 업데이트까지 하려면 결과적으로는 오래 걸린다.
두번째는 install-tl을 다운받아서 인터넷으로 설치하는 방법이다. 인터넷 환경만 괜찮다면 이 방법은 괜찮은 방법이다.
세번째는 TeX Live repository를 다운받은 후 설치하는 방법이다. TeX Live를 자주 재설치하거나 여러 대의 컴퓨터에 설치할 필요가 있는 경우 유용한 방법이다. 여기서는 세번째 방법을 사용하였다.
(참고: http://www.tug.org/texlive/acquire.html)

TeX Live repository 다운
TeX Live repository를 다운 받으려면 rsync를 이용하면 된다.
rsync -a --delete rsync://somectan/somepath/systems/texlive/tlnet/ /your/local/dir
추가적으로 -v, --progress 등의 옵션을 사용할 수도 있다.
몇 가지 옵션 설명, 자세한 것은 메뉴얼 참고:
-v, --verbose               increase verbosity
-a, --archive               archive mode; equals -rlptgoD (no -H,-A,-X)
-r, --recursive             recurse into directories
-l, --links                 copy symlinks as symlinks
-H, --hard-links            preserve hard links
-p, --perms                 preserve permissions
-A, --acls                  preserve ACLs (implies --perms)
-X, --xattrs                preserve extended attributes
-o, --owner                 preserve owner (super-user only)
-g, --group                 preserve group
-t, --times                 preserve modification times
    --progress              show progress during transfer

rsync에 문제가 있으면 wget을 사용하는 방법도 있다.
(참고: http://www.tug.org/texlive/acquire-mirror.html)

미러 사이트의 목록은 다음 링크에서 확인할 수 있다.
http://www.ctan.org/tex-archive/CTAN.sites

예를 들어 카이스트 미러를 사용한다면,
rsync -a --delete rsync://ftp.kaist.ac.kr/ctan/systems/texlive/tlnet/ /local/somepath/tlnet
를 입력하면 된다.
mirror.ctan.org/systems/texlive/tlnet
ftp.ktug.or.kr/tex-archive/systems/texlive/tlnet/

설치
이제 texlive를 설치할 때
install-tl --location /local/somepath/tlnet
등의 방법으로 설치하면 빠르게 설치할 수 있다.
(참고: http://www.tug.org/texlive/quickinstall.html)

ko.TeX 설치하기
tlmgr --location=http://ftp.ktug.or.kr/KTUG/texlive/2009 install collection-kotex
(참고: http://faq.ktug.or.kr/faq/%B8%AE%B4%AA%BD%BA%BF%A1%BC%AD%BC%B3%C4%A1%C7%CF%B1%E2)

문제 해결(윈도우)
texworks, psv가 \texlive\2009\bin\에도 있고, \texlive\2009\tlpkg\{texworks,tlpsv}에도 있다.
사실 전자가 후자와 특이하게 연결되어 있으므로, 후자를 삭제해서는 안 된다.

그런데 psv를 17306으로 업데이트했을 때 문제가 발생했다.
psv를 후자의 파일로 실행하면 실행되지 않고, 전자의 파일로 실행한 경우에만 실행된다.
바탕화면에 자동으로 생성되는 링크는 후자의 파일로 연결되는데, 이것을 고쳐주어야 한다.

최종적인 스크립트
: cygwin 버그 때문에 cygwin에서 실행하면 이상한 폴더가 생김
C:\cygwin\bin\rsync -a --delete --progress rsync://ftp.kaist.ac.kr/ctan/systems/texlive/tlnet/ texlive_tlnet
pause
tlmgr --repository=texlive_tlnet update --self --all
tlmgr --repository=http://ftp.ktug.or.kr/KTUG/texlive/2009 update collection-kotex
pause
위 코드가 수정되었다. http://noexists.tistory.com/182
Posted by asdfzxcv
LaTeX2010. 3. 6. 09:24
그림이나 수식을 페이지 번호나 여백 없이 딱 맞는 크기로 출력하고 싶은 경우가 있다.

preview package를 이용하는 법.
\documentclass[notitlepage,11pt]{scrartcl}

\usepackage[active,tightpage]{preview}

\begin{document}

\begin{preview}

$x^2 + x + 1 = 0$

\end{preview}

\end{document}


dvips를 이용하는 법
.
Posted by asdfzxcv
LaTeX2010. 3. 5. 20:17
Heap은 특별한 형태의 tree 구조이다.

많은 예제를 찾아볼 수 있는 texample.net에서는 tikz를 이용하여 tree 구조를 그리는 법도 소개하고 있다.
http://www.texample.net/tikz/examples/merge-sort-recursion-tree/

거의 비슷한 예제로 다음과 같은 것도 있다.
http://forcecore.tistory.com/1019

Heap을 그릴 때마다 이렇게 일일이 입력하는 것은 귀찮으므로 프로그램을 만들었다. 이 프로그램을 LaTeX이나 TeX 명령으로 구현하는 것은 본인의 능력을 벗어나고, perl 등의 스크립트 언어에도 별로 익숙하지 않기 때문에 그냥 C로 만들었다. 컴파일하는 것이 귀찮긴 하지만 할 수 없다.

#include <stdio.h>G
#include <string.h>
#define MAX_NODE 100
#define MAX_NAME 5

char buffer[MAX_NODE][MAX_NAME];

void print_child(char buffer[][MAX_NAME], int number, int pos)
{
    if (pos >= number)
        return;
    printf("node ");
    printf("(%d) {%s}\n", pos+1, buffer[pos]);
    if (pos*2 + 1 < number) {
        printf("child {");
        print_child(buffer, number, pos*2 + 1);
        printf("}\n");
        if (pos*2 + 2 < number) {
            printf("child {");
            print_child(buffer, number, pos*2 + 2);
            printf("}\n");
        } else {
            printf("child [missing]");
        }
    }
}

int main(int argc, char* argv[])
{
    int i;
    for (i=0; i<MAX_NODE; ++i) {
        char *c = fgets(buffer[i], MAX_NAME, stdin);
        if (!c)
            break;
        int len = strlen(buffer[i]);
        if (buffer[i][len-1] == '\n')
            buffer[i][len-1] = '\0';
    }
   
    if (i < 1)
        return 1;

    printf("\\begin{tikzpicture}[\n"
            "level distance=12mm,\n"
            "level/.style={sibling distance=32mm/#1},\n"
            "level 3/.style={sibling distance=32mm/4},\n"
            "every node/.style={circle,draw,"
            "font=\\fontsize{9}{9}\\selectfont,minimum size=21pt}]\n"
            "\\");
    print_child(buffer, i, 0);
    printf(";\n\\end{tikzpicture}");

    return 0;
}

입력은 heap을 array로 구현했을 때의 순서대로 한 줄에 하나씩 넣어주면 되고, 조금씩 수정해서 쓰면 된다.

다음은 노가다의 산물. 위에서 만든 c 코드는 기본적인 것만 되고, 노드를 지우거나 오른쪽에 더 쓰는 건 노가다로 한 것이다.

Posted by asdfzxcv
아직미분류2010. 3. 5. 11:35
윈도우 7을 retail말고 ? 버전으로 설치했을 경우 인증받기이다. 매번 입력하기 귀찮으므로 스크립트로 만들어버렸다.

actiation.bat
cd %WINDIR%\system32
slmgr.vbs -skms <ip address here>
slmgr.vbs -ato

Posted by asdfzxcv
윈도우2010. 3. 5. 11:24
윈도우를 재설치하면 각종 설정 파일을 다시 만드는 것이 매우 귀찮다. 이 경우에는 D:\etc 등에 설정 파일을 복사해 두고 스크립트로 복사해버리면 편하다.

hosts 파일을 복사하기. 이것은 관리자 권한이 필요하다.

copy_admin.bat
type %~dp0\hosts >> %SystemRoot%\system32\drivers\etc\hosts
pause


기타 설정 파일 복사하기.

copy.bat
mkdir %AppData%\NetSarang\Xshell\Sessions\old\
copy Xshell\* %AppData%\NetSarang\Xshell\Sessions\

mkdir %AppData%\NetSarang\Xftp\Sessions\
copy Xftp\* %AppData%\NetSarang\Xftp\Sessions\

copy _vimrc %USERPROFILE%\

copy foobar\Core.cfg  %AppData%\foobar2000\configuration

pause
이 방법의 경우 같은 이름의 파일이 있어도 그냥 덮어 써 버린다. /-Y 옵션을 주면 덮어쓸지 말지 물어보지만 여전히 불편하다.

윈도우 비스타나 7의 경우 쉘에서 파일을 복사할 때 같은 이름의 파일이 있으면, 파일 크기와 수정 날짜를 보여주면서 덮어 쓸지 말지 물어보는데 이 기능은  꽤 유용하다.
VBS는 처음 써 보는데 아직 set이나 dim이 뭔지 모르겠고, 폴더 만드는 법도 모르겠다. 이 코드도 인터넷을 뒤지면서 조각조각 모은 것이다.

copy.vbs
set objShell = CreateObject("Shell.Application")
set WshShell = WScript.CreateObject("WScript.Shell")
appdata = WshShell.ExpandEnvironmentStrings("%AppData%\")
userprofile = WshShell.ExpandEnvironmentStrings("%USERPROFILE%\")
current = Left(WScript.ScriptFullName,InStrRev(WScript.ScriptFullName,"\"))

' copy XShell
set destFolder = objShell.NameSpace(appdata & "NetSarang\Xshell\Sessions")
set srcFolder = objShell.NameSpace(current & "Xshell")
if not destFolder is nothing then
    set srcFolderItems = srcFolder.Items()
    destFolder.CopyHere(srcFolderItems)
end if

' copy Xftp
set destFolder = objShell.NameSpace(appdata & "NetSarang\Xftp\Sessions")
set srcFolder = objShell.NameSpace(current & "Xftp")
if not destFolder is nothing then
    set srcFolderItems = srcFolder.Items()
    destFolder.CopyHere(srcFolderItems)
end if

' copy _vimrc
set destFolder = objShell.NameSpace(userprofile)
if not destFolder is nothing then
    destFolder.CopyHere(current & "_vimrc")
end if

' copy foobar configuration
set destFolder = objShell.NameSpace(appdata & "foobar2000\configuration")
if not destFolder is nothing then
    destFolder.CopyHere(current & "foobar\Core.cfg")
end if

Posted by asdfzxcv
아직미분류2010. 1. 22. 11:08
set enc=utf-8
set fenc=utf-8
set fencs=ucs-bom,utf-8,cp949,latin1
set nobomb
lang en
:source $VIMRUNTIME/delmenu.vim
:set langmenu=ko.UTF-8
:source $VIMRUNTIME/menu.vim

"set enc=utf-8"이 없으면 인코딩을 cp949로 인식하는데, 이 경우 ucs-2le 등으로 된 파일을 읽을 수 없다.
인코딩을 바꾸려고 시도해도 바꿀 수 없다면서 바뀌지 않는다.
"set enc=utf-8"을 적어야 정상적으로 읽을 수 있다.

"set enc=utf-8"을 vimrc 파일의 중간쯤에 넣어두면 gVim의 한글 메뉴가 깨져 나온다.
그러나 이것을 vimrc의 맨앞에 적으면 메뉴가 깨지지 않는다.
각종 한글 메시지들은 UTF-8 버전이 없어서 깨져 나온다.

"lang en"을 넣으면 메뉴와 메시지를 영어로 바꾼다.
메시지만 바꿀 경우에는 vimrc의 중간에 적어도 되지만, 메뉴까지 바꾸고 싶으면 vimrc의 맨앞에 적어야 한다.

:source $VIMRUNTIME/delmenu.vim
:set langmenu=ko.UTF-8
:source $VIMRUNTIME/menu.vim
이것은 메뉴를 재설정하는 방법이다. 앞서 말한 "set enc=utf-8" 또는 "lang en"을 vimrc의 중간에 적었더라도, 이 방법을 사용하면 메뉴가 정상적으로 나오게 할 수 있다. 물론 langmenu를 en으로 하면 영어 메뉴가 나오고, ko.UTF-8로 하면 한글 메뉴가 나온다.

추가
Vim 7.3에서 뭔가 바뀌었다.
set enc=utf-8
set fenc=utf-8
set fencs=ucs-bom,utf-8,cp949,latin1
set nobomb

" vim 7.2, windows
"lang en
"source $VIMRUNTIME/delmenu.vim
"set langmenu=ko.UTF-8
"source $VIMRUNTIME/menu.vim

" vim 7.3, windows
let $LANG = 'ko_KR.UTF-8'
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
이러면 제대로 된다.
Posted by asdfzxcv
아직미분류2010. 1. 17. 13:45
나:넥슨에서 탈퇴할래요.

x슨: x비노기에서 먼저 탈퇴하세요.

나: x비노기에서 탈퇴 할래요. 근데 웹 사이트에 로그인도 안 되네요?

x슨: 로그인 하려면 키보드 보안을 포함한 어쩌고 저쩌고를 깔아야 합니다.

나: !#$$^#$. 아무튼 깔았어요. 이제 탈퇴할래요.

x슨: 탈퇴하기 전에 캐릭터부터 삭제하세요. 그런데 캐릭터 삭제는 게임 내에서만 돼요.

나: !@#%#$%!%.

이런 병맛을 봤나. 탈퇴하려면 게임을 실행해야 된단다. 이미 게임 접은 지 한참 지났고, 게임은 당연히 지웠는데도 말이다.

게다가 보너스로 이런 문제도 있다.

그 문제는 x비노기 설치시 어떠한 경고 또는 확인 절차 없이 일부 폴더 또는 파일을 삭제할 수도 있다는 것.

http://www.mabinogi.pe.kr/bbs/zboard.php?id=report&no=7841, 2009-08-07
http://www.parkoz.com/zboard/view.php?code=114&no=424391
http://www.parkoz.com/zboard/view.php?code=114&no=424443
http://www.parkoz.com/zboard/view.php?code=114&no=424805

Posted by asdfzxcv