Kann ich in Google Text & Tabellen eine Kopfzeilennummerierung erhalten?


33

Gibt es eine Möglichkeit, Überschriften in Google Text & Tabellen automatisch zu nummerieren?

Früher war das mit CSS möglich, aber diese Funktion wird in der neuen Version von Google Text & Tabellen nicht mehr unterstützt.


Google-Apps-Skript hinzugefügt, da die akzeptierte Antwort es verwendet.
Rubén,

Antworten:


6

Nun, es scheint einfacher zu sein, das Dokument wie folgt zu skripten:

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]); 
          }
    }
}

1
Sie haben Recht, Google Scripting ist so mächtig!
Martin Delille

13

Eigentlich ist es auch ohne Bearbeitung des HTML / CSS möglich. Ich gebe Ihnen ein Beispiel mit einem leeren Dokument, aber sobald Sie herausgefunden haben, wie es funktioniert, können Sie es auf einem bereits vorhandenen Dokument ausführen. Auch wenn Sie die Tastaturkürzel noch nicht verwenden, empfehle ich Ihnen, sie zu verwenden (in diesem Beispiel verwende ich die Mac-Tastaturkürzel, aber Sie können leicht die richtigen für Ihr eigenes Betriebssystem finden).

  1. Erstellen Sie ein neues Dokument
  2. Überschrift 1 anwenden ( ⌘⌥1)
  3. Nummerierte Liste anwenden ( ⌘⇧7)
  4. Geben Sie "First" ein und drücken SieReturn
  5. Übernehmen Sie Überschrift 1 ( ⌘⌥1), geben Sie "Second" ein und drücken SieReturn
  6. Übernehmen Sie Überschrift 1 ( ⌘⌥1), geben Sie "Third" ein und drücken SieReturn

An diesem Punkt sollten Sie etwas haben, das so aussieht:

Nummerierte Überschriften in Google Text & Tabellen

  1. Holen Sie sich Ihren Cursor am Ende der ersten Kopfzeile
  2. Drücken Sie Returnzweimal
  3. Tippe "Hallo Welt!"
  4. Wiederholen Sie den Vorgang für die restlichen Header

Jetzt sollte Ihr Dokument ungefähr so ​​aussehen:

Nummerierte Überschriften mit zusätzlichem Text dazwischen

Wie Sie vielleicht bemerkt haben, ist die automatische Nummerierung immer noch vorhanden, und Sie können problemlos experimentieren, indem Sie nach Belieben weitere Überschriften und bei Bedarf sogar Unterüberschriften hinzufügen. Ich gehe nicht weiter auf Details ein, aber hier können Sie ein Beispiel mit verschachtelten nummerierten Listen mit der richtigen Formatierung für Überschriften überprüfen:

Vollständiges Beispiel für nummerierte Überschriften


1
Das sieht gut aus, scheint aber nicht voll funktionsfähig zu sein: Wie füge ich eine neue Überschrift 1 am Ende des Dokuments hinzu? Wenn ich die Überschrift 1 setze und dann die Nummernliste
Martin Delille

3
@tinmaru Das ist ein bisschen knifflig .. aber immer noch machbar. Gehen Sie zum Ende der vorherigen Überschrift, in der Sie die Nummerierung fortsetzen möchten, drücken Sie die Eingabetaste und wenden Sie dann die Überschrift an. Schneiden Sie das dann aus (ohne Rücksicht auf die Zahl, die zurückbleibt), gehen Sie zum Ende des Dokuments und fügen Sie es ein. Sie werden sehen, dass die Nummer jetzt korrekt ist. Beheben Sie also einfach den vorherigen Fehler, indem Sie die leere Kopfzeile löschen, falls vorhanden.
Lipis

1
Nett! Das ist ein Trick;)
Martin Delille

@ Tinmaru, wenn die Antwort hilfreich ist, vergessen Sie nicht, es zu markieren;)
Lipis

1
Ja, tut mir leid, ich habe es total vergessen! Vielen Dank für Ihre Hilfe :)
Martin Delille

2

Ich weiß, dass dies möglicherweise nicht mehr für das OP relevant ist, aber es besteht jetzt die Möglichkeit, Add-Ons zu verwenden. Es gibt eine Funktion im Inhaltsverzeichnis-Add-On, mit der Sie das Nummerierungsschema für die Überschrift auswählen können und die folgenden Aufgaben ausführen können:

1
1.1
2
2.1
2.1.1

Ich hoffe, dass es etwas nützen wird.

Link zum Add-On

Haftungsausschluss: Dies funktioniert möglicherweise nur in Chrome, aber hey, zumindest funktioniert es.

Verwendung: Auf der rechten Seite befindet sich ein Widget. Oben können Sie Ihr Nummerierungsschema auswählen und die Überschriften mit der üblichen Schaltfläche "Aktualisieren" aktualisieren.

Stellen Sie einfach das Nummerierungsschema ein und aktualisieren Sie die Überschrift, nachdem Sie mit der Bearbeitung fertig sind. Sie erhalten dann korrekte und aktualisierte section/subsection/...Nummern.


Ausgezeichnet. Für mich ist das "die" Antwort. Funktioniert mit Firefox für mich.
AronVanAmmers

2

Jetzt gibt es ein Add-On mit der Bezeichnung Überschriften , mit dem Sie einen beliebigen benutzerdefinierten Nummerierungsstil hinzufügen können. Hier können Sie automatische Überschriftennummern auswählen / definieren, aktualisieren und entfernen.

Vordefinierte Stile:

  • 1.2.3 - Ziffern ohne nachgestellten Punkt
  • 1.2.3. - Ziffern mit abschließendem Punkt
  • abc - Kleinbuchstaben
  • ABC - Großbuchstaben
  • i.ii.ii - Roman in Kleinbuchstaben
  • I.II.III - Großbuchstaben römisch
  • 1) a) i) - Ändern des Stils, gefolgt von einer Klammer am Ende

Ich habe dieses Add-On vor ein paar Wochen veröffentlicht. Schau es dir auf meiner Homepage oder im Add-On Store an .


Der FAQ- Eintrag für Wie füge ich eine automatische Überschriften-Nummerierung hinzu? sagt: "Wenn das Add-On installiert ist, wählen Sie" Add-Ons "->" Überschriften "und wählen Sie dann Ihren Stil." Beim Hinzufügen zu einem Dokument wurde dies jedoch nicht angezeigt. Ich musste das Dokument neu laden, bevor "Überschriften" im Menü angezeigt wurde. Wahrscheinlich ein Google-Fehler und kein Fehler in der Überschriften-App.
bgoodr


1

Hoffe das hilft

/*
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;
}

1

Ich habe mit Firefox einen schnellen Vergleich zwischen der Inhaltsverzeichnis-App und den Apps für nummerierte Überschriften durchgeführt. Zugegebenermaßen werden diese Informationen veraltet sein, wenn sich die Dinge für beide Apps verbessern:

  1. Es gibt keine Online-Hilfe für die Verwendung der Inhaltsverzeichnis-App (entweder wurde sie nie oder wurde sie nicht mehr angezeigt ). Die Hilfe-Schaltfläche verweist auf eine Seite, die versucht, Sie mit einer Testversion auf den neuesten Stand zu bringen. com / en / anstatt Hilfe zu leisten. Unter http://www.lorut.no/add-ons/heading-numbers-for-google-docs/faq/ finden Sie häufig gestellte Fragen zu Überschriften .
  2. Die Apps "Inhaltsverzeichnis" und "Überschriften" lassen sich bei der Neunummerierung der Überschriften nicht gut miteinander kombinieren: Ich habe mit Überschriftennummern nummerierte Überschriften erstellt und mit "Inhaltsverzeichnis" ähnliche Überschriften angewendet und zwei Sätze von Nummern in die Überschriften eingefügt. Gleiches gilt, wenn Sie die Reihenfolge umkehren, indem Sie zuerst die Überschriften mit dem Inhaltsverzeichnis und dann die Überschriftennummern anwenden.
  3. Das Inhaltsverzeichnis hat nicht die gleiche Anzahl von Überschriftenstilen wie die Überschriftennummern.
  4. Aber die Seitenleiste im Inhaltsverzeichnis ist immer noch praktisch. Ich wähle in der Seitenleiste "Inhaltsverzeichnis" die Option "Wie besehen" aus und kann auf die Schaltfläche "Aktualisieren" klicken, um das Inhaltsverzeichnis anzuzeigen und darin zu navigieren.
  5. Überschriften haben eine Löschoperation. Inhaltsverzeichnis nicht. Die Operation Löschen behebt das oben beschriebene Interaktionsproblem nicht. Dies ist sehr schmerzhaft, da Sie es manuell beheben müssen.
  6. Keine der Apps aktualisiert ein Inhaltsverzeichnis, das in das Dokument eingefügt wird (über das Menü Einfügen / Inhaltsverzeichnis).
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.