5

I am trying to color my tabularray's lines by alternating between a white and light gray color. The thing is, I want the alternating colors to skip the coloring pattern for first column of my table, as this column spreads over many lines, and I believe that, if I color it, it won't be pretty.

Below is my simple table code. I managed to color some rows light-gray, but I didn't manage to make the coloring ignore the first column (the one I don't want to color). Any help is greatly appreciated.

\documentclass{article}
\usepackage{tabularray}
\usepackage{ragged2e}
\usepackage{xcolor}
\begin{document}
\begin{table*}
    \centering
    \small
\caption{As 32 heurísticas propostas para avaliação de jogos educacionais para aprendizado da Língua Japonesa.}
\label {tab:tabela3}
    \begin{tblr}{ %% isso aqui é pra botar linhas entre as células 
                  colsep=4pt, %% adicionar um esacinho entre colunas da tabela
                  colspec = {X[c] X[c] c 
                             X[3.5, cmd=\RaggedRight] X[2, l]},
                  row{4, 6, 8} = {lightgray},
                  rows = {font=\small\linespread{0.9}\selectfont},
                  rowhead = 2,
                  cells={valign=m}
                  } %tem 5 colunas, só que uma não tem tamanho mutável, por isso não é
 \hline \hline
\SetCell[r=2]{c}    \textbf{Dimensão do fluxo}
    &   \SetCell[r=2]{c}    \textbf{Comp. do Framework}
        &   \SetCell[c=3]{c}    Heurística 
            &   &                                           \\ %essas barrinhas indicam fim de linha da tabela! não esqueça!
    &   & \textbf{\#} 
            & \textbf{Descrição detalhada} 
                & \textbf{Referências CALL}  \\
 \hline 
\SetCell[r=3]{c} Equilíbrio de desafio e Habilidade 
    & Adequação com o Estudante 
        & 1 &   Em cada fase de jogo, apresentar níveis adequados de novos termos e termos previamente introduzidos à estudantes, de forma que o estudante aprendiz não se sinta sobrecarregado com novos termos para memorizar. 
            &   ciampa2014learning, godwin2014games  \\
    & Descrição Operacional 
        & 2 &   Proporcionar experiências novas ao refazer exercícios de jogo (e.g., eventos aleatórios baseados em sorte), de forma a proporcionar um desafio novo ao aprendiz enquanto ele revisa o que estudou previamente. 
            &  macedonia2005games, xu2020scoping   \\
    & Adequação com o Estudante 
        & 3 &   Criar comportamento como-humano acreditável para adversários não-jogadores, capaz de se adaptar de acordo com a habilidade cognitiva do estudante, cometer erros de forma similar ao estudante, e facilitar experiências de fluxo. No caso de exercícios online entre estudantes, utilizar algoritmos complexos para juntar estudantes de níveis similares de proficiência na língua.  
            &   ang2008computer                \\
    \SetCell[r=4]{c} Objetivos Claros 
    &   Descrição Operacional  
        & 4 &   Apresentar objetivos alcançáveis (em relação ao tempo gasto para aprender e exercitar um conteúdo da segunda língua). 
                &   kukulska2013design, traxler2009current                      \\
    &   Adequação com o Estudante 
        & 5 & Apresentar objetivos alcançáveis (em relação à dificuldade), considerando o nível de proficiência na língua do estudante. 
                &   kukulska2013design, traxler2009current                   \\
     & Adequação com o Estudante 
        & 6 &   Apresentar contextos reais de uso do conteúdo ensinado, de forma que fique claro para o estudante que ele está aprendendo m conteúdo envolvendo problemas de mundo real relevantes e interessantes para ele. 
                &   butler2014online, kukulska2013design, macedonia2005games, godwin2014games, traxler2009current     \\
     & Adequação com o Estudante    
        & 7 &   Apresentar feedback de erro ao estudante de forma positiva, de forma que ele continue acreditando que aprender a segunda língua é um objetivo alcançável. 
                &   butler2014online, ciampa2014learning \\
     
    \end{tblr}
    \end{table*}
\end{document}
1
  • I stand corrected. Thanks.
    – Celdor
    Feb 24, 2023 at 9:18

2 Answers 2

8

No need to use column{1} = {white} or cell{1-Z}{1} = {bg=white}, they are dirty hacks!

The correct way is to set cell{even[4-Z]}{2-Z} = {lightgray}, that means even cells from the 4th row to the last and from 2nd column to the last have to be light gray:

\documentclass[a4paper]{article}
\usepackage{geometry}
\usepackage[portuguese]{babel}
\usepackage{tabularray}
\usepackage{ragged2e}
\usepackage{xcolor}
\begin{document}
\begin{table*}
\centering\small
\caption{\label{tab:tabela3}As 32 heurísticas propostas para avaliação de jogos educacionais para aprendizado da Língua Japonesa.}
    \begin{tblr}{%% isso aqui é pra botar linhas entre as células 
        colsep=4pt,%% adicionar um esacinho entre colunas da tabela
        colspec = {X[c] X[c] c X[3.5, appto=\RaggedRight] X[2, l]},
        cell{even[4-Z]}{2-Z} = {lightgray},
        rows = {font=\linespread{0.9}\selectfont},
        rowhead = 2,          
        row{1,2}={font=\bfseries},
        cells={valign=m},
        %cell{1}{3}={font=\normalfont}, <--- uncomment this if you want "Heurística" in normal font
    } %tem 5 colunas, só que uma não tem tamanho mutável, por isso não é
    \hline \hline
    \SetCell[r=2]{c}    Dimensão do fluxo
    &   \SetCell[r=2]{c}    Comp. do Framework
    &   \SetCell[c=3]{c}    Heurística 
    &   &                                           \\ %essas barrinhas indicam fim de linha da tabela! não esqueça!
    &   & \# 
    & Descrição detalhada 
    & Referências CALL  \\
    \hline 
    \SetCell[r=3]{c} Equilíbrio de desafio e Habilidade 
    & Adequação com o Estudante 
    & 1 & Em cada fase de jogo, apresentar níveis adequados de novos termos e termos previamente introduzidos à estudantes, de forma que o estudante aprendiz não se sinta sobrecarregado com novos termos para memorizar. 
    & ciampa2014learning, godwin2014games  \\
    & Descrição Operacional 
    & 2 &   Proporcionar experiências novas ao refazer exercícios de jogo (e.g., eventos aleatórios baseados em sorte), de forma a proporcionar um desafio novo ao aprendiz enquanto ele revisa o que estudou previamente. 
    &  macedonia2005games, xu2020scoping   \\
    & Adequação com o Estudante 
    & 3 &   Criar comportamento como-humano acreditável para adversários não-jogadores, capaz de se adaptar de acordo com a habilidade cognitiva do estudante, cometer erros de forma similar ao estudante, e facilitar experiências de fluxo. No caso de exercícios online entre estudantes, utilizar algoritmos complexos para juntar estudantes de níveis similares de proficiência na língua.  
    &   ang2008computer                \\
    \SetCell[r=4]{c} Objetivos Claros 
    &   Descrição Operacional  
    & 4 &   Apresentar objetivos alcançáveis (em relação ao tempo gasto para aprender e exercitar um conteúdo da segunda língua). 
    &   kukulska2013design, traxler2009current                      \\
    &   Adequação com o Estudante 
    & 5 & Apresentar objetivos alcançáveis (em relação à dificuldade), considerando o nível de proficiência na língua do estudante. 
    &   kukulska2013design, traxler2009current                   \\
    & Adequação com o Estudante 
    & 6 &   Apresentar contextos reais de uso do conteúdo ensinado, de forma que fique claro para o estudante que ele está aprendendo m conteúdo envolvendo problemas de mundo real relevantes e interessantes para ele. 
    &   butler2014online, kukulska2013design, macedonia2005games, godwin2014games, traxler2009current     \\
    & Adequação com o Estudante    
    & 7 &   Apresentar feedback de erro ao estudante de forma positiva, de forma que ele continue acreditando que aprender a segunda língua é um objetivo alcançável. 
    &   butler2014online, ciampa2014learning \\
\end{tblr}
\end{table*}
\end{document}

enter image description here

Edit
With centered headers:

\documentclass[a4paper]{article}
\usepackage{geometry}
\usepackage[portuguese]{babel}
\usepackage{tabularray}
\usepackage{ragged2e}
\usepackage{xcolor}
\begin{document}
    \begin{table*}
        \centering\small
        \caption{\label{tab:tabela3}As 32 heurísticas propostas para avaliação de jogos educacionais para aprendizado da Língua Japonesa.}
        \begin{tblr}{%% isso aqui é pra botar linhas entre as células 
                colsep=4pt,%% adicionar um esacinho entre colunas da tabela
                colspec = {X[c] X[c] c X[3.5] X[2, l]},
                cell{even[4-Z]}{2-Z} = {lightgray},
                rows = {font=\linespread{0.9}\selectfont},
                rowhead = 2,          
                cell{3-Z}{4}={appto=\RaggedRight},
                row{1,2}={c,font=\bfseries},
                cells={valign=m},
                %cell{1}{3}={font=\normalfont}, <--- uncomment this if you want "Heurística" in normal font
            } %tem 5 colunas, só que uma não tem tamanho mutável, por isso não é
            \hline \hline
            \SetCell[r=2]{c}    Dimensão do fluxo
            &   \SetCell[r=2]{c}    Comp. do Framework
            &   \SetCell[c=3]{c}    Heurística 
            &   &                                           \\ %essas barrinhas indicam fim de linha da tabela! não esqueça!
            &   & \# 
            & Descrição detalhada 
            & Referências CALL  \\
            \hline 
            \SetCell[r=3]{c} Equilíbrio de desafio e Habilidade 
            & Adequação com o Estudante 
            & 1 & Em cada fase de jogo, apresentar níveis adequados de novos termos e termos previamente introduzidos à estudantes, de forma que o estudante aprendiz não se sinta sobrecarregado com novos termos para memorizar. 
            & ciampa2014learning, godwin2014games  \\
            & Descrição Operacional 
            & 2 &   Proporcionar experiências novas ao refazer exercícios de jogo (e.g., eventos aleatórios baseados em sorte), de forma a proporcionar um desafio novo ao aprendiz enquanto ele revisa o que estudou previamente. 
            &  macedonia2005games, xu2020scoping   \\
            & Adequação com o Estudante 
            & 3 &   Criar comportamento como-humano acreditável para adversários não-jogadores, capaz de se adaptar de acordo com a habilidade cognitiva do estudante, cometer erros de forma similar ao estudante, e facilitar experiências de fluxo. No caso de exercícios online entre estudantes, utilizar algoritmos complexos para juntar estudantes de níveis similares de proficiência na língua.  
            &   ang2008computer                \\
            \SetCell[r=4]{c} Objetivos Claros 
            &   Descrição Operacional  
            & 4 &   Apresentar objetivos alcançáveis (em relação ao tempo gasto para aprender e exercitar um conteúdo da segunda língua). 
            &   kukulska2013design, traxler2009current                      \\
            &   Adequação com o Estudante 
            & 5 & Apresentar objetivos alcançáveis (em relação à dificuldade), considerando o nível de proficiência na língua do estudante. 
            &   kukulska2013design, traxler2009current                   \\
            & Adequação com o Estudante 
            & 6 &   Apresentar contextos reais de uso do conteúdo ensinado, de forma que fique claro para o estudante que ele está aprendendo m conteúdo envolvendo problemas de mundo real relevantes e interessantes para ele. 
            &   butler2014online, kukulska2013design, macedonia2005games, godwin2014games, traxler2009current     \\
            & Adequação com o Estudante    
            & 7 &   Apresentar feedback de erro ao estudante de forma positiva, de forma que ele continue acreditando que aprender a segunda língua é um objetivo alcançável. 
            &   butler2014online, ciampa2014learning \\
        \end{tblr}
    \end{table*}
\end{document}

enter image description here

8
  • thank you so much! That's exactly what I want! thanks for teaching me how to do better than the dirty hack too! awesome! Feb 24, 2023 at 14:47
  • @FabioPhillip You're welcome! The author himself taught me that :)
    – CarLaTeX
    Feb 24, 2023 at 15:19
  • oh, just one more thing: do you know how to make my table header horizontally centered in the middle? I don't want the data of my table to be centered, just the header text. Feb 24, 2023 at 15:27
  • 1
    it worked! thank you so much again! ^^ I just want to know, so I can learn: what does appto mean in appto=\RaggedRight? Feb 24, 2023 at 17:13
  • 2
    @FabioPhillip It adds the command at the end of the cell. cmd= is used with a command with an argument, when the cell content has to be the argument of the command. \RaggedRight does not have an argument.
    – CarLaTeX
    Feb 24, 2023 at 17:27
4

I adapted your MWE a bit and duplicated the rows to be colored to show how the alternating coloring continues. The trick in this is to use the longtblr option so a table can continue on a next page and setting caption and label can be done inside the options part of the table.

The resulting code is:

\documentclass[11pt]{article}
\usepackage[a4paper,margin=2cm]{geometry}
\usepackage{tabularray}
\usepackage{ragged2e}
\usepackage{xcolor}
\begin{document}
%   \begin{table*}
%       \centering
%       \small
%       \caption{As 32 heurísticas propostas para avaliação de jogos educacionais para aprendizado da Língua Japonesa.}
%       \label {tab:tabela3}
        \begin{longtblr}[
            caption = {As 32 heurísticas propostas para avaliação de jogos educacionais para aprendizado da Língua Japonesa.},
            label = {tab:tabela3},
            ]{ %% isso aqui é pra botar linhas entre as células 
                colsep=4pt, %% adicionar um esacinho entre colunas da tabela
                colspec = {X[c] X[c] c 
                    X[3.5, cmd=\RaggedRight] X[2, l]},
                row{even} = {lightgray},
                row{odd} = {white},
                row{2} = {white},
                cell{1-Z}{1} = {bg=white},
                rowhead = 2,
                rows = {font=\small\linespread{0.9}},
                row{1-2} = {font=\bfseries},
                cells={valign=m}
            } %tem 5 colunas, só que uma não tem tamanho mutável, por isso não é
            \hline \hline
            \SetCell[r=2]{c}    Dimensão do fluxo
            &   \SetCell[r=2]{c}    Comp. do Framework
            &   \SetCell[c=3]{c}    \normalfont Heurística 
            &   &                                           \\ %essas barrinhas indicam fim de linha da tabela! não esqueça!
            &   & \# 
            & Descrição detalhada 
            & Referências CALL  \\
            \hline 
            \SetCell[r=3]{c} Equilíbrio de desafio e Habilidade 
            & Adequação com o Estudante 
            & 1 &   Em cada fase de jogo, apresentar níveis adequados de novos termos e termos previamente introduzidos à estudantes, de forma que o estudante aprendiz não se sinta sobrecarregado com novos termos para memorizar. 
            &   ciampa2014learning, godwin2014games  \\
            & Descrição Operacional 
            & 2 &   Proporcionar experiências novas ao refazer exercícios de jogo (e.g., eventos aleatórios baseados em sorte), de forma a proporcionar um desafio novo ao aprendiz enquanto ele revisa o que estudou previamente. 
            &  macedonia2005games, xu2020scoping   \\
            & Adequação com o Estudante 
            & 3 &   Criar comportamento como-humano acreditável para adversários não-jogadores, capaz de se adaptar de acordo com a habilidade cognitiva do estudante, cometer erros de forma similar ao estudante, e facilitar experiências de fluxo. No caso de exercícios online entre estudantes, utilizar algoritmos complexos para juntar estudantes de níveis similares de proficiência na língua.  
            &   ang2008computer                \\
            \SetCell[r=4]{c} Objetivos Claros 
            &   Descrição Operacional  
            & 4 &   Apresentar objetivos alcançáveis (em relação ao tempo gasto para aprender e exercitar um conteúdo da segunda língua). 
            &   kukulska2013design, traxler2009current                      \\
            &   Adequação com o Estudante 
            & 5 & Apresentar objetivos alcançáveis (em relação à dificuldade), considerando o nível de proficiência na língua do estudante. 
            &   kukulska2013design, traxler2009current                   \\
            & Adequação com o Estudante 
            & 6 &   Apresentar contextos reais de uso do conteúdo ensinado, de forma que fique claro para o estudante que ele está aprendendo m conteúdo envolvendo problemas de mundo real relevantes e interessantes para ele. 
            &   butler2014online, kukulska2013design, macedonia2005games, godwin2014games, traxler2009current     \\
            & Adequação com o Estudante    
            & 7 &   Apresentar feedback de erro ao estudante de forma positiva, de forma que ele continue acreditando que aprender a segunda língua é um objetivo alcançável. 
            &   butler2014online, ciampa2014learning \\
            \hline
            \SetCell[r=3]{c} Equilíbrio de desafio e Habilidade 
            & Adequação com o Estudante 
            & 1 &   Em cada fase de jogo, apresentar níveis adequados de novos termos e termos previamente introduzidos à estudantes, de forma que o estudante aprendiz não se sinta sobrecarregado com novos termos para memorizar. 
            &   ciampa2014learning, godwin2014games  \\
            & Descrição Operacional 
            & 2 &   Proporcionar experiências novas ao refazer exercícios de jogo (e.g., eventos aleatórios baseados em sorte), de forma a proporcionar um desafio novo ao aprendiz enquanto ele revisa o que estudou previamente. 
            &  macedonia2005games, xu2020scoping   \\
            & Adequação com o Estudante 
            & 3 &   Criar comportamento como-humano acreditável para adversários não-jogadores, capaz de se adaptar de acordo com a habilidade cognitiva do estudante, cometer erros de forma similar ao estudante, e facilitar experiências de fluxo. No caso de exercícios online entre estudantes, utilizar algoritmos complexos para juntar estudantes de níveis similares de proficiência na língua.  
            &   ang2008computer                \\
            \SetCell[r=4]{c} Objetivos Claros 
            &   Descrição Operacional  
            & 4 &   Apresentar objetivos alcançáveis (em relação ao tempo gasto para aprender e exercitar um conteúdo da segunda língua). 
            &   kukulska2013design, traxler2009current                      \\
            &   Adequação com o Estudante 
            & 5 & Apresentar objetivos alcançáveis (em relação à dificuldade), considerando o nível de proficiência na língua do estudante. 
            &   kukulska2013design, traxler2009current                   \\
            & Adequação com o Estudante 
            & 6 &   Apresentar contextos reais de uso do conteúdo ensinado, de forma que fique claro para o estudante que ele está aprendendo m conteúdo envolvendo problemas de mundo real relevantes e interessantes para ele. 
            &   butler2014online, kukulska2013design, macedonia2005games, godwin2014games, traxler2009current     \\
            & Adequação com o Estudante    
            & 7 &   Apresentar feedback de erro ao estudante de forma positiva, de forma que ele continue acreditando que aprender a segunda língua é um objetivo alcançável. 
            &   butler2014online, ciampa2014learning \\         
        \end{longtblr}
%   \end{table*}
\end{document}

longtblr_color

2
  • 1
    Setting cell{1-Z}{1}={bg=white} is a dirty hack. The correct way is to set cell{even[4-Z]}{2-Z} = {lightgray}, see my answer.
    – CarLaTeX
    Feb 24, 2023 at 7:14
  • oh! thanks! I didsn't know that I could set caption and label inside! Oh and, thanks for the longtblr idea, but I decided to split up my long tables into 2 parts, and use the \continuedFloat parameter to make the second part of the table actually be a second part! I feel like there are less blank spaces with my decision! But thank you. Feb 24, 2023 at 14:50

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .