È possibile numerare le intestazioni in un documento Google Docs / Drive?
Risposte:
Se vuoi qualcosa di più semplice, c'è un add-on di Google chiamato "Table of Contents" che ti permetterà di numerare i tuoi titoli.
Per installare questo componente aggiuntivo:
Quindi il tuo sommario dovrebbe apparire nella barra laterale. Fare clic sul menu Formato numeri di intestazione e scegliere 1.2.3
Devi riformattare il tuo documento se ne hai uno vecchio per "aggiornare" i numeri, ma in realtà l'addon funziona molto bene.
Ho visto la risposta in questo forum .
Aggiornamento: ora disponibile in GitHub .
Aggiornamento 2: ora gestisce intestazioni vuote e righe vuote grazie a 2 richieste pull su GitHub.
Aggiornamento 3: gitHub e codice sottostante corretti per gestire la nuova identificazione dell'INTESTAZIONE di Documenti.
Ho modificato lo script menzionato da Mikko Ohtamaa e ho creato uno script di Google Apps che aggiunge un menu Documento degli strumenti delle intestazioni che ti consente di:
Come numerare automaticamente le intestazioni dei documenti di Google:
~~ Dichiarazione di non responsabilità: potresti avere problemi con i titoli vuoti .. Ma puoi sempre risolverli ed eseguire di nuovo l'azione. ~~
Codice da copiare e incollare:
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]+/, ''));
}
}
}
Tutto quello che devi fare è copiare / incollare le intestazioni precedenti.
Se copi e incolli qualsiasi elemento dell'elenco numerato, mantiene la sua numerazione e cambia automaticamente il numero nei casi pertinenti.
Dalla scrittura (aprile 2020), molte app proposte sono obsolete o non funzionano più.
Il metodo per le intestazioni numerate che ho trovato funzionante è il seguente:
Markdown Tools ha un'opzione per utilizzare intestazioni numerate. Funziona a meraviglia con il sommario integrato di Google.
Per creare un sommario:
Ho scritto una versione per creare titoli di markdown, ma supporta anche i numeri di intestazione semplici. La fonte è qui https://github.com/jordan2175/markdown-tools ed è disponibile tramite G Suite Marketplace come "Markdown Tools".
Il già citato add-on "Sommario" non è disponibile a partire da oggi. Ho installato quello chiamato " Strumenti Markdown " Una volta installato, è necessario applicare stili di intestazione nativi e poi andare su Add-Ons> Strumenti Markdown> Numeri di intestazione e scegliere lo stile di numerazione desiderato che verrà applicato a tutte le intestazioni nel documento.