ascii 和 siunitx 软件包发生冲突

ascii 和 siunitx 软件包发生冲突

我想同时加载ascii包和siunitx包。问题是两者都定义了一个符号\SI。有什么方法可以让两个包一起工作吗?

答案1

ascii您可以将s宏的功能“存储”\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以供参考。

相关内容