|
если пакет XXX.sty загружен, то команда \ver@XXX.sty будет определена.
Проверку этого можно делать так:
\expandafter\ifx \csname ver@XXX.sty\endcsname\relax
код в случае незагруженного пакета
\else
код в случае загруженного пакета
\fi
Для надёжности вместо .sty лучше писать .\@pkgextension, т.е.
\expandafter\ifx \csname ver@XXX.\@pkgextension\endcsname\relax
код в случае незагруженного пакета
\else
код в случае загруженного пакета
\fi
Естественно, всё это надо делать внутри своего пакета. Я использовал трюк
с проверкой загрузки пакета в пакете afterpackage.
> Aleksander Gorohovski
> Доброго времени суток Уважаемые TeXники!
>
> Подскажите, пожалуйста,
> как можно узнать в преамбуле документа
> существует ли уже макрокоманда (определенная некоторым пакетом)
>
> Вопрос возник в связи с тем, что надо переопределить некоторую
> команду \com, но её появление (макроопределение) зависит от
> некоторого пакета XXX.sty подключаемого в зависимости от внешних условий.
>
> Из-за чего
> \renewcommand{\com}{ }
> ругается
> :(
>
> Конечно, можно было поступить через
> \DeclareRobustCommand{\com}{ }
> но мне кажется это не есть совсем хорошо.
>
> Или может существует подход проще --- узнать загружен пакет XXX.sty или
> нет
>
> Спасибо.
>
> ================================================
> CyrTeX-ru mailing list Archives and Information:
> https://info.vsu.ru/Lists/CyrTeX-ru/List.html
>
>
--
Sincerely,
Alexander I Rozhenko
Leading Researcher
Lab. AP&MG
ICM&MG, Novosibirsk
|
|