在 BibTeX 中写入作者姓名

在 BibTeX 中写入作者姓名

我想在 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.}

相关内容