Google Docs / Drive - beri nomor pada judulnya

101

Apakah mungkin memberi nomor pada tajuk di dokumen Google Docs / Drive?

ZehnVon12
sumber
51
Bagaimana ini masih belum didukung secara native?
Janusz Skonieczny

Jawaban:

99

Jika Anda menginginkan sesuatu yang lebih mudah, ada Google Add-On yang disebut "Daftar Isi" yang akan memungkinkan Anda untuk memberi nomor pada tajuk Anda.

Untuk menginstal add-on ini:

  1. Klik pada Add-Ons> Dapatkan Add-Ons.
  2. Klik pada ikon "Daftar Isi" atau cari addon ini untuk menginstalnya

Kemudian Daftar Isi Anda akan muncul di sidebar Anda. Klik menu Format Nomor Judul, dan pilih 1.2.3

Anda harus memformat ulang dokumen Anda jika Anda memiliki yang lama untuk 'menyegarkan' nomornya, tetapi sebenarnya addon tersebut bekerja dengan sangat baik.

Saya telah melihat jawabannya di forum ini .

Aitor
sumber
4
Jika sidebar tidak ditampilkan, buka "Add-ons-> Daftar Isi-> Tampilkan di sidebar" .
Steven Jeuris
3
Saya rasa siapa pun dapat menyebut add-on mereka "Daftar Isi". Jadi tautan ke pengaya sebenarnya sangat membantu. Saya rasa yang Anda maksud adalah yang ini: chrome.google.com/webstore/detail/table-of-contents/…
nealmcb
Bagaimana plugin diinstal - per mesin / browser, per dokumen, per pengguna di google docs? Apa yang terjadi jika orang lain ingin mengedit dokumen?
Sybille Peters
1
Sayangnya, plugin ini sepertinya rusak. Gagal menginstal karena masalah otorisasi. Apakah orang lain mendapatkan hasil yang sama?
gavdotnet
1
@gavdotnet Itu berhasil untuk saya jadi mereka harus memperbaikinya.
codefreak
50

Pembaruan: sekarang tersedia di github .

Pembaruan 2: sekarang menangani judul kosong dan baris kosong berkat 2 permintaan tarik di github.

Pembaruan 3: github dan kode di bawah diperbaiki untuk menangani identifikasi HEADING Dokumen baru.


Saya memodifikasi skrip yang disebutkan oleh Mikko Ohtamaa dan membuat Google Apps Script yang menambahkan menu Dokumen alat Headings yang memungkinkan Anda untuk:

  • nomor otomatis Heading
  • Hapus nomor Judul

Cara nomor otomatis Judul Google Documents:

  1. Buka dokumen Anda> Alat> Editor skrip ...
  2. Mulai proyek kosong
  3. Tempel kode di bawah ini dan simpan dengan nama pilihan Anda
  4. Pilih Jalankan> onOpen dan otorisasi skrip untuk pertama kalinya
  5. Pilih Run> onOpen
  6. Ubah ke Dokumen Anda dan coba fungsi pada menu kustom alat Judul yang dibuat.

~~ Penafian: Anda mungkin memiliki masalah dengan Judul kosong .. Tetapi Anda selalu dapat memperbaikinya dan menjalankan tindakan lagi. ~~

Kode untuk disalin dan ditempel:

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]+/, ''));
    }
  }

}
Luciano
sumber
Saya senang mengetahui @IvanCachicatari Saya berencana membuat versi yang lebih baik untuk diluncurkan sebagai Add-on dengan cara ini kita tidak perlu membuka editor skrip setiap kali ...
Luciano
2
@IvanCachicatari Ide bagus, itu dia! github.com/lpanebr/autoNumberHeadings
Luciano
2
@MrGravity cara untuk mencapainya adalah dengan mengubah skrip menjadi Add-On untuk Google Drive. Saya berencana melakukan itu tetapi saya kehabisan waktu sekarang ..
Luciano
1
Wow! Saya merasa ini 90-dasi lagi. Apakah kita benar-benar membutuhkan skrip untuk melakukan hal mendasar seperti penomoran heading? Sekarang saya mengerti mengapa ada semua inisiatif pemrograman ini - anak-anak kita benar-benar perlu mengetahui JavaScript mereka untuk menulis dokumen kerja apa pun; P
Janusz Skonieczny
1
@ Luciano itu agak berhasil. Saya melihat hal aneh terjadi. Jika saya memotong dan menempelkan kode dari git, saya mendapatkan salah satu dari dua hasil: tidak ada yang terjadi atau kesalahan parse regex pada baris 38. Agar dapat berfungsi, saya harus 1) memotong dan menempelkan kode git dari 10/16 / 17, 2) simpan, 3) lakukan perubahan yang disarankan secara manual, 4) simpan dan jalankan seperti yang tercantum di atas. Saya melihat sedikit perbedaan: baris 38 di versi Anda menghapus tanda kurung di sekitar \ d.
Ginger McMurray
10

Yang harus Anda lakukan adalah menyalin / menempelkan tajuk sebelumnya.

Jika Anda menyalin dan menempel item apa pun dari daftar bernomor, maka penomoran tersebut tetap ada, dan secara otomatis mengubah nomor tersebut dalam kasus yang relevan.

alexkovelsky
sumber
Betapa pragmatis, solusi ini diremehkan.
sekitar
Memang, ini adalah solusi ASLI termudah (jika Anda masih dalam tahap pengeditan)!
Demis
1
Sejauh yang saya tahu, ini mengharuskan Anda membuat indentasi dengan setiap level heading yang Anda turuni. Apakah itu masalahnya atau apakah ada cara lain?
gavdotnet
1
Masalahnya adalah: Anda perlu menyalin heading dari dokumen yang sama . Jika Anda menyalin "heading 1" misalnya dari dokumen html lain, meskipun format "heading x" dipertahankan, nomor tersebut tidak akan ada. Ini berarti bahwa jika Anda sudah memiliki dokumen lain dengan banyak teks yang ingin Anda salin-tempel, solusi Anda akan memerlukan terlalu banyak pekerjaan manual. Atau sebenarnya: sama saja jika Anda sudah memiliki dokumen dan Anda hanya ingin judul di sana disebutkan.
Hi-Angel
5

Sejak penulisan (April 2020), banyak aplikasi yang diusulkan sudah usang atau tidak berfungsi lagi.

Metode untuk judul bernomor yang menurut saya berfungsi adalah sebagai berikut:

  1. Buka Dapatkan add-on
  2. Cari dan instal Alat Markdown

Alat Penurunan Harga memiliki opsi untuk menggunakan judul bernomor. Bekerja seperti pesona dengan Daftar Isi bawaan Google.

Untuk membuat daftar isi:

  1. Buka item menu Sisipkan dan pilih Daftar Isi
Michael ten Den
sumber
Ini sangat berguna! Saya tidak akan mengira bahwa fungsi penomoran TOC sederhana akan ada di alat penurunan harga, tetapi berfungsi dengan baik, terima kasih!
prrao
1

Saya menulis versi untuk melakukan markdown heading, tetapi itu juga mendukung nomor heading biasa juga. Sumbernya ada di sini https://github.com/jordan2175/markdown-tools dan tersedia melalui G Suite Marketplace sebagai "Alat Penurunan Harga".

jordan2175
sumber
Hai @ jordan2175 pengaya ini bagus. Akan lebih baik jika TOC yang dihasilkan memiliki nomor halaman.
David Lopez
0

Pengaya "Daftar Isi" yang disebutkan sebelumnya tidak tersedia mulai hari ini. Saya menginstal satu yang disebut " Alat Penurunan Harga " Setelah diinstal, Anda harus menerapkan gaya tajuk asli dan kemudian pergi ke Add-Ons> Alat Markdown> Nomor Heading dan pilih gaya penomoran yang diinginkan yang akan diterapkan ke semua tajuk di dokumen.

David Lopez
sumber