Câu trả lời:
Nếu bạn muốn điều gì đó dễ dàng hơn, có một Tiện ích bổ sung của Google có tên là "Mục lục" sẽ cho phép bạn đánh số các tiêu đề của mình.
Để cài đặt tiện ích bổ sung này:
Sau đó, Mục lục của bạn sẽ xuất hiện trong thanh bên của bạn. Bấm vào menu Định dạng số tiêu đề và chọn 1.2.3
Bạn phải định dạng lại tài liệu của mình nếu bạn có tài liệu cũ để 'làm mới' các con số, nhưng thực sự addon hoạt động rất tốt.
Tôi đã thấy câu trả lời trong diễn đàn này .
Cập nhật: hiện đã có trên github .
Cập nhật 2: hiện đang xử lý các tiêu đề trống và dòng trống nhờ 2 yêu cầu kéo trên github.
Cập nhật 3: github và mã bên dưới đã được sửa để xử lý nhận dạng HEADING tài liệu mới.
Tôi đã sửa đổi tập lệnh do Mikko Ohtamaa đề cập và tạo Tập lệnh Google Apps bổ sung menu Tài liệu công cụ Tiêu đề cho phép bạn:
Cách tự động đánh số các Tiêu đề Tài liệu của Google:
~~ Tuyên bố từ chối trách nhiệm: bạn có thể gặp sự cố với các Tiêu đề trống .. Nhưng bạn luôn có thể sửa chúng và chạy lại hành động. ~~
Mã để sao chép và dán:
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]+/, ''));
}
}
}
Tất cả những gì bạn phải làm là sao chép / dán các tiêu đề trước đó.
Nếu bạn sao chép và dán bất kỳ mục nào trong danh sách được đánh số, thì nó vẫn giữ nguyên số của nó và tự động thay đổi số trong các trường hợp có liên quan.
Kể từ khi viết (tháng 4 năm 2020), rất nhiều ứng dụng được đề xuất đã lỗi thời hoặc không hoạt động nữa.
Phương pháp cho các tiêu đề được đánh số mà tôi thấy hoạt động như sau:
Markdown Tools có một tùy chọn để sử dụng các tiêu đề được đánh số. Hoạt động như một sự quyến rũ với Mục lục tích hợp sẵn của Google.
Để tạo mục lục:
Tôi đã viết một phiên bản để thực hiện các tiêu đề đánh dấu, nhưng nó cũng hỗ trợ các số tiêu đề đơn giản. Nguồn tại đây https://github.com/jordan2175/markdown-tools và có sẵn trên G Suite Marketplace dưới dạng "Công cụ Markdown".
Tiện ích bổ sung được đề cập trước đó "Mục lục" không có sẵn cho đến ngày hôm nay. Tôi đã cài đặt một công cụ có tên " Công cụ đánh dấu " Sau khi cài đặt, bạn phải áp dụng các kiểu tiêu đề gốc và sau đó đi tới Tiện ích bổ sung> Công cụ đánh dấu> Số tiêu đề và chọn kiểu đánh số mong muốn sẽ được áp dụng cho tất cả các tiêu đề trong tài liệu.