Пакеты ascii и siunitx сталкиваются

Пакеты ascii и siunitx сталкиваются

Я хочу загрузить и asciiпакет, и siunitxпакет. Проблема в том, что оба определяют символ \SI. Есть ли способ заставить оба пакета работать вместе?

решение1

Вы можете «сохранить» функциональность макроса asciis \SIв другом (до сих пор неиспользуемом) макросе (например, \aSI), а \let\SI\relaxзатем загрузить siunitxпакет. (Убедитесь перед этим, что никакой другой пакет не ожидает \SIварианта asciis.)

\documentclass{article}

\usepackage{ascii}

\let\aSI\SI

\let\SI\relax

\usepackage{siunitx}

\begin{document}

Some text.

\end{document}

решение2

Я только что понял, что можно также использоватьsavesymупаковка.

\documentclass{article}

\usepackage{savesym}
\usepackage{siunitx}
\savesymbol{SI}
\usepackage{ascii}
\restoresymbol{a}{SI}


\begin{document}
\asciifamily

Some Text and \aSI. Some units \SI{2}{\m\per\second}.

\end{document}

выход

Смотрите такжеhttps://texfaq.org/FAQ-alreadydefдля справки.

Связанный контент