我想在同一个 LaTeX 文档中使用minted
包和scrhack
包,即:
\usepackage{scrhack}
\usepackage{minted}
但是,我收到以下错误:
/usr/local/texlive/2013/texmf-dist/tex/latex/minted/minted.sty:215: Package scrhack Error: extension `lol' already in use. [...t{listing}{h}{lol}[\minted@float@within]}]
编辑:问题是我使用了包classicthesis
并同时包含了listing
和minted
。我无法完全复制错误,但这个 MWE 有一个非常相似的错误消息:
\documentclass{scrreprt}
\usepackage{scrhack}
\usepackage{minted}
\usepackage{listings}
\begin{document}
Hello, World!
\end{document}
错误信息是:
There were errors in your LaTeX source
/usr/local/texlive/2013/texmf-dist/tex/latex/koma-script/listings.hak:136: Package tocbasic Error: file extension `lol' cannot be used twice . [}]
现在,我删除了文件listings
中的(以及所有相关部分)classicthesis-config.tex
,一切正常。我不认为我需要这两个包,所以我的问题解决了。
答案1
包裹嘶嘶声重新定义其他包的宏。它应该在最后加载。幸运的是,下面的代码已经编译成功,没有错误:
\documentclass{scrreprt}
\usepackage{listings}
\usepackage{minted}
\usepackage{scrhack}
\begin{document}
Hello, World!
\end{document}
如果你确实需要包括嘶嘶声在其他地方,您可以使用包\AtEndPreamble
提供的钩子etoolbox
。