¿Qué hay de malo con el código de esta tabla en Beamer?

¿Qué hay de malo con el código de esta tabla en Beamer?

He estado luchando durante mucho tiempo con este código tratando de resolver el problema que aparentemente existe. Básicamente copié el código de esta página.http://en.wikibooks.org/wiki/LaTeX/Tablesen la sección "Ampliación en ambas direcciones simultáneamente", y simplemente la modifiqué un poco:

\begin{frame}
\begin{center}
\onslide<1->\begin{tabular}{c|c|c|c}
\cline{1-4}
\multicolumn{4}{c}{Matemáticas} \pause\\
\cline{1-4}
\multicolumn{2} {c}{Cantidad}& \multicolumn{2} {c}{Magnitud} \pause \\ 
\cline{1-4}
\multicolumn{1}{c} {Aritmética} & \multicolumn{1}{c}{Música} & \multicolumn{1}c}{Geometría}  & \multicolumn{1}{c}{Astronomía} \pause\\
\cline{1-4}
\multicolumn{4}{c}{Quatrivium}
\end{tabular}
\end{center}
\end{frame}

TeXStudio sigue diciendo:

Misplaced \omit \cline{1-4} 
Missing \endgroup inserted \cline{1-4}
Missing } inserted \cline{1-4}
Missing \cr inserted \cline{1-4}

Me gustaría que la mesa terminara así.

ingrese la descripción de la imagen aquí

Respuesta1

Su problema básico es que su tabla contiene columnas, pero las ha colocado \pausedespués \multicolumn{4}{...}{...}. En este punto, no hay ninguna celda. \pausese puede poner al final del último argumento de \multicolumn:

\multicolumn{4}{...}{...\pause}

Pero luego se omite la línea inferior de la fila. El siguiente ejemplo contrabandea \pausedespués de la línea:

\hline % \cline{1-4}
\noalign{\hbox{\pause}}

Observaciones:

  • \hlinees mejor que \cline{1-<max column>}, porque entonces se tiene en cuenta el espacio para la línea. Esto no es posible para \cline. De lo contrario, varios \clinede ellos seguidos se desplazarían verticalmente.

  • \noalignpermite poner material en modo vertical fuera de la alineación.

  • He envuelto \pauseen \hbox, porque \pauseno parece gustarle el modo vertical aquí.

Hay muchas maneras de llegar al diseño de tabla deseado, por ejemplo:

\documentclass{beamer}
\usepackage[utf8]{inputenc}
\usepackage{xcolor}
\usepackage{array}
\begin{document}

\newcommand*{\tabstack}[4]{%
  \begingroup
    \setlength{\extrarowheight}{0pt}%
    \begin{tabular}[t]{@{}c@{}}%
      \textcolor{#1}{#2}\tabularnewline
      \textcolor{#3}{#4}%
    \end{tabular}%
  \endgroup
}

\begin{frame}
\begin{center}
\color{blue}
\setlength\extrarowheight{.7ex}
\begin{tabular}{|c|c|c|c|}
\hline
\multicolumn{4}{|c|}{
  \tabstack {blue}  {\Large Matemáticas}
            {black} {(el estudio de lo inmutable)}
}\\
\hline
\noalign{\hbox{\pause}}
\multicolumn{2}{|c|}{
  \tabstack {red}   {\Large Cantidad}
            {black} {(lo discreto)}
} &
\multicolumn{2}{c|}{
  \tabstack {red}   {\Large Magnitud}
            {black} {(lo continuo)}
}\\
\hline
\noalign{\hbox{\pause}}
\tabstack {black} {absoluta}
          {red}   {\Large Aritmética}
&
\tabstack {black} {relativa}
          {green} {\Large Música}
&
\tabstack {black} {en reposo}
          {red}   {\Large Geometría}
&
\tabstack {black} {enmovimiento}
          {red}   {\Large Astronomía}
\\
\hline
\noalign{\hbox{\pause}}
\multicolumn{4}{|c|}{
  \Large \textcolor{blue}{Quatrivium}
} \\
\hline
\end{tabular}
\end{center}
\end{frame}
\end{document}

Resultado

Observaciones:

  • Para las celdas con dos líneas, he usado un archivo tabular. @{}elimina el espacio que separa las columnas, porque este espacio ya está agregado por el tabular exterior.

  • Las líneas de la tabla se colorean estableciendo el color predeterminado para toda la tabla en el color de las líneas.

  • Se omite el fondo texturizado porque es mucho más complicado:

    • La mesa se podría colocar en una caja y se podría escalar una imagen a estas dimensiones y colocarla detrás de la caja de la mesa. Pero esto causa problemas con \pause.

    • Un fondo monocromático debería ser más fácil, el paquete similar colortblpermite configurar un color de fondo, por ejemplo, mediante \rowcolor. El paquete también tiene comandos para colorear las líneas. Sin embargo, puede haber problemas con líneas sobrescritas parcialmente por el color de "fondo".

información relacionada