Q&A 마당은 텍 관련 질문/답변을 위해 만들었습니다.
- 로그인 없이 자유롭게 글을 읽고 쓸 수 있는 철학은 처음과 같이 계속됩니다.
- 질문 전에 아래를 읽어 보세요. 좋은 질문이 좋은 답을 받을 수 있는 좋은 방법입니다.
- 질문에 맞는 제목을 붙이세요. 질문의 내용과 관련없는 "고수님", "긴급질문", "도와주세요"와 같은 제목은 답이 잘 올라오지 않습니다. 이 게시판에 올라오는 모든 글은 질문입니다. 굳이 [질문], [Q]를 적으실 필요도 없습니다.
- 내용을 충실히 적어 주시고, 같은 상황을 재현할 수 있는 최소한의 예제가 같이 있어야 합니다.
- 최소 예제는 "Minimal working example"을 읽어 보세요.
- 파일을 첨부하실 때에는 가능한 압축하여 파일 크기를 줄여서 올려주시길 바랍니다.
- 개인적으로 사용하신 글꼴이 들어 있는 경우, preparefont.sty에 관한 답변을 참조하세요.
- 스팸 글을 막기 위하여 짧은 시간 내에 다시 글이 등록되는 IP를 막거나, 광고 글을 막기 위하여 금지어로 .com, .net 등을 설정하고 있습니다. 다소간의 불편함이 있으시더라도 양해 바랍니다.
- 금지어에서 stackexchange, stackoverflow, ctan, overleaf, , github, google.com, gmail.com, .org, .io, sil.org, wiki.com, tistory.com등은 해제하였습니다.
- MathJax를 이용한 수식조판을 사용하실 수 있습니다. 여기를 참조하세요.
- 사용하는 편집기는 CKeditor입니다.
- 편집기에서 [enter]를 누르면 <p> 태그가 들어가고, 문단으로 생각하고 한 줄을 비웁니다.
- 글줄만 바꾸려면 [shift-enter]를 누르면 <BR> 태그가 들어가므로 용도에 맞게 나누어 쓸 수 있습니다.
- 수식를 문서내에 삽입하시려면 에디터를 툴바에서 [소스]를 눌러 HTML로 입력할 수 있게 바꾸신 후 <pre> </pre> tag를 사용하셔서 <pre> 여러 줄의 수식 </pre>처럼 입력하시면 좋습니다.
minted 가 문제를 일으킵니다.
2024.10.04 15:34
pythontex 과 minted 를 사용하여
pythontex 으로 코드 실행 결과를 출력하고,
코드를 보여주고 있습니다.
잘 사용하다가 일주일 전 TeXLive 를 업데이트했더니 minted 도 업데이트가 되더군요.
그리고 바로 직후부터
test_minted.tex: error: 8: Package minted Error: minted v3+ executable is not installed or is not added to PATH. \end{minted}
이런 에러가 뜨기 시작했습니다. 잘 되던 컴파일이 안 되네요.
어쩔 수 없이 TeXLive 를 새로 다시 설치하고 업데이트를 하나도 안 했더니 다시 됩니다.
그런데 업데이트를 했더니 또다시 에러가 나기 시작합니다.
구글 검색에도 안 나오고, ChatGPT 도 잘 모르는 것 같습니다.
\documentclass{article}
\usepackage{pythontex}
\begin{document}
\begin{pycode}
print("Hello from Python!")
\end{pycode}
\end{document}
이건 잘 실행이 됩니다. pythontex 은 잘 되는 것 같습니다. 그런데
\documentclass{article}
\usepackage{minted}
\begin{document}
\begin{minted}{python}
print("Hello, world!")
\end{minted}
\end{document}
이건 에러가 납니다. 어떻게 해야 할까요?
댓글 8
-
noname
2024.10.04 15:48
-
궁금이
2024.10.04 19:48
Windows 10 이고 TeXLive2024, Python 3.12.7 입니다.
C:\usr\texlive\2024\bin\windows;
C:\Users\Kevin\AppData\Local\Programs\Python\Python312\Scripts\;
C:\Users\Kevin\AppData\Local\Programs\Python\Python312\;
C:\usr\texlive\2024\bin\win32\;
이렇게 포함되어 있습니다.Path 에 약간 오타가 있는 것을 발견하여 수정했더니 아까의 에러는 없어졌는데,이번엔 .data.minted 파일의 UTF-8 관련 에러가 나오는 상황입니다.코드에 들어 있는 한글 주석에서 에러를 냅니다. -
궁금이
2024.10.04 19:51
감사합니다!
tlmgr restore minted 69163
으로 해결했습니다!
다행히 바로 이전 버전의 백업이 있었습니다.
모든 에러가 다 사라지고 예전처럼 잘 컴파일됩니다.
minted 72375 (3.0.0) 에 뭔가 문제가 있는 것 같습니다.
-
구름이
2024.10.04 20:26
10월 1일 이후에 python 3.12.7로 업데이트를 하였으면
관리자 권한으로 powershell을 실행한 후,
다음과 같이 latexminted 패키지를 (수동으로) (재)설치해 주면 됩니다.
pip3 install latexminted (또는 pip install latexminted)
아울러 pygments 패키지도 (재)설치해 줍니다.
pip3 install Pygments (또는 pip install Pygments)
참고로 9월 28일자 TeXLive2024 패키지 업데이트 이후 --shell-escape 옵션을 주어
tex 문서를 컴파일하지 않아도 예전과는 달리 에러없이 잘 컴파일 될겁니다.
서양력 기준 10월 7일(월)이니 한국 날짜는 화요일에 또 Pyhton이 3.13으로
버전업된다고 하니 뭐가 또 어떻게 바뀔지 모르갰습니다.
3.12.6의 버그를 100개이상 잡아서 3.12.7을 만들었다 하네요...
-
궁금이
2024.10.04 22:35
Python 의 latexminted 와 pygments 가 문제의 원인인건가요?
전 LaTeX 의 minted 패키지가 문제인 줄 알았습니다.
-
noname
2024.10.05 08:10
minted 2는 python과 pygments wheel, 그리고 pygmentize 유킬리티가 외부에 설치되어야 했습니다. 그리고 latex 실행시에 --shell-escape 플래그를 주어야 했습니다.
(최근 TeX Live에서 업데이트된) minted 3는, pygments wheel이 texlive 안으로 들어오고(texmf-dist 아래에 설치됩니다) latexminted 유틸리티(스크립트)가 새로 설치됩니다. 이것이 pygmentize를 대신하기 때문에 원칙적으로 texlive 외부에는 python 3.8+만 있으면 되고 다른 외부 유틸리티를 필요로 하지 않습니다. 그리고 --shell-escape 플래그가 필요없습니다. 제가 다른 글에서 보고한 적이 있습니다.
적어도 linux, mac의 texlive에서 minted는 위의 시나리오대로 잘 동작합니다. MiKTeX은 아직 minted를 업데이트하지 않았습니다. 저는 windows용 texlive가 어떻게 돌아가는지 전혀 모르기 때문에 혹시 말씀하신 UTF-8 에러라는 게 windows texlive에서 발생하는 문제일지 어떨지, 만약 그렇다면 당분간 구름이 님의 방법(외부에 pip로 latexminted를 설치하는 방법)을 써아 할지도 모르겠습니다.
-
궁금이
2024.10.12 19:49
latexminted 를 다시 설치한 후
오늘 업데이트했는데 문제 없이 잘 됩니다.
-
noname
2024.10.19 20:58
오늘(20/19)자로 MiKTeX도 minted가 업데이트되었습니다. 그런데....
- latexminted를 외부 설치(pip)해야 하는 것 같습니다. (# pip install latexminted)
- latexminted를 설치해도 -shell-escape를 주어야 합니다. 이것은 texlive의 경우는 restricted shell command에 포함되기 때문에 주지 않아도 되는 것인데요, MiKTeX에서는 (오늘까지) 허용되지 않은 것 같습니다.
이 점을 제외하면 이전에 작성한 소스도 잘 컴파일되는데, pygmentize를 통할 때보다 조금 빨라진 듯한 느낌도 있습니다.
(어쩌면 Windows에서는 latexminted를 pip 설치해야만 하는 건지도 모르겠군요....)
코드에는 문제가 없습니다. 저게 안 되는 이유는 latexminted라는 유틸리티가 "새로" 설치되어야 하는데 그게 설치가 잘 안 되었거나 실행 파일의 위치가 제 자리를 잡지 못했거나, latexminted가 실행되는 셸에서 python을 찾지 못했거나, 셸에서 찾은 python이 2.7이거나... 그런 이유겠죠.
일단 tlmgr path add 명령을 한번 줘보시고, 그래도 안되면 사용하시는 시스템(OS)과 texlive, python 설치 위치, 시스템 환경변수 PATH를 알려 주십시오.