是否可以在Google文档/云端硬盘文档中对标题进行编号?
如果您想要更简单的东西,可以使用名为"Table of Contents"的Google插件,它可以为您的标题编号。
要安装此附加组件:
然后您的目录应出现在侧边栏中。单击Heading Numbers Format菜单,然后选择1.2.3
如果你有一个旧文件,你必须重新格式化你的文件,以“刷新”数字,但实际上插件工作得很好。
更新:现在可在github获得。
更新2:由于github上的2个拉取请求,现在处理空标题和空行。
我修改了script mentioned by Mikko Ohtamaa并创建了一个Google Apps脚本,它添加了一个标题工具文档菜单,允许您:
如何自动编号Google Documents Headings:
~~免责声明:你可能有空标题的问题..但你可以随时修复它们并再次运行。~~
要复制和粘贴的代码:
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]+/, ''));
}
}
}
谷歌文档附加标题数字https://chrome.google.com/webstore/detail/heading-numbers/pomhgonejhponfnckfnonolnciipappm似乎可靠,并有许多选项。我比任何自定义脚本更喜欢这个。
您所要做的就是复制/粘贴以前的标题。
如果复制并粘贴编号列表中的任何项目,则会保留其编号,并在相关情况下自动更改编号。