![ascii 和 siunitx 软件包发生冲突](https://linux22.com/image/254490/ascii%20%E5%92%8C%20siunitx%20%E8%BD%AF%E4%BB%B6%E5%8C%85%E5%8F%91%E7%94%9F%E5%86%B2%E7%AA%81.png)
我想同时加载ascii
包和siunitx
包。问题是两者都定义了一个符号\SI
。有什么方法可以让两个包一起工作吗?
答案1
ascii
您可以将s宏的功能“存储”\SI
在另一个(迄今未使用的)宏(例如\aSI
)中,然后\let\SI\relax
加载siunitx
包。(在此之前请确保没有其他包需要\SI
成为ascii
s 变体。)
\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以供参考。