
나는 방금 새 클래스를 사용하기 시작했고 (이전에 동일한 작성자의 패키지를 tikzposter
사용한 적이 있음 ) 패키지를 사용하면 TeX이 실패한다는 것을 즉시 발견했습니다.fancytikzposter
microtype
어떻게 해야할지 모르기 때문에 다른 사람이 이 문제를 접했는지 궁금합니다. 내 MWE는 다음과 같습니다.
\documentclass{tikzposter}
\usepackage{microtype}
\begin{document}
%\block{\textls{title}}{text}
\end{document}
중간에 주석 처리된 줄은 을 사용하는 이유 중 하나입니다 microtype
. 즉, 문자 간격을 더 잘 제어할 수 있습니다. 나는 같은 것을 얻었고 새로 pdftex
업데이트 된 TeXlive 설치를 사용하고 있습니다.xetex
lualatex
실패한 오류는 다음과 같습니다.
! Missing endcsname inserted.
<to be read again>
protect
l.5 \end{document}
?
답변1
이것은 다소 까다로운 문제였습니다. tikzposter
.
문제는 환경을 시작한 다음 닫히는 데 tikzposter
사용된다는 것입니다 . 이는 패키지(이 경우 )가 삽입하는 다른 코드가 그룹 내에서 실행되므로 모든 로컬 할당이 취소된다는 것을 의미합니다 . 특히 오류를 유발하는 프리앰블 내부에서만 허용되는 일부 명령을 비활성화합니다 .\AtBeginDocument
tikzpicture
\AtEndDocument
microtype
AtBeginDocument
AtEndDocument
microtype
ABD
AED
다음 clsguide
과 같이 조언합니다.
\AtBeginDocument
조판 결과를 예측할 수 없으므로 조판을 수행하는 코드에는 후크를 사용하면 안 됩니다 .
실제 조판이 tikzposter
여기서의 실제 문제가 아니라 그것이 열리는 그룹에 의한 것이지만, 나는 여전히 이것이 의 부적절한 사용에 해당한다고 말하고 싶습니다 \AtBeginDocument
. 대신 (어쨌든 로드되는) 명령 tikzposter
을 사용할 수 있습니다 .\AfterEndPreamble
etoolbox