it-swarm.cn

Google文档/云端硬盘 - 标题编号

是否可以在Google文档/云端硬盘文档中对标题进行编号?

62
ZehnVon12

如果您想要更简单的东西,可以使用名为 “目录”的Google插件 这将允许您为您的标题编号。

要安装此附加组件:

  1. 单击Add-Ons> Get Add-Ons。
  2. 单击“目录”图标或搜索此插件以进行安装

然后您的目录应出现在侧边栏中。单击Heading Numbers Format菜单,然后选择1.2.3

如果你有一个旧文件,你必须重新格式化你的文件,以“刷新”数字,但实际上插件工作得很好。

我见过 这个论坛的答案

71
Aitor

更新: 现在可用于 github

更新2: 现在处理空标题和空行,这要归功于github上的2个拉取请求。


我修改了Mikko Ohtamaa提到的 脚本 并创建了一个Google Apps脚本,它添加了一个 标题工具 文档菜单,允许您:

  • 自动编号标题
  • 清晰标题数字

如何自动编号Google Documents Headings: /

  1. 打开文档>工具>脚本编辑器...
  2. 开始一个空白项目
  3. 粘贴下面的代码并使用您的前缀名称保存
  4. 选择Run> onOpen并首次授权脚本
  5. 选择Run> onOpen
  6. 切换到您的文档并尝试创建 标题工具 自定义菜单上的功能。

~~ 免责声明: 您可能有空标题问题..但您可以随时修复它们并再次运行。~~

要复制和粘贴的代码: /

function onOpen() {
  DocumentApp.getUi().createMenu('Headings Tools')
  .addItem('Auto Number Headings', 'numberHeadingsAdd')
  .addItem('Clear Heading Numbers', 'numberHeadingsClear')
  .addToUi();
}

function numberHeadingsAdd(){
  numberHeadings(true);
}

function numberHeadingsClear(){
  numberHeadings(false);
}

function numberHeadings(add){
  var document = DocumentApp.getActiveDocument();
  var body = document.getBody();
  var paragraphs = document.getParagraphs();
  var numbers = [0,0,0,0,0,0,0];
  for (var i in paragraphs) {
    var element = paragraphs[i];
    var text = element.getText()+'';
    var type = element.getHeading()+'';

    // exclude everything but headings
    if (!type.match(/Heading \d/)) {
      continue;
    }

    // exclude empty headings (e.g. page breaks generate these)
    if( text.match(/^\s*$/)){
      continue;
    }

    if (add == true) {
      var level = new RegExp(/Heading (\d)/).exec(type)[1];  
      var numbering = '';

      numbers[level]++;
      for (var currentLevel = 1; currentLevel <= 6; currentLevel++) {
        if (currentLevel <= level) {
          numbering += numbers[currentLevel] + '.';
        } else {
          numbers[currentLevel] = 0;
        }
      }
      Logger.log(text);
      var newText = numbering + ' ' + text.replace(/^[0-9\.\s]+/, '');
      element.setText(newText);
      Logger.log([newText]);
    } else {
      Logger.log(text);
      element.setText(text.replace(/^[0-9\.\s]+/, ''));
    }
  }

}
37
Luciano

Google文档附加标题数字 https://chrome.google.com/webstore/detail/heading-numbers/pomhgonejhponfnckfnonolnciipappm 似乎可靠,并有许多选项。我比任何自定义脚本更喜欢这个。

  • 使用Google文档菜单“Add-Ons”
  • 搜索“标题数字”
2
Marc

您所要做的就是复制/粘贴以前的标题。

如果复制并粘贴编号列表中的任何项目,则会保留其编号,并在相关情况下自动更改编号。

1
alexkovelsky