[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