让我们从 MWE 开始:
\documentclass{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[backend=biber,style=alphabetic]{biblatex}
\addbibresource{lit.bib}
% \usepackage[babel, german=quotes]{csquotes}
\usepackage{minted}
\begin{document}
Text \cite{Beta2016}
\begin{minted}{js}
var x;
\end{minted}
\printbibliography
\end{document}
这是文件 lit.bib:
% Encoding: UTF-8
@MastersThesis{Beta2016,
author = {Alpha Beta},
title = {This is a long title to show off quotes!!},
institution = {Some institution},
year = {2016},
owner = {me},
timestamp = {2016.01.01},
}
我的问题是,取消注释该行后,出现以下错误消息csquotes
:
LaTeX Warning: Command \@parboxrestore has changed. Check if current package is valid.
我想要的是参考书目和语法高亮源代码中的德文引号。这是我做错了什么还是软件包不兼容?
答案1
请查看以下 MWE(使用当前 MikTeX 2.9):
\RequirePackage{filecontents}
\begin{filecontents}{\jobname.bib}
@MastersThesis{Beta2016,
author = {Alpha Beta},
title = {This is a long title to show off quotes!!},
institution = {Some institution},
year = {2016},
owner = {me},
timestamp = {2016.01.01},
}
\end{filecontents}
\documentclass{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{minted}% <================================ no warning \@parboxrestore
\usepackage[autostyle, german=quotes]{csquotes} % <=====================
%\usepackage{minted}% <================================= warning \@parboxrestore
\usepackage[backend=biber,style=alphabetic]{biblatex}
\addbibresource{\jobname.bib} % <=======================================
%\usepackage{minted}% <================================= warning \@parboxrestore
\begin{document}
Text \cite{Beta2016}
\begin{minted}{js}
var x;
\end{minted}
\printbibliography
\end{document}
我添加了三个调用位置minted
,并在注释中注明是否收到警告。未注释的调用不会在我的系统上引起任何警告。
它编译时没有错误并且只有一个警告,导致我使用包来filecontents
编译一个包含bib
文件和tex
代码的 MWE。 标记的更改用<============
。
正如警告所告诉你的,软件包更改了需要其他形式的csquotes
命令。否则处理更改后的版本没有问题minted
csquotes
minted
。最后,这些事情是一些软件包有在别人之前被召唤……
最好的是两个包都添加对两个包的调用顺序的提示...
抱歉耽误了这么久。我首先得将minted
它带到我的系统上运行。