Antworten:
Wenn Sie es einfacher haben möchten, gibt es ein Google-Add-On namens "Inhaltsverzeichnis" , mit dem Sie Ihre Überschriften nummerieren können.
So installieren Sie dieses Add-On:
Dann sollte Ihr Inhaltsverzeichnis in Ihrer Seitenleiste angezeigt werden. Klicken Sie auf das Menü Überschriftenformat und wählen Sie 1.2.3
Sie müssen Ihr Dokument neu formatieren, wenn Sie ein altes haben, um die Zahlen zu "aktualisieren", aber tatsächlich funktioniert das Addon sehr gut.
Ich habe die Antwort in diesem Forum gesehen .
Update: jetzt in Github verfügbar .
Update 2: Behandelt jetzt leere Überschriften und leere Zeilen dank 2 Pull-Anfragen auf Github.
Update 3: Github und Code unten behoben, um die neue Docs HEADING-Identifikation zu verarbeiten.
Ich habe das von Mikko Ohtamaa erwähnte Skript geändert und ein Google Apps-Skript erstellt, das ein Dokumentmenü mit Überschriften-Tools hinzufügt , mit dem Sie:
So nummerieren Sie automatisch Google Documents-Überschriften:
~~ Haftungsausschluss: Möglicherweise haben Sie Probleme mit leeren Überschriften. Sie können diese jedoch jederzeit beheben und die Aktion erneut ausführen. ~~
Code zum Kopieren und Einfügen:
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]+/, ''));
}
}
}
Sie müssen lediglich die vorherigen Header kopieren / einfügen.
Wenn Sie ein Element der nummerierten Liste kopieren und einfügen, behält es seine Nummerierung bei und ändert die Nummer in relevanten Fällen automatisch.
Seit dem Schreiben (April 2020) sind viele vorgeschlagene Apps veraltet oder funktionieren nicht mehr.
Die Methode für nummerierte Überschriften, die ich gefunden habe, funktioniert wie folgt:
Markdown Tools bietet die Option, nummerierte Überschriften zu verwenden. Funktioniert wie ein Zauber mit dem integrierten Inhaltsverzeichnis von Google.
So erstellen Sie ein Inhaltsverzeichnis:
Ich habe eine Version für Markdown-Überschriften geschrieben, aber sie unterstützt auch einfache Überschriften. Die Quelle ist hier https://github.com/jordan2175/markdown-tools und über den G Suite Marketplace als "Markdown Tools" verfügbar.
Das zuvor erwähnte Add-On "Inhaltsverzeichnis" ist derzeit nicht verfügbar. Ich habe das mit dem Namen " Markdown Tools " installierte installiert. Nach der Installation müssen Sie native Überschriftenstile anwenden und dann zu Add-Ons> Markdown Tools> Überschriften-Nummern gehen und den gewünschten Nummerierungsstil auswählen, der auf alle Überschriften im Dokument angewendet wird.