LaTeX 软件包 minted 和 scrhack

LaTeX 软件包 minted 和 scrhack

我想在同一个 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并同时包含了listingminted。我无法完全复制错误,但这个 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

相关内容