
Ich möchte die Farbe einer Tabellenzelle mit dem an einen Befehl übergebenen Argument festlegen, aber es scheint keine Wirkung zu haben. Hier ist mein Code:
\PassOptionsToPackage{table}{xcolor}
\documentclass{beamer}
\usepackage{xcolor}
\newcommand*{\heatmap}[1][]{\cellcolor{red!#1} {#1}}
\begin{document}
\section{Background}
\begin{frame}
\frametitle{The size and type of repeats}
\begin{tabular}{lcccc}
Species & genomes & G/C & A/T & Di-\\
Widget & 7 & \heatmap{97}\% & \heatmap{3}\% & 0\%\\
\end{tabular}
\end{frame}
\end{document}
Ich gehe davon aus, dass die beiden Zellen mit dem \heatmap
darin verwendeten Makro in unterschiedlichen Rottönen dargestellt werden, tatsächlich werden sie jedoch beide in reinem Rot dargestellt. Wie kann ich den Befehl unter diesen Umständen zum Laufen bringen?
Antwort1
Es geht darum, den Befehl dazu zu bringen, ein optionales Argument zu erwarten (was in diesem Fall nicht angemessen erscheint). Vergleichen Sie den Unterschied:
\PassOptionsToPackage{table}{xcolor}
\documentclass{beamer}
\usepackage{xcolor}
\newcommand*{\heatmap}[1][]{\cellcolor{red!#1} {#1}}
\newcommand*{\xheatmap}[1]{\cellcolor{red!#1} {#1}}
\begin{document}
\section{Background}
\begin{frame}
\frametitle{The size and type of repeats}
\begin{tabular}{lcccc}
Species & genomes & G/C & A/T & Di-\\
Widget & 7 & \heatmap[97]\% & \heatmap[30]\% & 0\%\\
Widget & 7 & \heatmap[57]\% & \heatmap[30!blue!30]\% & 0\%\\
Widget & 7 & \xheatmap{97}\% & \xheatmap{30}\% & 0\%\\
\end{tabular}
\end{frame}
\end{document}