Чи можу я отримати нумерацію заголовка в Документах Google?


33

Чи є спосіб автоматично нумерувати заголовки в Документах Google?

Раніше це було можливо за допомогою CSS, але ця функція вже не підтримується в новій версії Документів Google.


Додано google-apps-скрипт, оскільки використовується прийнята відповідь.
Рубен

Відповіді:


6

Що ж, здається, простіше зробити це, написавши такий документ:

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
Ви маєте рацію, сценарії google настільки потужні!
Мартін Деллі

13

Насправді це можливо навіть без редагування HTML / CSS. Я надам вам приклад з порожнім документом, але як тільки ви зрозумієте, як він працює, ви зможете це зробити на вже існуючому документі. Також якщо ви вже не використовуєте комбінації клавіш, я б запропонував вам почати їх використовувати (у цьому прикладі я використовую комбінації клавіш Mac, але ви можете легко знайти правильні для вашої власної ОС).

  1. Створіть новий документ
  2. Застосувати заголовок 1 ( ⌘⌥1)
  3. Застосувати нумерований список ( ⌘⇧7)
  4. Наберіть "Спочатку" і натиснітьReturn
  5. Застосуйте Заголовок 1 ( ⌘⌥1), введіть "Друге" та натиснітьReturn
  6. Застосуйте Заголовок 1 ( ⌘⌥1), введіть "Третє" та натиснітьReturn

У цей момент у вас повинно бути щось таке:

Нумеровані заголовки в Документах Google

  1. Отримайте курсор у кінці першого заголовка
  2. Натисніть Returnдвічі
  3. Введіть "Hello World!"
  4. Повторіть процедуру для решти заголовків

Тепер ваш документ повинен виглядати приблизно так:

Пронумеровані заголовки з додатковим текстом між ними

Як ви могли помітити, автоматична нумерація все ще існує, і ви можете легко експериментувати, додаючи більше заголовків за бажанням і навіть нумеровані підзаголовки, якщо потрібно. Я не збираюся детальніше, але тут ви можете перевірити приклад із вкладеними нумерованими списками з правильним форматуванням заголовків:

Повний приклад для нумерованих заголовків


1
Це виглядає приємно, але, здається, не є повністю функціональним: як додати новий заголовок 1 в кінці документа? Якщо я встановити заголовок 1, а потім застосувати список номерів, його почати нумерувати з 1 ...
Мартін Деллі

3
@tinmaru Це трохи хитро .. але все-таки виконується. Перейдіть до кінця попереднього заголовка, у якому потрібно продовжити нумерацію, натисніть клавішу Enter, а потім застосуйте заголовок. Після цього виріжте це (незважаючи на номер, який залишився), перейдіть до кінця документа та вставте його. Ви побачите, що число зараз правильне, тому просто перейдіть і виправте попередню помилку, видаливши порожній заголовок, якщо такий є.
Ліпіс

1
Приємно! Це хитрість;)
Мартін Деллі

@tinmaru, якщо відповідь корисна, не забудьте позначити її;)
Ліпіс

1
так, мені шкода, що я зовсім забув! Дякую за допомогу :)
Мартін Деллі

2

Я знаю, що це може бути вже не актуальним для ОП, але зараз є можливість використовувати додатки. У додатку «Зміст» є функція, де ви можете вибрати схему нумерації для заголовка, і вона виконує необхідні:

1
1.1
2
2.1
2.1.1

Я сподіваюся, що це буде корисно чимось.

Посилання на надбудову

Відмова від відповідальності: це може працювати лише на Chrome, але так, принаймні, це працює.

Як користуватися: у правій частині є віджет, а вгорі ви можете вибрати свою схему нумерації та оновити заголовки звичайною кнопкою оновлення.

Тому просто встановіть схему нумерації та оновіть заголовок після того, як ви закінчите редагування, і ви отримаєте правильні та оновлені section/subsection/...номери.


Відмінно. Для мене це відповідь "". Для мене працює Firefox.
AronVanAmmers

2

Тепер є додаток під назвою Heading Numbers, яке можна використовувати для додавання будь-якого користувальницького стилю нумерації. Це дозволяє вибрати / визначити, оновити та видалити автоматичні номери заголовків.

Заздалегідь визначені стилі:

  • 1.2.3 - Цифри без останньої крапки
  • 1.2.3. - Цифри з крапкою
  • abc - Малі літери
  • ABC - великі літери
  • i.ii.ii - малий римський
  • I.II.III - Верхній роман
  • 1) a) i) - Зміна стилю з наступною дужкою

Я випустив цей додаток пару тижнів тому. Перевірте це на моїй домашній сторінці або в магазині додатків .


FAQ вхід для Як додати автоматичну нумерацію заголовків? каже: "Якщо надбудова встановлена, виберіть" Додатки "->" Номери заголовків ", а потім виберіть свій стиль." Але додавши його до документа, це не з’явилося. Мені довелося перезавантажити документ, перш ніж у меню з'явиться "Заголовок номерів". Можливо, помилка Google, а не помилка у додатку заголовних номерів.
bgoodr


1

Сподіваюся, це допомагає

/*
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

Я зробив швидке порівняння між додатком «Зміст» та додатками «Нумеровані заголовки» за допомогою Firefox. Справді, ця інформація стане датовою, якщо покращиться обидва додатки:

  1. Немає он-лайн довідки щодо використання програми «Зміст» (ніколи її не було, або її зняли) Кнопка довідки вказує на сторінку, яка намагається продати вас з пробною версією http: //lumapps-www.appspot. com / en / замість надання допомоги. Номери заголовків містять поширені запитання на веб- сайті http://www.lorut.no/add-ons/heading-numbers-for-google-docs/faq/ .
  2. Програми "Зміст" та "Номери заголовків" не грають добре разом із переномериванням заголовків: я створив нумеровані заголовки за допомогою заголовних номерів і застосував подібні заголовки за допомогою Змісту, і він додав два заголовки чисел до заголовків. Те саме відбувається, якщо ви скасуєте порядок, застосувавши заголовки спочатку за допомогою Змісту, а потім заголовок номерів.
  3. Зміст не має такої ж кількості стилів заголовка, як і заголовкові номери.
  4. Але наявність бічної смуги в змісті все ще зручно. Я вибираю "Як є" на бічній панелі "Зміст" і можу натиснути кнопку оновлення, щоб побачити вміст і перейти до нього.
  5. Оголошення номерів має чітку операцію. Зміст цього немає. Очищення операції не виправляє описану вище проблему взаємодії, що є досить болючим, оскільки їх потрібно вручну виправити.
  6. Жоден додаток не оновлює Зміст, який вставляється в документ (через меню "Вставити / Зміст").
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.