[cstex] prostredi na resene priklady

Zdenek Wagner zdenek.wagner at gmail.com
Thu Apr 5 17:10:59 CEST 2007


5.4.07, Tomas Davidek <Tomas.Davidek at cern.ch>:
> Dobry den,
>    rad bych se zeptal zda nekdo nemate makro na sazeni resenych
> prikladu?  Jde mi o to, ze v textu chci mit zadani prikladu, jejich
> reseni pak uvedena bud na konci kapitoly nebo na konci celeho dokumentu.
>
Ja pouzivam trochu podobne nasledujici makra, ktera se opiraji o verbatim.sty:

\newwrite\mac at write

\providecommand\macdef{\@bsphack
  \immediate \openout \mac at write bul.mac
  \catcode `\-=12
  \let\do\@makeother\dospecials
  \catcode `\^^M\active
  \def\verbatim at processline{%
    \immediate \write \mac at write{\the\verbatim at line}}
  \verbatim at start}

\def\endmacdef{%
  \immediate \closeout \mac at write
  \@esphack}

Idea je takova, ze vse, co se uvede mezi:

\begin{macdef}
...
\end{macdef}

se zapisuje do souboru bul.mac, ktery pak na jinem miste nactu pomoci
\input{bul.mac}. Kdyz zmenite nazev z konstantniho bul.mac, muzete
kazdy priklad zapsat do samostatneho souboru. Pak si na zacatku
kapitoly (nebo knihy) otevrete soubor reseni.tex pro zapis:

\immediate\openout\reseni reseni.tex

(samozrejme musi byt deklarovano \newwrite\reseni)

Predpokladejme, ze jmeno souboru, kam zapisujete reseni aktualniho
prikladu, je v makru \priklad, takze ve vyse uvedenem makru jste misto
otvirani konstantniho bul.mac napsal:

\immediate\openout\mac at write\priklad

Po zapsani prikladu do souboru (tj. pred \@esphack) pridate:

\immediate\write\reseni{\string\input{\priklad}

Na konci kapitoly (nebo knihy) napisete:

\immediate\closeout\reseni
\input{reseni}


> Zatim jsem si vytvoril jednoduche prostredi:
> \newcounter{priklad}[chapter]
> \renewcommand{\thepriklad}{\arabic{chapter}.\arabic{priklad}}
> \newenvironment{priklad}{\refstepcounter{priklad}}{}
> \newcommand{\zadani}[1]{{\flushleft\underline{Příklad~\thepriklad}:} {#1}}
> \newcommand{\reseni}[1]{{\flushleft\underline{Řešení}:} {#1}}
>
> zadavam pak:
> \begin{priklad}
> \zadani{Toto je zadani prikladu....}
> \reseni{Reseni prikladu, ktere by se melo vysazet az na konec kapitoly
> nebo celeho dokumentu}
> \end{priklad}
>
> Muzete me prosim poradit nebo nejak nasmerovat ? Hledal jsem v archivu
> konference, ale zatim jsem nic podobneho neobjevil.
>
> Diky, zdravi
>                           Tomas Davidek
> _______________________________________________
> csTeX mailing list
> csTeX at cs.felk.cvut.cz
> http://lists.felk.cvut.cz/mailman/listinfo/cstex
>


-- 
Zdeněk Wagner
http://hroch486.icpf.cas.cz/wagner/
http://icebearsoft.euweb.cz




More information about the csTeX mailing list