라텍스 비머의 긴 테이블

Dec 05 2020

다음과 같이 긴 테이블이 있습니다. 테이블을 하나의 프레임에 맞추고 싶습니다.

이 사이트 의 게시물 을 읽었습니다 . 그러나 나는 그것을 달성 할 수 없다. 당신이 나를 도울 수?

     \documentclass[mathserif]{beamer}
    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage{lmodern}
    \usepackage[english]{babel}
    \usepackage{amsmath}
    \usepackage{amsfonts}
    \usepackage{amssymb}
    \usepackage{graphicx}
    \usetheme{Berlin}
    \usepackage{graphics} 
    \usepackage{times}
    \usepackage{amsmath} 
    \usepackage{tabularx} 
    \usepackage{longtable}
    \graphicspath{{figures/}}
    \usepackage{subfig}
    \usepackage{hyperref}
    \usepackage{cleveref}
    \PassOptionsToPackage{force}{filehook}
    \begin{document}
\begin{frame}[allowframebreaks]
    \begin{table}[hbt!]
    \begin{center}
    \begin{tabular}{|c|c|c|c|c|c|c|}\hline
    $x$&$t$&$U_{{\it numeric}} \left( x,t \right) $&$U_{{\it exact}} \left( x,t \right) $&${\it Error}$&${\it Refsolution}$&${\it RefError}$\\ \hlin\hline 
    $0$&$0$&$ 0.7938824$&$1$&$ 0.2061176$&$ 1.0$&$ 0.0\, \mathrm{E}^{+00}$ \\ \hline 
    $0$&$ 0.2$&$ 1.006211$&$ 0.9955687$&$ 0.0106423$&$ 0.9902$&$ 5.400\, \mathrm{E}^{-03}$ \\ \hline 
    $0$&$ 0.4$&$ 0.9876852$&$ 0.9824309$&$ 0.0052543$&$ 0.9627$&$ 1.980\, \mathrm{E}^{-02}$ \\ \hline 
    $0$&$ 0.6$&$ 0.9503579$&$ 0.9610430$&$ 0.0106851$&$ 0.9235$&$ 3.750\, \mathrm{E}^{-02}$ \\ \hline 
    $0$&$ 0.8$&$ 0.8949527$&$ 0.9321290$&$ 0.0371763$&$ 0.8827$&$ 4.950\, \mathrm{E}^{-02}$ \\ \hline 
    $0$&$ 1.0$&$ 0.8224107$&$ 0.8966296$&$ 0.0742189$&$ 0.8542$&$ 4.250\, \mathrm{E}^{-02}$ \\ \hline 
    $ 0.5$&$0$&$ 1.009713$&$ 0.9845362$&$ 0.0251768$&$ 0.9845$&$ 0.0\, \mathrm{E}^{+00}$ \\ \hline 
    $ 0.5$&$ 0.2$&$ 0.9953282$&$ 0.9966049$&$ 0.0012767$&$ 0.9994$&$ 2.800\, \mathrm{E}^{-03}$ \\ \hline 
    $ 0.5$&$ 0.4$&$ 0.9988702$&$ 0.9999306$&$ 0.0010604$&$ 0.9946$&$ 5.300\, \mathrm{E}^{-03}$ \\ \hline 
    $ 0.5$&$ 0.6$&$ 0.9953922$&$ 0.9943961$&$ 0.0009961$&$ 0.9734$&$ 2.100\, \mathrm{E}^{-02}$ \\ \hline 
    $ 0.5$&$ 0.8$&$ 0.9850632$&$ 0.9801960$&$ 0.0048672$&$ 0.9459$&$ 3.430\, \mathrm{E}^{-02}$ \\ \hline 
    $ 0.5$&$ 1.0$&$ 0.9683171$&$ 0.9578230$&$ 0.0104941$&$ 0.9316$&$ 2.620\, \mathrm{E}^{-02}$ \\ \hline 
    $ 1.0$&$0$&$ 0.940015$&$ 0.9400148$&$ 0.0000002$&$ 0.9400$&$ 0.0\, \mathrm{E}^{+00}$ \\ \hline 
    $ 1.0$&$ 0.2$&$ 0.9671292$&$ 0.9671279$&$ 0.0000013$&$ 0.9775$&$ 1.040\, \mathrm{E}^{-02}$ \\ \hline 
    $ 1.0$&$ 0.4$&$ 0.9865112$&$ 0.9865114$&$ 0.0000002$&$ 0.9974$&$ 1.090\, \mathrm{E}^{-02}$ \\ \hline 
    $ 1.0$&$ 0.6$&$ 0.9975042$&$ 0.9975042$&$ 0.0$&$ 0.9974$&$ 1.0\, \mathrm{E}^{-04}$ \\ \hline 
    $ 1.0$&$ 0.8$&$ 0.9997222$&$ 0.9997222$&$ 0.0$&$ 0.9801$&$ 1.960\, \mathrm{E}^{-02}$ \\ \hline 
    $ 1.0$&$ 1.0$&$ 0.9930872$&$ 0.9930876$&$ 0.0000004$&$ 0.9556$&$ 3.750\, \mathrm{E}^{-02}$ \\ \hline 
    \end{tabular}
    \end{center}
    \end{table}
\end{frame}
    \end{document}

답변

2 Mico Dec 05 2020 at 23:04

표 자료는 단일 프레임에 맞아야하기 때문에 \scriptsize상대적인 글꼴 크기 로 전환해야한다고 생각합니다 .

모든 수직선을 제거하고 훨씬 적지 만 간격이 좋은 수평선을 사용하여 테이블을보다 개방 된 "모습"으로 표시합니다. 또한 siunitx패키지 의 일부 기계를 사용 하여 각 소수점 표시에 숫자를 정렬합니다.

\documentclass[mathserif]{beamer}
    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}
%%%    \usepackage{lmodern} % is overridden by 'times' package
    \usepackage[english]{babel}
    \usepackage{amsmath}
%%%    \usepackage{amsfonts} % is loaded automatically by 'amssymb' package
    \usepackage{amssymb}
    \usepackage{graphicx}
    \graphicspath{{figures/}}
%%%    \usepackage{graphics} % don't load both 'graphicx' and 'graphics'

    \usetheme{Berlin}
    \usefonttheme{professionalfonts}  
    \usepackage{newtxtext,newtxmath}
    \usepackage{booktabs,siunitx}
    
    \usepackage{amsmath} 
    \usepackage{tabularx} 
    \usepackage{longtable}
    \usepackage{subfig}
%%%    \usepackage{hyperref}  % is loaded automatically by 'beamer'
    \usepackage{cleveref}
    \PassOptionsToPackage{force}{filehook}
    
\begin{document}
\begin{frame}%[allowframebreaks]
\sisetup{group-digits=false}
    %\begin{table}[hbt!]
    %\begin{center}
\centering
\scriptsize
    \begin{tabular}{@{}
       *{2}{S[table-format=1.1]}
       *{3}{S[table-format=1.7]}
            S[table-format=1.4]
            S[table-format=1.3e-1]
       @{} }
    \toprule
    {$x$} & {$t$} & {$U_{\mathit{numeric}} ( x,t )$}  & {$U_{\mathit{exact}} ( x,t )$} 
    & {$\mathit{Error}$} & {$\mathit{RefSolution}$} & {$\mathit{RefError}$} \\ 
    \midrule
     0 & 0   & 0.7938824 &  1         &  0.2061176 & 1.0    &  0.0e+00   \\ 
     0 & 0.2 & 1.006211  &  0.9955687 &  0.0106423 & 0.9902 &  5.400e-03 \\ 
     0 & 0.4 & 0.9876852 &  0.9824309 &  0.0052543 & 0.9627 &  1.980e-02 \\ 
     0 & 0.6 & 0.9503579 &  0.9610430 &  0.0106851 & 0.9235 &  3.750e-02 \\ 
     0 & 0.8 & 0.8949527 &  0.9321290 &  0.0371763 & 0.8827 &  4.950e-02 \\ 
     0 & 1.0 & 0.8224107 &  0.8966296 &  0.0742189 & 0.8542 &  4.250e-02 \\ 
     \addlinespace
     0.5 & 0 & 1.009713  &  0.9845362 &  0.0251768 & 0.9845 &  0.0e+00   \\ 
     0.5 & 0.2&0.9953282 &  0.9966049 &  0.0012767 & 0.9994 &  2.800e-03 \\ 
     0.5 & 0.4&0.9988702 &  0.9999306 &  0.0010604 & 0.9946 &  5.300e-03 \\ 
     0.5 & 0.6&0.9953922 &  0.9943961 &  0.0009961 & 0.9734 &  2.100e-02 \\ 
     0.5 & 0.8&0.9850632 &  0.9801960 &  0.0048672 & 0.9459 &  3.430e-02 \\ 
     0.5 & 1.0&0.9683171 &  0.9578230 &  0.0104941 & 0.9316 &  2.620e-02 \\ 
     \addlinespace
     1.0 & 0  &0.940015  &  0.9400148 &  0.0000002 & 0.9400 &  0.0e+00   \\ 
     1.0 & 0.2&0.9671292 &  0.9671279 &  0.0000013 & 0.9775 &  1.040e-02 \\ 
     1.0 & 0.4&0.9865112 &  0.9865114 &  0.0000002 & 0.9974 &  1.090e-02 \\ 
     1.0 & 0.6&0.9975042 &  0.9975042 &  0.0       & 0.9974 &  1.0e-04   \\ 
     1.0 & 0.8&0.9997222 &  0.9997222 &  0.0       & 0.9801 &  1.960e-02 \\ 
     1.0 & 1.0&0.9930872 &  0.9930876 &  0.0000004 & 0.9556 &  3.750e-02 \\ 
     \bottomrule
    \end{tabular}
    %\end{center}
    %\end{table}
\end{frame}
\end{document}
2 Zarko Dec 05 2020 at 23:28
  • longtable이 클래스로있는 문서에있는 모든 기능을 보존하지 않습니다 비머에서 article, book프레임의 각 슬라이드에 (당신이 그들을 갖고 싶은 경우) 등 결과적으로 수동으로 열 헤더를 삽입해야합니다.

  • 당신의 MWE에서 당신은 table환경 을 사용 합니다. 즉, 테이블이 하나에 적합하다는 것을 의미합니다 frame. 이것은 그의 대답에서 @Mico처럼 글꼴 크기를 충분히 줄이면 달성 할 수 있습니다.

  • 표에 더 큰 글꼴 longtable을 사용하려는 경우 다음과 같은 방법으로 모방 할 수 있습니다 .

    • 두 부분으로 분할 된 테이블
    • 각 부품 사용 tabular테이블 환경
    • 각 부분에 열 머리글 삽입
\documentclass[mathserif]{beamer}
\usetheme{Berlin}
\setbeamertemplate{frametitle continuation}%
                  {(\insertcontinuationcount)%
                  }% end frame title continuation

\usepackage[T1]{fontenc}
\usepackage{times}
\usepackage[english]{babel}
\usepackage{siunitx}
    
    \begin{document}
\begin{frame}[allowframebreaks]
\frametitle{My longtable}
\sisetup{table-format=1.7,
         tight-spacing=true}
\setlength\tabcolsep{3pt}
\setlength\extrarowheight{1pt}
   \small
    \begin{tabular}{|*{2}{S[table-format=1.1]|}
                          S|S|S|
                          S[table-format=1.3]|
                          S[table-format=1.3e-1]|}
    \hline
{x} & {t}   &   {$U_{\mathrm{numeric}}(x,t)$}
                &   {$U_{\mathrm{exact}}(x,t)$}
                    &   {Error}
                        &   {Ref\textsubscript{solution}}
                            & {Ref\textsubscript{Error}}                \\ \hline\hline
0   & 0     & 0.7938824 & 1         & 0.2061176 & 1.0    & 0.0   e0     \\ \hline
0   & 0.2   & 1.006211  & 0.9955687 & 0.0106423 & 0.9902 & 5.400 e-03   \\ \hline
0   & 0.4   & 0.9876852 & 0.9824309 & 0.0052543 & 0.9627 & 1.980 e-02   \\ \hline
0   & 0.6   & 0.9503579 & 0.9610430 & 0.0106851 & 0.9235 & 3.750 e-02   \\ \hline
0   & 0.8   & 0.8949527 & 0.9321290 & 0.0371763 & 0.8827 & 4.950 e-02   \\ \hline
0   & 1.0   & 0.8224107 & 0.8966296 & 0.0742189 & 0.8542 & 4.250 e-02   \\ \hline
0.5 & 0     & 1.009713  & 0.9845362 & 0.0251768 & 0.9845 & 0.0   E0     \\ \hline
0.5 & 0.2   & 0.9953282 & 0.9966049 & 0.0012767 & 0.9994 & 2.800 e-03   \\ \hline
0.5 & 0.4   & 0.9988702 & 0.9999306 & 0.0010604 & 0.9946 & 5.300 e-03   \\ \hline
    \end{tabular}

%---------------------------------------------------------------%
     \begin{tabular}{|*{2}{S[table-format=1.1]|}
                          S|S|S|
                          S[table-format=1.3]|
                          S[table-format=1.3,
                            table-figures-exponent=2]|}
    \hline
{x} & {t}   &   {$U_{\mathrm{numeric}}(x,t)$}
                &   {$U_{\mathrm{exact}}(x,t)$}
                    &   {Error}
                        &   {Ref\textsubscript{solution}}
                            & {Ref\textsubscript{Error}}                \\ \hline\hline
0.5 & 0.6   & 0.9953922 & 0.9943961 & 0.0009961 & 0.9734 & 2.100 e-02   \\ \hline
0.5 & 0.8   & 0.9850632 & 0.9801960 & 0.0048672 & 0.9459 & 3.430 e-02   \\ \hline
0.5 & 1.0   & 0.9683171 & 0.9578230 & 0.0104941 & 0.9316 & 2.620 e-02   \\ \hline
1.0 &0      & 0.940015  & 0.9400148 & 0.0000002 & 0.9400 & 0.0   e0     \\ \hline
1.0 & 0.2   & 0.9671292 & 0.9671279 & 0.0000013 & 0.9775 & 1.040 e-02   \\ \hline
1.0 & 0.4   & 0.9865112 & 0.9865114 & 0.0000002 & 0.9974 & 1.090 e-02   \\ \hline
1.0 & 0.6   & 0.9975042 & 0.9975042 & 0.0       & 0.9974 & 1.0   e-4    \\ \hline
1.0 & 0.8   & 0.9997222 & 0.9997222 & 0.0       & 0.9801 & 1.960 e-02   \\ \hline
1.0 & 1.0   & 0.9930872 & 0.9930876 & 0.0000004 & 0.9556 & 3.750 e-02   \\ \hline
    \end{tabular}
\end{frame}
\end{document}