突出显示所有脚注上标

Highlight all footnote superscripts

提问人:amitrus 提问时间:11/17/2023 最后编辑:Tanaikeamitrus 更新时间:11/18/2023 访问量:34

问:

我想要一种方法来突出显示所有指示脚注的上标,以便在用眼睛浏览时更容易看到段落中的脚注。目标是这样的:

enter image description here

我找不到任何手动执行此操作的方法,也找不到任何可以为我执行此操作的附加组件。有没有办法用脚本做到这一点?

我在这里尝试了 Google 脚本的答案:与脚注交互,但它更改了脚注的样式正文,而不会更改上标数字本身的样式。我希望能够一次格式化所有上标,但与脚注正文分开。

google-apps-script google-docs-api 脚注

评论


答:

1赞 Tanaike 11/18/2023 #1

不幸的是,我无法从 Google 文档服务 (DocumentApp) 中找到管理脚注上标数字样式的方法。我担心在现阶段,在Google Document服务的方法中可能没有直接更改脚注上标编号的方法。但是,幸运的是,我认为当使用 Google Docs API 时,您的目标可以实现。在这个答案中,我想提出一个使用 Docs API 的示例脚本。

示例脚本:

在使用此脚本之前,请在高级 Google 服务中启用 Google Docs API

function myFuction() {
  const doc = DocumentApp.getActiveDocument();
  const docId = doc.getId();
  const obj = Docs.Documents.get(docId);
  const requests = obj.body.content.reduce((ar, e) => {
    if (e.paragraph) {
      e.paragraph.elements.forEach(f => {
        if (f.footnoteReference) {
          ar.push({ updateTextStyle: { textStyle: { backgroundColor: { color: { rgbColor: { red: 0, green: 1, blue: 0 } } } }, range: { startIndex: f.startIndex, endIndex: f.endIndex }, fields: "backgroundColor" } });
        }
      });
    }
    return ar;
  }, []);
  if (requests.length == 0) return;
  Docs.Documents.batchUpdate({ requests }, docId);
}

测试:

运行此脚本时,得到的结果如下。

enter image description here

注意:

  • 在此示例中,它假定从显示的图像中,仅选中段落。如果除段落外的其他部分存在脚注的上标编号,请修改上述脚本。

引用: