简单Python函数将SCI论文中WORD版参考文献改为LaTeX格式

投出的某sci论文被reviewer指出公式的format不大行,其实自己之前在用word调的时候也发现了这个问题,于是打算改头换面,使用latex来重新写一遍。而LaTeX的引用格式和word是不一样的(至少调格式的方式不同),bibtex是很常用的一种方式了,但是出于某些原因十分赶时间,对文中五十余篇论文去重新找各自的bibtex格式,然后再挨个照着之前word版补充一些东西,实在太费时间。那么如何“废物利用”呢,即将原来的word版的已经写好的内容直接copy过来呢?

word版的内容拿过来自然没问题,但是格式就得调,而一个个调格式显然也是效率很低的行为,因而考虑使用python写个程序进行自动化操作。
首先,不建议大家使用这种方法。这是因为一我挺赶时间的,二是之前word版已经写好了,参考文献基本上不会再改动。更建议使用bibtex。
其次,同样由于这只是临时使用的简单脚本且赶时间,就没有去认真设计变量名,代码可读性不强,不过不大长应该不影响理解叭。将就看看。
最后,在介绍函数使用方法之前,需要提醒一下,下面代码考虑的情况并不完整,因此使用其生成latex版参考文献后仍需要人工验证一遍其格式是否正确(虽然不是100%正确但是也省了很多重复劳动了)。

示例输入:

t = '[1]	B. Ji, Y. Han, P. Li, et al., “Research on secure transmission performance of electric vehicles under Nakagamim channel,” IEEE Trans. Intell. Transp. Syst., pp 1-11, Nov. 2020.'
get_output(0, t)

输出为:

	\bibitem{[1]}
	B. Ji, Y. Han, P. Li, \emph{et al}., ``Research on secure transmission performance of electric vehicles under Nakagamim channel,"\emph{ IEEE Trans. Intell. Transp. Syst.}, pp 1-11, Nov. 2020.

作用为:

  1. 修改引号。latex中的引号为``xxx",而非word中的"xxx"
  2. 设置斜体。比如将et al设置为斜体,将期刊名设置为斜体,或者如果是会议的话,将in之后的会议名设为斜体。
  3. 拼接为latex中引用格式,包含\bibitem{[idx]},其中idx为函数输入给出,可自定义。另外加上了\n,\t等格式控制。

贴上代码:

def get_output(idx, t):
    # 用正则,去掉开头序号,保存于t内
    pt = re.compile(r'\[\d+\](\s|\t)')
    t = ''.join(re.split(pt, t))
    # 居然有中文引号...
    t = t.replace("“", '"')
    t = t.replace("”", '"')
    # 为其添加样式
    output = '\t' + r'\bibitem{' + "[" + str(idx + 1) + "]" + '}'
    output += '\n'

    # 添加斜体
    tt = t.split('"')
    if len(tt) >= 3:
        g = tt[0] + '"'
        g += tt[1] + '"'
        ttt = tt[2].split(',', 1)
        if 'in ' in ttt[0]:
            tttt = ttt[0].split('in ', 1)
            g += tttt[0] + 'in '
            g += r'\emph{' + tttt[1] + r'}' + ','
        else:
            g += r'\emph{' + ttt[0] + r'}' + ','
        g += ttt[1]
        output += g
    else:
        output += '\t' + t
    output = output.replace('et al', r'\emph{et al}')
    output = output.replace(r'&', r'\&')
    output = output.replace(r'"', r'``',1)
    return output
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据提供的引用内容,我无法找到关于sci-hub如何引用参考文献latex的信息。sci-hub是一个用于获取学术论文的网站,而latex是一种排系统,用于撰写科技论文。这两者之间没有直接的联系。如果您需要了解如何在latex引用参考文献,我可以为您提供相关信息。 在latex,您可以使用BibTeX或BibLaTeX来管理和引用参考文献。以下是一种常见的方法: 1. 首先,在您的latex文档添加一个参考文献数据库文件(.bib文件),其包含您要引用的参考文献条目。每个条目都有一个唯一的标识符,您可以在文档使用该标识符来引用该条目。 2. 在您的latex文档的适当位置,使用`\cite{}`命令来引用参考文献。在大括号内,填入您要引用的参考文献条目的标识符。 3. 在您的latex文档的末尾,添加一个参考文献列表,使用`\bibliography{}`命令指定您的参考文献数据库文件。在大括号内,填入您的参考文献数据库文件的文件名(不包括扩展名)。 以下是一个示例: ```latex \documentclass{article} \begin{document} 这是一篇关于某个主题的论文\cite{article1}。 \bibliographystyle{plain} \bibliography{references} \end{document} ``` 在上面的示例,`article1`是参考文献数据库文件某个条目的标识符。`\bibliographystyle{plain}`指定了参考文献列表的样式,`references`是参考文献数据库文件的文件名。 请注意,为了生成正确的参考文献列表,您需要在编译latex文档之前运行BibTeX或BibLaTeX命令。具体的命令取决于您使用的latex编辑器或编译工具。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值