내 Lua 초기화 스크립트는 실행 중에 기록되는 일부 파일을 엽니다. LuaTeX가 모든 코드 처리를 완료하면 마지막 바이트를 추가로 쓰고 싶습니다.
콜백을 사용하면 이 작업이 가장 잘 수행될 것 같지만 내 요구 사항에 완전히 맞는 것을 찾지 못했습니다.
stop_run
(§ 7.1.5.3)은 작동하지만:--draftmode
초안 모드( ) 에서 실행되지 않습니다 .- 나는 피하고 싶은 기본 작업 종료 메시지를 대체합니다.
- 유혹적인 이름에도 불구하고 정보보고를 의미하는 것 같습니다.
finish_pdffile
(§ 7.1.6.1)은 작동하지만:- 초안 모드에서도 실행되지 않습니다.
- PDF 출력에서만 작동합니다. 나는 출력에 구애받지 않는 솔루션을 매우 선호합니다.
현재 버전을 확인하세요.루아텍스 매뉴얼해당 콜백에 대한 자세한 설명을 보려면
\AtEndDocument
다음과 같은 이유로 적합하지 않습니다:
- 이후에도 파일을 쓸 수 있습니다
\end{document}
. - TeX 코드는 아직 Lua 초기화 스크립트 시점에 처리될 수 없습니다(즉,
tex.sprint
친구는 사용할 수 없습니다). 다른 콜백에 연결하여 작업을 수행할 수 있지만tex.sprint( appropiate_catcode_table , [[\AtEndDocument{ \directlua{ work() } }]] )
이는 지나치게 간접적인 것 같습니다.
저 좀 도와 주 시겠어요?