Google Docs / Drive - ใส่หมายเลขหัวเรื่อง


คำตอบ:


100

หากคุณต้องการสิ่งที่ง่ายกว่านี้มีส่วนเสริมของ Google ที่เรียกว่า"สารบัญ"ที่จะช่วยให้คุณสามารถกำหนดหมายเลขหัวเรื่องของคุณได้

ในการติดตั้งโปรแกรมเสริมนี้:

  1. คลิกที่ Add-Ons> Get Add-Ons
  2. คลิกที่ไอคอน "สารบัญ" หรือค้นหาส่วนเสริมนี้เพื่อติดตั้ง

จากนั้นสารบัญของคุณควรปรากฏในแถบด้านข้างของคุณ คลิกที่เมนู Heading Numbers Format แล้วเลือก 1.2.3

คุณต้องฟอร์แมตเอกสารของคุณใหม่หากคุณมีเอกสารเก่าเพื่อที่จะ 'รีเฟรช' ตัวเลข แต่จริงๆแล้วส่วนเสริมนั้นทำงานได้ดีมาก

ฉันเคยเห็นคำตอบในฟอรัมนี้


4
ในกรณีที่แถบด้านข้างจะไม่แสดงให้ไปที่"Add-ons-> ตาราง contents-> แสดงในแถบด้านข้าง"
Steven Jeuris

3
ฉันคิดว่าใคร ๆ ก็สามารถเรียกส่วนเสริมของพวกเขาว่า "สารบัญ" ได้ ดังนั้นลิงก์ไปยังส่วนเสริมจริงจึงมีประโยชน์ ฉันเดาว่าคุณหมายถึงอันนี้chrome.google.com/webstore/detail/table-of-contents/…
nealmcb

ปลั๊กอินติดตั้งอย่างไร - ต่อเครื่อง / เบราว์เซอร์ต่อเอกสารต่อผู้ใช้บน Google เอกสาร จะเกิดอะไรขึ้นหากผู้อื่นต้องการแก้ไขเอกสาร
Sybille Peters

1
น่าเสียดายที่ดูเหมือนว่าปลั๊กอินนี้จะเสีย ไม่สามารถติดตั้งได้เนื่องจากปัญหาการอนุญาต คนอื่นได้รับผลลัพธ์เดียวกันหรือไม่?
gavdotnet

1
@gavdotnet มันใช้ได้ผลสำหรับฉันดังนั้นพวกเขาจึงต้องแก้ไขมัน
codefreak

50

ปรับปรุง:ตอนนี้ที่มีอยู่ในGitHub

อัปเดต 2:ตอนนี้จัดการส่วนหัวและบรรทัดว่างด้วยคำขอดึง 2 รายการบน github

อัปเดต 3: github และโค้ดด้านล่างได้รับการแก้ไขเพื่อจัดการกับการระบุหัวเอกสาร


ฉันแก้ไขสคริปต์ที่กล่าวถึงโดย Mikko Ohtamaaและสร้าง Google Apps Script ที่เพิ่มเมนูเอกสารของHeadings toolsที่ช่วยให้คุณ:

  • หัวเรื่องหมายเลขอัตโนมัติ
  • ล้างหมายเลขหัวเรื่อง

วิธีใส่หมายเลข Google Documents Headings โดยอัตโนมัติ:

  1. เปิดเอกสารของคุณ> เครื่องมือ> ตัวแก้ไขสคริปต์ ...
  2. เริ่มโปรเจ็กต์เปล่า
  3. วางโค้ดด้านล่างและบันทึกด้วยชื่อที่คุณต้องการ
  4. เลือก Run> onOpen และอนุญาตสคริปต์เป็นครั้งแรก
  5. เลือก Run> onOpen
  6. เปลี่ยนเป็นเอกสารของคุณและลองใช้ฟังก์ชันบนเมนูกำหนดเองของเครื่องมือหัวเรื่องที่สร้างขึ้น

~~ คำเตือน:คุณอาจมีปัญหากับหัวข้อที่ว่างเปล่า .. แต่คุณสามารถแก้ไขและเรียกใช้การดำเนินการอีกครั้งได้ตลอดเวลา ~~

รหัสเพื่อคัดลอกและวาง:

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

}

ฉันดีใจที่ได้รู้จัก @IvanCachicatari ฉันวางแผนที่จะสร้างเวอร์ชันที่ปรับปรุงแล้วเพื่อเปิดตัวเป็น Add-on ด้วยวิธีนี้เราไม่จำเป็นต้องเปิดโปรแกรมแก้ไขสคริปต์ทุกครั้ง ...
Luciano

2
@IvanCachicatari ความคิดที่ดีคุณมีมัน! github.com/lpanebr/autoNumberHeadings
Luciano

2
@MrGravity วิธีที่จะบรรลุคือการแปลงสคริปต์เป็นAdd-On สำหรับ Google Driveฉันวางแผนที่จะทำเช่นนั้น แต่หมดเวลาแล้ว ..
Luciano

1
ว้าว! ฉันรู้สึกเหมือนเป็น 90 ความสัมพันธ์อีกครั้ง เราต้องการสคริปต์เพื่อให้บรรลุสิ่งพื้นฐานเช่นการกำหนดหมายเลขหัวเรื่องหรือไม่? ตอนนี้ฉันเข้าใจแล้วว่าทำไมจึงมีการริเริ่มการเขียนโปรแกรมทั้งหมดนี้ - เด็ก ๆ ของเราจำเป็นต้องรู้ JavaScript เพื่อเขียนเอกสารงานใด ๆ P
Janusz Skonieczny

1
@Luciano ว่านะงาน ฉันเห็นสิ่งแปลก ๆ เกิดขึ้น ถ้าฉันตัดและวางโค้ดจาก git ฉันจะได้ผลลัพธ์หนึ่งในสองผลลัพธ์: ไม่มีอะไรเกิดขึ้นหรือมีข้อผิดพลาดในการแยกวิเคราะห์ regex ที่บรรทัด 38 เพื่อให้มันใช้งานได้ฉันต้อง 1) ตัดและวางโค้ด git จาก 10/16 / 17, 2) บันทึก, 3) ทำการเปลี่ยนแปลงตามที่แนะนำด้วยตนเอง, 4) บันทึกและเรียกใช้ตามรายการด้านบน ฉันสังเกตเห็นความแตกต่างเล็กน้อย: บรรทัด 38 ในเวอร์ชันของคุณจะลบวงเล็บรอบ ๆ \ d
Ginger McMurray

10

สิ่งที่คุณต้องทำคือคัดลอก / วางส่วนหัวก่อนหน้านี้

หากคุณคัดลอกและวางรายการที่มีหมายเลขรายการใด ๆ รายการนั้นจะยังคงหมายเลขไว้และจะเปลี่ยนหมายเลขโดยอัตโนมัติในกรณีที่เกี่ยวข้อง


วิธีการแก้ปัญหานี้ได้รับการประเมินต่ำ
somethis

อันที่จริงนี่เป็นวิธีแก้ปัญหาที่ง่ายที่สุดและเป็นธรรมชาติ (หากคุณยังอยู่ในขั้นตอนการแก้ไข)!
Demis

1
เท่าที่ฉันสามารถบอกได้สิ่งนี้ต้องการให้คุณเยื้องกับแต่ละระดับหัวเรื่องที่คุณลงไป เป็นเช่นนั้นหรือมีวิธีอื่น?
gavdotnet

1
ปัญหาคือ: คุณต้องคัดลอกหัวจากเอกสารเดียวกัน หากคุณคัดลอก "ส่วนหัว 1" เช่นจากเอกสาร html อื่นแม้ว่าการจัดรูปแบบ "ส่วนหัว x" จะยังคงอยู่ก็ตามจะไม่มีหมายเลข ซึ่งหมายความว่าหากคุณมีเอกสารอื่นที่มีข้อความจำนวนมากที่คุณต้องการคัดลอกวางโซลูชันของคุณจะต้องใช้การทำงานด้วยตนเองมากเกินไป หรือที่จริง: มันก็เหมือนกันถ้าคุณมีเอกสารอยู่แล้วและคุณแค่ต้องการให้มีการระบุหัวเรื่องไว้ที่นั่น
Hi-Angel

5

ตั้งแต่เขียน (เมษายน 2020) แอพที่เสนอจำนวนมากล้าสมัยหรือไม่ทำงานอีกต่อไป

วิธีการสำหรับส่วนหัวที่มีหมายเลขที่ฉันพบว่าได้ผลมีดังต่อไปนี้:

  1. ไปที่รับส่วนเสริม
  2. ค้นหาและติดตั้งMarkdown Tools

Markdown Tools มีตัวเลือกในการใช้ส่วนหัวที่มีตัวเลข ใช้งานได้อย่างมีเสน่ห์ด้วยสารบัญในตัวของ Google

ในการสร้างสารบัญ:

  1. ไปที่รายการเมนูแทรกแล้วเลือกสารบัญ

มีประโยชน์สุด ๆ ! ฉันไม่คิดว่าฟังก์ชันการกำหนดเลข TOC แบบง่ายๆจะอยู่ในเครื่องมือมาร์กดาวน์ แต่ใช้งานได้ดีขอบคุณ!
ก่อน

1

ฉันเขียนเวอร์ชันสำหรับการทำหัวเรื่อง markdown แต่ก็รองรับหมายเลขหัวเรื่องธรรมดาเช่นกัน แหล่งที่มาอยู่ที่https://github.com/jordan2175/markdown-toolsและมีให้บริการผ่าน G Suite Marketplace ในชื่อ "Markdown Tools"


สวัสดี @ jordan2175 ส่วนเสริมนั้นยอดเยี่ยมมาก จะดีมากถ้า TOC ที่สร้างขึ้นมีหมายเลขหน้า
David Lopez

0

ส่วนเสริม "สารบัญ" ที่กล่าวถึงก่อนหน้านี้ไม่มีให้บริการ ณ วันนี้ ฉันติดตั้งชื่อ " Markdown Tools " เมื่อติดตั้งแล้วคุณต้องใช้สไตล์หัวเรื่องเนทีฟจากนั้นไปที่Add-Ons> Markdown Tools> Heading numbersและเลือกรูปแบบการกำหนดหมายเลขที่ต้องการซึ่งจะนำไปใช้กับส่วนหัวทั้งหมดในเอกสาร

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.