.png)
Dado que el futuro tabu
no es tan seguro, estoy intentando definir una \rowfont
macro propia. Esto es lo que tengo hasta ahora:
\documentclass{article}
\usepackage{array,tabularx}
\usepackage[table]{xcolor}
\usepackage{xparse,etoolbox}
\ExplSyntaxOn\makeatletter
\int_new:N \l_@@_last_rownum_int
\cs_new_nopar:Npn \@@_current_rowfont: { }
\NewDocumentCommand { \rowfont } { m } {
\cs_gset_nopar:Npn \@@_current_rowfont: { #1 }
#1
}
\newcolumntype { L } {
>{
\int_compare:nNnTF { \int_use:N \l_@@_last_rownum_int } = { \number \rownum } {
\@@_current_rowfont:
} {
\cs_gset_nopar:Npn \@@_current_rowfont: { }
\@@_current_rowfont:
}
}
l
<{
\int_gset:Nn \l_@@_last_rownum_int { \number \rownum }
}
}
\newcolumntype { x } {
>{
\int_compare:nNnTF { \int_use:N \l_@@_last_rownum_int } = { \number \rownum } {
\@@_current_rowfont:
} {
\cs_gset_nopar:Npn \@@_current_rowfont: { }
\@@_current_rowfont:
}
}
X
<{
\int_gset:Nn \l_@@_last_rownum_int { \number \rownum }
}
}
\rowcolors { 0 } { } { }
\ExplSyntaxOff\makeatother
\begin{document}
tabular:
\begin{tabular}{LLL}
\rowcolor{black}\rowfont{\color{red}}
1 & 2 & 3 \\
1 & 2 & 3 \\
\end{tabular}
\bigskip
tabularx:
\begin{tabularx}{0.5\textwidth}{xxx}
\rowcolor{black}\rowfont{\sffamily\footnotesize\color{red}}
1 & 2 & 3 \\
1 & 2 & 3 \\
\end{tabularx}
\end{document}
Problemas
- En
{tabularx}
la fila, el uso\rowfont
se amplía cuando el argumento de\rowfont
contiene\color
. - Sólo funciona cuando se usa
\rowcolors
. - Sólo se puede utilizar con tipos de columnas especiales.
Quizás sea posible solucionar los problemas con otra definición…
Respuesta1
Como alternativa al tabu
paquete, tabularray
el paquete proporciona una manera fácil de configurar fuentes y colores de filas:
\documentclass{article}
\usepackage{tabularray}
\usepackage{xcolor}
\begin{document}
\begin{tblr}{
width = 0.5\textwidth, colspec = {X[1]X[2]X[3]}, hlines,
row{1} = {bg=gray9, fg=red3, font=\sffamily\footnotesize},
}
1 & 2 & 3 \\
1 & 2 & 3 \\
\end{tblr}
\end{document}