为什么 pdflatex 自动加载 ConTeXt 包并崩溃

为什么 pdflatex 自动加载 ConTeXt 包并崩溃

如果我使用 pdflatex 处理以下 MWE(TeXLive 2012,Linux)

\documentclass{article}
\usepackage{color}
\def\mymacro#1{#1}
\begin{document}
\pdfinfo{/Title (Some text \textbf{This macro causes problems})}
Hello world
\end{document}

我收到来自 ../texmf-dist/tex/context/base/supp-pdf.mkii 的错误。这似乎是一个 ConTeXt 文件。错误是

! TeX capacity exceeded, sorry [input stack size=5000].
\@@mpstopdf@@unprotect ... \@@mpstopdf@@unprotect 
                           \unprotect \let \@@mpstopd...
l.34     \def\unprotect

!  ==> Fatal error occurred, no output PDF file produced!

加载 时也会发生这种情况xcolor,但加载graphicx或我尝试过的任何其他包时不会发生这种情况。虽然这不是 特有的\textbf,但我没有发现 存在问题\mymacro

到底是怎么回事?

答案1

它不是特定的,\textbf\pdfinfo必须将纯文本字符串放入 pdf 数据中,因此大多数 TeX 命令都会导致问题。你只需要

\pdfinfo{/Title (Some text This macro causes problems)}

图形包加载该文件以支持加载 metapost 文件,因为 Hans 编写它是为了与任何 TeX 风格兼容,而且似乎没有必要重写它,因为它具有上下文而不是 latex 继承。这与您在示例中遇到的错误无关。颜色和图形共享相同的.def文件,因此加载其中任何一个都会导致文件被加载。

相关内容