LyX is a document processor that encourages an approach to writing based on the structure of your documents (WYSIWYM) and not simply their appearance (WYSIWYG). * http://www.lyx.org/ 에서 구할 수 있다. * http://faq.ktug.org/faq/LyX 를 참조한다. [[TableOfContents]] == kotex 문서 작성시 주의사항 == XeTeX 또는 LuaTeX을 사용하도록 설정하면 한글 문서를 잘 작성할 수 있다. {{{Document -> Setting}}}에서 다음 사항을 확인한다. 1. Font 설정에서 {{{Use Non-TeX Fonts}}}를 선택한다. 이것은 `\usepackage{fontspec}`을 활성화하는 것이다. 참고로 이 설정 항목 중의 Roman, Sans Serif 등의 폰트를 선택하면 그 내용이 `\setmainfont` 등으로 넘어온다. * attachment:fontspecfont.png 1. Language 설정에서 `Language:` 를 English로 하고 `Language Package:`를 `Custom`으로 한다. 패키지를 써넣는 필드는 비워둔다. 이렇게 하지 않으면 polyglossia(혹은 babel)를 자동으로 로드하기 때문에 이를 억제하려는 것이다. * attachment:suppresspolyglossia.png 1. LaTeX Preamble 설정에서 kotex 관련 설정을 써넣는다. hangulfont, hanjafont를 여기서 설정해야 한다. * attachment:kotexpreamble.png == 한글 index 생성 == LyX이 index 생성 프로그램으로 `komkindex`를 쓰게 하려면 좀 복잡한 과정을 거쳐야 한다. 현재 LyX의 기본 프로그램인 `texindy` (`xindy`)에 한국어 처리 옵션을 주는 것이 바람직하다. 1. `LyX -> Preferences`에서 `Output -> LaTeX`의 `Index Generation`을 찾는다. Processor를 `texindy`, Options에 `-C utf8 -L korean`을 써넣는다. * attachment:texindyoption.png 1. 문서에서 `Insert -> Index Entry`를 넣는 것은 `\index` 명령을 주는 것과 같다. 문서 끝에 `\printindex`를 추가하는 것은 `Insert -> List/TOC -> Index List`를 삽입한다. 이렇게 해두면 index는 자동생성된다. == oblivoir 문서 == 1. 첨부 파일을 다운로드한다. attachment:oblivoir-article-layout1.zip 2. `oblivoir-article.layout` 파일을 적당한 곳에 둔다. 3. LyX 문서를 작성할 때, `Document -> Setting`의 `Document Class`에서 `Local Layout...`을 선택하고 저장한 파일을 불러온다. 4. 약간의 경고 메시지가 나오는데 이 레이아웃이 사적으로 작성된 것이므로 해당 파일이 없으면 곤란을 겪는다는 사실을 알려주는 것이다. `Set Layout` 버튼을 눌러서 사용을 시도한다. 5. 한글 문서 설정에 관한 (위에 설명한) Font와 Language 설정을 행한다. 단 preamble에 kotex을 usepackage하는 부분은 불필요하고 (한글/한자) 폰트 설정은 preamble에서 oblivoir 방식을 쓰면 된다. 6. `oblivoir-article.layout`을 사용한 샘플 문서 attachment:sample-oblivoir.lyx.zip * 이 문서를 `File -> Export -> PDF (XeTeX)` 하면 얻어지는 pdf: attachment:sample-oblivoir.pdf == 명령행 export == 1. 다음과 같이 하여 명령행에서 pdf로 출력할 수 있다. {{{ $ lyx --export pdf4 .lyx }}} 2. `pdf4`는 XeTeX, `pdf5`는 LuaTeX을 이용하는 출력이다. 이 옵션에 xetex이나 luatex을 주면 lyx을 tex으로 변환할 수 있다. 3. 윈도우즈에서는 LyX이 설치된 폴더의 `lyx.exe`, Mac의 경우는 `/Applications/LyX.app/Contents/MacOS/lyx`을 실행하여야 한다. == Tips == === 문단 모양 드롭다운 메뉴 === * 문단 모양 드롭다운 메뉴를 여는 단축키는 `Alt-P `이다. (맥에서는 `Ctrl-P `) 메뉴가 열린 상태에서 원하는 환경의 몇 글자를 치면 (예컨대 `titl...`) 해당 문단 레이아웃이 적용된다. === Index 입력 === * 메뉴의 `Insert -> Index Entry`를 마우스로 누르면 인덱스가 입력된다. * 커서가 단어의 처음, 끝, 중간에 있다면 현재 단어가 인덱스 엔트리로 들어간다. * 커서가 단어와 단어 사이에 있고 앞뒤로 스페이스가 있는 경우에 빈 인덱스 엔트리가 형성되므로 여기에 원하는 단어를 써넣을 수 있다. * 몇 단어가 선택된 상태라면 선택된 부분이 인덱스 엔트리로 들어간다. * 별도의 단축키가 없기 때문에, (Windows/Linux) `Alt+i, d`를 누르면 빠르게 인덱스 엔트리를 입력할 수 있다. * Mac 버전은 메뉴 단축키를 사용할 수 없다. 마우스를 써야 하는데, 긴 글을 쓸 때는 손이 키보드를 떠나 마우스로 이동하는 것이 무척 비효율적일 때가 있다. 굳이 키보드로 하려면 `Cmd-Shift-/`를 눌러서 `index`라고 써넣어 메뉴 검색을 이용하는 것이 가장 빠르다. 아니면 `Cmd-Shift-/`를 눌러 메뉴를 연 상태에서 방향키로 이동하는 방법도 있다. === 여러 줄 수식 (eqnarray) === * 행중 수식은 `Ctrl-M`, 디스플레이 수식은 `Shift-Ctrl-M`으로 수식 편집 상태로 (간편하게) 들어갈 수 있다. * 이 상태에서 `Ctrl-Enter`를 누르면 필드가 생성된다. * `amsmath`가 로드된 상태에서는 `align*`(수식번호 없는 align), 그렇지 않으면 `eqnarray` 수식이 되는데, `amsmath`를 필수적으로 로드하도록 하는 것이 좋다. * `Document -> Settings -> Math Options`에서 amsmath를 Load Always로 바꾼다. * 더 많은 여러 줄 수식은 메뉴의 `Insert -> Math`에서 고를 수 있다. * 수식 편집 시 화면 아래쪽에 뜨는 math toolbar에서 align의 column과 row를 추가하거나 삭제할 수 있다. === 정의, 정리, 증명 === * `Document -> Settings -> Modules -> Theorems (AMS)`를 활성화하면 문단 메뉴에 관련 항목들이 생긴다. == pdflatex을 위한 kotex 문서 작성 == 위의 항목에서 설명한 kotex 문서 작성은 xelatex/lualatex을 위한 것이다. kotex-utf를 사용하도록 하는 방법을 소개한다. 1. `Document -> Settings -> Language`에서 `Korean`을 고르면 무조건 CJK 패키지를 이용하고 모든 한글 문자가 `\begin{CJK}` 안에 들어간다. 이것은 우리가 원하는 방법이 아니다. 즉, 주언어는 `English`로 그대로 두어야 한다. 1. CJK 패키지가 자동으로 로드되지 않도록 하는 것이 매우 중요하다. 이를 위해서 `Document -> Settings -> Language -> Encodings`를 `Other: Unicode (XeTeX) (utf8)`로 선택하는 트릭이 있다. 비록 XeTeX을 사용할 것은 아니지만 일단 이렇게 하면 한글에 대하여 CJK 패키지가 로드되지 않는다. 1. 이 상태에서 한글 문서를 작성해도 그럭저럭 되기는 한다. 단, 이 방법으로 할 적에는 inputenc 패키지가 로드되는 것은 막을 수 없다. 이 문제까지 해결하려면 다음과 같이 하면 된다. 1. 사용자의 custom class layout을 하나 만든다. 이름은 kotex-article.layout이라고 하기로 하자. 내용은 다음과 같다. {{{ # \DeclareLaTeXClass[article]{My Ko.TeX Article} # \DeclareCategory{Articles} Input article.layout Provides inputenc 1 Provides CJK 1 }}} 1. 이 레이아웃 파일을 저장하고 `Document -> Settings -> Document Class`에서 불러온다. Set Layout을 선택한다. 1. `Document -> Settings -> Language`에서 언어는 English로, `Encoding`은 앞서와 같이 `Unicode (XeTeX) (utf8)`을 선택한다. 1. `Document -> Settings -> Language -> Language Package:`를 Custom으로 하고 `\usepackage{kotex}`을 필드에 써넣는다. 이렇게 하면 귀찮은 babel, inputenc, CJK 등이 자동으로 로드되는 것을 억제할 수 있어서 깔끔한 kotex 문서의 작성이 가능하다. 이 상태에서 작성한 문서가 pdflatex으로 export된다. Ctrl-R 또는 Shift-Ctrl-R로 실행되는 preview 역시 pdflatex으로부터 얻어진다. (Fontspec을 활성화하지 않아야 한다). 그러나, 전체적으로 보아서 XeTeX이나 LuaTeX을 이용하는 앞서 소개한 방법이 더 바람직하다고 본다.