我想在 BibTeX 中写入以下内容作为作者姓名:
SH威尔夫
即“S”和“H”两个字母之间没有空格。
答案1
如果你只想在文件中提供姓名首字母.bib
,你可以这样写
author = {Wilf, S. H.},
或者
author = {S. H. Wilf},
如果您写入,author = {Wilf, S.H.},
BibTeX 将无法分辨“SH”是两个首字母,并且如果要求缩写名称,则会将名称缩写为“S. Wilf”。
请注意,你使用的样式控制输出,并决定输出结果是否为
SH威尔夫
或者
SH威尔夫
甚至
SH威尔夫
或多或少独立于(正确的)输入。
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{wilf,
author = {Wilf, S. H.},
title = {Lorem},
year = {1980},
}
\end{filecontents}
\begin{document}
\cite{wilf}
\bibliographystyle{abbrv}
\bibliography{\jobname}
\end{document}
如果你希望你的 BibTeX 样式产生没有空格的首字母,你通常会尝试修改.bst
文件以使用名字的格式{f{.}.~}
,例如使用 APAlike 书目样式时如何删除作者姓名首字母之间的空格。但这可能会弄乱连字符,如问题 35 中所述btxFAQ
。
有了biblatex
它,重新定义就变得非常简单,\bibinitdelim
而且带连字符的名称也不会混乱。
\documentclass[british]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}
\usepackage{csquotes}
\usepackage[style=authoryear, giveninits, backend=biber]{biblatex}
\renewrobustcmd*{\bibinitdelim}{}
\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@book{wilf,
author = {Wilf, S. H.},
title = {Lorem},
year = {1980},
}
\end{filecontents}
\addbibresource{\jobname.bib}
\begin{document}
\cite{wilf}
\printbibliography
\end{document}
答案2
创建.bib
文档时,您可以按如下方式格式化作者:
author = {Surname, Name}
在你的情况下,可以将其格式化为
author = {Wilf, S.H.}