Zapoctovy test, 8. 2. 2010 od 9:00

Předmět zaměřený na praktické programování v jazyku a prostředí Java
Uživatelský avatar
goophy
Matfyz(ák|ačka) level I
Příspěvky: 12
Registrován: 30. 9. 2007 17:22
Typ studia: Informatika Mgr.
Kontaktovat uživatele:

Zapoctovy test, 8. 2. 2010 od 9:00

Příspěvek od goophy »

Zadani:

----------------
-- Latex2HTML --
----------------

Cilem je napsat program, ktery umozni transformaci LaTeX souboru do HTML.
Program by mel byt schopen transformovat vybranou skupinu prikazu do HTML tagu. Zbytek prikazu by mel ignorovat.

Latex soubor (resp. program) je textovy soubor obsahujici ruzne formatovaci prikazy.

Prikazy maji formu:

azev_prikazu

azev_prikazu{povinny_parametr}
* nazev prikazu je libovolna sekvence [a-zA-Z0-9]
* parametr je text, ktery muze obsahovat dalsi Latex prikazy (!)

Poznamka pro znale TeXu: neni treba se zabyvat prostredimi a jejich vnorovanim!

=============================
Transformacni pravidla:
=============================

-----------
Komentare:
-----------
% libovolny text
- znak '%' uvozuje komentar, text az do konce radky je ignorovan

---------
Dokument
---------
\begin{document}
- zacatek textu dokumentu
- vystup je <body>

\end{document}
- konec textu dokument
- vystup je </body>

Poznamka: vsechen text uvozeny mezi \begin{document},\end{document} bude ve vyslednem HTML ulozen jako obsah tagu <body>...</body>

-------------------
Volitelne prikazy
-------------------

ewcommand{
azev_prikazu}{definice prikazu}
- nadefinuje novy Latex prikaz bez parametru (tj. volani bude
azev_prikazu)
- definice prikazu muze obsahovat libovolne prikazy definovane nize (definice
ewcommand se ale nesmi vnorovat do sebe)


ewcommand{
azev_prikazu}[n]{definice prikazu}
- nadefinuje novy Latex prikaz s 'n' parametry
- volani takoveho prikazu bude:

azev_prikazu{hodnota_param_1}{hodnota_param_2}..{hodnota_param_n}
- v definici prikazu se na parametry odkazuje pres # (napr. #1 - je odkaz na 1. parametr prikazu)
-
ewcommand{\PREC}[2]{\textbf{#1}:"\emph{#2}"}, volani prikazu \PREC{TODO}{dodelat zadani testu}

----------------
Import dokumentu
----------------
\input{file.tex}
- naimportuje do aktualne zpracovaneho textu soubor 'file.tex' a ten zpracuje

--------------------
Struktura dokumentu
--------------------
\section{nazev}
- prikazy pro formatovani sekce
- 'nazev' je prosty text => neobsahuje zadne dalsi prikazy
- vystup je '<h2>X nazev</h2>', kde X je poradi sekce ve zdrojaku

\subsection{nazev}
- prikaz pro formatovani podsekce
- 'nazev' je prosty text => neobsahuje zadne dalsi prikazy
- vystup je '<h3>X. Y nazev</h3>', kde X je poradi sekce, kde je podsekce definovana, Y je poradi podsekce

\subsubsection{nazev}
- prikaz pro formatovani podpodsekce
- 'nazev' je prosty text => neobsahuje zadne dalsi prikazy
- vystup je '<h4>X. Y. Z nazev</h4>', kde X je poradi sekce, kde je podpodsekce definovana, Y je poradi podsekce, Z. je poradi podpodsekce

Poznamka: je nutne si udrzovat pocitadla pro ruzne druhy sekci a spravne je menit!

---------------------
Formatovaci prikazy
---------------------
\\
- nasilny zlom radku
- vystup je <br />

\title{text}
- nadefinuje nadpis clanku
- nic nesazi
- text muze obsahovat formatovaci prikazy

\maketitle
- vysazi 'text' definovany pomoci \title{text}
- vystup je <h1>text</h1>
- doplni do hlavicky vystupniho dokumentu tag <title>text</title>

\emph{text}
\textit{text}
- vysazi 'text' italikou
- pozor 'text' muze obsahovat dalsi Latex prikaz \textbf
- vystup <i>text</i>

\textbf{text}
- vysazi 'text' tucne
- pozor 'text' muze obsahovat dalsi Latex prikazy \textit, \emph
- vystup <b>text</b>

---------------
odstavce textu
---------------
- po prikazu \begin{...},\section,\subsection,\subsubsection zacina odstavec textu
- odstavec textu konci \end{..}, \section, \subsection, \subsubsection
- odstavce textu jsou oddeleny prazdnou radkou
- vystup je <p>blok textu odstavce</p>
- viz input.tex

Vse ostatni by vas program mel ignorovat.
Tj. na vstupu je prikaz \texttt{neco} tak vystupem bude prazdny retezec.

==================================
Vstup:
- vstupni latex soubor

Vystup:
- HTML soubor vznikly transformaci vstupniho tex-souboru podle zadanych pravidel. Hlavicka HTML souboru najdete v souboru output_empty.html.

Pouziti programu:
latex2html [-f <latex-file>] [-o <html-file>]
-f : specifikuje vstupni latex soubor. Pokud neni zadan, bere se standardni vstup.
-o : specifikuje vystupni html soubor. Pokud neni zadan, vypisuje se na standardni vystup.

-------------------
Ukazkovy vstup/vystup:
viz prilozene soubory
Odpovědět

Zpět na „PGR013 Java“