我剛開始使用新tikzposter
類別(之前使用過fancytikzposter
同一作者的套件),並立即發現使用該microtype
套件會導致 TeX 失敗。
我想知道是否有其他人遇到過這種情況,因為我不知道該怎麼做。我的 MWE 是:
\documentclass{tikzposter}
\usepackage{microtype}
\begin{document}
%\block{\textls{title}}{text}
\end{document}
中間的註解行是使用 的原因之一microtype
,即更好地控製字母間距。我在 中得到了相同的結果pdftex
,xetex
並且lualatex
我正在使用新更新的 TeXlive 安裝。
失敗的錯誤是:
! 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
(無論如何都會載入)。