Skip to main content

Sort reference by cited order in docx file

Project description

SortReference

按照文献引用顺序对文献进行编号。

demo

支持的场景

请确保word中有且只有[n]这一种引用格式,[1-3][1,2,3]等形式需要统一改写成[1][2][3]

请确保word中所有形如[n]的字符串均代表引用,否则这些字符也会被计入引用而被错误的改写,如果有的话可以先把不代表引用的字符替换为其他格式比如<n>等到程序处理完后再改写回来。

使用方法

首先确保已经安装python3.6或更高版本。

  1. 使用 pip 安装依赖

    python -m pip install sort_reference
    
  2. 指定输入输出文件

    python -m sort_reference [input] [output] 
    

    如:python -m sort_reference testcase/paper.docx testcase/processed_paper.docx

  3. 手动处理引用顺序

    最后的引用目录还无法使用程序自动排序,执行结束后手动排序一下即可。

报错处理

1. AssertionError: multi text blocks edit not support yet

multi_text_blocks_error

假设具体的报错内容是total 2 text blocks in snippet: '12', 全文搜索找到每一处[12], 删除其中的数字并重新输入一遍即可

出现这个报错是因为一些引用的字符被word分到了多个不同的文字块中,具体来说,某一个[12]的字符被word分割为了[12]两个字符串,只是显示时看起来是连续的。此时删除字符并重新输入就可以保证新输入的字符在同一个文字块内了。

testcase/paper_badcase.docx中复现了这一错误,只需要重新输入一遍12就可以解决。

2. 论文导出pdf出现“错误!未找到引用源”

导出前使用ctrl+actrl+F11禁用全局域更新,导出后ctrl+actrl+shift+F11启用全局域更新即可。网络上有大量教程,可以自行搜索。理论上不是本程序导致的。

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

sort_reference-0.1.2-py3-none-any.whl (9.2 kB view details)

Uploaded Python 3

File details

Details for the file sort_reference-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for sort_reference-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 fde669278ddc965b8ec34edfe364a2d2a4105b51215bd5d59f9a312d1ccb0d21
MD5 dac1767961808e4f6918a82ee1ee4ab2
BLAKE2b-256 37d8f726e2735cd2b1667d3ac1ff357cb8d177f34f746d4d825db3ddecc84895

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page