如何自定义 IEEEeqnarraybox 表?

如何自定义 IEEEeqnarraybox 表?

包裹防火墙工具提供对环境 IEEEeqnarraybox 的访问,可用于创建漂亮的表格和矩阵。由于它是为 IEEE 期刊设计的,因此它不提供添加某些“样式”(虚线、行/列的背景颜色等)的选项。如何自定义使用此环境创建的表格/矩阵?

例如,我从ieeetran 手册并尝试使用包向行添加背景颜色高频-tikz。结果不太好。hf-tikz 添加的边框太粗,并且会干扰表格右侧的垂直线和水平线。

比较两个表,其中右表的第二行应用了 hf-tikz

代码:

%! TEX program = xelatex

\documentclass[fontsize = 12pt]{scrbook}

\usepackage{IEEEtrantools}

\usepackage[customcolors]{hf-tikz}

\tikzset{style green/.style={
    set fill color=green!50!lime!60,
    set border color=black,
  },
  hor/.style={
    above left offset={0.0,0.7},
    below right offset={-0.1,0.-0.55},
    #1
  },
}

\begin{document}

\begin{table}
        \centering
        \caption{Possible $\Omega$ Functions}
        \label{table_omega}
        \begin{IEEEeqnarraybox}[\IEEEeqnarraystrutmode\IEEEeqnarraystrutsizeadd{2pt}{1pt}]{v/c/v/c/v}
            \IEEEeqnarrayrulerow\\
            &\mbox{Range}&&\Omega(m)&\\
            \IEEEeqnarraydblrulerow\\
            \IEEEeqnarrayseprow[3pt]\\
            &x < 0&&\Omega(m)=\sum\limits_{i=0}^{m}K^{-i}& \IEEEeqnarraystrutsize{0pt}{0pt}\\
            \IEEEeqnarrayseprow[3pt]\\
            \IEEEeqnarrayrulerow\\
            \IEEEeqnarrayseprow[3pt]\\
            &x \ge 0&&\Omega(m)=\sqrt{m}\hfill& \IEEEeqnarraystrutsize{0pt}{0pt}\\
            \IEEEeqnarrayseprow[3pt]\\
            \IEEEeqnarrayrulerow
        \end{IEEEeqnarraybox}
    \end{table}

\begin{table}
        \centering
        \caption{Possible $\Omega$ Functions}
        \label{table_omega2}
        \begin{IEEEeqnarraybox}[\IEEEeqnarraystrutmode\IEEEeqnarraystrutsizeadd{2pt}{1pt}]{v/c/v/c/v}
            \IEEEeqnarrayrulerow\\
            &\mbox{Range}&&\Omega(m)&\\
            \IEEEeqnarraydblrulerow\\
            \IEEEeqnarrayseprow[3pt]\\
            \tikzmarkin[disable rounded corners=true,hor=style green]{row}&x < 0&&\Omega(m)=\sum\limits_{i=0}^{m}K^{-i}& \tikzmarkend{row} \IEEEeqnarraystrutsize{0pt}{0pt}\\
            \IEEEeqnarrayseprow[3pt]\\
            \IEEEeqnarrayrulerow\\
            \IEEEeqnarrayseprow[3pt]\\
            &x \ge 0&&\Omega(m)=\sqrt{m}\hfill& \IEEEeqnarraystrutsize{0pt}{0pt}\\
            \IEEEeqnarrayseprow[3pt]\\
            \IEEEeqnarrayrulerow
        \end{IEEEeqnarraybox}
    \end{table}

\end{document}

答案1

供参考,这里介绍了如何使用 轻松制作这样的表格nicematrix

\documentclass{article}
\usepackage{nicematrix}
\usepackage{xcolor}
\usepackage{colortbl}

\begin{document}

\NiceMatrixOptions{cell-space-top-limit=3pt,cell-space-bottom-limit=3pt}
\doublerulesepcolor{white}

$\begin{NiceArray}{cl}[vlines,code-before = \rowcolor{green!15}{2}]
\hline
\text{Range}&\multicolumn{1}{c}{\Omega(m)} \\
\hline\hline
x < 0&\Omega(m)=\sum\limits_{i=0}^{m}K^{-i} \\
\hline
x \ge 0&\Omega(m)=\sqrt{m} \\
\hline
\end{NiceArray}$

\end{document}

有了这样的代码,您就不会像只使用 工具时那样在 PDF 查看器中遇到伪影colortbl

上述代码的输出

相关内容