EDRSPIHCRSSRSS

TeXShop

last modified: 2024-02-14 15:02:10 Contributors

Richard Koch가 만드는 Mac OS X의 (La)TeX 편집기. 모든 라텍 편집기의 모범이고 간명한 인터페이스를 갖추고 강력한 기능을 가진 (맥에서만 쓸 수 있는) 에디터이다. MacTeX으로 설치하면 함께 설치된다.


1. 한글 문자 인코딩

  • 새로 만드는 문서의 기본 문자 인코딩을 설정하려면 환경설정 -> 문서 -> 인코딩에서 선택한다.
  • 한글 문자 인코딩은 두 종류가 있다.
    1. 한국어 (Mac OS) = MacKorean : EUC-KR에 해당. 완성형 한글
    2. 한국어 (Windows, DOS) = DOSKorean : CP949에 해당. 통합한글코드(UHC).
  • 그러나 일반적으로 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. 유용한 팁

2.1. 문서 컴파일 엔진

  • 에디터 툴바의 조판 옆에 있는 박스에서 현재 활성화된 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하는 것과 같다.

2.2. PDF Synchronization

  • 편집창 또는 보기창에서 Cmd+Click하거나, 우클릭하여 뜨는 Context Menu에서 "Sync"를 선택한다.

2.3. LaTeX 패널과 행렬 패널

  • 메뉴의 "창 -> LaTeX 패널" 또는 "창 -> 행렬 패널"을 열면 각종 수학 기호와 행렬을 손쉽게 입력할 수 있게 해준다.
    • Window/LaTeX Panel: 단축키 [Opt Cmd -]
    • Window/Matrix Panel: 단축키 [Opt Cmd =]

2.4. 그림 삽입

  • 파인더에서 그림을 "끌어다놓기(Drag & Drop)"하면 \includegraphics 명령을 (자동으로) 만들어준다. (파일 이름에 스페이스가 있으면 오류 메시지를 보임).

2.5. 표 삽입

  • 행렬 패널을 표 작성 본보기로 이용할 수 있다. 패널의 "환경" 항목을 tabular로 한다.
  • table 환경을 바로 삽입하는 매크로가 기본으로 들어 있다. 메뉴의 "매크로 -> tables -> table"을 선택하면 커서 위치에 table 환경을 바로 만든다.
  • 엑셀이나 LibreOffice에서 필요한 영역을 복사(copy)한 후, 메뉴의 "매크로 -> Paste Spreadsheet Cells"를 실행하면 LaTeX 표로 변환해서 삽입한다.

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. 현재 줄 강조

texshopshot-b.png
[PNG 그림 (113.3 KB)]
  • 4.73 버전에서 추가된 기능. 편집 중인 소스의 현재 커서가 있는 행을 별색으로 보여준다.
  • 메뉴의 소스-> 현재 줄 강조를 선택하면 현재 열린 창에 적용된다.
  • 모든 소스에 이것을 적용하려면 환경설정->에디터에서 현재 줄 강조를 체크한다.
  • 테마에 따라 색상이 다르기 때문에 어떤 테마에서는 잘 눈에 띄지 않을 수 있다. 환경설정->테마에서 현재 줄에 해당하는 배경색을 조금 바꾸어볼 것.

2.16. expl3 syntax coloring

explcolor1.png
[PNG 그림 (147.1 KB)]
  • 메뉴의 "소스"->"expl3 구문 강조"를 선택하면 expl3 syntax coloring이 활성화된다.
  • TeXShop이 처음 실행될 때 이 옵션은 꺼져 있다. 항상 켜기 위해서는 터미널에서
         defaults write TeXShop expl3SyntaxColoring YES
    
    를 실행한다.
explcolor2.png
[PNG 그림 (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
  • 결과로 나온 위치가 /opt/homebrew/bin/pygmentize라 하자.
  • TeXShop 설정 > Engine > Path settings > Distiller에 위에서 확인한 경로를 쓰고 확인을 누른다.
    pygmentize-path.png
    [PNG 그림 (248.78 KB)]


4. engine 설치하기

4.1. 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
    

4.2. SpiX

  • ~/Library/TeXShop/Engines 폴더로 이동.
  • 새로 SpiX.engine을 만들거나 위의 Arara.engineSpiX.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