biblatex 根据 bib 字段设置作者字体

biblatex 根据 bib 字段设置作者字体

梅威瑟:

\documentclass{book}
\usepackage{a4wide}
\usepackage{fancyhdr}
\usepackage{graphicx}
\usepackage{polyglossia}
\setmainlanguage[spelling=new,babelshorthands=true]{german}
\usepackage[autostyle]{csquotes}
\usepackage[style=authortitle-icomp,backref=true,backrefstyle=two+,hyperref=true,isbn=false,backend=biber,citereset=chapter,bibencoding=utf8]{biblatex}

\usepackage{filecontents}
\begin{filecontents}{file.bib}
@BOOK{b1,
  author = { first1 last1},
  title = {title1},
  year = {1993},
  note = {tt}
}
@BOOK{b2,
    author = { first2 last2},
    title = {title2},
    year = {1994}
}
\end{filecontents}

\addbibresource{file.bib}
\begin{document}
text \footcite{b1} text.
text \footcite{b2} haha. 
\end{document}

我想实现 b1 的作者,其中note字段中包含一些关键字,在本例中tt,使用 进行格式化,\texttt{}而注释字段中不包含关键字的条目则以标准方式进行格式化。注释字段中除了关键字之外没有其他内容。

因此,扩展后应该得到

\texttt{last1}, title1
last2, title2

在脚注和参考书目中,而不是 目前的结果

谢谢您的帮助。

答案1

根据您在此处尝试执行的操作,创建一个新的条目类型可能是个好主意,请参阅在 Bibtex 中创建行政命令条目以及稍微复杂一点的如何使用 BibLaTeX/Biber 创建全新的数据类型?

根据keywords 字段更改作者字体(我认为这比字段更适合此任务note)并不是很难

\renewcommand*\mkbibnamelast[1]{\ifkeyword{chiffreauthor}{\texttt{#1}}{#1}}

确保以chiffreauthor打字机字体打印所有包含关键字的条目。

\documentclass[ngerman]{article}
\usepackage{babel}
\usepackage[autostyle]{csquotes}
\usepackage[style=authortitle-icomp,backend=biber]{biblatex}

\usepackage{filecontents}
\begin{filecontents*}{\jobname.bib}
@BOOK{b1,
  author   = {first1 last1},
  title    = {title1},
  year     = {1993},
  keywords = {chiffreauthor},
}
@BOOK{b2,
    author = { first2 last2},
    title  = {title2},
    year   = {1994}
}
\end{filecontents*}

\addbibresource{\jobname.bib}

\renewcommand*\mkbibnamelast[1]{\ifkeyword{chiffreauthor}{\texttt{#1}}{#1}}

\begin{document}
text \footcite{b1} text.
text \footcite{b2} haha. 
\end{document}

在此处输入图片描述

如果你想使用note要打印的字段,你可以使用

\renewcommand*\mkbibnamelast[1]{\iffieldequalstr{note}{chiffreauthor}{\texttt{#1}}{#1}}

相关内容