使用 IEEEtran 时避免 bibitem 之间的垂直空格

使用 IEEEtran 时避免 bibitem 之间的垂直空格

我正在使用IEEEtran类和参考书目样式,我发现当使用该选项时,它生成的参考部分会在参考项目之间留下空行compsocconf。有没有办法避免这种情况?

注意:如果您不使用compsocconf专为计算机学会会议设计的选项,则不会遇到此问题。此外,本文整体上更加紧凑。

答案1

这种行为并非 所特有ieeetran.bst,也发生在 样式中plain。LaTeX 使用thebibliography环境来排版“参考”部分。thebibliography反过来使用通用list环境,并默认列出在(参考书目)项目之间添加垂直空格。要删除间距,必须\itemsep 0pt在 定义的正确位置添加\thebibliography。(在下面的例子中,我使用 etoolbox 包有选择地更改定义。)

编辑:由于您没有透露您的文档类别,我在这里假设一个标准类别,或者至少是一个具有thebibliography环境“标准”定义的类别。

编辑2:回答您修改后的问题:这是如何使用ieeetran带有选项compsocconference(原文如此!)的类,但没有扩大 bibitem 之间的垂直空间。

\documentclass[compsoc,conference]{ieeetran}

% \usepackage{etoolbox}
% \patchcmd{\thebibliography}{\leftmargin\labelwidth}
%     {\itemsep 0pt \leftmargin\labelwidth}{}{}

\def\IEEEbibitemsep{0pt plus .5pt}

\begin{filecontents}{\jobname.bib}
@misc{A01,
  author = {Author, A.},
  year = {2001},
  title = {Alpha},
}
@misc{B02,
  author = {Buthor, B.},
  year = {2002},
  title = {Bravo},
}
@misc{C03,
  author = {Cuthor, C.},
  year = {2003},
  title = {Charlie},
}
\end{filecontents}

\begin{document}

\nocite{*}

\bibliographystyle{ieeetran}
\bibliography{\jobname}

\end{document}

(filecontents 环境仅用于将一些外部文件直接包含到示例中,以便进行编译。对于解决方案来说,它不是必需的。)

答案2

请在之前添加以下命令\bibliographystyle{IEEEtran}

\newcommand{\BIBdecl}{\setlength{\itemsep}{0.25 em}}

答案3

我遇到了同样的问题并找到了解决方案这里

将以下代码添加到你的序言中:

\let\oldthebibliography=\thebibliography
\let\endoldthebibliography=\endthebibliography
\renewenvironment{thebibliography}[1]{%
   \begin{oldthebibliography}{#1}%
     \setlength{\itemsep}{-.3ex}%
}%
{%
   \end{oldthebibliography}%
}

为我工作\documentclass[10pt, conference, compsocconf]{IEEEtran}

相关内容