此 MWE 过去用于输出参考书目和材料列表,但现在不再起作用。我在编译时收到此错误:Package keyval Error: publisher undefined
。任何帮助表示感谢!
\documentclass[10pt,twoside,headings=normal,headsepline=true,numbers=noenddot]{scrbook}
\usepackage[utf8]{inputenc}
\usepackage[backend=biber,sorting=nty,style=verbose,isbn=false,url=false,publisher=false]{biblatex}
\usepackage{filecontents}
\begin{filecontents}{MWE.bib}
@INCOLLECTION{Doe1999,
author = {John Doe},
title = {Title of Book},
publisher = {Kluwer Law International},
year = {1999},
volume = {25},
series = {Series},
shortauthor = {Doe},
\begin{flushleft}
\end{flushleft}
shorttitle = {Title of Book}
}
@MISC{DoeJ,
author={Jane Doe},
title={Title of misc},
keyword={mat},
shortauthor={Doe J},
shorttitle={Misc}
}
\end{filecontents}
\renewcommand{\mkbibnamelast}[1]{\textsc{#1}}
\renewcommand{\mkbibnamefirst}[1]{\textsc{#1}}
\renewcommand{\mkbibnameprefix}[1]{\textsc{#1}}
\renewcommand{\mkbibnameaffix}[1]{\textsc{#1}}
\renewcommand*{\revsdnamepunct}{}
\defbibheading{lit}{\chapter*{Literaturverzeichnis}}
\defbibheading{mat}{\chapter*{Materialienverzeichnis}}
\DeclareFieldFormat[article,inbook,incollection,inproceedings,patent,thesis,unpublished,shorttitle,journal]{title}{#1}
\renewbibmacro*{cite}{%
\usebibmacro{cite:citepages}
\iffieldundef{shorthand}{%
\ifciteseen{%
\usebibmacro{cite:short}}
{\usebibmacro{cite:short}}}
{\usebibmacro{cite:shorthand}}}
\renewbibmacro*{cite:short}{%
\printnames{shortauthor}%
\setunit*{\addcomma\addspace}%
\printtext[bibhyperlink]{%
\printfield{shorttitle}}}%
\renewbibmacro*{finentry}{
\ifnameundef{shortauthor}
{
\iffieldundef{shorttitle}{%
\adddot}{
\printtext[parens]{%
{cit.}\addspace
\printfield{shorttitle}%
}\adddot
}
}
{
\iffieldundef{shorttitle}
{
\printtext[parens]{%
{cit.}\addspace
\printnames{shortauthor}%
}\adddot
}
{
\printtext[parens]{%
{cit.}\addspace
\printnames{shortauthor}\addcomma\addspace
\printfield{shorttitle}%
}\adddot
}
}
\finentry}
\renewbibmacro*{publisher+location+date}{%
\printlist{location}{\addspace}%
\printfield{year}{\setunit*{\addspace}}%
}
\renewbibmacro*{institution+location+date}{%
\renewcommand*{\newunitpunct{\addspace}}%
\newunit%
\printlist{institution}{\addspace}%
\printlist{location}{\addspace}%
\printfield{year}{\setunit*{\addspace}}%
}
\AtEveryBibitem{\clearfield{publisher}}
%\renewcommand{\newunitpunct}{\addcomma\addspace}
%\ifpunct{\renewcommand*{\nameyeardelim}{\addspace}}{}
\addbibresource{MWE.bib}
\begin{document}
\frontmatter
\printbibliography[title={Lit},heading=lit,notkeyword=mat]
\printbibliography[title={Mat},heading=mat,keyword=mat]
\mainmatter
Lorem ipsum\footcite[p. 1]{Doe1999}\footcite[p. 2]{DoeJ}.
\backmatter
\end{document}
答案1
奥黛丽的解决方案解决了我的问题的第一部分。
但是,参考书目仍然不会出现在 pdf 文件中。
原来我必须删除 \user\AppData\Local\Temp (Windows 8) 中的缓存文件,重新编译,然后就可以了。这个问题似乎在这篇文章中得到了解决 (https://tex.stackexchange.com/a/54545/19581)然而,我不明白为什么这个问题仍然存在。