我有一个使用该软件包的 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.sty
TeX 引擎(不同于 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.md
内buster
:
Awesome Boxes 就是在文本周围绘制警告块,以告知或提醒读者某些特定内容。此包的具体目的是使用FontAwesome 5 图标来简化这些块的说明。(...)
(不再提及 TeX 引擎要求)。
结论:要么你没有在 中尝试过buster
,要么你有一个旧版本,awesomebox.sty
它掩盖了 中的版本buster
。在后一种情况下:
首先
mktexlsr
以 root 身份运行。然后,在你的 LaTeX 普通用户账户下,运行
kpsewhich awesomebox.sty
以识别 LaTeX 正在使用的精确文件(你可能还想尝试kpsewhere awesomebox.sty
列出全部在各种 TEXMF 树中找到具有此名称的文件)。