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 아니겠어요? :-)

 

번호 제목 글쓴이 날짜 조회 수
1065 [잡담] 안 되는 게 어딨어? [25] yihoze 2010.03.29 53310
1064 [잡담, 샘플문서, 소스] 러브레터 [9] file karnes 2010.03.09 53231
1063 Lyx에 대해서.. [1] 초보초보 2011.02.24 52672
1062 [잡담] 음성 검색 yihoze 2010.10.10 52532
1061 Lyx 1.6.10 KoreanUCS file [2] file sookibae 2011.05.18 52123
1060 한/글 워드프로세서의 포맷이 공개되었습니다. Kunggom 2010.06.30 50957
1059 windows에서 jbig2을 이용한 pdf만들기 file 샘처럼 2011.07.09 50829
1058 매뉴얼 스타일: 활용 예 [3] file yihoze 2010.03.09 50013
1057 KoPub 서체 공개 ( 문화체육관광부와 한국출판인회의 ) [1] 샘처럼 2011.12.27 49984
1056 카스퍼스키가 xetex을 의심하는군요. [3] file Dennis 2011.01.06 49979
1055 한국텍학회 2010 학술대회 및 정기총회 감상문 [3] file sookibae 2010.02.04 49896
1054 회원가입 및 잡담 조군 2011.03.12 49889
1053 한국인쇄문화협회: 바른바탕체, 바른돋움체 에드 2010.11.29 49868
1052 [잡담]역시 구글링이 빠르고 좋군요. [2] Kunggom 2010.04.04 49828
1051 latex 에디터 Gummi 소개입니다. [9] file guest 2011.05.01 48966
1050 잡담: 텍 문서 번역 [3] yihoze 2010.10.04 48764
1049 저... 왜 이랬을까요.... 후우... [4] 불량양파 2018.11.10 48761
1048 [링크]군대워드 요령 연재 -- 1 Kunggom 2010.06.04 48459
1047 수식 조판에서 특정 기호의 표기에 대한 물음 [5] file Progress 2010.11.18 48092
1046 새 사이트를 오픈하였습니다 [3] 관리자 2009.12.19 48071



XE Login