我想截断我的表中的数字,以便将小于阈值的数字T
显示为<T
。我以为该siunitx
包有这个功能,但我错了。我确信这是一个简单的宏,但我对 LaTeX 中的宏还不熟悉。
\documentclass[11pt]{article}
\begin{document}
% threshold 0.001
\begin{table}
\begin{tabular}{rr}
input & desired output \\
0.0009 & <0.001 \\
0.001 & 0.001 \\
0 & <0.001 \\
\end{tabular}
\end{table}
\end{document}
答案1
使用xparse
和collcell
:
\documentclass[11pt]{article}
\usepackage{collcell}
\usepackage{xparse}
\ExplSyntaxOn
\NewDocumentCommand \myminimum { m m }
{
\fp_compare:nNnTF { #2 } < { #1 }
{ $<$#1 }
{ #2 }
}
\ExplSyntaxOff
\begin{document}
\begin{table}
\begin{tabular}{r>{\collectcell{\myminimum{0.001}}}r<{\endcollectcell}}
input & \multicolumn{1}{r}{desired output} \\
0.0009 & 0.0009 \\
0.001 & 0.001 \\
0 & 0 \\
\end{tabular}
\end{table}
\end{document}
\myminimum
用于输出的变体\num
,具有转发到的可选参数\num
。
\ExplSyntaxOn
\NewDocumentCommand \myminimum { O{} m m }
{
\fp_compare:nNnTF { #3 } < { #2 }
{ \mode_if_math:TF { < } { $<$ } \num [{#1}] { #2 } }
{ \num [{#1}] { #3 } }
}
\ExplSyntaxOff