梅威瑟:
\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 创建全新的数据类型?。
根据keyword
s 字段更改作者字体(我认为这比字段更适合此任务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}}