Как я могу создать оглавление для документа уценки с помощью Python / AWK / SED?

17056
Léo Léopold Hertz 준영

У меня есть следующий документ по уценке:

Heading-a ==========  ---text---  Heading-b ------------  --- text ---  Heading-c ----------  --- text---  Heading-d =======  --- text----  Heading-e ---  ... 

Я хотел бы сделать из этого кликабельное оглавление, аналогичное тому, как это делает LaTex, но я не могу найти инструмент, который делает это, что подсказывает мне, что мы должны его создать.

Инструмент должен собирать заголовки 'H1' и заголовки 'H2' так, чтобы он назначал номер 1 Heading-aи номер 1.1. до Heading-b1,2. к Heading-c, 2. к Heading-d, 2.1. к Heading-eи так далее, так что мы должны получить следующую таблицу содержания:

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

Как я могу сделать это с Python / AWK / SED?

14
Почему бы вам просто не использовать LaTeX? jtbandes 15 лет назад 0
@jtbandes: синтаксис Markdown легче читать, быстрее набирать и легче компилировать, чем у LaTex. Léo Léopold Hertz 준영 15 лет назад 4

3 ответа на вопрос

9
Tyler

Реализация Markdown в Python поддерживает расширения, одно из которых включает создание оглавления. Кроме того, Pandoc (который представляет собой разметку на Haskell-> PDF, поддерживает разметку (в дополнение к множеству других форматов) и может выводить красивые HTML, LaTeX, PDF-файлы и т. Д.

Ваш ответ вызвал еще одну проблему при установке расширений в ветке http://superuser.com/questions/13075/to-install-markdowns-extensions-by-python. Léo Léopold Hertz 준영 15 лет назад 0
2
resultsway

Если у вас уже есть заголовки, вы можете попробовать github-markdown-toc в состоянии обрабатывать стандартные, локальные и удаленные файлы, например:

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

или создание локального README.md:

./gh-md-toc ~/projects/Dockerfile.vim/README.md 
0
Dennis Williamson

В этой статье приведено сравнение облегченных языков разметки с некоторой информацией о содержании, которая может привести вас к решению.

Ссылка не работает. Léo Léopold Hertz 준영 15 лет назад 0
Ссылка у меня работает. Dennis Williamson 15 лет назад 1
Похоже, это тот случай, когда оригинальный автор только что удалил запись в блоге, так что у вас есть статья в вашем кэше. Léo Léopold Hertz 준영 15 лет назад 0
Статью можно найти в кеше Google: сайт: http: //alexandrenotebook.blogspot.com/2008/01/textile-vs-markdown-vs-multimarkdown-vs_10.html Léo Léopold Hertz 준영 15 лет назад 1