Kolorowanie komórek w tabeli

Nov 19 2020

Próbuję utworzyć tabelę z określonymi komórkami w kolorze zielonym lub czerwonym. W ramach próby użyłem następującego kodu, aby pokolorować jedną komórkę na zielono

\documentclass[a4paper,12pt]{extarticle}
%% Language and font encodings
\usepackage[english]{babel}
\usepackage[utf8x]{inputenc}
\usepackage[T1]{fontenc}

%% Sets page size and margins
\usepackage[a4paper,top=2.5cm,bottom=2.5cm,left=2.5cm,right=2.5cm,marginparwidth=1.75cm]{geometry}

\usepackage{amsmath}
\usepackage{amsfonts} 
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{mathtools}
\usepackage{optidef} 
\usepackage[framed,numbered,autolinebreaks,useliterate]{mcode}
\usepackage[table]{xcolor}

\begin{document}
\begin{table}
\centering
\begin{tabular}{ | l | l | l | } 
     \hline
      A & B & C \\
      \hline
      D & E & \cellcolor{green}F \\
      \hline
      G & H & I \\
      \hline
\end{tabular}
\end{table}
\end{document}

Tutaj użyłem \usepackage[table]{xcolor}. To nie zadziałało, a wygenerowane dane wyjściowe pokazano poniżej

Czy istnieje sposób na utworzenie tabeli z określonymi kolorami komórek?

Odpowiedzi

4 DavidCarlisle Nov 19 2020 at 08:50

mcode nie ma w standardowych dystrybucjach, ale możesz zobaczyć ten sam efekt używając xcolor

\documentclass[a4paper,12pt]{extarticle}
%% Language and font encodings
\usepackage[english]{babel}
\usepackage[utf8x]{inputenc}
\usepackage[T1]{fontenc}

%% Sets page size and margins
\usepackage[a4paper,top=2.5cm,bottom=2.5cm,left=2.5cm,right=2.5cm,marginparwidth=1.75cm]{geometry}

\usepackage{amsmath}
\usepackage{amsfonts} 
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{mathtools}
\usepackage{optidef} 
\usepackage{xcolor}
\usepackage[table]{xcolor}

\begin{document}
    \begin{tabular}{ | l | l | l | }
      \hline
      A & B & C \\
      \hline
      D & E & \cellcolor{green}F \\
      \hline
      G & H & I \\
      \hline
    \end{tabular}
\end{document}

powoduje to błąd

! LaTeX Error: Option clash for package xcolor.

a jeśli przewiniesz obok tego błędu

! Undefined control sequence.
l.24       D & E & \cellcolor
                             {green}F \\
? 

ponieważ \cellcolornie jest zdefiniowane, otrzymasz wynik, który pokazujesz.

Zwróć uwagę, że po każdym błędzie plik wyjściowy PDF nie jest przeznaczony do użytku, w najlepszym przypadku może służyć jako pomoc w debugowaniu. Nigdy nie ignoruj ​​komunikatów o błędach.

Aby naprawić kolizję opcji, wczytaj xcolorwcześniej z opcją, więc po prostu zamień linie:

\documentclass[a4paper,12pt]{extarticle}
%% Language and font encodings
\usepackage[english]{babel}
%\usepackage[utf8x]{inputenc}
\usepackage[T1]{fontenc}

%% Sets page size and margins
\usepackage[a4paper,top=2.5cm,bottom=2.5cm,left=2.5cm,right=2.5cm,marginparwidth=1.75cm]{geometry}

\usepackage{amsmath}
\usepackage{amsfonts} 
\usepackage{amssymb}
\usepackage{amsthm}
\usepackage{mathtools}
\usepackage{optidef} 
\usepackage[table]{xcolor}
\usepackage{xcolor}

\begin{document}
    \begin{tabular}{ | l | l | l | }
      \hline
      A & B & C \\
      \hline
      D & E & \cellcolor{green}F \\
      \hline
      G & H & I \\
      \hline
    \end{tabular}
\end{document}
1 jsbibra Nov 19 2020 at 08:24

\documentclass{article}
\usepackage[table]{xcolor}% http://ctan.org/pkg/xcolor
\begin{document}
\begin{tabular}{l|c|r}
  \hline
  Some & \cellcolor{blue!25}coloured & contents \\
  \hline
\end{tabular}

\begin{tabular}{ | l | l | l | }
    \hline
    A & B & C \\
    \hline
    D & E & \cellcolor{green}F \\
    \hline
    G & H & I \\
    \hline
\end{tabular}
\end{document}