梅威瑟:
\documentclass{tikzposter}
\usepackage{microtype}
\usepackage{hyperref}
% Ref: https://tex.stackexchange.com/questions/254257/tikzposter-and-doi-package-conflict
\def\HyperFirstAtBeginDocument#1{#1}
\title{Title}
\institute{Inst}
\author{Auth}
\begin{document}
\maketitle
\block{Blocktitle}{Text}
\end{document}
错误消息:
./test.tex:18: Undefined control sequence.
\pdfstringdefPreHook ->\MT@ltx@pickupfont
\let \textmicrotypecontext \@secon...
l.18 \end{document}
这与tikzposter 类和 microtype 包之间不兼容
我该如何修复它?
答案1
tikzposter 插入了\AtBeginDocument
中心\AtEndDocument
和 tikzpicture 环境,并引入了组。这不是一个好主意,其中一个不好的副作用是这会破坏微类型。您可以使用这个更简单的示例获得类似的错误:
\documentclass{article}
\AtBeginDocument{\begingroup}
\AtEndDocument{\endgroup}
\usepackage{microtype}
\usepackage{hyperref}
\begin{document}
text
\end{document}
我没有看到一个合理的解决方法,在代码中使用\center
和没有帮助,因为无论如何都会创建一个组。我建议为海报使用其他东西,例如来自 tcolorbox 的海报库。\tikzpicture
\tikzpicture