是否可以对 Google Docs/Drive 文档中的标题进行编号?
6 回答
如果你想要一些更简单的东西,有一个名为“目录”的谷歌插件可以让你给你的标题编号。
要安装此插件:
- 单击附加组件 > 获取附加组件。
- 单击“目录”图标或搜索此插件进行安装
然后你的目录应该出现在你的侧边栏中。单击标题编号格式菜单,然后选择 1.2.3
如果您有旧文档,则必须重新格式化文档才能“刷新”数字,但实际上插件运行良好。
更新:现在在github中可用。
更新 2:由于 github 上的 2 个拉取请求,现在可以处理空标题和空行。
更新 3: github 和下面的代码已修复以处理新的 Docs HEADING 标识。
我修改了Mikko Ohtamaa 提到的脚本并创建了一个 Google Apps 脚本,它添加了一个标题工具文档菜单,允许您:
- 自动编号标题
- 清除标题编号
如何为 Google 文档标题自动编号:
- 打开您的文档 > 工具 > 脚本编辑器...
- 开始一个空白项目
- 粘贴下面的代码并使用您的首选名称保存
- 选择 Run > onOpen 并首次授权脚本
- 选择运行 > onOpen
- 切换到您的文档并尝试创建的标题工具自定义菜单上的功能。
~~免责声明:您可能会遇到空标题的问题。但您可以随时修复它们并再次运行。~~
要复制和粘贴的代码:
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]+/, ''));
}
}
}
自写作(2020 年 4 月)以来,许多提议的应用程序都已过时或不再工作。
我发现编号标题的方法如下:
- 转到获取附加组件
- 搜索并安装Markdown 工具
Markdown 工具有一个使用编号标题的选项。使用内置的 Google 目录就像一个魅力。
要创建目录:
- 转到菜单项插入并选择目录
您所要做的就是复制/粘贴以前的标题。
如果您复制并粘贴编号列表的任何项目,则它会保留其编号,并在相关情况下自动更改编号。
我写了一个做降价标题的版本,但它也支持普通的标题数字。源代码在这里https://github.com/jordan2175/markdown-tools并且可以通过 G Suite Marketplace 作为“Markdown 工具”获得。
截至今天,前面提到的附加“目录”不可用。我安装了一个名为“ Markdown Tools ”的工具 安装后,您必须应用原生标题样式,然后转到附加组件>Markdown 工具>标题编号,然后选择将应用于文档中所有标题的所需编号样式。