> wsl --install
> winget "Docker Desktop"
# brew install docker
docker pull miktex/miktex
docker volume create --name miktex
\
는 다음 줄과 이어진다는 표시이다.
$(pwd)
는 Linux나 Mac에서라면 이대로 입력해도 현재 폴더로 되지만 Windows에서는 현재 폴더의 절대경로를 디렉터리 구분자를 /
로 하여 적어주어야 한다. 예를 들면 -v C:/Users/tester/Documents/dockerwork:/miktex/work
.
docker run -ti --rm \ -v miktex:/miktex/.miktex \ -v $(pwd):/miktex/work \ miktex/miktex pdflatex <filename>
docker run -ti \ --name <unique_name> \ -v miktex:/miktex/.miktex \ -v <working_dir>:/miktex/work \ miktex/miktex \ /bin/bash
<unique_name>
은 기억하기 쉬운 container 이름으로. (이하
mymiktex
으로 예를 들 것임.)
<working_dir>
는 host측 작업 디렉토리. Windows라면
C:/MyTeXWork
과 같은 방법으로 지정한다.
docker start mymiktex docker stop mymiktex
docker exec -ti mymiktex /bin/bash
/bin/bash
를 실행하면 docker container 시스템 내부의 bash가 열린다. 이 시스템은 Debian Linux이다.
/bin/bash
대신 컴파일 명령을 줄 수 있다. ex)
docker exec -ti mymiktex xelatex --shell-escape --synctex=1 mytex.tex
cli
버전을 쓸 수 있다.
--platform linux/amd64
옵션을 주어서 (로제타를 경유하여) 실행하여야 한다. DeleteMe 확인요망.
cluttex -e xelatex
과 같이 사용하여야 한다. latexmk 또는 spix를 권장함.
apt install default-jre
명령을 한 번 준다. 이 container를 commit하여 사용할 수 있다.
cli
버전은 java가 동작하므로 arara를 쓸 수 있다.
-v
)으로 /root/.fonts
아래 디렉터리로 연결하여 사용한다.
C-\
이외에 Shift-SPC
.
C-c C-c
, 또는 C-c C-a
. Okular에서 Inverse Search는 "Browse" 도구 상태에서 Shift+Click
.
M-x customize-variable RET TeX-command-extra-options RET
로 편집창을 연 상태에서 -shell-escape
를 추가하고 Apply.
sudo
를 필요로 할 수 있음.
$ docker pull novadehi/miktexwktug
$ docker pull novadehimiktexwktug:cli
$ docker volume create --name miktex
$ docker -v miktex:/miktex/.miktex -v $(pwd):/miktex/work novadehi/miktexwktug xelatex <filename>.tex
# docker run -ti --rm \ -v miktex:/miktex/.miktex \ -v $(pwd):/miktex/work \ -e DISPLAY=:0 \ -v /tmp/.X11-unix:/tmp/.X11-unix \ novadehi/miktexwktug emacs
-v /mnt/c/Windows/Fonts:/root/.fonts/winfonts
$(pwd)
대신 현재 작업 디렉터리를 다음과 같은 형식으로 지정.
-v C:/Users/myname/Documents/texwork:/miktex/work
# xhost + localhost
# docker run -ti --rm \ -v miktex:/miktex/.miktex \ -v $(pwd):/miktex/work \ -e DISPLAY=host.docker.internal:0 \ -v /tmp/.X11-unix:/tmp/.X11-unix \ novadehi/miktexwktug emacs
/tmp/.X11-unix
부분은 없어도 된다.
# xhost local:root
# docker run -ti --rm \ -v miktex:/miktex/.miktex \ -v $(pwd):/miktex/work \ -e DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix \ novadehi/miktexwktug emacs
sudo systemctl start docker
sudo service docker start