自从切换到 Linux 并因此从 MiKTeX 切换到 TeX Live 后,我无法使用我大学同学制作的自定义类来编译所有文档。
我正在使用的课程是碘值,也可在 CTAN 上找到。该课程本身基于scrreprt
。
我准备了一个最小的例子,它在 Overleaf 中运行良好,但在我的本地编译器中却不行:
\documentclass[load-dhbw-templates]{iodhbwm}
\usepackage[T1]{fontenc}
\dhbwsetup{%
author = John Doe
}
\begin{document}
\tableofcontents % Print ToC
\chapter{Test Chapter}\label{chap:test-chap}
\end{document}
这里是错误日志
我已经搜索过可能的解决方案,但大多数都是基于对软件包的错误使用。我 100% 确信,我的最小示例适用于 MiKTeX 和 Overleaf。
如果需要的话,我使用 Manjaro Linux 和 KDE Plasma,使用 TeXStudio 3.0.4 和 TeX Live 2020。这是我的已安装的软件包。
答案1
更新
iodhbwm 2021-02-15 v1.2.2
解决了这个问题。
原始答案
该类iodhbwm
使用已弃用的选项\AfterPackage
。更准确地说,它确实
\AfterPackage!{hyperref}{<code to load cleveref>}
的当前版本scrlfile
不再接受!
,这导致cleveref
在 之前加载hyperref
。事实上,您收到的第一条错误消息之一是
! Package cleveref Error: cleveref must be loaded after hyperref!
解决方法,直到类更新:将withdeprecated
选项传递给scrlfile
。
\documentclass[load-dhbw-templates,withdeprecated]{iodhbwm}
\usepackage[T1]{fontenc}
\dhbwsetup{%
author = John Doe
}
\begin{document}
\tableofcontents % Print ToC
\chapter{Test Chapter}\label{chap:test-chap}
\end{document}
修复该类很简单:删除!
之后的\AfterPackage
。