Ist es möglich, die Überschriften in einem Google Docs/Drive-Dokument zu nummerieren?
Wenn Sie es etwas einfacher haben möchten, gibt es ein Google Add-On mit dem Namen "Inhaltsverzeichnis" , mit dem Sie Ihre Überschriften nummerieren können.
So installieren Sie dieses Add-On:
Dann sollte Ihr Inhaltsverzeichnis in Ihrer Seitenleiste erscheinen. Klicken Sie auf das Menü Überschriften-Zahlenformat und wählen Sie 1.2.3
Sie müssen Ihr Dokument neu formatieren, wenn Sie ein altes haben, um die Nummern zu aktualisieren, aber das Addon funktioniert tatsächlich sehr gut.
Ich habe gesehen die Antwort in diesem Forum .
Update: jetzt verfügbar in github .
Update 2: behandelt jetzt leere Überschriften und leere Zeilen dank 2 Pull Requests auf Github.
Ich habe das von Mikko Ohtamaa erwähnte Skript geändert und ein Google Apps-Skript erstellt, das ein Überschriften-Tool Dokument-Menü hinzufügt, mit dem Sie:
Automatische Nummerierung von Google Documents-Überschriften:
~~ Haftungsausschluss: Sie haben möglicherweise 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]+/, ''));
}
}
}
Das Google Text & Tabellen-Add-On für Überschriften-Nummern https://chrome.google.com/webstore/detail/heading-numbers/pomhgonejhponfnckfnonolnciipappm scheint die Aufgabe zuverlässig und mit vielen Optionen zu erledigen. Ich bevorzuge dies jedem benutzerdefinierten Skript.
Alles, was Sie tun müssen, ist, vorherige Überschriften zu kopieren/einzufü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.