Google Docs / Drive - đánh số các tiêu đề


Câu trả lời:


92

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:

  1. Nhấp vào Add-Ons> Get Add-Ons.
  2. Nhấp vào biểu tượng "Mục lục" hoặc tìm kiếm addon này để cài đặt nó

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 .


4
Trong trường hợp thanh bên không được hiển thị, hãy chuyển đến "Tiện ích bổ sung-> Mục lục-> Hiển thị trong thanh bên" .
Steven Jeuris

3
Tôi nghĩ rằng bất kỳ ai cũng có thể gọi tiện ích bổ sung của họ là "Mục lục". Vì vậy, một liên kết đến tiện ích bổ sung thực tế là hữu ích. Tôi đoán ý bạn là cái này: chrome.google.com/webstore/detail/table-of-contents/…
nealmcb

Plugin được cài đặt như thế nào - trên mỗi máy / trình duyệt, mỗi tài liệu, mỗi người dùng trên google docs? Điều gì xảy ra nếu người khác muốn chỉnh sửa tài liệu?
Sybille Peters

1
Đáng buồn thay, plugin này dường như đã bị hỏng. Nó không thể cài đặt do sự cố ủy quyền. Những người khác có nhận được kết quả tương tự không?
gavdotnet

1
@gavdotnet Nó hoạt động với tôi vì vậy họ phải đã sửa nó.
codefreak

49

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:

  • Tiêu đề số tự động
  • số tiêu đề rõ ràng

Cách tự động đánh số các Tiêu đề Tài liệu của Google:

  1. Mở tài liệu của bạn> Công cụ> Trình chỉnh sửa tập lệnh ...
  2. Bắt đầu một dự án trống
  3. Dán mã dưới đây và lưu với tên yêu thích của bạn
  4. Chọn Run> onOpen và cho phép tập lệnh lần đầu tiên
  5. Chọn Run> onOpen
  6. Thay đổi đối với Tài liệu của bạn và thử các chức năng trên menu tùy chỉnh công cụ Tiêu đề đã tạo.

~~ 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ôi rất vui khi biết @IvanCachicatari Tôi đang lên kế hoạch tạo một phiên bản cải tiến để khởi chạy dưới dạng Tiện ích bổ sung theo cách này, chúng tôi không cần mở trình chỉnh sửa tập lệnh mỗi lần ...
Luciano

2
@IvanCachicatari Ý tưởng tuyệt vời, bạn đã có nó! github.com/lpanebr/autoNumberHeadings
Luciano

2
@MrGravity, cách để đạt được điều đó là chuyển đổi tập lệnh thành Tiện ích bổ sung cho Google Drive. Tôi dự định làm điều đó nhưng giờ đã hết thời gian ..
Luciano

1
Chà! Tôi cảm thấy như nó lại là mối quan hệ 90. Chúng ta có thực sự cần một script để thực hiện một việc cơ bản như đánh số tiêu đề không? Bây giờ tôi hiểu tại sao lại có được tất cả các sáng kiến chương trình này - những đứa trẻ của chúng tôi thực sự cần phải biết JavaScript của họ để viết bất kỳ tài liệu làm việc; P
Janusz Skonieczny

1
@Luciano mà kinda hoạt động. Tôi đang thấy một điều kỳ lạ đang xảy ra. Nếu tôi cắt và dán mã từ git, tôi nhận được một trong hai kết quả: không có gì xảy ra hoặc lỗi phân tích cú pháp regex ở dòng 38. Để nó hoạt động, tôi phải 1) cắt và dán mã git từ ngày 10/16 / 17, 2) lưu, 3) thực hiện thủ công các thay đổi theo đề xuất, 4) lưu và chạy như liệt kê ở trên. Tôi nhận thấy một sự khác biệt nhỏ: dòng 38 trong phiên bản của bạn loại bỏ dấu ngoặc đơn xung quanh \ d.
Ginger McMurray

10

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.


Thực dụng làm sao, giải pháp này bị đánh giá thấp.
somethis 17/09/19

Thật vậy, đây là giải pháp TỰ NHIÊN, dễ dàng nhất (nếu bạn vẫn đang trong giai đoạn chỉnh sửa)!
Demis

1
Theo như tôi có thể nói, điều này yêu cầu bạn phải thụt lề với mỗi cấp tiêu đề mà bạn xuống. Có phải như vậy không hay còn cách nào khác?
gavdotnet

1
Vấn đề là: bạn cần sao chép các tiêu đề từ cùng một tài liệu . Nếu bạn sao chép "tiêu đề 1" chẳng hạn từ một tài liệu html khác, mặc dù định dạng "tiêu đề x" được giữ lại, nó sẽ không có số. Điều này có nghĩa là nếu bạn đã có một tài liệu khác với nhiều văn bản mà bạn muốn sao chép-dán, giải pháp của bạn sẽ yêu cầu quá nhiều thao tác thủ công. Hoặc thực ra: cũng vậy nếu bạn đã có một tài liệu và bạn chỉ muốn liệt kê các tiêu đề ở đó.
Hi-Angel

3

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:

  1. Đi tới Nhận tiện ích bổ sung
  2. Tìm kiếm và cài đặt Công cụ Markdown

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:

  1. Chuyển đến mục menu Chèn và chọn Mục lục

Điều này là siêu hữu ích! Tôi sẽ không nghĩ rằng một chức năng đánh số TOC đơn giản sẽ có trong một công cụ đánh dấu, nhưng nó hoạt động rất tốt, cảm ơn!
prrao

1

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".


Xin chào @ jordan2175, tiện ích bổ sung rất tuyệt. Sẽ thật tuyệt nếu TOC mà nó tạo ra có số trang.
David Lopez

0

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.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.