hf-tikz 包非常适合为方程式添加一个框架。虽然我不能完全确定,但使用此包时似乎会出现“新”错误消息:“缺少字符:nullfont 字体中没有 ;!”
我将复杂的 beamer 文件精简为实际上最小的 LaTeX 文件,它还给出了错误消息:
\documentclass{article}
\usepackage{hf-tikz}
% \font\nullfont=cmr10
\begin{document}
\begin{displaymath}
\tikzmarkin{eq}
c^2 = a^2+b^2
\tikzmarkend{eq}
\end{displaymath}
\end{document}
生成的 PDF 文件没有错误,但错误消息让我有点紧张,因为问题总是下次更新后会发生什么?我的系统是 MINT Linux 21.1,底层是 Ubuntu 22.04,并完整安装了 Texlive 2022。
如果我取消注释行“% \font\nullfont=cmr10”,则彩色框末尾会出现一个分号。从有关“缺少字符...”错误消息的其他帖子中,我了解到将 nullfont 设置为可见字体可以找到底层 LaTeX 代码中的错误。似乎包 hf-tikz 中存在错误,或者 tikz 的语法发生了一些变化,而较旧的包 hf-tikz 尚未适应这些变化。
有什么想法可以克服这个问题吗?
答案1
在这种情况下,该消息是无害的。它始终在日志中,但现在也出现在终端上,因为\tracinglostchars
在当前 LaTeX 中已设置为 2。
但是,如果 hf-tikz 能够通过用括号而不是使用分号语法来界定参数,那么会更好,\tikz
因为使用它总是存在最终出现过多分号的危险:
\documentclass{article}
\usepackage{hf-tikz}
\renewcommand\tikzmarkend[2][]{%
\tikz[remember picture with id=#2]{#1}} %{#1} instead of #1;
\begin{document}
\begin{displaymath}
\tikzmarkin{eq}
c^2 = a^2+b^2
\tikzmarkend{eq}
\end{displaymath}
\end{document}