Beamer のこのテーブル コードの何が問題なのでしょうか?

Beamer のこのテーブル コードの何が問題なのでしょうか?

私は長い間、このコードで問題を解決しようと苦労してきました。基本的にこのページからコードをコピーしましたhttp://en.wikibooks.org/wiki/LaTeX/表「両方向に同時にスパニングする」セクションで、少しだけ変更しました。

\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 は次のように言い続けます:

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

テーブルが最終的にこのようになることを望みます

ここに画像の説明を入力してください

答え1

基本的な問題は、テーブルに の列が含まれているのに、\pauseの後に を配置していることです\multicolumn{4}{...}{...}。この時点では、セルはありません。\pauseを の最後の引数の末尾に配置できます\multicolumn

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

しかし、その場合、行の一番下の行は省略されます。次の例では、\pause行の後に密輸が行われます。

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

備考:

  • \hlineは よりも優れています\cline{1-<max column>}。なぜなら、 では行のスペースが考慮されるからです。 ではこれは不可能です\cline。そうでないと、\cline行内のいくつかの行が垂直方向にシフトしてしまいます。

  • \noalign配置の外側に垂直モードでマテリアルを配置できます。

  • ここでは垂直モードが好まれないようなので、で\pause囲みました。\hbox\pause

必要なテーブル レイアウトを実現するには、次のようなさまざまな方法があります。

\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}

結果

備考:

  • 2 行のセルには、ネストされた . を使用しましたtabular@{}このスペースは外側の表によってすでに追加されているため、列を区切るスペースが削除されます。

  • 表全体のデフォルトの色を線の色に設定することで、表の線に色を付けます。

  • テクスチャ付きの背景は、非常に複雑なため省略されています。

    • テーブルをボックスに入れて、画像をこの寸法に拡大縮小し、テーブル ボックスの背後に配置することもできます。ただし、これにより問題が発生します\pause

    • モノクロの背景はより簡単で、 のようなパッケージを使用すると、colortblたとえば を介して背景色を設定できます\rowcolor。パッケージには、線を色付けするためのコマンドもあります。ただし、「背景」色によって部分的に上書きされた線には問題が発生する可能性があります。

関連情報