我想使用传递给命令的参数来设置表格单元格的颜色,但似乎没有任何效果。这是我的代码:
\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}
我期望\heatmap
使用宏的两个单元格会呈现出不同的红色,但实际上,它们都呈现出纯红色。在这种情况下,我该如何让命令发挥作用?
答案1
这是让命令期望一个可选参数的情况(在这种情况下似乎不合适)。比较一下区别:
\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}