10 tblr表格中能够将只含数字的单元格设置为红色字体,其它单元格为黑色字体吗?

发布于 2025-07-15 08:33:15
\documentclass[UTF8,a4paper]{article}
\usepackage{ctex}
\usepackage{xcolor}
\usepackage{tabularray}
\usepackage{siunitx}

\begin{document}

\centering

\begin{tblr}{|*3{c|}}\hline
\begin{tblr}{ccc}
  1      & 测试   & 2 \\
  3      & 2测试  & 字 \\
  测试3  & 测试   & 4 \\ 
   \end{tblr}  & \begin{tblr}{cccc}
           测试1   & 5     & 2测试   & 8 \\
            6      & 测试  & 100     & 测试2 \\
            1测试  & 80    & 666     & 4测试 \\ 
           0.09   & 888    & 0.08  & 231 \\
        \end{tblr}  & \begin{tblr}{cccc}
                       测试1   & 5     & 2测试   & 8 \\
                       6      & 测试  & 100     & 测试2 \\
                       1测试  & 80    & 666     & 4测试 \\ 
                       0.09  & 567    & 0.08    & 2测试 \\
                     \end{tblr}                  \\ \hline
\end{tblr}

\end{document}

查看更多

关注者
0
被浏览
122
Sagittarius Rover
我要成为Typst糕手/(ㄒoㄒ)/~~

感谢 @u73286 Eureka老师提供的思路:

-?(?:\d+\.\d*|\.\d+|\d+)
tblr 里面有一个 cmd 键, 可以把这个判断写在 cmd里面

PS1.该问题不需要多个嵌套表格,所以mwe代码理论上不应该用三合一的表格
PS2.在tabularray中上面例子的\usepackage{siunitx}是无法生效的,请看文档第五章
PS3.在article文档类选项中的UTF8是不用显式写出的,已经是默认值


\documentclass{article}
\usepackage{libertinus} % for better looking of number
\usepackage{xcolor}
\usepackage{tabularray}
\ExplSyntaxOn
\newcommand*{\mycolorednum}[2][red]{%
    \regex_if_match:nnTF{\A -?(?:\d+\.\d*|\.\d+|\d+) \Z} { #2 }
    {
        \textcolor{ #1 }{ #2 }
    }
    {
        #2
    }
}
\ExplSyntaxOff
\begin{document}
\begin{tblr}{
    colspec = *{4}{c},
    hlines,vlines,
    cells = {cmd = \mycolorednum[magenta]},
    }
    1     & test   & 2 & -1.33\\
    3     & 2test  & text & 21.2 \\
    test-3  & test   & 4 & 2.33\\ 
    test1   & 5     & 2test   & 8 \\
    -6      & test  & 100     & test2 \\
    -1test  & -80    & 66.6     & 4test \\ 
    0.09   & -888    & -0.08  & 231 \\
    test1   & -5    & 2test   & -8 \\
    6      & test  & 100     & test2 \\
    -.1tt  & 80    & 666     & 4test \\ 
    0.09  & -.567   & .08    & 2test \\
\end{tblr}
\end{document}

image.png

2 个回答
mike
mike 23小时前
这家伙很懒,什么也没写!

厉害!谢谢!定义的命令我现在还看不懂。

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览