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?

Léo Léopold Hertz 준영
quelle
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:

9

Die Implementierung von Markdown in Python unterstützt Erweiterungen, von denen eine die Erstellung von Inhaltsverzeichnissen umfasst. Darüber hinaus unterstützt Pandoc (ein Haskell-Markup-> PDF) Markdown-Funktionen (neben einer Reihe anderer Formate) und kann hübsches HTML, LaTeX, PDFs usw. ausgeben.

Tyler
quelle
Ihre Antwort hob ein weiteres Problem bei der Installation der Erweiterungen am Gewinde superuser.com/questions/13075/...
Léo Léopold Hertz 준영
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
Ergebnisweg
quelle
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.

Bis auf weiteres angehalten.
quelle
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 준영