参考书目,biblatex

参考书目,biblatex

此 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)然而,我不明白为什么这个问题仍然存在。

相关内容