KTUG마당은 KTUG를 방문하는 모든 이용자가 대화를 나누고 소식을 전하는 곳입니다.

  • 로그인 없이 자유롭게 글을 읽고 쓸 수 있는 철학은 처음과 같이 계속됩니다.
  • Team Blog의 글을 이곳 게시판의 "정보글"로 모았습니다. Team blog는 기고자가 올린 글에 질문을 받는 부담을 줄이기 위하여 댓글을 허용하지 않았습니다. 그러나 이곳 게시판으로 모으면서 댓글을 달 수 있습니다. 게시물을 작성하실 때 댓글을 원하지 않으시면 댓글을 허용하시지 않으시기를 바랍니다. 또한 불필요한 소모성 댓글을 달지 않도록 주의하여 주시기를 바랍니다.
  • TeX과 관련된 질문이나 답변은 QnA 마당을 이용하십시오. TeX과 관련된 질문은 지웁니다
  • MathJax를 이용한 수식조판을 사용하실 수 있습니다. 여기를 참조하세요.
  • 스팸 글을 막기 위하여 짧은 시간 내에 다시 글이 등록되는 IP를 막거나, 광고 글을 막기 위하여 금지어로 .com, .net 등을 설정하고 있습니다. 다소간의 불편함이 있으시더라도 양해 바랍니다.
    • 금지어에서 stackexchange, stackoverflow, ctan, overleaf, , github, google.com, gmail.com, .org, .io, sil.org, wiki.com, tistory.com등은 해제하였습니다.
  • 사용하는 편집기는 CKeditor입니다. 편집기에서 [enter]를 누르면 <p> 태그가 들어가고, 문단으로 생각하고 한줄을 비웁니다. 글줄만 바꾸려면 shift-enter 를 누르시면 <BR>가 들어가므로 용도에 맞게 나누어 쓸 수 있습니다.

자유글 Windows에서 Emacs+MiKTeX 작업환경 (docker)

2021.11.18 05:18

noname 조회 수:950

Windows에 적당한 에디터가 없다는 안타까운 글들을 보고, 그러면 차라리 Emacs는 어떤가 생각하게 되었습니다. 미니멀리스트들이 질색하는 초거대 에디터이기는 하지만 약간의 적응 기간을 거치면 이보다 편한 에디터가 다시 없다는 그 전설의 운영체제형 에디터입니다. 하필 Emacs인 까닭은 이것이 WSL Linux로부터 실행되었을 때 별도의 한글 입력기를 설정하지 않아도 자체 한글 입력 기능을 가지고 있다는 것이 가장 큰 이유였습니다. (다른 얘기지만 Emacs Windows 바이너리로 구축한 작업 환경은 생각만큼 쾌적하지 않았습니다. 개인적인 감상이겠지만요. 시스템 콜은 느리고 뭔가 버벅대는 느낌이 있었어요.)

docker로 WSL2에서 MiKTeX+Emacs 작업 환경을 꾸며본 경험을 간략히 적어둡니다. 최근 각광받는(?) TinyTeX이 아니라 MiKTeX인 이유는, Emacs/AucTeX에서 컴파일 명령을 주면 latex/xelatex 등이 실행되는데, 이 때 필요한 패키지를 가져오게 하려면 TinyTeX에서는 xelatex이 아니라 tinitex을 실행해야 하기 때문입니다. MiKTeX은 xelatex 컴파일 명령 자체가 mpm을 호출하는 (중요한) 편의 기능을 가지고 있습니다.

1, WSL2와 Docker Desktop 준비

   (1) Windows 11 build 22000 이후 버전이어야 합니다. (중요) 꼭 Pro가 아니라 Home이어도 됩니다.
   (2) WSL 2 설정을 하고, 간단한 Linux 하나를 설치합니다. 저는 Kali Linux였습니다만 Ubuntu도 괜찮을 겁니다. 구체적인 과정은 생략.
   (3) WSL 2 Linux에서 GUI 앱이 동작하도록 간단한 거 하나를 설치해봅니다. sudo apt install x11-apps. 그런 다음 xeyes가 동작하는지 확인.
   (4) Docker Desktop을 설치할 때, WSL 통합을 체크하여 둡니다.

2. 진행

   (1) Docker 실행.
   (2) WSL 명령행을 열어서 다음 명령으로 진행 (주: Linux GUI를 docker 내부에서 실행하려면 Linux bash shell에서 실행해야 하는 것 같습니다.)

> docker pull novadehi/miktexwktug
> docker volume create --name miktex
> docker run -ti --rm \
    -v miktex:/miktex/.miktex \
    -v $(pwd):/miktex/work \
    -v /tmp/.X11-unix:/tmp/.X11-unix \
    -e DISPLAY=:0 \
    novadehi/miktexwktug emacs

 3. 설명

    (0) 원래 이 container image는 Windows용으로 작성되었던 것은 아닙니다. Mac에서도 쓸 수 있지만 arm64용은 제작하지 못했습니다.  
    (1) emacs, auctex과 okular가 설치되어 있고, forward/inverse search 설정도 되어 있습니다. forward search는 C-c C-v이고, inverse search는 "Browser" 도구 상태에서 Shift+Left Click입니다.
    (2) MiKTeX만으로는 설치하기 귀찮은 KTUG 사설 저장소 패키지들이 미리 설치되어 있습니다.
    (3) pygments가 설치되어 있습니다.
    (4) emacs/auctex의 default engine이 xetex으로 설정되어 있습니다. 다른 엔진을 사용하려면 메뉴에서 선택하세요.
    (5) emacs의 한/영 변환키는 C+\ 말고 Shift-Space도 동작합니다.

4. 팁

    (1) Windows 폰트를 문서나 Emacs에서 사용하려면, 다음 두 줄의 옵션을 더 줍니다. *username*은 자신의 계정 이름으로 바꾸십시오.

   -v /mnt/c/Windows/Fonts:/root/.fonts/winfont
   -v /mnt/c/Users/*username*/AppData/Local/Microsoft/Windows/Fonts:/root/.fonts/locfonts

    (2) Emacs 폰트는 Options 메뉴에서 선택 가능한데, Emacs 설정을 바꾼 후에는 commit하여 사용하세요.
    (3) Emacs GUI 없이 컴파일러로만 사용하려면 굳이 WSL command prompt를 열지 않고 powershell (or cmd)에서 다음과 같이 할 수 있습니다. C:/usr/test.tex을 xelatex으로 컴파일하려면

   docker run -ti --rm \
     -v miktex:/miktex/.miktex \
     -v C:/usr:/miktex/work \
     novadehi/miktexwktug xelatex -shell-escape test.tex

scapture.jpg

 

Windows의 WSL을 싫어하시는 분이 계신 것으로 압니다. 주로 VirtualBox나 Hyper-V를 돌리는 데 부담이 된다는 이유인 것 같습니다만 어떤 것이 더 중요하냐의 문제겠지요. VirtualBox를 사용하지 않는 저같은 경우는 WSL에 꽤 호의적일 수밖에 없겠지만 VM 작업을 헤비하게 하시는 분들이야 이 접근방법이 마음에 들지 않을 수도 있을 것입니다. 그러나 아무래도 대세는 docker 아니겠어요? :-)

 

번호 제목 글쓴이 날짜 조회 수
1086 [공지] 한국텍학회 회원들께 알립니다. 관리자 2009.12.19 65910
1085 PDFTiger Time-limited Giveaway [1] Progress 2010.10.18 65290
1084 fontspec 패키지에서 AAT 속성 폰트 투명도(alpha transparency) 구현 관련 [3] file Progress 2010.04.15 64002
1083 2019 한국텍학회 제12차 정기총회 및 학술대회 [2] file yihoze 2019.01.04 61878
1082 구운몽 경판본 소스와 pdf [6] file karnes 2010.03.07 61024
1081 [알림] 강윤복 회원님을 찾습니다 ChoF 2011.01.11 60086
1080 후기: 학국텍학회 학술대회 [3] yihoze 2011.02.14 59716
1079 eso-pic memoir [6] yihoze 2010.10.06 59132
1078 심심풀이 링크 file yihoze 2010.08.19 58525
1077 [잡담] 스마트폰 쓰시는 분들을 위한 괜찮은 무료 LaTeX 어플 [2] anarinsk 2011.02.16 57565
1076 Windows 사용자를 위한 TeX Live 2012 + ko.TeX 설치 일괄 처리 배치파일 [13] file 관리자 2012.07.11 56489
1075 TeXworks 출시 예정 버전 번역 테스트 [3] file DohyunKim 2011.02.07 56431
1074 [풀이] 워크숍 숙제 (오후 첫 번째 시간 curve2e 관련) [8] file Progress 2010.11.09 56301
1073 [공지] spam 댓글로 발생하는 문제를 개선하기 위하여 초기화면의 게시글 정렬순서를 변경합니다. [3] 관리자 2011.11.21 56086
1072 함초롬으로 이런 것도 가능한가요? [2] file 에드 2011.02.23 55345
1071 도약을 기대하며... [9] ischo 2011.02.28 54971
1070 [잡담] Amazon Kindle질렀습니다. [15] 양사장 2010.10.30 54421
1069 [잡담]우연히 눈에 들어온 사소한 것 3가지. [4] Kunggom 2010.03.04 54117
1068 학술대회 홈페이지를 방문하시면 progress 2011.02.16 53755
1067 텍만이 할 수 있는 것 [1] yihoze 2011.02.22 53487



XE Login