Mailing List CyrTeX-ru@vsu.ru Message #1924
From: Denis Ryabov <CyrTeX-ru@vsu.ru>
Subject: Re: Дублирование знаков при переносе строчных формул
Date: Tue, 2 Feb 2010 23:12:37 +0300
To: Cyrillic TeX Users Group <CyrTeX-ru@vsu.ru>
Я попробовал Ваш пакет на своих документах, но к сожалению не смог сверстать,
поскольку у себя переопределяю и делаю активными символы
^ и _
(для того чтобы можно было непосредственно использовать в тексте
индексы без явного переключению на мат.моду, у меня много формул хим.соединений)

А какой код Вы используете для переопределения?

%%%%%%%%%%%%%%%%%

\begin{document}

\makeatletter
\def\sprscrpt#1{\ensuremath{^{#1}}}
\def\sbscrpt#1{\ensuremath{_{#1}}}
\catcode`\^ \active
\catcode`\_ \active
\let^=\sprscrpt
\let_=\sbscrpt
\makeatother

%%%%%%%%%%%%%%%%%

Приходится так делать (не в преамбуле), чтобы избежать возможных
конфликтов с пакетами.
Хотя пока конфликтов и не было, несмотря на то что одновременно  использую
довольно много пакетов

Самый простой способ - написать (т.е. предварительно восстановить исходные классы)

\begin{document}
\catcode`\^=7 \catcode`\_=8
\def\sprscrpt#1{\ensuremath{^{#1}}}
\def\sbscrpt#1{\ensuremath{_{#1}}}
\catcode`\^\active \catcode`\_\active
\let^=\sprscrpt
\let_=\sbscrpt

Но тогда не будет работать привязка следующих за операторами индексов к самим операторам, но такое встречается крайне редко.
Subscribe (FEED) Subscribe (DIGEST) Subscribe (INDEX) Unsubscribe Mail to Listmaster