it-swarm.com.ru

Google Docs / Drive - нумерация заголовков

Можно ли нумеровать заголовки в документе Google Docs/Drive?

66
ZehnVon12

Если вы хотите что-то более простое, есть надстройка Google под названием "Содержание" , которая позволит вам нумеровать заголовки.

Чтобы установить это дополнение:

  1. Нажмите на дополнения> Получить дополнения.
  2. Нажмите на значок "Оглавление" или найдите это дополнение, чтобы установить его

Тогда ваше оглавление должно появиться на боковой панели. Нажмите на меню Формат номеров заголовков и выберите 1.2.3.

Вы должны переформатировать документ, если у вас есть старый, чтобы "обновить" номера, но на самом деле аддон работает очень хорошо.

Я видел ответ на этом форуме .

74
Aitor

Обновление: теперь доступно в github .

Обновление 2: теперь обрабатывает пустые заголовки и пустые строки благодаря 2 запросам pull на github.


Я изменил сценарий, упомянутый Микко Охтамаа и создал скрипт Google Apps, который добавляет инструменты заголовков меню документа, которое позволяет вам :

  • авто номер Заголовок
  • очистить номера заголовков

Как автоматически нумеровать заголовки документов Google:

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

}
37
Luciano

Номера заголовков надстроек Документов Google https://chrome.google.com/webstore/detail/heading-numbers/pomhgonejhponfnckfnonolnciipappm , кажется, работают надежно и имеют множество вариантов. Я предпочитаю это по любому заказному сценарию.

  • используйте меню Документов Google "Дополнения"
  • искать "Заголовок номера"
2
Marc

Все, что вам нужно сделать, это скопировать/вставить предыдущие заголовки.

Если вы копируете и вставляете какой-либо элемент нумерованного списка, он сохраняет свою нумерацию и автоматически изменяет номер в соответствующих случаях.

1
alexkovelsky