É possível numerar os títulos em um documento do Google Docs / Drive?
Respostas:
Se você quiser algo mais fácil, existe um complemento do Google chamado "Índice" que permite numerar seus títulos.
Para instalar este add-on:
Em seguida, seu índice deve aparecer na barra lateral. Clique no menu Formato de Números de Cabeçalho e escolha 1.2.3
Você tem que reformatar seu documento se tiver um antigo para 'atualizar' os números, mas na verdade o addon funciona muito bem.
Eu vi a resposta neste fórum .
Atualização: agora disponível no github .
Atualização 2: agora lidando com cabeçalhos vazios e linhas em branco graças a 2 solicitações de pull no github.
Atualização 3: github e código abaixo corrigidos para lidar com a nova identificação de HEADING do Docs.
Modifiquei o script mencionado por Mikko Ohtamaa e criei um Script do Google Apps que adiciona um menu de documentos de ferramentas de títulos que permite:
Como numerar automaticamente os títulos dos documentos do Google:
~~ Aviso de isenção: você pode ter problemas com títulos vazios .. Mas você sempre pode corrigi-los e executar a ação novamente. ~~
Código para copiar e colar:
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]+/, ''));
}
}
}
Tudo que você precisa fazer é copiar / colar os cabeçalhos anteriores.
Se você copiar e colar qualquer item da lista numerada, ele manterá sua numeração e mudará automaticamente o número nos casos relevantes.
Desde que foi escrito (abril de 2020), muitos aplicativos propostos estão obsoletos ou não funcionam mais.
O método para títulos numerados que descobri funcionar é o seguinte:
As ferramentas de marcação têm a opção de usar títulos numerados. Funciona perfeitamente com o Índice integrado do Google.
Para criar um índice analítico:
Eu escrevi uma versão para fazer cabeçalhos de marcação, mas também oferece suporte a números de cabeçalho simples. A fonte está aqui https://github.com/jordan2175/markdown-tools e está disponível no G Suite Marketplace como "Markdown Tools".
O add-on mencionado anteriormente "Índice" não está disponível a partir de hoje. Eu instalei o chamado " Ferramentas de Markdown ". Depois de instalado, você deve aplicar estilos de título nativos e ir para Add-Ons> Ferramentas de Markdown> Números de título e escolher o estilo de numeração desejado que será aplicado a todos os títulos no documento.