bib 文件中的同一作者姓名用破折号表示

bib 文件中的同一作者姓名用破折号表示

关于如何修复-----bibtex 中相同作者姓名的显示问题,有很多问题(有答案)。但是我仍然有问题!

我的 bib 文件包含

@IEEEtranBSTCTL{bstctl:nodash,
 CTLdash_repeated_names = "no",
}
@inproceedings{Ebrahimi09,
  author = {E. Ebrahimi and others},
  title = {Coordinated control of multiple prefetchers in multi-core systems},
  booktitle = {MICRO-42},
  year = {2009},
  pages = {316-326},
}
@inproceedings{Ebrahimi09_2,
  author = {E. Ebrahimi and others},
  title = {Techniques for bandwidth-efficient prefetching of linked data structures in hybrid prefetching systems},
  booktitle = {HPCA-15},
  year = {2009},
  pages = {7-17},
}

但是输出文件看起来像

在此处输入图片描述

事实上,更改CTLdash_repeated_names = "no",CTLdash_repeated_names = "yes",没有任何效果!我该如何解决这个问题?

在 .tex 文件中,参考书目以这种方式调用

\documentclass[conference]{IEEEtran}
\section{Introduction}
 ... works~\cite{Ebrahimi09,Ebrahimi09_2}
\bstctlcite{bstctl:etal, bstctl:nodash, bstctl:simpurl}
\bibliographystyle{IEEEtran}
\bibliography{ref}
\end{document}

更新

我有一个脚本(在 Windows 中)运行以下命令

:: Run pdflatex -> bibtex -> pdflatex -> pdflatex
pdflatex %2  --file-line-error-style
bibtex  %2
:: If you are using multibib the following will run bibtex on all aux files
:: FOR /R . %%G IN (*.aux) DO bibtex %%G
pdflatex %2  --file-line-error-style
pdflatex %2

答案1

添加

@IEEEtranBSTCTL{bstctl:nodash,CTLdash_repeated_names =“否”,}

在我的 .bib 文件的开头对我有用。我使用的是 IEEE 交易格式。

答案2

您的代码中必须是第一个引用命令。如果在调用之前发出了\bstctlcite任何其他命令,它将不起作用。\cite\bstctlcite

IEEETran BibTeX 样式文档解释

\bstctlcite不做任何修改 — 它不会添加任何条目或影响参考书目的编号,也不会在正文中放置任何引用编号。其使用有两个主要限制:

  1. 对于未排序的 BibTeX 样式,它必须放在要影响的任何条目之前。因为用户几乎总是希望将更改应用于所有参考书目条目,所以一个好的位置就是在之后\begin{document}。对于排序样式,控制条目将自动被赋予一个排序键值,该值会将它们放在参考文献的开头。如果不希望这样,可以手动为控制条目提供一个key字段,该字段的值将导致所需的排序位置。

  2. 操作是“一次性的”。也就是说,同一个控制条目不能再次使用(在同一个参考书目中)。但是,可以调用使用不同键名的另一个控制条目。此行为与 BibTeX 允许多次引用参考文献的方式直接相关,但仍然只在参考书目中产生一个条目。

因此

\documentclass[conference]{IEEEtran}

%\usepackage{filecontents}
\begin{filecontents}{\jobname.bib}
@IEEEtranBSTCTL{bstctl:nodash,
 CTLdash_repeated_names = "no",
}
@inproceedings{Ebrahimi09,
  author = {E. Ebrahimi and others},
  title = {Coordinated control of multiple prefetchers in multi-core systems},
  booktitle = {MICRO-42},
  year = {2009},
  pages = {316-326},
}
@inproceedings{Ebrahimi09_2,
  author = {E. Ebrahimi and others},
  title = {Techniques for bandwidth-efficient prefetching of linked data structures in hybrid prefetching systems},
  booktitle = {HPCA-15},
  year = {2009},
  pages = {7-17},
}
\end{filecontents}

\begin{document}
\bstctlcite{bstctl:etal, bstctl:nodash, bstctl:simpurl}

\section{Introduction}
 ... works~\cite{Ebrahimi09,Ebrahimi09_2}
\bibliographystyle{IEEEtran}
\bibliography{\jobname}
\end{document}

按预期工作

参考书目中没有破折号。

答案3

如果有人没有使用 IEEEtran 模板但遇到同样的问题,只需在 `.bib` 文件的开头添加

@IEEEtranBSTCTL{bstctl:nodash,
 CTLdash_repeated_names = "no",
}

然后,在 `.tex` 文件中,添加包 `\usepackage{IEEEtrantools}`。最后,在 `\begin{document}` 之后,下一行必须是 `\bstctlcite{bstctl:nodash}`


例子:

\usepackage{IEEEtrantools}
<br>% ...
<br>\begin{document}
<br>\bstctlcite{bstctl:nodash}
<br> %your file content
<br> %your file content

相关内容