newenvironment

Jiri Hospodka Ing. K331 HOSPODKA at feld.cvut.cz
Tue Sep 24 09:36:49 CEST 1996


Dobry den,
potrebuji v urcitych castech dokumentu zmenit cislovani rovnic.
Pouzivam LaTeX (report).
Podarilo se mi to vcelku jednoduse (mozna to vsak neni uplne ciste
reseni (nactu hodnotu citace "equation do pomocneho citace "buf",
potom citac equation vynuluji a znenim \theequation. Nakonec vratim
puvodni hodnotu citaci equation z buf. Vse funguje az do te chvile,
nez toto cele nadefinuji do newenvironment, asi takto
\newenvironment{ex}
{
\setcounter{buf}{\arabic{equation}}
\setcounter{equation}{0}
\makeatletter
\renewcommand\theequation{Ex.\arabic{pr}.\@arabic\c at equation}
\makeatother
}
{
\setcounter{equation}{\arabic{buf}}
\end{pr}
}

po pouziti (pr je citac prikladu)

\begin{ex}
\begin{equation}
r=c
\end{ex}

hlasi Tex chybu:

! Argument of \next@ has an extra }.
<inserted text>
                \par
l.123 \end{equation}

Evidentne mu vadi zmena catcode znaku @ uvnitr definice prostredi.
Kdyz ji vyhodim tak to funguje, ale to zase nedostanu to co potrebuji.

Jestli jste docetli az sem a vite co s tim prosim poradte (uz nemam
moc casu se tim zabyvat a asi bych musel vzdy pri pouziti tento blok
kopirovat).
                  za odpoved dekuje      Jiri Hospodka



More information about the csTeX mailing list