
Ich habe lange mit diesem Code gekämpft und versucht, das offensichtliche Problem zu lösen. Ich habe den Code im Wesentlichen von dieser Seite kopierthttp://en.wikibooks.org/wiki/LaTeX/Tablesim Abschnitt „Gleichzeitiges Spannen in beide Richtungen“, und ich habe es nur ein wenig geändert:
\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 sagt ständig:
Misplaced \omit \cline{1-4}
Missing \endgroup inserted \cline{1-4}
Missing } inserted \cline{1-4}
Missing \cr inserted \cline{1-4}
Ich möchte, dass die Tabelle am Ende so aussieht
Antwort1
Ihr grundlegendes Problem besteht darin, dass Ihre Tabelle vier Spalten enthält, Sie aber \pause
nach platziert haben \multicolumn{4}{...}{...}
. An dieser Stelle gibt es keine Zelle. \pause
kann am Ende des letzten Arguments von platziert werden \multicolumn
:
\multicolumn{4}{...}{...\pause}
Allerdings wird dann die unterste Zeile der Zeile weggelassen. Folgendes Beispiel schmuggelt \pause
hinter die Zeile:
\hline % \cline{1-4}
\noalign{\hbox{\pause}}
Bemerkungen:
\hline
ist besser als\cline{1-<max column>}
, weil dann der Platz für die Zeile berücksichtigt wird. Bei ist das nicht möglich\cline
. Sonst\cline
würden mehrere hintereinander vertikal verschoben.\noalign
ermöglicht es, Material im vertikalen Modus außerhalb der Ausrichtung zu platzieren.Ich habe es
\pause
in umgebrochen\hbox
, weil\pause
der vertikale Modus hier nicht zu mögen scheint.
Es gibt mehrere Möglichkeiten, um zum gewünschten Tabellenlayout zu gelangen, zum Beispiel:
\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}
Bemerkungen:
tabular
Für die Zellen mit zwei Zeilen habe ich eine verschachtelte . -Form verwendet .@{}
Dadurch wird der Leerraum zwischen den Spalten entfernt, da dieser bereits durch die äußere Tabelle hinzugefügt wurde.Die Linien der Tabelle werden eingefärbt, indem die Standardfarbe für die gesamte Tabelle auf die Farbe der Linien gesetzt wird.
Auf den strukturierten Hintergrund wird verzichtet, da dieser deutlich aufwändiger ist:
Man könnte die Tabelle in eine Box setzen und ein Bild auf diese Maße skalieren und hinter die Tabellenbox setzen. Das verursacht aber Probleme mit
\pause
.Ein monochromer Hintergrund dürfte einfacher sein, das Paket like
colortbl
erlaubt das Setzen einer Hintergrundfarbe, z.B. über\rowcolor
. Das Paket hat auch Befehle zum Einfärben der Linien. Allerdings kann es hier zu Problemen mit teilweise überschriebenen Linien durch die "Hintergrund"-Farbe kommen.