Joon's tech blog

TeXnicCenter 2.0 Alpha 1 릴리스

Posted in LaTeX, Text Editor by joon on October 24, 2009

TeXnicCenter 2.0 Alpha 1 가 나왔습니다. 실행해 보았는데 에디터 디자인이 아주 좋아졌을 뿐만 아니라 드디어 유니코드를 지원해서 한글을 볼 수 있네요.

간단한 설정으로 TexLive(KC2008)에서 컴파일할 수 있었고 또 PDF Viewer를 SumatraPDF로 설정하니 다른 설정 없이도 forward search가 동작합니다.

Alpha버젼이니 당연히 버그들이 보입니다만 상당히 기대되는 Editor입니다.

뉴스보기/다운로드

마우스로 그린 LaTeX 심볼 인식 – Detexify

Posted in LaTeX by joon on September 3, 2009

Detexify는 마우스로 그린 LaTeX 심볼을 인식하여 해당기호의 태그가 무엇인지 바로 알려주는 웹 툴입니다.

스크린샷에서 보이듯이 하얀 박스 안에 마우스로 심볼을 그리면 가장 비슷한 심볼들을 찾아서 태그와 함께 보여줍니다.

Detexify
<\alpha를 그린 스크린샷. 클릭하면 확대됩니다>

LaTeX으로 문석 작성하다가 심볼 기호가 생각이 안날 때 유용할 것 같습니다.

http://detexify.kirelabs.org/classify.html

Tagged with: , , ,

행번호와 열번호를 User Tool에서 사용하기 위한 SlickEdit 매크로

Posted in LaTeX, Text Editor by joon on July 30, 2009

SlickEdit은 built-in된 행번호와 열번호 변수가 없습니다. 따라서 Sumatrafowardsearch 에 행번호와 열번호를 넘겨주기 위해서 다음의 Slick-C 매크로를 이용하면 됩니다.

매크로를 아무 .e 파일로 저장, Macro -> Load Module 메뉴에서 로드한 후 부터 Tool 설정에서 %M current-line-number%%M current-col-number% 로 사용가능합니다.

// Slick-C Macro to make variables contain current line number and current column number
// Use %M current-line-number% and %M current-col-number% to pass the information to user tools.

#include "slick.sh" 

_str current_line_number()
{
   if (_no_child_windows()) {
    return 0;
   }
   return _mdi.p_child.p_line;
}

_str current_col_number()
{
   if (_no_child_windows()) {
    return 0;
   }
   return _mdi.p_child.p_col;
}

Python Script: Gmail의 SMTP를 이용한 메일 발송 스크립트

Posted in Python by joon on July 23, 2009

Gmail SMTP를 이용하여 메일을 자동으로 전송하는 Python Script 입니다. ASCII 문자만 될 것 같지만 영문으로 자동 이메일을 보내시려고 할 때 유용할 듯.

#!/usr/bin/env python
# Gmail SMTP script by joon
# Snippets from the following codes were used:
#  http://www.go4expert.com/forums/showthread.php?t=7567
#  http://docs.python.org/library/email-examples.html?highlight=sendmail
#  http://djkaos.wordpress.com/2009/04/08/python-gmail-smtp-send-email-script/

import smtplib
from email.mime.text import MIMEText

sender = 'sender@gmail.com'
recipients = 'toEmailAddress'

msg = MIMEText('Email Contents')
msg['Subject'] =  'Email Subject'
msg['From'] = sender
msg['To'] = recipients

smtpserver = 'smtp.gmail.com'
smtpuser = 'ID'         # set SMTP username here
smtppass = 'Password'   # set SMTP password here

session = smtplib.SMTP("smtp.gmail.com", 587)
session.ehlo()
session.starttls()
session.ehlo()

session.login(smtpuser, smtppass)

smtpresult = session.sendmail(sender, [recipients], msg.as_string())

if smtpresult:
  errstr = ""
  for recip in smtpresult.keys():
      errstr = """Could not delivery mail to: %s

Server said: %s
%s

%s""" % (recip, smtpresult[recip][0], smtpresult[recip][1], errstr)
  raise smtplib.SMTPException, errstr

session.close()

여러 텍스트 에디터들의 SumatraPDF inverse search 설정

Posted in LaTeX by joon on July 12, 2009

inverse search를 위해, william.famille-blum.org이 버전SumatraPDF를  사용하시는 것을 추천합니다. File 메뉴의 “Set inverse search command-line” 를 통해 inverse search옵션을 바꿀 수 있어 편리합니다. (이 옵션이 없는 버전은 커맨드 라인에서 옵션을 지정해야 하는데, 저는 실패할 때가 많더군요.)

각 텍스트 에디터들의 설정은 다음과 같습니다: (“C:\Program Files ..\” 부분은 실행파일의 위치에 맞게 수정해서 쓰시면 됩니다)

SlickEdit

C:\Program Files\SlickEditV14.0.1\win\vs.exe "%f" –#%l

UltraEdit

"C:\Program Files\IDM Computer Solutions\UltraEdit\Uedit32.exe"^s "%f/%l/%c"

EditPlus

C:\Program Files\EditPlus 3\editplus.exe "%f" -cursor %l

TexMaker

C:\Program Files\Texmaker\texmaker.exe "%f" -line %l

*. 이 포스트는 계속 업데이트하겠습니다.

커맨드 라인 SumatraPDF forwardsearch

Posted in LaTeX by joon on July 6, 2009

SumatraPDF의 forwardsearch 기능을 이용하기 위해서는 WinEdt과 같이 DDE 프로토콜을 지원하는 텍스트 에디터가 필요합니다.

SumatraForwardsearch는 DDE 프로토콜을 지원하지 않는 UltraEdit 와 같은 에디터를 위해 텍스트 에디터 대신 SumatraPDF로 DDE 명령을 보내주는 AutoHotKey 스크립트를 컴파일 한  파일입니다.

커맨드라인에서 직접 실행할 수 있으며 형식은 다음과 같습니다.:

SumatraForwardsearch “경로를 포함한 PDF 파일이름” “경로를 포함한 tex 파일 이름” “행 번호” “열 번호”

예를 들어,

SumatraForwardsearch.exe “D:\test.pdf” “D:\test.tex” “182″ “1″

파일을 아무 위치에나 저장하신 후, 사용하시는 텍스트 에디터가 (주로 User Tool 메뉴) 이 정보들을 스크립트로 넘기도록 설정하시면 됩니다.

다운로드: SumatraForwardsearch

EditPlus, UltraEdit, SlickEdit에서 SumatraForwardsearch 를 설정하는 법:

(more…)