|
Уважаемые ТеХники!
"Alexander Cherepanov" <CyrTeX-ru@vsu.ru> san wrote at :
- Message-ID: <list-186776089@relay1.vsu.ru>
- Subject: Re: \expandafter{пробел}
- Date: Wed, 1 Jul 2009 02:39:34 +0400
>Увы, всё не так просто. В примере:
>
> \section{Раздел}
>
> \begin{boldpar}% make the first word of paragraph bold
> Первый абзац.
>
> Второй абзац.
>
> Третий абзац.
> \end{boldpar}% recover bfserise --> mdserise
>
>только в первых двух абзацах первое слово будет жирным.
Верно.
Представлю чуть улучшенную версию.
Конечно, и это угодно не для всех пользователей
или ситуаций.
%% \begin{boldpar}
%% In this environment the first word would be bold.
%% \end{boldpar}
%%
%% Окружение boldpar не разрешает вложить
%% никаких иных окружений в себя...
%% not cool at all...
%%
\makeatletter
\let\new@everypar=\everypar%
\newtoks\new@everypar%
\catcode32=13\relax% set space to catcode 13
\def {\mdseries\space\catcode32=10\relax}% space becomes command \mdseries
\def\boldpar{% make only the head word of paragraphs bold
\par\everypar\expandafter{\the\new@everypar%
\if@afterindent\else{\setbox\z@\lastbox}% noindent at the first paragraph
\@afterindenttrue\fi% indent at followed paragraphs
\bfseries\catcode32=13\relax}}%
\catcode32=10\relax% recover catcode
\def\endboldpar{\@nobreakfalse}%
\makeatother
%%
С уважением,
Isao Yasuda.
E-Mail: isao@yasuda.homeip.net
|
|