Richard Koch가 만드는 Mac OS X의 (La)TeX 편집기. 모든 라텍 편집기의 모범이고 간명한 인터페이스를 갖추고 강력한 기능을 가진 (맥에서만 쓸 수 있는) 에디터이다. [wiki:설치하기MacOSX/MacTeX MacTeX으로 설치]하면 함께 설치된다. attachment:texshopscreenshot.png attachment:TeXShop_in_MacTeX2019.png [http://www.ktug.org/xe/index.php?document_srl=235888&mid=KTUG_open_board#comment_235948 (스크린샷에 사용한 소스는 여기서)] * [http://pages.uoregon.edu/koch/texshop/ TeXShop Homepage] [[TableOfContents]] == 한글 문자 인코딩 == * 새로 만드는 문서의 기본 문자 인코딩을 설정하려면 환경설정 -> 문서 -> 인코딩에서 선택한다. * 한글 문자 인코딩은 두 종류가 있다. 1. 한국어 (Mac OS) = MacKorean : [wiki:CP949한글 EUC-KR]에 해당. 완성형 한글 1. 한국어 (Windows, DOS) = DOSKorean : [wiki:CP949한글 CP949]에 해당. 통합한글코드(UHC). * 그러나 일반적으로 '''ko.TeX은 유니코드 인코딩을 선호'''한다. 그러므로 기본 인코딩을 Unicode (UTF-8)으로 지정해둔다. * 문자 인코딩은 문서마다 별도로 지정할 수 있다. 다음 [["매직 코멘트" magic comment]]를 문서의 첫머리에 두면 된다. {{{ %!TEX encoding = UTF-8 Unicode }}} * 참고로, %!까지만 치고 를 누르면 위의 행이 삽입된다. * '''주의'''. 이 매직 코멘트를 MacKorean이나 DosKorean으로 할 수 있으나 이 경우 [TeXworks] 에디터에서 읽을 수 없다. 인코딩 이름이 호환되지 않으므로 주의. 그리고 유니코드 UTF-8의 경우, 그냥 "UTF-8"이라고만 하면 TeXShop이 읽지 못한다. 반드시 "UTF-8 Unicode"라고 할 것. 다행히 [TeXworks]가 이 경우는 올바르게 이해한다. == 유용한 팁 == === 문서 컴파일 엔진 === * 에디터 툴바의 ```조판``` 옆에 있는 박스에서 현재 활성화된 engine을 선택할 수 있다. 활성화된 엔진은 {{{~/Library/TeXShop/Engines}}} 폴더에 ```.engine``` 확장자를 가진 스크립트 형식으로 존재한다. * 디폴트 컴파일 엔진은 {{{환경설정 -> 조판 -> 기본 조판 명령}}}으로 설정할 수 있다. * 이 메뉴에서 ```LaTeX```을 선택하면 pdflatex이 기본 엔진이 된다. * xelatex을 많이 쓴다면 ```기타 명령으로 지정```을 선택하고 ```XeLaTeX```을 적어두면 된다. * '''기본 컴파일 단축키''' ```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```하는 것과 같다. === PDF Synchronization === * 편집창 또는 보기창에서 Cmd+Click하거나, 우클릭하여 뜨는 Context Menu에서 "Sync"를 선택한다. === LaTeX 패널과 행렬 패널 === * 메뉴의 "창 -> LaTeX 패널" 또는 "창 -> 행렬 패널"을 열면 각종 수학 기호와 행렬을 손쉽게 입력할 수 있게 해준다. * Window/LaTeX Panel: 단축키 {{{[Opt Cmd -]}}} * Window/Matrix Panel: 단축키 {{{[Opt Cmd =]}}} === 그림 삽입 === * 파인더에서 그림을 "끌어다놓기(Drag & Drop)"하면 \includegraphics 명령을 (자동으로) 만들어준다. (파일 이름에 스페이스가 있으면 오류 메시지를 보임). === 표 삽입 === * 행렬 패널을 표 작성 본보기로 이용할 수 있다. 패널의 "환경" 항목을 tabular로 한다. * table 환경을 바로 삽입하는 매크로가 기본으로 들어 있다. 메뉴의 "매크로 -> tables -> table"을 선택하면 커서 위치에 table 환경을 바로 만든다. * 엑셀이나 LibreOffice에서 필요한 영역을 복사(copy)한 후, 메뉴의 "매크로 -> Paste Spreadsheet Cells"를 실행하면 LaTeX 표로 변환해서 삽입한다. === 정규식 찾기/바꾸기 === * 환경설정에서 "찾기 바꾸기 패널"을 "OgreKit 찾기 패널"로 선택한 후에 찾기/바꾸기 패널을 열면 정규식 찾기/바꾸기를 할 수 있다. 정규식 문법을 ruby, emacs, grep, java, perl 등에서 고를 수 있는데 이것은 Ogre Find Panel의 "추가 옵션(자세한 설정)" drawer를 열면 고를 수 있다. === 자동완성 === * 메뉴의 "소스 -> 명령 완성 -> 자동완성 용어파일 편집"을 선택하면 자동완성 용어를 편집할 수 있다. 또는 어떤 자동완성 단축키가 정의되어 있는지 알기 위해 이 파일을 열어보면 된다. * 예를 들어 mbf (트리거 키 는 환경설정에서 으로 바꿀 수 있음)라고 치면 \mathbf{}가 만들어진다. 위의 용어 파일에서 mbf 설정을 복사하여 붙이고 mbb로 바꾸면 mbb => \mathbb{}가 된다. === 현재 환경 닫기 === * \begin{envname} 하면 자동으로 \end{envname}을 만들어준다. * 위와 같이 하지 않고 \begin{envname}으로 이미 시작해버렸다면 언제라도 Ctrl-Cmd-C 단축키로 \end{envname}을 커서 위치에 넣을 수 있다. 메뉴에서는 "소스 -> 현재 환경 닫기"이다. === 엔진 추가 삭제 === * ~/Library/TeXShop/Engines 폴더로 가면 사용가능한 engine 파일들을 볼 수 있다. Inactive 서브폴더로 이동시키면 사용하지 않는 것이 된다. * arara 엔진 설치는 아래 소절 "[http://wiki.ktug.org/wiki/wiki.php/TeXShop#s-4 arara engine 설치하기]" 참조. * SpiX 엔진 설치는 [http://www.ktug.org/xe/index.php?document_srl=245475&mid=KTUG_open_board SpiX 소개] 참조. * 간단한 셸 스크립트 형식으로 .engine 파일을 작성하여 자신의 엔진 정의 파일을 만들 수 있다. === 따옴표 입력 === * 따옴표를 입력하는 방법은 다음 몇 가지가 있다. TeXShop은 이 세 가지를 모두 선택할 수 있다. * TeX 따옴표 * smart 인용부호 따옴표 * 키보드 따옴표 * TeX 따옴표 ({{{``}}} {{{''}}}) * 이 기능을 켜는 것을 기본으로 하려면 환경설정 -> 문서 -> 에디터 -> 키바인딩을 체크한다. (끄려면 체크 오프) * 문서 작성 중에 위의 기능을 끄거나 켜려면 메뉴 -> 소스 -> 키바인딩 -> ON/OFF 교체 * smart 인용부호 따옴표 (“ ”) * 입력 중에 따옴표 여닫기가 자동으로 이루어진다. * 메뉴의 편집 -> 자동 변환 -> 스마트 인용 * 편집 -> 자동 변환 -> 대체 보기 창을 열어서 스마트 인용부호의 모양을 (각 언어 맥락에 맞게) 고를 수 있다. * 위의 두 설정이 모두 꺼져 있으면 키보드 입력이 그대로 반영된다. * 참고: 키 바인딩이 스마트 자동 변환에 우선한다. ==== TIP: 따옴표 입력 ==== * 일반적으로 TeX 따옴표를 쓰면서 가끔 필요할 때 키보드 따옴표를 입력해야 할 때가 있다. 키보드의 {{{Shift-Option-"}}}은 \AE 문자에 할당되어 있으므로 이것을 키 바인딩 정의해주자. * 메뉴 -> 소스 -> 키 바인딩 -> 키 바인딩 파일 편집을 선택하여 키 바인딩 에디터를 연다. 이 상태에서 입력 문자에 Shift-Option-", 출력문자열에 {{{"}}}를 선택하여 +하면 "기본값을 오버라이드한다"는 메시지가 나온다. 이를 저장. * 이제 키 바인딩을 ON으로 하고 텍스트 입력시에 Shift-" 키는 TeX 따옴표 입력에, Shift-Option-" 키는 키보드 따옴표 입력에 활용할 수 있다. ---- {{{실험: 자동으로 $...$ 입력하기 * 메뉴 -> 소스 -> 키 바인딩 -> 키 바인딩 파일 편집을 선택하여 키 바인딩 에디터를 연다. * 입력문자에 $, 출력문자열에 $#SEL##INS#$를 넣고 + 하고, 이를 저장한다. * 이제 여는 $를 타이핑하면 자동으로 닫는 $를 입력해준다. * 실험 결과, Option-Shift 키 바인딩이 제대로 작동하지 않을 수 있음을 경험했다. (제대로 작동하기도 한다.) 따라서, 수식 입력이 많을 경우, 이를 따옴표 입력과 선택적으로 사용할 수 있다. }}} === 교차참조 === * 메뉴의 매크로 -> Insert Reference 또는 단축키 Shift-Cmd-R하면 커서 위치에 \ref{label}을 입력한다. 현재 작성 중인 문서에 있는 모든 label을 보여주고 고를 수 있다. * 메뉴까지 안 가고 작업창의 툴바에서 매크로 드롭다운 메뉴를 열어도 된다. * input/include된 하위 파일의 label까지 모두 보여주는 기능은 없다. === 문자와 통계 === * 입력 중인 텍스트를 선택하고 메뉴의 편집 -> 문자를 선택하면 그 문자에 대한 정보를 보여준다. 특정 문자의 유니코드 코드 포인트를 알고 싶을 때 유용하게 쓸 수 있다. * 같은 일을 컨텍스트 메뉴에서도 할 수 있다. 선택한 글자에서 우클릭하여 "문자 정보". * 메뉴의 {{{편집 -> 통계}}}는 문서의 분량을 보여준다. 단어 수, 행 수, 글자 수. === 편집 보기 창 통합/분리 === * 여러 파일을 편집할 때 소스 편집창과 pdf 보기창이 묶여 있으면 편할 때가 있다. 많은 라텍 에디터들이 편집창과 보기창을 나란히 놓는 경우가 많다. * 메뉴의 창 -> "편집 보기 창 통합(Use One Window)"과 "편집 보기 창 분리(Use Separate Windows)"를 선택하여 소스와 미리보기 창을 하나의 작업창으로 묶어두거나 따로 풀어둘 수 있다. === 스타일 문서 열기 === * texdoc을 TeXShop 내에서 실행하는 것이다. * 단축키 {{{Option-Cmd-i}}}, 메뉴의 도움말 -> 패키지 도움말 보이기 * 패키지 이름이나 texdoc하고자 하는 문서 이름을 써넣고 엔터. symbols, mathmode, lshort-kr 등 원하는 문서 이름을 써넣으면 미리보기로 해당 문서를 보여준다. === 현재 줄 강조 === attachment:texshopshot-b.png * 4.73 버전에서 추가된 기능. 편집 중인 소스의 현재 커서가 있는 행을 별색으로 보여준다. * 메뉴의 `소스`-> `현재 줄 강조`를 선택하면 현재 열린 창에 적용된다. * 모든 소스에 이것을 적용하려면 ```환경설정```->```에디터```에서 `현재 줄 강조`를 체크한다. * 테마에 따라 색상이 다르기 때문에 어떤 테마에서는 잘 눈에 띄지 않을 수 있다. `환경설정`->`테마`에서 현재 줄에 해당하는 배경색을 조금 바꾸어볼 것. === expl3 syntax coloring === attachment:explcolor1.png * 메뉴의 "소스"->"expl3 구문 강조"를 선택하면 expl3 syntax coloring이 활성화된다. * TeXShop이 처음 실행될 때 이 옵션은 꺼져 있다. 항상 켜기 위해서는 터미널에서 {{{ defaults write TeXShop expl3SyntaxColoring YES }}} 를 실행한다. attachment:explcolor2.png * 색상 구성은 "설정" -> "테마" -> "expl3 색상"을 이용하여 재구성할 수 있다. == 기타 == * TeXshop에서 '''새로 작성된 파일'''은 확장자 .tex으로밖에 저장할 수 없다. 그러므로 .sty 파일을 편집하려 한다면 미리 sty를 만들어놓고 열든가 아니면 .tex으로 저장한 후에 확장자를 바꾸어주어야 한다. * 확장자 .sty 파일의 연결프로그램을 TeXShop.app으로 바꿔두면, '''기존 sty 파일'''의 열기/편집/저장 등에 따로 신경 쓸 일은 없다. * [http://tug.org/pipermail/macostex-archives/attachments/20120308/e0bc4619/attachment-0001.pdf TeXShop Tips & Tricks] * 시에라/하이시에라/모하비의 입력기 옵션에서 "스페이스를 두 번 눌러 마침표 추가"를 해제해두는 것이 좋다. 의도하지 않은 마침표가 들어가서 에러가 발생하는 경우가 많다. === 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 미리보기를 열 수 있다. {{{ }}} === pygmentize path === * `minted` package를 쓰려면 `pygmentize`가 설치되고, path가 걸려야 한다. * `python`을 설치한 후, (터미널에서) 다음과 같이 `pygments`를 설치한다. {{{ pip3 install pygments}}} * `pygmentize` path 확인: {{{ which pygmentize }}} 결과로 나온 위치가 `/opt/homebrew/bin/pygmentize`라 하자. * TeXShop `설정 > Engine > Path settings > Distiller`에 위에서 확인한 경로를 쓰고 확인을 누른다. attachment:pygmentize-path.png == engine 설치하기 == === arara === * 파인더에서 Command-Shift-G를 누른 다음 {{{~/Library/TeXShop/Engines/Inactive/Arara}}} 폴더로 가면 `arara.engine` 파일이 있다. * '''주의!''' {{{~/Library/}}} 밑의 {{{TeXShop/}}} 이하 폴더는 TeXShop을 최초로 한번 실행시켜야 생성되는 것으로 보인다. * TeXShop을 실행한 상태에서 메뉴의 "TeXShop" -> "~/라이브러리/TeXShop 폴더 열기"를 선택하여 이 폴더를 곧바로 열 수 있다. 단 아래의 arara 엔진 설정을 마친 후에 TeXShop을 다시 실행해야 한다. * 이것을 {{{~/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 }}} === 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 }}}