Rowcolor de xcolor que bloquea corchetes de varias líneas

Rowcolor de xcolor que bloquea corchetes de varias líneas

Estoy intentando hacer una tabla con diferentes colores alternados por fila y descubrí que mi documento se estaba compilando así:

Las filas con colores "cubren" el corchete de una declaración de "casos", pero las filas sin color no lo hacen.

He tenido problemas similares con matrices y otras llaves grandes, pero no con otras como integrales y sumas. He mirado las soluciones enaquíyaquí, pero no estoy seguro de entender ninguno de los dos ni en qué medida son relevantes para mi problema.

Mi pregunta es si esto es o no un problema con la forma en que estoy coloreando las filas, y si había una forma más convencional de hacerlo.

Mi marcado está aquí:

\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}

Respuesta1

ingrese la descripción de la imagen aquí

Funciona con \left\{\begin{array}{rl} ... \end{array}\right.tal vez te ayude:

\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}

Respuesta2

Cargue mathtoolsen lugar de amsmath(mathtools es una extensión de amsmath) y use, digamos, el entorno `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} 

ingrese la descripción de la imagen aquí

Respuesta3

El entorno {NiceTabular}de nicematrixproporciona herramientas similares a las de colortblpero usando PGF/Tikz para el dibujo.

Usando ese entorno, tienes directamente lo que deseas (pero necesitas varias compilaciones ya que nicematrixusa nodos 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}

Salida del código anterior

información relacionada