我已经在这里找到了可行的解决方案\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}