tikzposter 类、microtype 和 hyperref 包之间不兼容

tikzposter 类、microtype 和 hyperref 包之间不兼容

梅威瑟:

\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

相关内容