Posso obter a numeração do cabeçalho no Google Docs?

33

Existe uma maneira de numerar automaticamente os títulos no Google Docs?

Antes era possível com CSS, mas esse recurso não é mais suportado na nova versão do Google Docs.

Martin Delille
fonte
Adicionado google-apps-script porque a resposta aceita o usa.
Rubén

Respostas:

6

Bem, parece mais fácil fazer isso scriptando o documento assim:

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]); 
          }
    }
}
robert77
fonte
1
Você está certo, o script do google é tão poderoso!
Martin Delille
13

Na verdade, é possível mesmo sem editar o HTML / CSS. Vou dar um exemplo com um documento em branco, mas depois que você descobrir como funciona, poderá fazê-lo em um documento já existente. Além disso, se você ainda não estiver usando os atalhos do teclado, sugiro que você comece a usá-los (neste exemplo, estou usando os atalhos do Mac, mas você pode encontrar facilmente os corretos para o seu próprio sistema operacional).

  1. Crie um novo documento
  2. Aplicar título 1 ( ⌘⌥1)
  3. Aplicar lista numerada ( ⌘⇧7)
  4. Digite "Primeiro" e pressioneReturn
  5. Aplique o Título 1 ( ⌘⌥1), digite "Segundo" e pressioneReturn
  6. Aplique o Título 1 ( ⌘⌥1), digite "Terceiro" e pressioneReturn

Nesse ponto, você deve ter algo parecido com isto:

Cabeçalhos numerados no Google Docs

  1. Coloque o cursor no final do primeiro cabeçalho
  2. Pressione Returnduas vezes
  3. Digite "Olá, mundo!"
  4. Repita o procedimento para o restante dos cabeçalhos

Agora, seu documento deve ser algo como isto:

Cabeçalhos numerados com algum texto extra entre

Como você deve ter notado, a numeração automática ainda está lá e você pode experimentar facilmente adicionando mais cabeçalhos como desejar e até sub-cabeçalhos numerados, se necessário. Não vou entrar em mais detalhes, mas aqui você pode verificar um exemplo com listas numeradas aninhadas com a formatação correta para cabeçalhos:

Exemplo completo para cabeçalhos numerados

Lipis
fonte
1
Parece bom, mas não parece totalmente funcional: como adiciono um novo cabeçalho 1 ao final do documento? Se eu definir a rubrica 1 e, em seguida, aplicar a lista de números que começam a numeração de 1 ...
Martin Delille
3
@tinmaru Isso é um pouco complicado .. mas ainda é possível. Vá para o final do cabeçalho anterior em que deseja continuar a numeração, pressione enter e aplique o cabeçalho. Depois, corte-o (não importa o número que fica para trás), vá para o final do documento e cole-o. Você verá que o número está correto agora, então basta corrigir o erro anterior excluindo o cabeçalho vazio, se houver.
Lipis
1
Agradável! Isso é um truque;)
Martin Delille
@tinmaru se a resposta é útil não se esqueça de marcá-lo;)
Lipis
1
sim me desculpe, eu esqueci totalmente! Obrigado pela vossa ajuda :)
Martin Delille
2

Sei que isso pode não ser mais relevante para o OP, mas agora existe a possibilidade de usar complementos. Há uma função no complemento do Índice, onde você pode selecionar o esquema de numeração para o cabeçalho e ele faz o necessário:

1
1.1
2
2.1
2.1.1

Espero que seja útil para alguma coisa.

Link para o complemento

Isenção de responsabilidade: isso pode estar funcionando apenas no Chrome, mas, pelo menos, funciona.

Como usar: Há um widget no lado direito e, na parte superior, você pode selecionar seu esquema de numeração e atualizar os títulos com o botão de atualização usual.

Portanto, basta definir o esquema de numeração e atualizar o cabeçalho após concluir a edição e você terá section/subsection/...números corretos e atualizados .

gns-ank
fonte
Excelente. Para mim, esta é a "resposta". Funciona no Firefox para mim.
AronVanAmmers
2

Agora, há um complemento chamado Heading Numbers que você pode usar para adicionar qualquer estilo de numeração personalizado. Permite escolher / definir, atualizar e remover números de cabeçalho automáticos.

Estilos predefinidos:

  • 1.2.3 - Dígitos sem ponto final
  • 1.2.3 - Dígitos com ponto à direita
  • abc - Letras minúsculas
  • ABC - Letras maiúsculas
  • i.ii.ii - romano em minúsculas
  • I.II.III - Romano maiúsculo
  • 1) a) i) - Mudança de estilo seguida por um parêntese à direita

Lancei este complemento há algumas semanas. Confira na minha página inicial ou na loja de complementos .

Kristoffer
fonte
A entrada Perguntas freqüentes sobre Como adicionar numeração de cabeçalho automática? diz: "Se o complemento estiver instalado, escolha" Complementos "->" Números de cabeçalho "e escolha seu estilo." Mas ao adicioná-lo a um documento, isso não apareceu. Eu tive que recarregar o documento antes que "Números de cabeçalho" aparecesse no menu. Provavelmente um bug do Google e não um aplicativo no aplicativo Heading numbers.
bgoodr
1

Espero que isto ajude

/*
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;
}
Sai
fonte
1

Fiz uma rápida comparação entre o aplicativo Table of Contents e os aplicativos Numbered Headings usando o Firefox. É certo que essas informações serão antigas se as coisas melhorarem para os dois aplicativos:

  1. Não há ajuda on-line para o uso do aplicativo Table of Contents (ou nunca foi ou foi retirado do ar). O botão de ajuda aponta para uma página que tenta fazer um up-sell com uma versão de avaliação http: //lumapps-www.appspot. com / en / em vez de fornecer ajuda. Os números de cabeçalho fornecem as perguntas frequentes em http://www.lorut.no/add-ons/heading-numbers-for-google-docs/faq/ .
  2. Os aplicativos Table of Contents e Heading Numbers não funcionam bem em termos de renumeração dos títulos: criei títulos numerados usando Heading Numbers e apliquei títulos semelhantes usando Table of Contents, além de adicionar dois conjuntos de números aos títulos. O mesmo acontece se você reverter a ordem aplicando os títulos usando primeiro o Índice e, em seguida, os Números dos títulos.
  3. O Índice não possui o mesmo número de estilos de título que os Números de Título.
  4. Mas ter a barra lateral no Sumário ainda é útil. Eu seleciono Como está na barra lateral do Sumário e posso clicar no botão Atualizar para ver e navegar no Sumário.
  5. Os números de cabeçalho têm uma operação Limpar. O índice não. A operação Clear não corrige o problema de interação descrito acima, o que é bastante doloroso porque você precisa corrigi-los manualmente.
  6. Nenhum dos aplicativos atualiza um Sumário inserido no documento (por meio do menu Inserir / Sumário).
bgoodr
fonte