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 를 참조한다.
- 발음:
1. 설치 방법 ¶
- TeX System을 설치한다.
- pdf viewer의 상태를 점검한다.
- lyx.org 사이트에서 다운로드받은 인스톨러로 설치한다.
- Windows의 경우 "전체 설치"나 "사용자 설치"를 선택할 수 있다. 일반적으로 사용자 설치가 유지 관리에 쉽다.
- Linux/Ubuntu의 경우 launchpad를 이용하여 설치하는 쪽을 권장한다.
sudo add-apt-repository ppa:lyx-devel/release sudo apt-get update
2.1. kotex 문서 템플릿 ¶
- lyx_hangul_templates_24.zip (7.19 KB)
- LyX 2.4용 한글 문서(article) 템플릿. article, oblivoir.
2.2. 주의사항 ¶
- Font 설정에서
Use Non-TeX Fonts
를 선택한다. 이것은\usepackage{fontspec}
을 활성화하는 것이다. 참고로 이 설정 항목 중의 Roman, Sans Serif 등의 폰트를 선택하면 그 내용이\setmainfont
등으로 넘어온다.- [PNG image (78.53 KB)]
- Language 설정에서
Language:
를 English로 하고Language Package:
를Custom
으로 한다. 패키지를 써넣는 필드는 비워둔다. 이렇게 하지 않으면 polyglossia(혹은 babel)를 자동으로 로드하기 때문에 이를 억제하려는 것이다.- [PNG image (73.49 KB)]
- <None>으로 하여도 된다. (2.4)
- LaTeX Preamble 설정에서 kotex 관련 설정을 써넣는다. hangulfont, hanjafont를 여기서 설정해야 한다.
- [PNG image (84.94 KB)]
3. 한글 index 생성 ¶
4. oblivoir 문서 ¶
- 첨부 파일을 다운로드한다. oblivoir-article-layout1.zip (1.17 KB)
oblivoir-article.layout
파일을 적당한 곳에 둔다.- LyX 문서를 작성할 때,
Document -> Setting
의Document Class
에서Local Layout...
을 선택하고 저장한 파일을 불러온다. - 약간의 경고 메시지가 나오는데 이 레이아웃이 사적으로 작성된 것이므로 해당 파일이 없으면 곤란을 겪는다는 사실을 알려주는 것이다.
Set Layout
버튼을 눌러서 사용을 시도한다. - 한글 문서 설정에 관한 (위에 설명한) Font와 Language 설정을 행한다. 단 preamble에 kotex을 usepackage하는 부분은 불필요하고 (한글/한자) 폰트 설정은 preamble에서 oblivoir 방식을 쓰면 된다.
oblivoir-article.layout
을 사용한 샘플 문서 sample_oblivoir_lyx.zip (8.64 KB)- 이 문서를
File -> Export -> PDF (XeTeX)
하면 얻어지는 pdf: sample-oblivoir0.pdf (99.78 KB)
- 이 문서를
6.1. 문단 모양 드롭다운 메뉴 ¶
- 문단 모양 드롭다운 메뉴를 여는 단축키는
Alt-P <Space>
이다. (맥에서는Ctrl-P <Space>
) 메뉴가 열린 상태에서 원하는 환경의 몇 글자를 치면 (예컨대titl...
) 해당 문단 레이아웃이 적용된다.
6.2. Index 입력 ¶
- 메뉴의
Insert -> Index Entry
를 마우스로 누르면 인덱스가 입력된다.- 커서가 단어의 처음, 끝, 중간에 있다면 현재 단어가 인덱스 엔트리로 들어간다.
- 커서가 단어와 단어 사이에 있고 앞뒤로 스페이스가 있는 경우에 빈 인덱스 엔트리가 형성되므로 여기에 원하는 단어를 써넣을 수 있다.
- 몇 단어가 선택된 상태라면 선택된 부분이 인덱스 엔트리로 들어간다.
- 별도의 단축키가 없기 때문에, (Windows/Linux)
Alt+i, d
를 누르면 빠르게 인덱스 엔트리를 입력할 수 있다.- Mac 버전은 메뉴 단축키를 사용할 수 없다. 마우스를 써야 하는데, 긴 글을 쓸 때는 손이 키보드를 떠나 마우스로 이동하는 것이 무척 비효율적일 때가 있다. 굳이 키보드로 하려면
Cmd-Shift-/
를 눌러서index
라고 써넣어 메뉴 검색을 이용하는 것이 가장 빠르다. 아니면Cmd-Shift-/
를 눌러 메뉴를 연 상태에서 방향키로 이동하는 방법도 있다.
- Mac 버전은 메뉴 단축키를 사용할 수 없다. 마우스를 써야 하는데, 긴 글을 쓸 때는 손이 키보드를 떠나 마우스로 이동하는 것이 무척 비효율적일 때가 있다. 굳이 키보드로 하려면
6.3. 여러 줄 수식 (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를 추가하거나 삭제할 수 있다.
6.5. 수식 instant preview ¶
- 편집창에서 수학식을 입력하면 다음과 같은 모양으로 보인다.
[PNG image (7.33 KB)]
- 메뉴의 Tools -> Preferences -> Look and Feel -> Display에서
instant preview
를On
으로 한다.[PNG image (17.92 KB)] - 그 결과, 편집창에서도 수식을 조판된 모양으로 볼 수 있다.
[PNG image (9.97 KB)]
6.6. SumatraPDF를 위한 Forward/Inverse Search 설정 ¶
다음에서 설명하는 내용은 LyX 2.3에 해당하는 것으로, 2.4에서도 동작하는지 여부는 검증되지 않았음.
- LyX이 설치된 폴더의 bin\ 디렉토리 아래에 다음 내용으로 된 lyxeditor.cmd 파일을 생성한다.
@echo off SETLOCAL enabledelayedexpansion set file=%1 set row=%2 REM remove quotes from variables set file=!file:"=! set row=!row:"=! %comspec% /q /c (@echo LYXCMD:revdvi:server-goto-file-row:%file% %row%)> \\.\pipe\lyxpipe.in&&type \\.\pipe\lyxpipe.out endlocal
- SumatraPDF의
Settings -> Advanced Options
를 눌러 설정 파일이 notepad로 열리면, 다음 내용을 적어넣고 저장한다. 기존 설정 중에 ReuseInstance가 false로 되어 있을 수 있으므로 이를 아래를 참고하여 true로 수정해야 한다.ReuseInstance = true ReloadModifiedDocuments = true InverseSearchCmdLine = lyxeditor.cmd "%f" %l EnableTeXEnhancements = true UseTabs = true
- LyX을 열고 다음 설정을 행한다.
Tools -> Preferences -> Path
의Path prefix
에서 SumatraPDF.exe가 있는 PATH를 지정해준다. SumatraPDF를 사용자 설정으로 설치했다면C:\Users\<User>\AppData\Local\SumatraPDF
이고 전체 사용자 설정으로 설치했다면C:\Program Files\SumatraPDF
또는 (32비트일 경우)C:\Program Files (X86)\SumatraPDF
일 수 있으므로 확인하여야 한다. 이 경로를 기존에 이미 있는 prefix의 뒤에 세미콜론을 붙인 다음에 이어 적는다.LyXServer pipe
를\\.\pipe\lyxpipe
라고 직접 써넣는다.Tools -> Preferences -> File Handling -> Converters
에서LaTeX (pdflatex)
을 선택하여Converter
를 다음과 같이 적어넣는다.pdflatex -interaction=nonstopmode -synctex=1 $$i
LaTeX (XeTeX)
과LaTeX (LuaTeX)
에 대해서도 위와 같은 방법으로 (컴파일러 이름을 바꾸어서) 똑같이 설정한다.Modify
단추를 누른다.
- 계속해서 다음 설정을 행한다.
- SumatraPDF와 LyX를 다시 실행한다.
- LyX에서 문서를 열었을 때 `Forward/Reverse 버튼이 활성화되었는지 확인하라.
- 참고 이 설정은 잘 되면 다행이고, 잘 안 되더라도 어쩔 수 없다.
7. pdflatex을 위한 kotex 문서 작성 ¶
위의 항목에서 설명한 kotex 문서 작성은 xelatex/lualatex을 위한 것이다. kotex-utf를 사용하도록 하는 방법을 소개한다.
Document -> Settings -> Language
에서Korean
을 고르면 무조건 CJK 패키지를 이용하고 모든 한글 문자가\begin{CJK}
안에 들어간다. 이것은 우리가 원하는 방법이 아니다. 즉, 주언어는English
로 그대로 두어야 한다.- CJK 패키지가 자동으로 로드되지 않도록 하는 것이 매우 중요하다. 이를 위해서
Document -> Settings -> Language -> Encodings
를Other: Unicode (XeTeX) (utf8)
로 선택하는 트릭이 있다. 비록 XeTeX을 사용할 것은 아니지만 일단 이렇게 하면 한글에 대하여 CJK 패키지가 로드되지 않는다. - 이 상태에서 한글 문서를 작성해도 그럭저럭 되기는 한다.
- 사용자의 custom class layout을 하나 만든다. 이름은 kotex-article.layout이라고 하기로 하자. 내용은 다음과 같다.
# \DeclareLaTeXClass[article]{My Ko.TeX Article} # \DeclareCategory{Articles} Input article.layout Provides inputenc 1 Provides CJK 1
- 이 레이아웃 파일을 저장하고
Document -> Settings -> Document Class
에서 불러온다. Set Layout을 선택한다. Document -> Settings -> Language
에서 언어는 English로,Encoding
은 앞서와 같이Unicode (XeTeX) (utf8)
을 선택한다.Document -> Settings -> Language -> Language Package:
를 Custom으로 하고\usepackage{kotex}
을 필드에 써넣는다.
8. LyX-hangulize ¶
- 지금은 중단된
KoreanUCS
를 이어받은 개인 프로젝트. - LyX의 기본 설정을 조금 수정하여 한글 문서 작성을 지원하려는 것임.
- 개인적 용도로만 사용하세요
- 설치하여 사용할지 여부는 다음 문서를 검토한 후에 결정하시기 바람.
- 다운로드 LyX hangulize
----
- [1] inputenc는 kotex-utf의 경우에는 미리 로드되어도(옵션이 utf8이기만 하면) 아무 문제 없지만 이렇게 생성된 파일을 바로 xelatex으로 컴파일할 수 없다. kotex 문서에서는 inputenc를 별도로 로드하는 것을 억제하는 것이 좋다.