如何在 Debian stretch/buster 中将 awesomebox.sty 与 pdflatex 结合使用

如何在 Debian stretch/buster 中将 awesomebox.sty 与 pdflatex 结合使用

我有一个使用该软件包的 latex 文档awesomebox。在我装有 MikTeX 的旧 Widows 系统上,我可以轻松安装该软件包并将其与 一起使用pdflatex

现在我正在使用 Linux,也想安装它。我通过 debian 存储库安装了 texlive。

经过一番搜索,我在 debian-package中找到了该awesomebox包并安装了它。texlive-xetex

但是如果我用它编译文档,pdflatex就会出现以下错误:

 ! Package awesomebox Error: You are trying to use awesomebox
(awesomebox)                 with something else than xelatex or luatex .

See the awesomebox package documentation for explanation.
Type H <return> for immediate help.
...

我该怎么做才能使用该软件包pdflatex?使用 Windows 或不使用 pdlatex 都不是选项!

最小示例:

\documentclass[12pt,a4paper]{scrartcl}
\usepackage{awesomebox}
\begin{document}

\warningbox{Warn me of something}

\end{document}

答案1

您引用的错误消息应该发生在使用旧版本的awesomebox.styTeX 引擎(不同于 XeTeX 和 LuaTeX)时。Debianawesomebox中的 版本确实存在这种情况stretch,但 Debian 中的 版本不存在这种情况buster

awesomebox.sty在 Debian 中启动stretch

\RequirePackage{ifxetex,ifluatex}
\newif\ifawesomebox@notxetex\awesomebox@notxetextrue
\ifxetex
  \awesomebox@notxetexfalse
\else
  \ifluatex
    \awesomebox@notxetexfalse
  \fi
\fi

\ifawesomebox@notxetex
\PackageError{awesomebox}{%
  You are trying to use awesomebox\MessageBreak
  with something else than xelatex or luatex
}{%
  Please abort now with <ctrl+d>
}
\fi

awesomebox.sty在 Debian 中启动buster

% Try to just depend on fontawesome5 package
% https://ctan.org/pkg/fontawesome5
\RequirePackage{fontawesome5}

如果你看看上游网站,似乎使用fontawesome5而不是fontawesome,才使得awesomebox.sty不再局限于 XeTeX 和 LuaTeX。这可以通过比较/usr/share/doc/texlive-doc/latex/awesomebox/README来证实stretch

(...) 这意味着,只有您之前在系统上安装了 FontAwesome 并使其可与 XeTeX 一起使用,此包的所有神奇功能才有效。是的,此包也要求您使用 XeLaTeX。

/usr/share/doc/texlive-doc/latex/awesomebox/README.mdbuster

Awesome Boxes 就是在文本周围绘制警告块,以告知或提醒读者某些特定内容。此包的具体目的是使用FontAwesome 5 图标来简化这些块的说明。(...)

(不再提及 TeX 引擎要求)。

结论:要么你没有在 中尝试过buster,要么你有一个旧版本,awesomebox.sty它掩盖了 中的版本buster。在后一种情况下:

  1. 首先mktexlsr以 root 身份运行。

  2. 然后,在你的 LaTeX 普通用户账户下,运行kpsewhich awesomebox.sty以识别 LaTeX 正在使用的精确文件(你可能还想尝试kpsewhere awesomebox.sty列出全部在各种 TEXMF 树中找到具有此名称的文件)。

相关内容