\tablenum 中的选项

\tablenum 中的选项

最近我发现它\tablenum在表格设计中非常有用...但是在这方面我面临的问题是如何使用从S列中已知的选项:-(

请考虑以下示例:

\documentclass[margin=3mm, preview]{standalone}
\usepackage[T1]{fontenc}
\usepackage{siunitx}

\begin{document}
\num{< 10}

    \begin{table}
This works, but numbers aren't aligned:

\begin{tabular}{S[input-comparators,
                  table-space-text-pre=<,
                  table-format = 1.2]
                c}
        \hline
  1.23  &   \tablenum{  1.23}                       \\
< 1.23  &   \tablenum{< 1.23}                       \\
        \hline
\end{tabular}

\bigskip
This gives error "invalid token '<' in numerical input":

\begin{tabular}{S[input-comparators,
                  table-space-text-pre=<,
                  table-format = 1.2]
                c}
        \hline
  1.23  &   \tablenum{  1.23}                       \\
< 1.23  &   \tablenum[input-comparators,
                      table-space-text-pre=<,
                      table-format = 1.2]{< 1.23}   \\
        \hline
\end{tabular}
\end{table}
\end{document}

如果我强制编译,我会得到以下结果:

在此处输入图片描述

我做错了什么?现在我还发现符号也有问题<...

答案1

请记住,这\tablenum或多或少是\num对齐的:它不是列的宏版本S。因此,参数必须是数字。有多种方法可以实现您想要的效果

\documentclass[margin=3mm, preview]{standalone}
\usepackage[T1]{fontenc}
\usepackage{siunitx}
\begin{document}
\begin{table}
\sisetup{input-comparators = , table-format = 1.2}
\begin{tabular}{|c|}
  \hline
  \hphantom{<}\tablenum{1.23}  \\
  \tablenum[table-space-text-pre=<]{1.23} \\
  <\tablenum{1.23} \\
  \hline
\end{tabular}
\end{table}
\end{document}

答案2

\tablenum有一个用于选项设置的可选参数。但是,input-comparators似乎不起作用,但 importanttable-format起作用。以下示例使用小于符号的解决方法:

\documentclass[margin=3mm, preview]{standalone}
\usepackage[T1]{fontenc}
\usepackage{booktabs}
\usepackage{siunitx}
\newcommand*{\mytablenum}{}

\begin{document}

\renewcommand*{\mytablenum}{\tablenum[table-format=1.2]}
\begin{tabular}{S[input-comparators,
                  table-space-text-pre=<,
                  table-format = 1.2]
                c}
\toprule
  1.23  &  \hphantom{<}\mytablenum{1.23}  \\
< 1.23  &             <\mytablenum{1.23}  \\
\bottomrule
\end{tabular}

\end{document}

结果

相关内容