Wie kann ich mit Python / AWK / SED ein Inhaltsverzeichnis für ein Abschriften-Dokument erstellen?


15

Ich habe das folgende Abschriften-Dokument:

Heading-a
==========

---text---

Heading-b
------------

--- text ---

Heading-c
----------

--- text---

Heading-d
=======

--- text----

Heading-e
---

...

Ich würde gerne ein anklickbares Inhaltsverzeichnis daraus erstellen , ähnlich wie bei LaTex , aber ich kann kein Tool finden, das dies tut, was mir nahelegt, dass wir eines erstellen sollten.

Das Tool sollte 'H1'-Überschriften und' H2'-Überschriften so sammeln, dass es die Nummer 1 Heading-aund die Nummer 1.1 zuweist . bis Heading-b, 1.2. bis Heading-c, 2. bis Heading-d, 2.1. zu Heading-eund so weiter, so dass wir folgendes Inhaltsverzeichnis bekommen sollten:

  1. Heading-a
  1.1. Heading-b
  1.2. Heading-c
  2. Heading-d
  2.1. Heading-e

Wie kann ich das mit Python / AWK / SED machen?


Warum benutzt du nicht einfach LaTeX?
— Jtbandes

4
@jtbandes: Die Syntax von Markdown ist einfacher zu lesen, schneller zu tippen und einfacher zu kompilieren als die von LaTex.
— Léo Léopold Hertz 준영

Antworten:



1

Wenn Sie bereits Überschriften haben, können Sie versuchen, github-markdown-toc ist in der Lage, Standard-, lokale und Remote-Dateien zu verarbeiten, zum Beispiel:

cat ~/projects/Dockerfile.vim/README.md | ./gh-md-toc -

oder ein lokales erstellen README.md:

./gh-md-toc ~/projects/Dockerfile.vim/README.md

0

In diesem Artikel finden Sie einen Vergleich von Lightweight-Markup-Sprachen mit einigen Informationen zu Inhaltsverzeichnissen, die Sie möglicherweise in Richtung einer Lösung führen.


Der Link funktioniert nicht.
— Léo Léopold Hertz 준영

1
Der Link funktioniert bei mir.
— Bis auf weiteres angehalten.

Es scheint der Fall zu sein, dass der ursprüngliche Autor den Blogeintrag soeben entfernt hat, dass Sie den Artikel in Ihrem Cache haben.
— Léo Léopold Hertz 준영

1
Der Artikel befindet sich im Cache von Google: site: alexandrenotebook.blogspot.com/2008/01/…
— Léo Léopold Hertz 준영
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.