两个表格在顶部水平对齐

两个表格在顶部水平对齐

我无法让两个表格在顶部对齐(水平对齐)。我咨询过水平对齐两个表格的顶部(与 minipage 并排)我怎样才能让两张桌子并排?使两个图形顶部对齐将两个 parbox 与表格顶部对齐,还有更多。我尝试过 \parbox 和 \minipage,但没有任何效果。当我注释掉 \minipage 代码时,得到的结果与包含 \minipage 代码时相同。真正奇怪的是,我使用 \parbox 对其进行了对齐,但第二个表格与第一个表格的中心对齐。当我以为找到了解决方法(使用 \parbox[t]{} )时,表格被输出为表格 1(答案框),然后表格 2(评分框)在它下面(而不是旁边)。当我删除 [t] 时,什么都没有改变......这两个表格现在顽固地堆叠在一起,而不是彼此相邻。我一直在 \minipage 和 \parbox 之间工作,同时在这里研究新的解决方案,但仍然一无所获。

(文档类别与此有什么关系吗?我在这里发现的大多数文档类别是{article}而不是{exam}?)

我对 LaTeX 还比较陌生!感谢您的耐心。

\documentclass[12pt]{exam}
\usepackage{multirow} % for tables

\pagestyle{headandfoot}

\usepackage[margin=1in]{geometry}
\singlespacing

%to make cells in table have decent spacing
\usepackage{array}
\newcolumntype{L}[1]{>{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newcolumntype{R}[1]{>{\raggedleft\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}


\begin{document}

\begin{table}

%heading
\begin{flushright}
\begin{tabular}[t]{p{3.8in} r l}
\textbf{class} & \textbf{Name:} & \makebox[2in]{\hrulefill}\\
\textbf{exam} &&\\
\textbf{date} &&
\end{tabular}
\end{flushright}
\rule[1ex]{\textwidth}{.1pt}

%answer box 
\begin{minipage}[t]{0.45\linewidth}
\begin{tabular}[t]{ | C{1cm} | R{1.5cm} | }
    \hline
    1. &  \\ 
        & \\ \hline
    2. &  \\ 
        & \\ \hline
    3. &   \\
        & \\ \hline
    4. &   \\
        & \\ \hline
    5. &   \\
        & \\ \hline
    6. &   \\
        & \\ \hline
    7. &   \\ 
        & \\ \hline
\end{tabular} 
\end{minipage}


%scoring box
\begin{minipage}[b]{0.45\linewidth}
\begin{tabular}[t]{ | c | R{2cm} | R{1.5cm} | }
    \hline
    \multirow{2}{*}{Multiple Choice} & x $(9/7)$ & \\ 
                            &       & \\ \hline
    \multirow{2}{*}{Free Response} & x 1      & \\ 
                            &       & \\ \hline
    \multicolumn{1}{ c }{} & Your Score out of 18 &      \\ \cline{3-3} 
\end{tabular} \\
\end{minipage}


\end{table}
\end{document}

答案1

您可以使用单个tabularx表格代替两个表格。这样,您无需使用minipages 将表格分开。 的列tabularx将与您的两个单独的表格相同,再加上X中间的列类型以填充剩余的水平空间。还请注意,我tabularx在第一个表格中使用了 。这使我们能够\hrulefill直接使用而无需\makebox

\documentclass[12pt]{exam}
\usepackage{tabularx}  % for tabularx
\usepackage[margin=1in]{geometry}

% to make cells in table have decent spacing
\usepackage{array}
\newcolumntype{L}[1]{>{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newcolumntype{R}[1]{>{\raggedleft\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}

\begin{document}

\begin{table}
% heading
\begin{tabularx}{\linewidth}{@{}p{3.8in} X@{}}
\textbf{class} & \textbf{Name:} \hrulefill \\
\textbf{exam}  &                           \\
\textbf{date}  &                
\end{tabularx}

\addvspace{1em} 
\hrule height .1pt 
\addvspace{1em}

% answer box 
\renewcommand{\arraystretch}{2}
\begin{tabularx}{\linewidth}{|C{1cm}|R{1.5cm}| X |c|R{2cm}|R{1.5cm}|}
    \cline{1-2}\cline{4-6}
    1. &  &  & Multiple Choice & ${}\times(9/7)$ & \\ \cline{1-2}\cline{4-6} 
    2. &  &  & Free Response   & ${}\times1$     & \\ \cline{1-2}\cline{4-6}
    3. &  & \multicolumn{1}{c}{} & \multicolumn{2}{r|}{Your Score out of 18} & \\ \cline{1-2}\cline{6-6}
    4. &   \\ \cline{1-2}
    5. &   \\ \cline{1-2}
    6. &   \\ \cline{1-2}
    7. &   \\ \cline{1-2}  
\end{tabularx} 
\end{table}

\end{document}

在此处输入图片描述

另一个更简单的选择是使用两个tabular带有对齐选项的 s,[t]如下所示(结果与上面相同):

\begin{tabular}[t]{|C{1cm}|R{1.5cm}|}
    \hline
    1. &  \\ \hline
    2. &  \\ \hline
    3. &  \\ \hline
    4. &  \\ \hline
    5. &  \\ \hline
    6. &  \\ \hline
    7. &  \\ \hline
\end{tabular}
\hfill
\begin{tabular}[t]{|c|R{2cm}|R{1.5cm}|}
   \hline
   Multiple Choice & ${}\times(9/7)$ & \\ \hline
   Free Response   & ${}\times1$     & \\ \hline
   \multicolumn{2}{r|}{Your Score out of 18} & \\ \cline{3-3}
\end{tabular}

答案2

像这样:

在此处输入图片描述

你离这个很接近了...我只改变了从到和在表之间的minipage选项在 s之间添加和删除空行:bthfillminipage

\documentclass[12pt]{exam}
\usepackage{multirow} % for tables

\pagestyle{headandfoot}

\usepackage[margin=1in]{geometry}
%\singlespacing

%to make cells in table have decent spacing
\usepackage{array}
\newcolumntype{L}[1]{>{\raggedright\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newcolumntype{C}[1]{>{\centering\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}
\newcolumntype{R}[1]{>{\raggedleft\let\newline\\\arraybackslash\hspace{0pt}}m{#1}}


\begin{document}

\begin{table}

%heading
\begin{flushright}
\begin{tabular}[t]{p{3.8in} r l}
\textbf{class} & \textbf{Name:} & \makebox[2in]{\hrulefill}\\
\textbf{exam}  &&\\
\textbf{date}  &&
\end{tabular}
\end{flushright}
\rule[1ex]{\textwidth}{.1pt}
%answer box

\begin{minipage}[t]{0.45\linewidth}
\begin{tabular}[t]{ | C{1cm} | R{1.5cm} | }
    \hline
    1. &  \\
        & \\ \hline
    2. &  \\
        & \\ \hline
    3. &   \\
        & \\ \hline
    4. &   \\
        & \\ \hline
    5. &   \\
        & \\ \hline
    6. &   \\
        & \\ \hline
    7. &   \\
        & \\ \hline
\end{tabular}
\end{minipage}
\hfill
%scoring box
\begin{minipage}[t]{0.45\linewidth}
\begin{tabular}[t]{ | c | R{2cm} | R{1.5cm} | }
    \hline
    \multirow{2}{*}{Multiple Choice} & x $(9/7)$ & \\
                            &       & \\ \hline
    \multirow{2}{*}{Free Response} & x 1      & \\
                            &       & \\ \hline
    \multicolumn{1}{ c }{} & Your Score out of 18 &      \\ \cline{3-3}
\end{tabular} \\
\end{minipage}


\end{table}
\end{document}

相关内容