使用小写前缀引用和排序作者(biblatex)

使用小写前缀引用和排序作者(biblatex)

我怎么能够两个都引用并排序前缀为小写字母的作者?下面 MWE 中的所有内容都是正确的,只是我希望Van Helten参考书目中的首字母显示为(注意,我仍然希望它按 MWE 的方式van Helten排序)。Helten

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{filecontents}
\usepackage[style=authoryear]{biblatex}
\AtBeginDocument{\toggletrue{blx@useprefix}}
\begin{filecontents}{\jobname.bib}
@ARTICLE{vanhelten1891,
    AUTHOR = "W. van Helten",
    TITLE = "Grammatisches",
    JOURNALTITLE = "Beiträge zur Geschichte der deutschen Sprache und Literatur",
    YEAR = "1891",
    PAGES = "455--488",
    VOLUME = "15"}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\cite{vanhelten1891}
\printbibliography
\end{document}

在此处输入图片描述

答案1

您可能想\renewbibmacro*{begentry}{\midsentence}在序言中添加内容。这样可以biblatex认为它实际上不应该开始一个新句子,因此应该将名称大写。如果打印的第一个字段应该自动大写,您可能会注意到这种方法的不利影响biblatex

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{filecontents}
\usepackage[style=authoryear]{biblatex}
\renewbibmacro*{begentry}{\midsentence}
\AtBeginDocument{\toggletrue{blx@useprefix}}
\begin{filecontents}{\jobname.bib}
@ARTICLE{vanhelten1891,
    AUTHOR = "W. van Helten",
    TITLE = "Grammatisches",
    JOURNALTITLE = "Beiträge zur Geschichte der deutschen Sprache und Literatur",
    YEAR = "1891",
    PAGES = "455--488",
    VOLUME = "15"}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\cite{vanhelten1891}
\printbibliography
\end{document}

在此处输入图片描述


还有一个解决方案,即重新定义名称宏,不将名称前缀大写。这可能看起来更可怕,但可能是为了稳定性而采取的更好方法。

\renewbibmacro*{name:last-first}[4]{%
  \ifuseprefix
    {\usebibmacro{name:delim}{#3#1}%
     \usebibmacro{name:hook}{#3#1}%
     \ifblank{#3}{}{%
       %\ifcapital% comment out
       %  {\mkbibnameprefix{\MakeCapital{#3}}\isdot}% and get rid of this
         {\mkbibnameprefix{#3}\isdot}%
       \ifpunctmark{'}{}{\bibnamedelimc}}%
     \mkbibnamelast{#1}\isdot
     \ifblank{#4}{}{\bibnamedelimd\mkbibnameaffix{#4}\isdot}%
     \ifblank{#2}{}{\revsdnamepunct\bibnamedelimd\mkbibnamefirst{#2}\isdot}}
    {\usebibmacro{name:delim}{#1}%
     \usebibmacro{name:hook}{#1}%
     \mkbibnamelast{#1}\isdot
     \ifblank{#4}{}{\bibnamedelimd\mkbibnameaffix{#4}\isdot}%
     \ifblank{#2#3}{}{\revsdnamepunct}%
     \ifblank{#2}{}{\bibnamedelimd\mkbibnamefirst{#2}\isdot}%
     \ifblank{#3}{}{\bibnamedelimd\mkbibnameprefix{#3}\isdot}}}

\renewbibmacro*{name:last}[4]{%
  \ifuseprefix
    {\usebibmacro{name:delim}{#3#1}%
     \usebibmacro{name:hook}{#3#1}%
     \ifblank{#3}
       {}
       {%\ifcapital%<-- commented this out
        %  {\mkbibnameprefix{\MakeCapital{#3}}\isdot}% and this
          {\mkbibnameprefix{#3}\isdot}%
        \ifpunctmark{'}{}{\bibnamedelimc}}}
    {\usebibmacro{name:delim}{#1}%
     \usebibmacro{name:hook}{#1}}%
  \mkbibnamelast{#1}\isdot}%

相关内容