[cstex] Expanze znaku konce stránky
Procházka Lukáš Ing. - Pontex s. r. o.
LPr at pontex.cz
Mon Mar 15 13:00:53 CET 2010
... To máte pravdu. Ale snažil jsem se vytvořit makro, které přímo vysází ten \item, čili nehrozí, že bude uvnitř \item a ještě uvnitř nějakého jiného prostředí (třeba \bfseries).
Makro mělo dělat něco jako:
\def\MAKRO#1{\if "uvnitř itemize nebo enumerate" \item #1\else \section*{#1}}
A pak bych je použil:
\MAKRO{A}
\MAKRO{B}
\begin{itemize}
\MAKRO{C}
\MAKRO{D}
\end{itemize}
Takhle to asi vypadá nesmyslně - to původné makro bylo ve skutečnosti složitejší a to, co naznačuji, byla jedna z jeho žádaných funkcionalit.
Ještě se pokusím prozkoumat definici \begin.
Zdravím
Lukáš Procházka
On Mon, 15 Mar 2010 12:35:33 +0100, Zdenek Wagner <zdenek.wagner at gmail.com> wrote:
> 2010/3/15 Procházka Lukáš Ing. - Pontex s. r. o. <LPr at pontex.cz>:
>> ... Díky za tipy.
>>
>> Ještě mě napadá - kdysi jsem to potřeboval - jak v LaTeXu testovat, uvnitř
>> jakého prostředí se kód nachází, resp. jestli se nachází uvnitř nějakého
>> konkrétního prostředí (třeba itemize) nebo ne?
>>
>> - Psal jsem makro, které se mělo rozvinou jinak v prostředí itemize nebo
>> enumerate (mělo sázet \item) a jinak jinde (mělo sázet \section*).
>>
> Já bych si asi zkopíroval definici daného prostředí a do něj vložil
> definici makra, které má v tom prostředí vypadat jinak. Test by se
> samozřejmě dal naprogramovat. \begin si jméno prostředí schová v
> nějakém interním makru, a \end kontroluje, zda jméno souhlasí. Když
> ale napíšete
>
> \begin{itemize}
> \item \begin{bfseries}\TestProstredi\end{bfseries}
> \end{itemize}
>
> pak \TestProstredi uvidi jen "bfseries", neuvidi "itemize".
More information about the csTeX
mailing list