Skip to content
Syize edited this page May 19, 2025 · 1 revision

noterools 使用指南

安装

使用 pip 安装 noterools

pip install noterools

使用方法

以下的所有方法都要求您创建一个简单的 Python 脚本并运行它。

设置从正文引用跳转到参考文献目录表的超链接

使用 add_citation_cross_ref_hook 函数来设置 hook 向引用添加超链接,它同时支持顺序引用和 (Author, Date) 引用两种格式。该函数还包含以下参数:

  • color:设置引用的颜色,默认为蓝色。
  • no_under_line:设置是否去除超链接的下划线,默认为 True
  • set_container_title_italic:设置是否修正中文文献中没有被正确设置为斜体的字体,默认为 True
  • full_citation_hyperlink:设置是否为整个引用添加超链接(默认只向年份添加超链接),默认为 False该功能为实验性特性,还需要对更多的参考文献格式进行测试。

以下是代码示例:

from noterools import Word, add_citation_cross_ref_hook

if __name__ == '__main__':
    word_file_path = r"E:\Documents\Word\test.docx"
    new_file_path = r"E:\Documents\Word\test_new.docx"

    # 使用 Word 打开文档,并设置处理后新文档的存储路径
    with Word(word_file_path, save_path=new_file_path) as word:
        # 为顺序引用格式添加超链接
        add_citation_cross_ref_hook(word, is_numbered=True)
        
        # 为 (Author, Date)引用格式添加超链接
        # add_citation_cross_ref_hook(word, is_numbered=False)

修正页码范围中的连字符号

Zotero 插入的参考文献表中,页码范围中的连字符号会被设置为 - (Unicode为002D),即使在 Zotero 的文献信息侧边栏中它为 (Unicode为2013)。使用 add_update_dash_symbol_hook 函数来设置 hook 修正该符号。

前置条件

要使用该功能,你首先需要使用 zotero_init_client 函数初始化 Zotero 客户端,以便 noterools 与 Zotero 通信获取页码范围信息。

你可以在 Zotero 的 设置->高级 中勾选 允许此计算机上的其他应用程序与zotero通讯,然后通过以下方式初始化客户端:

zotero_init_client(local=True)

或者你也可以申请 Zotero API key,使用该 key 和你的 Zotero ID初始化客户端(该方法会直接与 Zotero 服务器通讯):

zotero_init_client(zotero_id="你的 Zotero ID", zotero_api_key="你的 Zotero API key")

使用方法

add_update_dash_symbol_hook 包含以下额外参数:

  • font_family:设置字体。连字符号在不同的字体中可能存在不同的显示效果,使用该参数来控制页码范围文字的字体,默认为 Times New Roman

以下是代码示例:

from noterools import Word, add_update_dash_symbol_hook, zotero_init_client

if __name__ == '__main__':
    word_file_path = r"E:\Documents\Word\test.docx"
    new_file_path = r"E:\Documents\Word\test_new.docx"
    
    # 初始化 Zotero 客户端
    zotero_init_client(local=True)

    # 使用 Word 打开文档,并设置处理后新文档的存储路径
    with Word(word_file_path, save_path=new_file_path) as word:
        add_update_dash_symbol_hook(word)

更改英文标题大小写格式

尽管 Zotero 可以控制插入的英文参考文献表中标题是否全部为大写,但是 Zotero 无法设置标题为 句首首字母大写 还是 单词首字母大写,这导致如果你使用的引用样式不是标题大写,最终得到的参考文献表目录中文献的标题格式不统一。add_format_title_hook 函数可以添加 hook 来修改英文标题格式,对其进行统一。该函数支持以下三种大小写格式:

  • 标题全部大写。
  • 单词首字母大写。
  • 仅句首首字母大写。该情况下你可以给定一个专有名词列表,以防止专有名词被错误的修改。

以下为代码示例:

from noterools import Word, add_format_title_hook

if __name__ == '__main__':
    word_file_path = r"E:\Documents\Word\test.docx"
    new_file_path = r"E:\Documents\Word\test_new.docx"

    # 使用 Word 打开文档,并设置处理后新文档的存储路径
    with Word(word_file_path, save_path=new_file_path) as word:
        # 全部大写
        add_format_title_hook(word, upper_all_words=True)
        
        # 单词首字母大写
        # add_format_title_hook(word, upper_first_char=True)
        
        # 仅句首单词的首字母大写
        # word_list = ["UNet", "US", "China", "WRF"]
        # add_format_title_hook(word, lower_all_words=True, word_list=word_list)

为参考文献表目录中的 DOI 链接设置超链接

使用 add_url_hyperlink_hook 函数来设置 hook 为 DOI 链接设置超链接。该函数还包含以下参数:

  • color:设置超链接的颜色,默认为 None (保留默认颜色)。
  • no_under_line:是否去除超链接的下划线,默认为 False

以下为代码示例:

from noterools import Word, add_url_hyperlink_hook

if __name__ == '__main__':
    word_file_path = r"E:\Documents\Word\test.docx"
    new_file_path = r"E:\Documents\Word\test_new.docx"

    # 使用 Word 打开文档,并设置处理后新文档的存储路径
    with Word(word_file_path, save_path=new_file_path) as word:
        add_url_hyperlink_hook(word)