colchetes multilinhas de bloqueio de rowcolor do xcolor

colchetes multilinhas de bloqueio de rowcolor do xcolor

Estou tentando fazer uma tabela com cores diferentes alternando por linha, e descobri que meu documento estava compilando assim:

As linhas com cores 'cobrem' o colchete de uma instrução 'cases', mas as linhas não coloridas não.

Tive problemas semelhantes com matrizes e outros colchetes grandes, mas não com outros como integrais e somas. Eu olhei as soluções emaquieaqui, mas não tenho certeza se entendi algum deles ou como ele é relevante para o meu problema.

Minha dúvida é se isso é ou não um problema com a maneira como estou colorindo as linhas e se existe uma maneira mais convencional de fazer isso.

Minha marcação está aqui:

\documentclass{article}
\usepackage[table]{xcolor}
\usepackage{amsmath}
\begin{document}

\begin{table}[h]

\renewcommand{\arraystretch}{1.5}%
\rowcolors{2}{}{gray!10} 
\begin{tabular}{p{3cm}|p{5cm}}

    \textbf{Problem} & \\
    With Color & $n! = 
    \begin{cases} 
        1 & \text{if } n = 0 \\
        (n-1)! &  \text{otherwise}
    \end{cases}$ \\

    Without Color & $n! = 
    \begin{cases} 
        1 & \text{if } n = 0 \\
        (n-1)! &  \text{otherwise}
    \end{cases}$ \\

\end{tabular}
\end{table}
\end{document}

Responder1

insira a descrição da imagem aqui

funciona com \left\{\begin{array}{rl} ... \end{array}\right.talvez ajude você:

\documentclass{article}
\usepackage[table]{xcolor}
\usepackage{amsmath}
\usepackage{array,cellspace}
\setlength\cellspacetoplimit{4pt}
\setlength\cellspacebottomlimit{4pt}

\begin{document}
    \begin{table}[h]
\renewcommand{\arraystretch}{1.5}%
\rowcolors{2}{}{gray!10}
\begin{tabular}{p{3cm}|>{$}S{p{5cm}}<{$}}
\textbf{Problem}    & \\
        With Color  & n! = \left\{\begin{array}{rl}
                            1       & \text{if } n = 0 \\[-1ex]
                            (n-1)!  &  \text{otherwise}
                            \end{array}\right. \\
    Without Color   & n! = \begin{cases}
                            1       & \text{if } n = 0 \\
                            (n-1)!  &  \text{otherwise}
                            \end{cases} 
\end{tabular}
    \end{table}
\end{document}

Responder2

Carregue mathtoolsno lugar de amsmath(mathtools é uma extensão do amsmath) e use, digamos, o ambiente `dcases*:

\documentclass{article}
\usepackage[table]{xcolor}
\usepackage{mathtools}
\begin{document}

\begin{table}[h]
\renewcommand{\arraystretch}{1.5}%
\rowcolors{2}{}{gray!10}
\begin{tabular}{p{3cm}|p{5cm}}
    \textbf{Problem} & \\
    With Color & $n! =
    \begin{dcases*}
        1 & if $ n = 0 $ \\
        (n-1)! & otherwise
    \end{dcases*}$ \\
\end{tabular}
\end{table}

\end{document} 

insira a descrição da imagem aqui

Responder3

O ambiente {NiceTabular}de nicematrixfornece ferramentas semelhantes às de colortblmas usando PGF/Tikz para o desenho.

Usando esse ambiente, você tem diretamente o que deseja (mas precisa de várias compilações, pois nicematrixusa nós PGF/Tikz).

\documentclass{article}
\usepackage{amsmath}
\usepackage{nicematrix}
\begin{document}

\begin{table}[h]
\renewcommand{\arraystretch}{1.5}%
\begin{NiceTabular}{p{3cm}|>{\arraybackslash}p{5cm}}%
    [code-before = \rowcolors{2}{}{gray!10}]
    \textbf{Problem} & \\
    With Color & $n! = 
    \begin{cases} 
        1 & \text{if } n = 0 \\
        (n-1)! &  \text{otherwise}
    \end{cases}$ \\
    Without Color & $n! = 
    \begin{cases} 
        1 & \text{if } n = 0 \\
        (n-1)! &  \text{otherwise}
    \end{cases}$ \\
\end{NiceTabular}
\end{table}
\end{document}

Saída do código acima

informação relacionada