|
|
|
40 баллов
|
|
|
|
|
|
|
|
LaTeX - [продвинутая система компьютерной верстки текста](https://www.latex-project.org/about/), основанная на TeX
|
|
|
|
|
|
|
|
## Задача ##
|
|
|
|
|
|
|
|
- Реализовать парсер ограниченного подмножества языка (набора команд) LaTeX
|
|
|
|
- Реализовать визитор по синтаксическому дереву, который бы выводил исходный документ в формате Markdown (том же, на котором написана эта вики)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Пример:
|
|
|
|
|
|
|
|
```
|
|
|
|
\documentclass{article}
|
|
|
|
\title{Cartesian closed categories and the price of eggs}
|
|
|
|
\author{Jane Doe}
|
|
|
|
\date{September 1994}
|
|
|
|
\begin{document}
|
|
|
|
\maketitle
|
|
|
|
\it{Hello} \textbf{world}!
|
|
|
|
\end{document}
|
|
|
|
```
|
|
|
|
|
|
|
|
это нужно преобразовать в:
|
|
|
|
|
|
|
|
```
|
|
|
|
# Cartesian closed categories and the price of eggs #
|
|
|
|
|
|
|
|
by Jane Doe
|
|
|
|
|
|
|
|
September 1994
|
|
|
|
***
|
|
|
|
|
|
|
|
_Hello_ **world**!
|
|
|
|
```
|
|
|
|
что превращается в:
|
|
|
|
|
|
|
|
# Cartesian closed categories and the price of eggs #
|
|
|
|
|
|
|
|
by Jane Doe
|
|
|
|
|
|
|
|
September 1994
|
|
|
|
***
|
|
|
|
|
|
|
|
_Hello_ **world**! |
|
|
|
\ No newline at end of file |