xcolor's rowcolor blockiert mehrzeilige Klammern

xcolor's rowcolor blockiert mehrzeilige Klammern

Ich versuche, eine Tabelle mit abwechselnd verschiedenen Farben pro Zeile zu erstellen und habe festgestellt, dass mein Dokument folgendermaßen kompiliert wird:

Zeilen mit Farben „decken“ die Klammer einer „Cases“-Anweisung ab, Zeilen ohne Farbe hingegen nicht.

Ich hatte ähnliche Probleme mit Matrizen und anderen großen Klammern, aber nicht mit anderen wie Integralen und Summen. Ich habe mir die Lösungen auf angesehenHierUndHier, aber ich bin nicht sicher, ob ich eines davon verstehe oder inwiefern es für mein Problem relevant ist.

Meine Frage ist, ob dies ein Problem mit der Art und Weise ist, wie ich die Reihen einfärbe, und ob es eine konventionellere Möglichkeit hierfür gibt.

Mein Markup ist hier:

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

Antwort1

Bildbeschreibung hier eingeben

es funktioniert mit \left\{\begin{array}{rl} ... \end{array}\right.vielleicht hilft es dir:

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

Antwort2

Laden Sie mathtoolsanstelle von amsmath(mathtools ist eine Erweiterung von amsmath) und verwenden Sie beispielsweise die Umgebung „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} 

Bildbeschreibung hier eingeben

Antwort3

Die Umgebung {NiceTabular}von nicematrixbietet ähnliche Tools wie die von, colortblverwendet jedoch PGF/Tikz zum Zeichnen.

Mit dieser Umgebung erhalten Sie direkt, was Sie möchten (Sie benötigen jedoch mehrere Kompilierungen, da nicematrixPGF/Tikz-Knoten verwendet werden).

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

Ausgabe des obigen Codes

verwandte Informationen