Estoy intentando incluir una mesa en uno de los marcos de mi proyector. Quiero que cada segunda columna de esta tabla tenga un fondo gris. En mi documento LaTeX, funcionó el siguiente código:
\definecolor{Gray}{gray}{0.9}
\newcolumntype{g}{>{\columncolor{Gray}}c}
\begin{table}[ht]
\centering
\begin{tabular}{c|g|c|g|c|g}
5.35 & 0.35 & 5.61 & -0.39 & 6.84 & -0.16 \\
5.45 & 0.45 & 5.52 & -0.48 & 6.84 & -0.16 \\
5.45 & 0.45 & 5.51 & -0.49 & 6.96 & -0.04 \\
5.45 & 0.45 & 5.63 & -0.37 & 6.96 & -0.04
\end{tabular}
\caption{my caption.}
\label{myTable}
\end{table}
Sin embargo, esto no funciona en el proyector. Estoy usando el \usepackage{xcolor}
paquete. Ahora, encontré eneste blogque debería modificar mi clase de documento para \documentclass[xcolor=table]{beamer}
usarla \usepackage[table]{xcolor}
y luego todo debería funcionar. El problema aquí es que estoy usando una plantilla personalizada y no la plantilla del proyector. De todos modos, no puedo entender esto, no debería ser tan complicado, ¿verdad?
Desafortunadamente, el mensaje de error que aparece no es de ninguna ayuda. Simplemente dice:Undefined control sequence \end{frame}
Respuesta1
El paquete beamer
carga el xcolor
paquete. Si desea agregar alguna opción para xcolor
, debe escribir esta opción entre las opciones de clase de documento:
\documentclass[table]{beamer} % <--- option "table" is passed to "xcolor" pacage
\definecolor{Gray}{gray}{0.9}
\newcolumntype{g}{>{\columncolor{Gray}}c}
\begin{document}
\begin{frame}
\frametitle{My colored table}
\begin{table}% table in beamer isn't float ...
\centering
\begin{tabular}{c|g|c|g|c|g}
5.35 & 0.35 & 5.61 & -0.39 & 6.84 & -0.16 \\
5.45 & 0.45 & 5.52 & -0.48 & 6.84 & -0.16 \\
5.45 & 0.45 & 5.51 & -0.49 & 6.96 & -0.04 \\
5.45 & 0.45 & 5.63 & -0.37 & 6.96 & -0.04
\end{tabular}
\caption{my caption.}
\label{myTable}
\end{table}
\end{frame}
\end{document}
da el resultado deseado:
Respuesta2
Debido a que tikzpicture
está bien adaptado en beamer
clase (están escritos por el mismo autor Till Tantao), por lo que es posible hacer una tabla como archivo tikzpicture
. No es necesario cargar la opción [table]
.
\documentclass{beamer}
\usepackage{tikz}
% I mimick the way of putting a row in a table
\newcommand{\putrow}[7]{
\path (0,#1) node{#2}
++(0:1) node{#3} ++(0:1) node{#4}
++(0:1) node{#5} ++(0:1) node{#6} ++(0:1) node{#7};
}
\begin{document}
\begin{frame}
\frametitle{Colored table}
\centering
\begin{tikzpicture}[xscale=1.2,yscale=.5]
\begin{scope}[shift={(-.5,.5)}]
\foreach \i in {1,3,5} \fill[blue!20] (\i,0) rectangle +(1,-4);
\foreach \i in {1,...,6} \draw[blue] (\i,0)--+(-90:4);
\end{scope}
\putrow{0}{5.35}{0.35}{5.61}{-0.39}{6.84}{-0.16}
\putrow{-1}{5.45}{0.45}{5.52}{-0.48}{6.84}{-0.16}
\putrow{-2}{5.45}{0.45}{5.51}{-0.49}{6.96}{-0.04}
\putrow{-3}{5.45}{0.45}{5.63}{-0.37}{6.96}{-0.04}
\path (current bounding box.south) node[below=2mm,blue]
{My colored table as a tikzpicture};
\end{tikzpicture}
\end{frame}
\end{document}