[cstex] Odložená sazba

marek pomp marek.pomp at gmail.com
Mon Jan 13 14:11:52 CET 2014


Pěkný den,
jak už bylo zmíněno, určitě je možné použít nějaký balík, a nebo sepsat a
upravit
celkem jednoduché řešení kombinací \if a \write, viz následující kód.
(Funguje v plain i LaTeXu.)

Jediný trik, který zasluhuje vysvětlování je, uložit si výsledek (před
zápisem do souboru) jako řadu tokenů, čímž se zabrání předčasné expanzi
některých příkazů.
S pozdravem (doufám, že takto narychlo sepsané to funguje)
Marek Pomp

%%%%%%%%%% deklarace
\newwrite\SouborVysledky
\newif\ifZapisVysledky
\newcount\CitacPriklady
\newtoks\VysledekToken

\def\priklad{\par\medskip
    \advance\CitacPriklady by 1
    \noindent\the\CitacPriklady.\quad}
\def\endpriklad{\par\medskip}

\def\vysledek#1\endvysledek{%
    \ifZapisVysledky
        \VysledekToken={#1\par\smallskip}%
        \immediate\write\SouborVysledky{%
            \the\CitacPriklady.\quad
            \the\VysledekToken}%
    \else #1 \par\medskip\fi
}

\def\NactiVysledky{\immediate\closeout\SouborVysledky
    \ifZapisVysledky\input \jobname_vysledky.tex
    \else\relax\fi}

\immediate\openout\SouborVysledky=\jobname_vysledky.tex
%%%%%%%%%%  End Deklarace

%%%%%%%%%% Ovladani mista pro vypis vysledku
\ZapisVysledkytrue
%\ZapisVysledkyfalse

%%%%%%%%%% Vlastni text
\priklad Priklad prvy\endpriklad
\vysledek  Vysledek prvy \endvysledek

\priklad Priklad druhy\endpriklad
\vysledek Vysledek druhy \endvysledek

\NactiVysledky






Dne 12. ledna 2014 23:56 Derek Pilous <Derek.Pilous at seznam.cz> napsal(a):

> Dobrý den,
>
>
>   potřebuji vyřešit následující konkrétní problém: sázím sbírku příkladů,
> ke každému příkladu je na konci kapitoly uveden výsledek. V průběhu
> postupně různě provádím vložení, vymazání, přesunutí či změny příkladů.
> Každá z těchto operací vyžaduje správné zařazení v obou seznamech, příkladů
> i výsledků. V případě většího počtu příkladů to ovšem znamená dlouhé
> hledání v seznamech, které obsahují pouze matematické výrazy, a nejsou tedy
> ve zdrojovém souboru prakticky čitelné. Napadlo mě, zda by bylo možno
> (nejlépe v LaTeXu) napsat příkaz typu \uloha{zadani}{vysledek}, který by
> informaci někam uschoval, a pak \zadani a \vysledky, které by vytiskly
> příslušné seznamy. Je to možné, a pokud ano, jak?
>
>
> Předem děkuji.
>
>
> Derek Pilous
>
> _______________________________________________
> csTeX mailing list
> csTeX at cs.felk.cvut.cz
> https://lists.felk.cvut.cz/mailman/listinfo/cstex
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.felk.cvut.cz/pipermail/cstex/attachments/20140113/1835b518/attachment-0003.html>


More information about the csTeX mailing list