在手册中,除非我弄错了,它说用\si
替换\unit
。
但是我有这个错误:
包 siunitx 错误:发现没有单位的前缀部分。
如何使该文档与siunitx的新版本3兼容?
\documentclass[aspectratio=1610,10pt,french]{beamer}
\usepackage[french]{babel}
\usepackage[output-decimal-marker={,}]{siunitx}
\begin{document}
\begin{frame}
% \sisetup{color = blue}
\begin{tabular}{l l l}
kilo $=1000$ & noté \unit{\kilo} &\rule[2mm]{0pt}{5mm} Exemples:\ \unit{\kilo\metre}; \unit{\kilo\gram};% \\
% hecto $=100$ & \repete{noté} \si{\hecto} &\rule[2mm]{0pt}{5mm}\repete{Exemple:}\ \ \si{\hecto\meter}; \si{\hecto\gram}; \si{\hecto\liter}\\
% deca $=10$ & \repete{noté} \si{\deca}& \rule[2mm]{0pt}{5mm}\repete{Exemple:}\ \ \si{\deca\meter}; \si{\deca\gram}; \si{\deca\liter}\\
% déci $=0.1=\dfrac{1}{10}$ & \repete{noté} \si{\deci} & \rule[2mm]{0pt}{5mm}\repete{Exemple:}\ \ \si{\deci\meter}; \si{\deci\gram}; \si{\deci\liter} \\
% centi $=0.01=\dfrac{1}{100}$ & \repete{noté} \si{\centi} & \rule[2mm]{0pt}{5mm}\repete{Exemple:}\ \ \si{\centi\meter}; \si{\centi\gram}; \si{\centi\liter}\\
% milli $=0.001=\dfrac{1}{1000}$ & \repete{noté} \si{\milli} & \rule[2mm]{0pt}{5mm}\repete{Exemple:}\ \ \si{\milli\meter}; \si{\milli\gram}; \si{\milli\liter}
\end{tabular}
\end{frame}
\end{document}
答案1
首先,你能\si
也可用于版本siunitx
3,但已被弃用并且为了向后兼容而存在。
第二:前缀必须后面跟着一个单位;在版本 2 中它没有被强制执行,但现在被强制执行了。
稍微伸展一下,你就可以定义一个\siprefix
命令:
\documentclass{article}
\usepackage{siunitx}
\NewDocumentCommand{\siprefix}{m}{%
\unit{#1\nonexistentunitjustforprefixes}%
}
\DeclareSIUnit{\nonexistentunitjustforprefixes}{\relax}
\begin{document}
\siprefix{\kilo}
\end{document}
您实际上可以这样做\unit{k}
,但这违背了包的目的。