You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

IEEEtran网站参考文献对齐异常问题求助

解决IEEEtran模板中网站参考文献URL换行间距异常问题

问题根源

IEEEtran自带的bst文件对URL字段的换行处理逻辑有缺陷,一旦URL过长需要换行,就会强行拉大前方文字的间距,哪怕调宽列宽也无法解决。

实用修复方案

1. 修改bib条目写法

别直接用url字段,换成howpublished配合\url{}包裹链接,IEEEtran对这个字段的格式兼容度更高:

@misc{sample_web_ref,
  author = "John Doe",
  title = "Sample Website for Testing",
  year = "2024",
  howpublished = "\url{https://a-super-long-url-that-needs-to-wrap-in-ieeetran-template.com/long-path/another-long-path?query1=foo&query2=bar&query3=baz}",
  note = "Accessed: 2024-05-20"
}

2. 调整IEEEtran.bst的URL处理规则

如果需要批量解决,找到你使用的IEEEtran.bst文件,定位到format.url函数,把原有代码:

FUNCTION {format.url}
{ url empty$
    { "" }
    { "\url{" url * "}" * }
  if$
}

替换为带缩进控制的版本:

FUNCTION {format.url}
{ url empty$
    { "" }
    { "\url{" url * "}" * "\hspace{-0.5em}" * }
  if$
}

或者换成适配换行的url环境写法:

FUNCTION {format.url}
{ url empty$
    { "" }
    { "\begin{url}" url * "\end{url}" * }
  if$
}

修改后保存bst文件,确保编译时调用的是修改后的版本。

3. 给url包添加参数

在LaTeX主文档的导言区添加一行:

\usepackage[hyphens]{url}

这个参数会让URL自动在连字符处换行,避免硬拉前方文字间距,同时保证链接的可读性。

验证步骤

先删除之前编译生成的.aux、.bbl、.blg等临时文件,再按顺序编译:XeLaTeX/LuaLaTeX → BibTeX → XeLaTeX/LuaLaTeX(两次),即可看到修复效果。

内容的提问来源于stack exchange,提问作者mrerdem

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 01:15:11