Beamer:两列平行的文本排列?

Beamer:两列平行的文本排列?

在 Beamer 中,我想要一个包含两列文本的框架,其中包含平行的内容,如下所示:

1 This is the first item in english        1 Este el primer item en español
2 Second english item                      2  Segundo item en español, pero 
                                              este es mas largo
3 Third very long item in                  3 Tercer item en español 
   English spanning
    spanning spanning
    many lines
4  ...                                      4 ...

这样,两个文本列中的对应部分应该在同一行上对齐。最好的解决方案不是特定于 beamer 的,因为这应该是一个普遍的问题。

答案1

如果您愿意的话,我将用插图来扩展我的评论: 在此处输入图片描述

这是通过以下方式获得的:

\documentclass{beamer}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{tabularx}

\begin{document}
\begin{frame}[t]
    \begin{tabularx}{\hsize}{rXrX}
1   &   This is the first item in english        
        &   1   &   Este el primer item en español                    \\
2   &   Second english item                      
        &   2   &    Segundo item en español, pero este es mas largo  \\
3   &   Third very long item in English spanning spanning spanning many lines
        &   3   &   Tercer item en español                        \\
4   &   \dots
        &   4   &   \dots \end{tabularx}
\end{frame}
\end{document}

如果您不喜欢第一行和第三行有数字,只需删除这些列即可。您也可以通过定义新的列类型来更改单元格对齐R

\newcolumntype{R}{>{\RaggedRight\arraybackslash}X}

它将智能地将单元格内容左对齐。为此,\RaggedRight您需要ragged2e在文档的序言中添加此包。您可以在表格中获得更多位置,如果在开始和结束参数中添加@{}如下内容:

{@{}rRrR@{}}

升级: 仔细考虑单元格的编号:由于同一行中的单元格编号相同,因此只需对行编号一次就足够了,例如仅在第一列中编号。此编号可以自动执行,这样可以节省您输入此表格时的注意力。

另外,使用包还booktabs可以通过在addlinespace每行后添加来增加行之间的空间(例如,也可以通过增加此空间来增加\\[1ex])。

通过这些“改进”,英语/西班牙语表达列表如下所示:

在此处输入图片描述

如您所见,自动编号还允许引用行。也许这会变得很方便。下面是描述更改后的代码:

\documentclass{beamer}
    \usepackage[T1]{fontenc}
    \usepackage[utf8]{inputenc}
    \usepackage{ragged2e}
    \usepackage{booktabs}% <-- new
    \usepackage{tabularx}
\newcolumntype{R}{>{\RaggedRight\arraybackslash}X}
%%% new    
\setlength{\tabcolsep}{3pt}
\newcounter{tabrowref}
\renewcommand\thetabrowref{\arabic{tabrowref}}
\newcommand{\getTabRowRef}{%
        \refstepcounter{tabrowref}
        \thetabrowref}

\begin{document}
\begin{frame}[t]
\begin{tabularx}{\hsize}{@{}>{%
    \color{black}%<-- for correct aligning of text in cells
    \getTabRowRef%<-- for automatic numbering of rows
    \setlength\hsize{0.05\hsize}}R%<-- for correct aligning of text in cells
    >{\color{blue}}R  %<-- colored text blue for English
    >{\color{orange}}R% and orange for English
                                >{\color{blue}}R  %<-- colored text blue for English
                                >{\color{orange}}R% and orange for English
                            @{}}
    &   This is the first item in English
        &       Este el primer item en Español                      
        \\  \addlinespace%<-- for increasing space between rows
    &   Second english item
        &        Segundo item en Español, pero este es mas largo    
        \\  \addlinespace
\label{row:3}   
    &   Third very long item in English spanning spanning spanning many lines
        &       Tercer item en Español \dots                        
        \\    \addlinespace
    &   \dots
        &       \dots 
    \end{tabularx}

\vskip 4em   
\textcolor{blue}{Automatic numbering of rows also enable to referencing a particular row. For example, considering row \ref{row:3} \dots}
\end{frame}
\end{document}

答案2

这应该是自动的:

\documentclass{beamer}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{tabularx,lmodern}

\newcounter{mycounter}
\setcounter{mycounter}{0}
\newcommand{\mycounter}{\stepcounter{mycounter}\arabic{mycounter}}

\newcommand{\LRenums}[2]{%
\begin{enumerate}
    \item[\mycounter] #1
\end{enumerate}
&
\addtocounter{mycounter}{-1}
\begin{enumerate}
    \item[\mycounter] #2
\end{enumerate}
}
\begin{document}

\begin{frame}[t]
\begin{tabularx}{\hsize}{@{}XX@{}}
\LRenums{This is the first item in english}{Este el primer item en español} \\ 
\LRenums{Second english item}{Segundo item en español, pero este es mas largo} \\ 
\LRenums{Third very long item in English spanning spanning spanning many lines}{Tercer item en español} \\ 
\LRenums{\dots}{\dots} \\ 
\end{tabularx}
\end{frame}

\end{document}

在此处输入图片描述

相关内容