Tôi có thể đánh số tiêu đề trong Google Docs không?


33

Có cách nào để tự động đánh số đề mục trong Google Docs không?

Nó đã từng có thể với CSS nhưng tính năng này không còn được hỗ trợ nữa trong phiên bản Google Docs mới.


Đã thêm google-apps-script vì câu trả lời được chấp nhận sử dụng nó.
Rubén

Câu trả lời:


6

Chà, có vẻ như dễ dàng hơn để làm điều đó bằng cách viết kịch bản tài liệu như thế này:

var pars = DocumentApp.getActiveDocument().getBody().getParagraphs();
var counterh1 = 0;
for(var i=0; i < pars.length; i++) {
    var par = pars[i];
    var hdg = par.getHeading();
    if (hdg == DocumentApp.ParagraphHeading.HEADING1) {
          counterh1++; 
          var content = par.getText();
          var chunks = content.split('\t');
          if(chunks.length > 1) { 
              par.setText(counterh1+'.\t'+chunks[1]); 
          } else {
              par.setText(counterh1+'.\t'+chunks[0]); 
          }
    }
}

1
Bạn nói đúng, kịch bản google rất mạnh mẽ!
Martin Delille

13

Trên thực tế có thể thậm chí không cần chỉnh sửa HTML / CSS. Tôi sẽ cho bạn một ví dụ với một tài liệu trống nhưng một khi bạn tìm ra cách nó hoạt động, bạn sẽ có thể làm điều đó trên tài liệu đã tồn tại. Ngoài ra nếu bạn chưa sử dụng các phím tắt trên bàn phím, tôi sẽ khuyên bạn nên bắt đầu sử dụng chúng (trong ví dụ này tôi đang sử dụng các phím tắt của Mac, nhưng bạn có thể dễ dàng tìm thấy các phím tắt chính xác cho HĐH của chính mình).

  1. Tạo một tài liệu mới
  2. Áp dụng tiêu đề 1 ( ⌘⌥1)
  3. Áp dụng danh sách đánh số ( ⌘⇧7)
  4. Nhập "Đầu tiên" và nhấnReturn
  5. Áp dụng Tiêu đề 1 ( ⌘⌥1), nhập "Thứ hai" và nhấnReturn
  6. Áp dụng Tiêu đề 1 ( ⌘⌥1), nhập "Thứ ba" và nhấnReturn

Tại thời điểm đó, bạn nên có một cái gì đó trông như thế này:

Tiêu đề được đánh số trong Google Docs

  1. Nhận con trỏ của bạn ở cuối tiêu đề đầu tiên
  2. Nhấn Returnhai lần
  3. Nhập "Xin chào thế giới!"
  4. Lặp lại quy trình cho phần còn lại của các tiêu đề

Bây giờ tài liệu của bạn sẽ trông giống như thế này:

Các tiêu đề được đánh số với một số văn bản bổ sung ở giữa

Như bạn có thể nhận thấy việc đánh số tự động vẫn còn đó và bạn có thể dễ dàng thử nghiệm bằng cách thêm nhiều Tiêu đề khác nếu muốn và thậm chí các tiêu đề phụ được đánh số nếu cần. Tôi sẽ không đi sâu vào chi tiết, nhưng ở đây bạn có thể kiểm tra một ví dụ với các danh sách được đánh số lồng nhau với định dạng chính xác cho Tiêu đề:

Ví dụ hoàn chỉnh cho các tiêu đề được đánh số


1
Điều này có vẻ tốt nhưng dường như không đầy đủ chức năng: làm cách nào để thêm tiêu đề 1 mới vào cuối tài liệu? Nếu tôi đặt tiêu đề 1 và sau đó áp dụng danh sách số, nó sẽ bắt đầu đánh số từ 1 ...
Martin Delille

3
@tinmaru Đó là một chút khó khăn .. nhưng vẫn có thể làm được. Đi đến cuối tiêu đề trước mà bạn muốn tiếp tục đánh số, nhấn enter và sau đó áp dụng tiêu đề. Sau đó cắt nó (đừng bận tâm đến số còn lại), đi đến cuối tài liệu và dán nó. Bạn sẽ thấy rằng số này là chính xác ngay bây giờ, vì vậy chỉ cần đi và sửa lỗi trước đó bằng cách xóa tiêu đề trống nếu có.
Lipis

1
Tốt đẹp! Đó là một mánh khóe;)
Martin Delille

@tinmaru nếu câu trả lời hữu ích đừng quên đánh dấu nó;)
Lipis

1
vâng tôi xin lỗi tôi hoàn toàn quên mất Cảm ơn sự giúp đỡ của bạn :)
Martin Delille

2

Tôi biết rằng điều này có thể không còn phù hợp với OP nữa, nhưng giờ đây có thể sử dụng các tiện ích bổ sung. Có một chức năng trong tiện ích Mục lục, trong đó bạn có thể chọn sơ đồ đánh số cho tiêu đề và nó thực hiện theo yêu cầu:

1
1.1
2
2.1
2.1.1

Tôi hy vọng rằng nó sẽ hữu ích cho một cái gì đó.

Liên kết với tiện ích bổ sung

Tuyên bố miễn trừ trách nhiệm: Điều này có thể chỉ hoạt động trên Chrome, nhưng này, ít nhất thì nó cũng hoạt động.

Cách sử dụng: Có một tiện ích ở phía bên tay phải và ở trên cùng của nó, bạn có thể chọn sơ đồ đánh số của mình và làm mới các tiêu đề bằng nút làm mới thông thường.

Vì vậy, chỉ cần đặt sơ đồ đánh số và cập nhật tiêu đề sau khi bạn hoàn thành việc chỉnh sửa và bạn sẽ có các số chính xác và cập nhật section/subsection/....


Xuất sắc. Đối với tôi đây là "câu trả lời". Hoạt động trên Firefox cho tôi.
AronVanAmmers

2

Bây giờ có một tiện ích bổ sung có tên là Heading Numbers mà bạn có thể sử dụng để thêm bất kỳ kiểu đánh số tùy chỉnh nào. Nó cho phép bạn chọn / xác định, cập nhật và xóa số tiêu đề tự động.

Các kiểu được xác định trước:

  • 1.2.3 - Chữ số không có dấu chấm
  • 1.2.3. - Chữ số có dấu chấm
  • abc - Chữ thường
  • ABC - Chữ in hoa
  • i.ii.ii - Chữ thường chữ roman
  • I.II.III - Chữ hoa La Mã
  • 1) a) i) - Thay đổi kiểu theo dấu ngoặc đơn

Tôi đã phát hành tiện ích này vài tuần trước. Kiểm tra nó trên trang chủ của tôi hoặc trong cửa hàng tiện ích bổ sung .


Mục FAQ cho Làm cách nào để thêm số thứ tự tự động? cho biết: "Nếu tiện ích bổ sung được cài đặt, hãy chọn Tiện ích bổ trợ của Cameron -> Số đầu đề trực tiếp, sau đó chọn kiểu của bạn." Nhưng khi thêm nó vào một tài liệu, điều đó đã không xuất hiện. Tôi đã phải tải lại tài liệu trước khi "Số đầu" xuất hiện trong menu. Có lẽ là một lỗi của Google và không phải là lỗi trong ứng dụng Heading Numbers.
bgoodr


1

Hi vọng điêu nay co ich

/*
Credits: 

https://productforums.google.com/forum/#!topic/docs/w4MXeqJaefU
http://webapps.stackexchange.com/questions/23861/header-numbering-in-google-docs

Instructions to use:

In a Google Doc

Go to Tools > Script Editor 
Select the option to create the script for Google Docs.
Replace the Content of Code.gs with the code below.
Save it and name the project as say addHeaderNumbering.
Click play icon for the function addHeaderNumbering (authorize it when asked).

*/

function addHeaderNumbering () {
  var pars = DocumentApp.getActiveDocument().getBody().getParagraphs();
  var counterHeader = [0, 0, 0, 0, 0, 0];

  for(var i=0; i<pars.length; i++) {
    var par = pars[i];
    var hdg = par.getHeading();
    if (hdg == DocumentApp.ParagraphHeading.HEADING1) {

      _addNumberingForHeaderType(DocumentApp.ParagraphHeading.HEADING1, par, 0, counterHeader);
    } else if (hdg == DocumentApp.ParagraphHeading.HEADING2) {
      _addNumberingForHeaderType(DocumentApp.ParagraphHeading.HEADING2, par, 1, counterHeader);
    } else if (hdg == DocumentApp.ParagraphHeading.HEADING3) {
      _addNumberingForHeaderType(DocumentApp.ParagraphHeading.HEADING3, par, 2, counterHeader);
    } else if (hdg == DocumentApp.ParagraphHeading.HEADING4) {
      _addNumberingForHeaderType(DocumentApp.ParagraphHeading.HEADING4, par, 3, counterHeader);
    } else if (hdg == DocumentApp.ParagraphHeading.HEADING5) {
      _addNumberingForHeaderType(DocumentApp.ParagraphHeading.HEADING5, par, 4, counterHeader);
    } else if (hdg == DocumentApp.ParagraphHeading.HEADING6) {
      _addNumberingForHeaderType(DocumentApp.ParagraphHeading.HEADING6, par, 5, counterHeader);
    }
  }
}


function _addNumberingForHeaderType(headerType, paragraph, initIndex, counterHeader) {
  counterHeader[initIndex] = counterHeader[initIndex] + 1;
  var currCounter = _getCurrenNumbering(initIndex, counterHeader);
  for(var ii = initIndex + 1; ii < counterHeader.length; ii++) {
    counterHeader[ii] = 0;
  }
  var content = paragraph.getText();
  var chunks = content.split('. ')

  var result = 'ok'
  if(chunks.length > 1) {

    paragraph.setText(currCounter+'. '+chunks[1]); 
  } else { 
    paragraph.setText(currCounter+'. '+chunks[0]);
  }
}


function _getCurrenNumbering(initIndex, counterHeader) {
  var value = '';
  for ( var i = 0; i <= initIndex; i++) {
    if (value) {
      value += '.';
    }
    value += counterHeader[i];
  }

  return value;
}

1

Tôi đã so sánh nhanh giữa ứng dụng Mục lục và ứng dụng Tiêu đề được đánh số bằng Firefox. Phải thừa nhận rằng thông tin này sẽ trở thành ngày nếu mọi thứ được cải thiện cho cả hai ứng dụng:

  1. Không có trợ giúp trực tuyến để sử dụng ứng dụng Mục lục (chưa bao giờ hoặc đã bị gỡ xuống) Nút trợ giúp chỉ đến một trang cố gắng bán cho bạn với bản dùng thử http: //lumapps-www.appspot. com / en / thay vì cung cấp trợ giúp. Heading Numbers cung cấp Câu hỏi thường gặp tại http://www.lorut.no/add-ons/heading-numbers-for-google-docs/faq/ .
  2. Các ứng dụng Mục lục và Số tiêu đề không kết hợp tốt với nhau về việc đánh số lại các tiêu đề: Tôi đã tạo các tiêu đề được đánh số bằng cách sử dụng Số tiêu đề và áp dụng các tiêu đề tương tự bằng Mục lục và thêm hai bộ số vào các tiêu đề. Tương tự là trường hợp nếu bạn đảo ngược thứ tự bằng cách áp dụng các tiêu đề bằng Mục lục trước, sau đó là Số tiêu đề.
  3. Mục lục không có cùng số kiểu tiêu đề như Số tiêu đề.
  4. Nhưng có thanh phụ trong Mục lục vẫn tiện dụng. Tôi chọn As Is từ thanh bên của Mục lục và có thể nhấp vào nút refresh để xem và điều hướng mục lục.
  5. Heading Numbers có một hoạt động rõ ràng. Mục lục không. Thao tác Clear không khắc phục được sự cố tương tác được mô tả ở trên, điều này khá đau đớn vì bạn phải tự khắc phục chúng.
  6. Không ứng dụng nào cập nhật Mục lục được chèn vào tài liệu (thông qua menu Chèn / Mục lục).
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.