Richard Koch가 만드는 Mac OS X의 (La)TeX 편집기. 모든 라텍 편집기의 모범이고 간명한 인터페이스를 갖추고 강력한 기능을 가진 (맥에서만 쓸 수 있는) 에디터이다. MacTeX으로 설치하면 함께 설치된다.
1. 한글 문자 인코딩 ¶
- 새로 만드는 문서의 기본 문자 인코딩을 설정하려면 환경설정 -> 문서 -> 인코딩에서 선택한다.
- 한글 문자 인코딩은 두 종류가 있다.
- 그러나 일반적으로 ko.TeX은 유니코드 인코딩을 선호한다. 그러므로 기본 인코딩을 Unicode (UTF-8)으로 지정해둔다.
- 문자 인코딩은 문서마다 별도로 지정할 수 있다. 다음 magic comment를 문서의 첫머리에 두면 된다.
%!TEX encoding = UTF-8 Unicode
- 참고로, %!까지만 치고 <ESC>를 누르면 위의 행이 삽입된다.
- 주의. 이 매직 코멘트를 MacKorean이나 DosKorean으로 할 수 있으나 이 경우 TeXworks 에디터에서 읽을 수 없다. 인코딩 이름이 호환되지 않으므로 주의. 그리고 유니코드 UTF-8의 경우, 그냥 "UTF-8"이라고만 하면 TeXShop이 읽지 못한다. 반드시 "UTF-8 Unicode"라고 할 것. 다행히 TeXworks가 이 경우는 올바르게 이해한다.
2.1. 문서 컴파일 엔진 ¶
- 에디터 툴바의
조판
옆에 있는 박스에서 현재 활성화된 engine을 선택할 수 있다. 활성화된 엔진은
~/Library/TeXShop/Engines
폴더에.engine
확장자를 가진 스크립트 형식으로 존재한다.
- 디폴트 컴파일 엔진은
환경설정 -> 조판 -> 기본 조판 명령
으로 설정할 수 있다. - 기본 컴파일 단축키
Cmt-T
를 눌렀을 때 문서의 magic comment로 engine 지정이 없다면 기본 컴파일 엔진으로 동작한다.
%!TEX TS-program = `
` magic comment가 있다면 이것이 우선한다. 예를 들어 pdflatexmk를 실행하고 싶다면%!TEX program = pdflatexmk
- 최근 버전에서는 TeXShop을 의미하는 TS-가 붙지 않아도 이해한다.
- 대체 컴파일 단축키
Ctrl-Opt-Cmd-T
를 누르면 대체 엔진이 동작한다. 대체 엔진의 설정은
환경 설정 -> 세목 -> 대체 엔진
에서 지정할 수 있다. 만약 xelatexmk를 설정하려 한다면 xelatexmk.engine 파일이 활성화되어 있는지 확인해야 한다.- 대체 컴파일 단축키는 문서의 magic comment보다 우선한다.
- 참고로,
Opt-Cmd-T
단축키는 Trash Auxs and Compile이다. 즉
Ctrl-Cmd-A
한 후에
Cmd-T
하는 것과 같다.
2.4. 그림 삽입 ¶
- 파인더에서 그림을 "끌어다놓기(Drag & Drop)"하면 \includegraphics 명령을 (자동으로) 만들어준다. (파일 이름에 스페이스가 있으면 오류 메시지를 보임).
2.6. 정규식 찾기/바꾸기 ¶
- 환경설정에서 "찾기 바꾸기 패널"을 "OgreKit 찾기 패널"로 선택한 후에 찾기/바꾸기 패널을 열면 정규식 찾기/바꾸기를 할 수 있다. 정규식 문법을 ruby, emacs, grep, java, perl 등에서 고를 수 있는데 이것은 Ogre Find Panel의 "추가 옵션(자세한 설정)" drawer를 열면 고를 수 있다.
2.7. 자동완성 ¶
- 메뉴의 "소스 -> 명령 완성 -> 자동완성 용어파일 편집"을 선택하면 자동완성 용어를 편집할 수 있다. 또는 어떤 자동완성 단축키가 정의되어 있는지 알기 위해 이 파일을 열어보면 된다.
- 예를 들어 mbf<ESC> (트리거 키 <ESC>는 환경설정에서 <TAB>으로 바꿀 수 있음)라고 치면 \mathbf{}가 만들어진다. 위의 용어 파일에서 mbf 설정을 복사하여 붙이고 mbb로 바꾸면 mbb<ESC> => \mathbb{}가 된다.
2.8. 현재 환경 닫기 ¶
- \begin{envname}<ESC> 하면 자동으로 \end{envname}을 만들어준다.
- 위와 같이 하지 않고 \begin{envname}으로 이미 시작해버렸다면 언제라도 Ctrl-Cmd-C 단축키로 \end{envname}을 커서 위치에 넣을 수 있다. 메뉴에서는 "소스 -> 현재 환경 닫기"이다.
2.9. 엔진 추가 삭제 ¶
- ~/Library/TeXShop/Engines 폴더로 가면 사용가능한 engine 파일들을 볼 수 있다. Inactive 서브폴더로 이동시키면 사용하지 않는 것이 된다.
- arara 엔진 설치는 아래 소절 "arara engine 설치하기" 참조.
- SpiX 엔진 설치는 SpiX 소개 참조.
- 간단한 셸 스크립트 형식으로 .engine 파일을 작성하여 자신의 엔진 정의 파일을 만들 수 있다.
2.10. 따옴표 입력 ¶
- 따옴표를 입력하는 방법은 다음 몇 가지가 있다. TeXShop은 이 세 가지를 모두 선택할 수 있다.
- TeX 따옴표
- smart 인용부호 따옴표
- 키보드 따옴표
- TeX 따옴표 (
``
''
)- 이 기능을 켜는 것을 기본으로 하려면 환경설정 -> 문서 -> 에디터 -> 키바인딩을 체크한다. (끄려면 체크 오프)
- 문서 작성 중에 위의 기능을 끄거나 켜려면 메뉴 -> 소스 -> 키바인딩 -> ON/OFF 교체
- smart 인용부호 따옴표 (“ ”)
- 입력 중에 따옴표 여닫기가 자동으로 이루어진다.
- 메뉴의 편집 -> 자동 변환 -> 스마트 인용
- 편집 -> 자동 변환 -> 대체 보기 창을 열어서 스마트 인용부호의 모양을 (각 언어 맥락에 맞게) 고를 수 있다.
- 위의 두 설정이 모두 꺼져 있으면 키보드 입력이 그대로 반영된다.
- 참고: 키 바인딩이 스마트 자동 변환에 우선한다.
2.10.1. TIP: 따옴표 입력 ¶
- 일반적으로 TeX 따옴표를 쓰면서 가끔 필요할 때 키보드 따옴표를 입력해야 할 때가 있다. 키보드의
Shift-Option-"
은 \AE 문자에 할당되어 있으므로 이것을 키 바인딩 정의해주자. - 메뉴 -> 소스 -> 키 바인딩 -> 키 바인딩 파일 편집을 선택하여 키 바인딩 에디터를 연다. 이 상태에서 입력 문자에 Shift-Option-", 출력문자열에
"
를 선택하여 +하면 "기본값을 오버라이드한다"는 메시지가 나온다. 이를 저장. - 이제 키 바인딩을 ON으로 하고 텍스트 입력시에 Shift-" 키는 TeX 따옴표 입력에, Shift-Option-" 키는 키보드 따옴표 입력에 활용할 수 있다.
실험: 자동으로 $...$ 입력하기 * 메뉴 -> 소스 -> 키 바인딩 -> 키 바인딩 파일 편집을 선택하여 키 바인딩 에디터를 연다. * 입력문자에 $, 출력문자열에 $#SEL##INS#$를 넣고 + 하고, 이를 저장한다. * 이제 여는 $를 타이핑하면 자동으로 닫는 $를 입력해준다. * 실험 결과, Option-Shift 키 바인딩이 제대로 작동하지 않을 수 있음을 경험했다. (제대로 작동하기도 한다.) 따라서, 수식 입력이 많을 경우, 이를 따옴표 입력과 선택적으로 사용할 수 있다.
2.11. 교차참조 ¶
- 메뉴의 매크로 -> Insert Reference 또는 단축키 Shift-Cmd-R하면 커서 위치에 \ref{label}을 입력한다. 현재 작성 중인 문서에 있는 모든 label을 보여주고 고를 수 있다.
- 메뉴까지 안 가고 작업창의 툴바에서 매크로 드롭다운 메뉴를 열어도 된다.
- input/include된 하위 파일의 label까지 모두 보여주는 기능은 없다.
2.12. 문자와 통계 ¶
- 입력 중인 텍스트를 선택하고 메뉴의 편집 -> 문자를 선택하면 그 문자에 대한 정보를 보여준다. 특정 문자의 유니코드 코드 포인트를 알고 싶을 때 유용하게 쓸 수 있다.
- 같은 일을 컨텍스트 메뉴에서도 할 수 있다. 선택한 글자에서 우클릭하여 "문자 정보".
- 메뉴의
편집 -> 통계
는 문서의 분량을 보여준다. 단어 수, 행 수, 글자 수.
2.13. 편집 보기 창 통합/분리 ¶
- 여러 파일을 편집할 때 소스 편집창과 pdf 보기창이 묶여 있으면 편할 때가 있다. 많은 라텍 에디터들이 편집창과 보기창을 나란히 놓는 경우가 많다.
- 메뉴의 창 -> "편집 보기 창 통합(Use One Window)"과 "편집 보기 창 분리(Use Separate Windows)"를 선택하여 소스와 미리보기 창을 하나의 작업창으로 묶어두거나 따로 풀어둘 수 있다.
2.14. 스타일 문서 열기 ¶
- texdoc을 TeXShop 내에서 실행하는 것이다.
- 단축키
Option-Cmd-i
, 메뉴의 도움말 -> 패키지 도움말 보이기 - 패키지 이름이나 texdoc하고자 하는 문서 이름을 써넣고 엔터. symbols, mathmode, lshort-kr 등 원하는 문서 이름을 써넣으면 미리보기로 해당 문서를 보여준다.
2.15. 현재 줄 강조 ¶
[PNG image (113.3 KB)]
- 4.73 버전에서 추가된 기능. 편집 중인 소스의 현재 커서가 있는 행을 별색으로 보여준다.
- 메뉴의
소스
->현재 줄 강조
를 선택하면 현재 열린 창에 적용된다. - 모든 소스에 이것을 적용하려면
환경설정
->
에디터
에서
현재 줄 강조
를 체크한다. - 테마에 따라 색상이 다르기 때문에 어떤 테마에서는 잘 눈에 띄지 않을 수 있다.
환경설정
->테마
에서 현재 줄에 해당하는 배경색을 조금 바꾸어볼 것.
2.16. expl3 syntax coloring ¶
[PNG image (147.1 KB)]
- 메뉴의 "소스"->"expl3 구문 강조"를 선택하면 expl3 syntax coloring이 활성화된다.
- TeXShop이 처음 실행될 때 이 옵션은 꺼져 있다. 항상 켜기 위해서는 터미널에서
defaults write TeXShop expl3SyntaxColoring YES
를 실행한다.
[PNG image (38.01 KB)]
- 색상 구성은 "설정" -> "테마" -> "expl3 색상"을 이용하여 재구성할 수 있다.
3. 기타 ¶
- TeXshop에서 새로 작성된 파일은 확장자 .tex으로밖에 저장할 수 없다. 그러므로 .sty 파일을 편집하려 한다면 미리 sty를 만들어놓고 열든가 아니면 .tex으로 저장한 후에 확장자를 바꾸어주어야 한다.
- 확장자 .sty 파일의 연결프로그램을 TeXShop.app으로 바꿔두면, 기존 sty 파일의 열기/편집/저장 등에 따로 신경 쓸 일은 없다.
- TeXShop Tips & Tricks
- 시에라/하이시에라/모하비의 입력기 옵션에서 "스페이스를 두 번 눌러 마침표 추가"를 해제해두는 것이 좋다. 의도하지 않은 마침표가 들어가서 에러가 발생하는 경우가 많다.
3.1. HTML 편집 ¶
- Version 5.00 이후 TeXShop은 HTML 미리보기 창을 제공하므로 HTML 편집기로 쓸 수 있으며 tex으로부터 생성한 html을 바로 확인할 수 있는 기능을 갖추었다.
~/Library/TeXShop/Engines/Inactive/HTML
폴더에 있는html.engine
파일을~/Library/TeXShop/Engines
폴더로 이동한 다음 TeXShop을 다시 열면 컴파일 엔진 리스트에 html이 추가된다.조판
을 누르거나 Cmd-T 하면 현재 열린 편집창이 html 파일일 경우 그 파일의 미리보기가, 현재 열린 편집창이 html이 아닐 경우(예컨대 .tex) 같은 파일이름에 확장자가 .html인 파일이 미리보기로 열린다.- 이를 이용하여, HTML 자체를 편집하면서 미리보기 할 수 있다.
- tex 파일에 대하여 tex4ht나 lwarp을 이용하여 html을 생성하고 그 결과를 pdf창과 별도로 html 미리보기 창으로 볼 수 있다.
- HTML 파일의 경우 magic comment를 예컨대 다음과 같이 적으면, Cmd-T 단축키로 바로 HTML 미리보기를 열 수 있다.
<!-- %!TEX program = html -->
3.2. pygmentize path ¶
minted
package를 쓰려면pygmentize
가 설치되고, path가 걸려야 한다.python
을 설치한 후, (터미널에서) 다음과 같이pygments
를 설치한다.pip3 install pygments
pygmentize
path 확인:which pygmentize
- TeXShop
설정 > Engine > Path settings > Distiller
에 위에서 확인한 경로를 쓰고 확인을 누른다.[PNG image (248.78 KB)]
결과로 나온 위치가
/opt/homebrew/bin/pygmentize
라 하자.
4.1. arara ¶
- 파인더에서 Command-Shift-G를 누른 다음
~/Library/TeXShop/Engines/Inactive/Arara
폴더로 가면arara.engine
파일이 있다. - 이것을
~/Library/TeXShop/Engines/
폴더로 복사(꺼내기)한다. - 터미널을 열고 다음 명령을 실행
$ chmod +x ~/Library/TeXShop/Engines/arara.engine
- 설치 후 사용 예: (유의: 아래 예에서 "program"과 "=" 사이에 빈칸이 없으면 arara 작동하지 않음.)
%!TEX program = arara % arara: xelatex: { synctex: yes } \documentclass[12pt]{article}
- arara 실행을 위해서는 java가 필요하다.
$ brew install openjdk
4.2. SpiX ¶
~/Library/TeXShop/Engines
폴더로 이동.- 새로
SpiX.engine
을 만들거나 위의Arara.engine
을SpiX.engine
으로 복사. - 내용은 다음과 같도록 수정한다.
#!/bin/zsh export PATH=/Library/TeX/texbin:/usr/texbin:/usr/local/bin:/opt/homebrew/bin:${PATH} spix "$1"
- 실행 권한을 준다.
> sudo chmod a+x SpiX.engine
- 설치 후 사용 례. tex 소스에서
%!TEX program = SpiX %$ xelatex -synctex=1 $texname