
Ich habe diese Tabelle auf Grundlage einer früherenFragen und Antworten:
Wie Sie sehen, liegt ein Problem mit der Kopfzeile vor.
Wie kann ich die Hervorhebung nur für Kopfzeilen deaktivieren?
Hier ist der Code:
\documentclass{article}
\usepackage{booktabs}
\usepackage{colortbl}
\usepackage{xcolor}
\makeatletter
\newcommand*{\yncellcolor}{}
\def\yncellcolor\ignorespaces{\@ifnextchar{1}{\cellcolor{green!20}}{\@ifnextchar{0}{\cellcolor{red!20}}{}}}
\newcolumntype{C}{>{\yncellcolor}c}
\makeatother
\begin{document}
\begin{table}[htp]
\caption{XOR}
\begin{center}
\begin{tabular}{CCCCCCCCCCCCCCCCCC}
\toprule
$Bit$ & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 \\
\midrule
$A$ & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 \\
$B$ & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 \\
$\bigoplus$ & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 \\
\bottomrule
\end{tabular}
\end{center}
\label{XOR}
\end{table}
\end{document}
Antwort1
So was?
Nach der Reparatur (Abschließen) Ihres MWE ... schlage ich vor, unterschiedliche Spaltentypen für die durch definierten Spaltenüberschriften zu verwenden \multicolumn{1}{c}{...}
.
\documentclass{article}
\usepackage[table]{xcolor}
\usepackage{booktabs}
\makeatletter
\newcommand*{\yncellcolor}{}
\def\yncellcolor\ignorespaces{\@ifnextchar{1}{\cellcolor{green!20}}{\@ifnextchar{0}{\cellcolor{red!20}}{}}}
\newcolumntype{C}{>{\yncellcolor}c}
\makeatother
\newcommand\mc[1]{\multicolumn{1}{c}{#1}} % <--- new
\begin{document}
\begin{table}[htp]
\caption{XOR}
\centering
\begin{tabular}{l| *{8}{C}}
\toprule
$Bit$ &\mc{1} &\mc{2} &\mc{3} &\mc{4} &\mc{5} &\mc{6} &\mc{7} &\mc{8} \\ % <--- changed
\midrule
$A$ & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 \\
$B$ & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 \\
$\bigoplus$ & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 \\
\bottomrule
\end{tabular}
\label{XOR}
\end{table}
\end{document}
Hinweis: Die Verwendung der vertikalen Linien in der Tabelle und die Verwendung von Regeln aus booktabs
funktionieren nicht gut zusammen. Sie sollten andere Linienkombinationen in Betracht ziehen (z. B. \hlineB{...}
aus boldline
dem Paket):
\documentclass{article}
\usepackage[table]{xcolor}
\usepackage{boldline}
\makeatletter
\newcommand*{\yncellcolor}{}
\def\yncellcolor\ignorespaces{\@ifnextchar{1}{\cellcolor{green!20}}{\@ifnextchar{0}{\cellcolor{red!20}}{}}}
\newcolumntype{C}{>{\yncellcolor}c}
\makeatother
\newcommand\mc[1]{\multicolumn{1}{c}{#1}} % <--- new
\begin{document}
\begin{table}[htp]
\caption{XOR}
\centering
\begin{tabular}{>{\rule[-1ex]{0pt}{4ex}$}l<{$} | *{8}{C}}
\hlineB{2}
\mathrm{Bit} &\mc{1} &\mc{2} &\mc{3} &\mc{4} &\mc{5} &\mc{6} &\mc{7} &\mc{8} \\ % <--- changed
\hlineB{1.5}
A & 0 & 1 & 0 & 1 & 0 & 1 & 0 & 1 \\
B & 1 & 0 & 1 & 0 & 1 & 0 & 1 & 0 \\
\bigoplus & 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1 \\
\hlineB{2}
\end{tabular}
\label{XOR}
\end{table}
\end{document}