使用 biblatex 在 scshape 中显示作者姓名

使用 biblatex 在 scshape 中显示作者姓名

在参考书目中,我希望将所有作者的姓名都放在 scshape 中 - 我的意思是包括首字母。请考虑以下代码:

\documentclass[a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[italian]{babel}
\usepackage{textcase}
\usepackage[babel,italian=guillemets]{csquotes}
\usepackage[style=philosophy-verbose,backend=biber,classical=true,%
firstinits=true,volnumformat=strings,volumeformat=romansc,sorting=nyt,%
indexing]{biblatex}
\DeclareFieldFormat[article,book,inbook,incollection]{author}%
{\textsc\MakeTextLowercase{#1}}
    \nocite{*}

\begin{filecontents*}{\jobname.bib}
@book{ bertelli:2012,
       author    = "Lucio Bertelli",
       title     = "Tra storia e utopia",
       publisher = "Edizioni dell'Orso",
       location  = "Alessandria",
       year      = "2012",
     }
\end{filecontents*}

\addbibresource{\jobname.bib}

\begin{document}
\printbibliography
\end{document}

嗯,字符串

    \DeclareFieldFormat[article,book,inbook,incollection]{author}%
    {\textsc\MakeTextLowercase{#1}}

没有产生任何结果。那么,我该怎么办?谢谢!

答案1

只需添加选项,scauthors让参考书目和引文中的作者姓名都采用小写字母即可。您还可以选择scauthorsbibscauthorscite。参见 文档第 8 页第 6 节biblatex-philosophy

在此处输入图片描述

如果您确实想对整个名称使用小型大写字母,则必须重新定义设置scauthors选项并\texsc\textlcsc命令替换时发生的情况,借用@Gonzalo Medina 的帖子:

\documentclass[a4paper]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[italian]{babel}
\usepackage{ebgaramond} 
\usepackage{textcase}
\usepackage[babel,italian=guillemets]{csquotes}
\usepackage[style=philosophy-verbose,backend=biber,classical=true,scauthors = true, %
firstinits=true,volnumformat=strings,volumeformat=romansc,sorting=nyt,%
indexing]{biblatex}
    \nocite{*}

\begin{filecontents*}{\jobname.bib}
@book{ bertelli:2012,
       author = {Lucio Bertelli},
       title = {Tra storia e utopia},
       publisher = {Edizioni dell'Orso},
       location = {Alessandria},
       year = {2012},
     }
\end{filecontents*}

\newcommand\textlcsc[1]{\textsc{\MakeLowercase{#1}}}
\AtBeginBibliography{%
\iftoggle{bbx:scauthors}{%
\DeclareNameFormat{sortname}{%
\renewcommand{\mkbibnamefirst}{\textlcsc}%
\renewcommand{\mkbibnamelast}{\textlcsc}%
\renewcommand{\mkbibnameprefix}{\textlcsc}%
\renewcommand{\mkbibnameaffix}{\textlcsc}%
  \ifnumequal{\value{listcount}}{1}
    {\iffirstinits
       {\usebibmacro{name:last-first}{#1}{#4}{#5}{#7}}
       {\usebibmacro{name:last-first}{#1}{#3}{#5}{#7}}%
     \ifblank{#3#5}
       {}
       {\usebibmacro{name:revsdelim}}}
    {\iffirstinits
       {\usebibmacro{name:first-last}{#1}{#4}{#5}{#7}}
       {\usebibmacro{name:first-last}{#1}{#3}{#5}{#7}}}%
  \usebibmacro{name:andothers}}}%
  {}}%

\addbibresource{\jobname.bib}

\begin{document}

\printbibliography

\end{document}

在此处输入图片描述

相关内容