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.
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.
Respostas:
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]);
}
}
}
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
)⌘⇧7
)Return
⌘⌥1
), digite "Segundo" e pressioneReturn
⌘⌥1
), digite "Terceiro" e pressioneReturn
Nesse ponto, você deve ter algo parecido com isto:
Return
duas vezesAgora, seu documento deve ser algo como isto:
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:
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 .
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:
Lancei este complemento há algumas semanas. Confira na minha página inicial ou na loja de complementos .
O que eu estava procurando era obter os títulos assim:
1
1.1
1.1.1
1.1.1.1
etc
e como não encontrei, criei meu próprio script. Publiquei aqui http://productforums.google.com/forum/#!topic/docs/w4MXeqJaefU
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;
}
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: