更改表格中每隔一行的字体

更改表格中每隔一行的字体

我已经在这里找到了可行的解决方案\rowfont{},但不能自动调整偶数和奇数行。

我认为 case 函数可以很好地处理第一行,然后处理下一行。不幸的是,我不懂 LaTeX 中的语法和可能性。有人能给我一个解决方案吗

\documentclass{article}
\usepackage{array}% http://ctan.org/pkg/array
\usepackage[table]{xcolor}
\makeatletter
\g@addto@macro{\endtabular}{\rowfont{}}% Clear row font
\makeatother
\newcommand{\rowfonttype}{}% Current row font
\newcommand{\rowfont}{% Set current row font
    \gdef\rowfonttype{\color{white}}%
}
\newcolumntype{L}{>{\rowfonttype}l}

\rowcolors{1}{blue}{orange}

\begin{document}
    \begin{tabular}{LL}               
        \rowfont
        \textbf{Hello}& \textbf{World} \\
        \textcolor{Black}{Foo} & \textcolor{Black}{Bar} \\ 
        Hello & World
    \end{tabular}
\end{document}

答案1

我认为您可以使用 TikZ 矩阵轻松实现您的需求。

这些选项every odd row允许every even row您设置偶数行和奇数行的样式,而无需复杂的代码。

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{matrix}

\begin{document}
   \begin{tikzpicture}
   \matrix [
        matrix of nodes, 
        nodes in empty cells,
        column sep=-\pgflinewidth,% if you don't want a visible separation between columns
        column 1/.style={
            nodes={text width=3em},%put the width you prefer here
            },
        column 2/.style={
            nodes={text width=4em},%put the width you prefer here
            },
        every odd row/.style={
            nodes={fill=blue, text=white},
            },
        every even row/.style={
            nodes={fill=orange},
            },
        every node/.style={
            font=\bfseries,  
            text height=1.75ex,
            text depth=.25ex,
            align=left
            },
        ] {
        Hello & World \\
        Foo & Bar \\ 
        Hello & World\\
        };
    \end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容