1. 개요 ¶
- Visual Studio Code는 가볍고 강력한 소스코드 편집기이다. Windows, macOS, Linux 데스크톱에서 실행가능하다. 다양한 언어를 위한 확장(extension)을 지원한다. (아래에서 VS code로 줄여서 적는다.)
- LaTeX 에디터로서도 편리하고 강력한 환경을 제공한다. LaTeX 지원 확장 중 가장 유명한 것은 LaTeX Workshop이며 (거의 반드시) 설치할 필요가 있다.
- James Yu가 제작하고 관리하는 Visual Studio Code를 위한 LaTeX 확장 환경
- https://github.com/James-Yu/LaTeX-Workshop
2.1. Visual Studio Code ¶
- 다운로드를 받아서 설치하려면 https://code.visualstudio.com 에서 받을 수 있다.
- windows 10이후에서는 winget 명령을 이용하여 설치할 수 있다.
winget install --exact --id Microsoft.VisualStudioCode
2.2. LaTeX Workshop 설치 ¶
- Visual Studio Code Marketplace에서 설치한다.
- VS Code에서 Quick Open (ctrl/cmd + P)를 누른후 "ext install latex-workshop"를 입력하고 Enter를 누른 후, 설명에 따라 설치한다.
3. LaTeX Workshop이 설치된 Visual Studio Code 의 작업 환경 ¶
- Syntax Highlighting이 지원된다.
- 소스 입력시 Intellisense의 도움을 받을 수 있다.
- Build는 latexmk를 불러서 사용하며 기본 엔진은 pdflatex으로 정의되어 있다.
- 화일을 저장할 때 자동으로 컴파일 된다.
- Visual Studio code가 Blink layout engine을 이용하므로, 이를 이용하여 소스코드에 붙여서 PDF viewer를 보여준다.
3.1. 사용자 입맛에 맞게 수정하려면 ¶
- 초급자 이거나 영어권 사용자라면 기본 설정만으로도 사용에 문제가 없다.
- 한글을 사용하고 LaTeX 중급자가 사용하려면 기본 설정을 조금 바꾸어 줄 필요가 있다.
- pdflatex 대신 xelatex을 컴파일 엔진으로 변경하기를 원한다.
- 저장시 build 기능을 끄고 싶다. ( 굳이 에러 메시지를 보면서 심란해 할 필요가 없다. )
- 컴파일 버튼을 CTLR-ALT-B 대신 CTRL-T로 하고 싶다.
- 내장 PDF viewer보다도 외부 viewer (SumatraPDF)와 forward / inverse search를 사용하려고 한다.
- 상기 내용은 KTUG 261754번 게시물를 참조하라.
- 위 게시물에서 제안된
settings.json
은 다음 소절을 볼 것.
- 위 게시물에서 제안된
- 한/글 사용자를 위한 단축키는 KTUG 262050번 게시물을 참조하라.
- MikTeX사용자로 texify를 쓰려면 DCinside LaTeX갤 6번글을 참조하라
3.1.1. settings.json 샘플 ¶
- 이 예제의 내용을 참고하거나, 자신의 settings.json (
%UserProfile%\AppData\Roaming\Code\User
)에 붙여넣거나 수정하거나 할 수 있다.
- likesam: settings-example.zip (798 Bytes) KTUG 261754번 게시물
- kungmo: settings-example-kungmo.zip (1.22 KB) KTUG 270961번 게시물
3.2. PDF viewer ¶
내장 pdf 뷰어를 사용하는 쪽이 편하다면 이 설정은 불필요하다.
그러나 SyncTeX을 사용한 External Viewer를 선호한다면 아래를 참조한다.
3.2.1. SumatraPDF (Windows) ¶
- SumatraPDF가
C:/Users/<USERNAME>/AppData/Local/SumatraPDF/SumatraPDF.exe
에 설치되어 있다고 하자(winget으로 설치하면 이 위치가 된다).
- Forward Search:
"latex-workshop.view.pdf.viewer": "external", "latex-workshop.view.pdf.external.synctex.command": "C:/Users/<USERNAME>/AppData/Local/SumatraPDF/SumatraPDF.exe", "latex-workshop.view.pdf.external.synctex.args": [ "-forward-search", "%TEX%", "%LINE%", "-reuse-instance", "-inverse-search", "code.cmd -r -g \"%f:%l\"", "%PDF%" ], "latex-workshop.view.pdf.external.viewer.command": "C:/Users/<USERNAME>/AppData/Local/SumatraPDF/SumatraPDF.exe",
- 세 군데
<USERNAME>
을 자신의 것으로 수정한다.
Ctrl+Alt+v
는 pdf의 제일 첫 줄,
Ctrl+Alt+j
는 커서 위치로 열어준다.
- 세 군데
- Inverse-Search:
- 위의 Forward Search 방식으로 에디터로부터 SumatraPDF를 열었다면 다른 설정할 필요 없이 바로 Inverse Search가 동작한다.
Double-Click
3.2.2. Skim.app (MacOS) ¶
- Forward Search:
"latex-workshop.view.pdf.viewer": "external", "latex-workshop.view.pdf.external.synctex.command": "/Applications/Skim.app/Contents/SharedSupport/displayline", "latex-workshop.view.pdf.external.synctex.args": [ "-r", "-b", "%LINE%", "%PDF%", "%TEX%", ],
- Invoking Forward Search:
Cmd+Opt+j
- Invoking Forward Search:
- Inverse Search:
- Skim.app -> Setting -> Sync ==> Visual Studio Code
Shift+Cmd+Click
[PNG image (84.1 KB)]
3.3. 파일 인코딩 ¶
- 기본적으로 UTF-8
- BOM을 붙여야 하는 경우: Ctrl-Shift-P에서 "Change File Encoding" -> "Save with Encoding" (또는 "Reopen")에서 utf8 with bom을 선택하고 저장한다.
- 파일을 열 때 자동으로 인코딩을 선택 (주로 EUC-KR 파일 열기에 필요할 듯): Open User Settings (JSON)에서 설정 파일에 다음 한 줄을 추가한다.
"files.autoGuessEncoding": true,
4.1. 참조할 곳 ¶
- 설정 참조 : https://github.com/James-Yu/LaTeX-Workshop/wiki/
- 기타 사용시 참조
- 초간단 VS Code 입문서 : http://www.ktug.org/xe/index.php?document_srl=261854
- LaTeX workshop의 핫키를 정리하여 둔 곳 : https://cheatography.com/jcwinkler/cheat-sheets/latex-workshop-visual-studio-code/
- VScode의 기본 사용법을 적고 있는 곳 : https://jangsookim.github.io/lectures/vscode/vscode_lecture1.html