我正在尝试使用physics
和siunitx
包,它们都对命令有定义\qty
。我想忽略来自的一个physics
并仅使用来自的那个siunitx
。这是我的最小非工作示例,我希望看到的不是“{10}”,而是“10 m”。
\documentclass{article}
\usepackage{siunitx}
\usepackage{physics}
\begin{document}
I want to express a quantity: \qty{10}{\meter}.
\end{document}
答案1
由于最初接受的答案似乎已经过时,约瑟夫建议采用这种替代方案:
\documentclass{article}
\usepackage{siunitx}
\usepackage{physics}
\AtBeginDocument{\RenewCommandCopy\qty\SI}
\begin{document}
I want to express a quantity: \qty{10}{\meter}.
\end{document}
原始答案
您需要siunitx
先加载,保存定义的副本\qty
,然后在加载后physics
恢复赋予的原始含义。\qty
siunitx
开发人员siunitx
@Joseph Wright 在答案下方添加了有用的评论。
\documentclass{article}
\usepackage{siunitx,letltxmacro}
\LetLtxMacro{\svqty}{\qty}
\usepackage{physics}
\LetLtxMacro{\qty}{\svqty}
\begin{document}
I want to express a quantity: \qty{10}{\meter}.
\end{document}
或者更简单来说
\documentclass{article}
\usepackage{siunitx}
\let\svqty\qty
\usepackage{physics}
\let\qty\svqty
\begin{document}
I want to express a quantity: \qty{10}{\meter}.
\end{document}