LuaTeX가 \write18을 제거했다는 것을 어떻게 알 수 있었나요?

LuaTeX가 \write18을 제거했다는 것을 어떻게 알 수 있었나요?

나는 이 말이 호언장담처럼 들리지 않도록 열심히 노력하고 있지만 지금은 매우 화가 났습니다.

저는 TikZ 외부화를 사용하여 논문에 대한 산점도를 만들려고 했습니다. TeX 메모리에 데이터 포인트가 너무 많아서 LuaTeX로 전환했습니다. 외부화가 작동하지 않았습니다.

(MWE는 다음과 같습니다:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{external}
\tikzexternalize
\begin{document}
\tikz\node{Hello};
\end{document}

)

나는 이전에 MiKTeX를 사용하여 로 변경하는 것이 와 로 변경 -shell-escape하면 차이 를 만들 수 있다고 제안한 경험이 있습니다 . 저는 문자 그대로 반나절을 보냈습니다(기억하세요, LuaTeX 컴파일 시간은 MiKTeX에서 여전히 훨씬 더 느립니다). 작동하도록 하고 왜 작동하지 않는지 알아내고 명령줄과 . 아무것도 작동하지 않았습니다.-enable-write18-enable-write18--enable-write18tikz/external/shell escape

오늘 구글에서 검색해서 답을 찾았습니다.https://github.com/gpoore/minted/issues/112\write18: LuaTeX에는 더 이상 없습니다 . \usepackage{shellesc}다시 추가 해야합니다 .

제 질문은 저는 여기에서 항상 RTFM을 사용하여 좋은 사용자가 되려고 노력하고 있다는 것입니다. 이 기능이 제거되었는지 확인하고 다시 추가하는 방법을 알아보려면 TFM이 어디에 있습니까? 내가 뭔가 잘못하고 있다고 생각하며 반나절을 보내는 것을 피하기 위해? 확실히 전혀 관련이 없는 패키지의 Github 문제가 아닌가요?

답변1

luatexChristian Schenk가 MiKTeX의 새 버전의 바이너리( 이 경우)를 사용할 수 있게 되자마자 배포한다는 것은 다소 불행한 일입니다 .

TeX Live는 연간 릴리스에서만 (핵심) 바이너리를 변경하고 연중에는 수정하지 않습니다(매우 심각한 버그는 제외하지만 일반적으로 사전 테스트 단계에서 발견됩니다).

LuaTeX 0.87이 출시되었을 때 많은 변경이 이루어졌습니다. 특히 \write18. 당신이 보면라텍스 뉴스 24, 2016년 2월에 출시되었습니다.

여기에 이미지 설명을 입력하세요

그리고 또한

여기에 이미지 설명을 입력하세요

답변2

luatex 매뉴얼에는 변경 사항이 언급되어 있습니다.

또한 os.execute가 동일한 작업을 수행할 수 있으므로 더 이상 write18을 지원하지 않습니다.

그러나 나는 당신이 이것을 읽었더라도 그 의미를 이해하고 그것이 tikzexternalize에 영향을 미칠 수 있다는 것을 매우 의심합니다.

작년에 변경이 발생했으며 이 사이트를 검색하면 shellesc여러 가지 질문을 찾을 수 있습니다(texlive도 포함되며 miktex 특정 문제가 아닙니다.lualatex를 사용하여 tikz externalize를 실행할 수 없지만 이전에는 작동했습니다.). 그러나 다시 말씀드리지만, 비록 귀하가 올해 동안 이 질문 중 하나를 보셨더라도 저는 귀하가 이를 기억하고 현재 문제에 적용된다는 것을 깨닫기를 기대하지 않을 것입니다.

그럼 당신은 무엇을 할 수 있습니까? 몇 가지 팁:

  • luatex와 같은 새로운 소프트웨어를 사용하면 훨씬 더 많은 변화가 일어납니다. 이것을 받아들이십시오.
  • 모든 변경 사항이 명확하지는 않으며 매뉴얼을 읽어서 배울 수 있습니다.
  • 몇 시간 동안 혼자 문제를 해결하려고 하지 마십시오. 조금 검색해 보고 진전이 없다는 인상을 받았다면 시간을 들여 합리적인 최소한의 예를 만드는 것이 좋습니다.묻다.

답변3

소프트웨어의 베타 릴리스를 사용하는 경우 베타 릴리스에서는 획기적인 변경이 예상되므로 해당 개발 채널을 따르는 것이 가장 좋습니다. 이는 변경이 이루어지기 전에 luatex 목록에서 논의되었습니다. (luatex의 모든 주요 변경 사항에는 해당되지 않습니다:-). 예를 들어 2015년 11월의 이 스레드는http://tug.org/pipermail/luatex/2015-November/005499.html

메일링 리스트를 따르지 않고 이 변경 사항은 ltnews와 luatex 매뉴얼에도 표시되었습니다.

즉, 이상적인 세계에서는 최종 사용자가 이를 전혀 알 필요가 없습니다. 우리는 \write18찾을 수 있는 모든 용도에 대해 ctan을 검색하고 패키지 개발자에게 연락하여 패키지를 업데이트하려고 노력했습니다.~ 전에변경된 루아텍스는 주요 배포판에 배포되었습니다. 당신이 언급한 발행된 github 문제가 그 한 예입니다.

최종 사용자가 패키지를 사용 shellesc(또는 luatex85)해야 하는 패키지가 여전히 있다는 것은 다소 불행한 일이지만 LaTeX 패키지 개발의 분산 특성으로 인해 피할 수 없는 결과일 수 있습니다. 개발자가 업데이트를 게시할 시간이 있거나 의향이 있을 때 패키지가 업데이트됩니다.

관련 정보