[Tex/LaTex] top align minipage in tabular

minipagetables

I have one table with 2 minipages. I wish to top align the two minipages.

e.g.

\documentclass{standalone}
\usepackage{adjustbox}
\begin{document}

\begin{tabular}{|l|l|} \hline
    \begin{minipage}{.5\linewidth}
        \begin{tabular}{|l|l|} \hline
            1 & 2 \\ \hline
            3 & 4 \\ \hline
            5 & 6 \\ \hline
        \end{tabular}
    \end{minipage} &

    \begin{minipage}{.5\linewidth}
        \begin{tabular}{|l|l|} \hline
            7 & 8 \\ \hline
        \end{tabular}
    \end{minipage} \\ \hline
\end{tabular}

\end{document}

Now the output is as below:

enter image description here

How can we align the second minipage on top? That means "7 8" line aligned with "1 2" line.

Best Answer

It's not clear to me why you have minipage environments encasing tabular environments. Here's a solution that dispenses with the minipages and top-aligns two tabular environments within a tabularx environment.

To avoid overlaps between the \hlines drawn by the outer tabularx and the inner tabular environments, I've omitted some of your \hline instructions from the inner environments. If you decide to get rid of the outer \hlines, be sure to re-insert the \hlines in the inner tabulars.

enter image description here

\documentclass{article}
\usepackage{tabularx}
\begin{document}
\noindent
\begin{tabularx}{\textwidth}{@{}X@{}X@{}}
  \hline
  \begin{tabular}[t]{|l|l|} 
      1 & 2 \\ \hline
      3 & 4 \\ \hline
      5 & 6 
    \end{tabular}
    &
    \begin{tabular}[t]{|l|l|} 
      7 & 8 \\ \hline
    \end{tabular}\\ \hline
\end{tabularx}
\end{document}

Next, here's a version with three vertical bars drawn by the outer tabularx (far left, middle, and right). To avoid overlap of the vertical lines drawn by the inner and outer table-like environments, it may again be a good idea to omit the first vertical bar from each of the inner tabulars.

enter image description here

\documentclass{article}
\usepackage{tabularx}
\begin{document}
\noindent
\begin{tabularx}{\textwidth}{|@{}X|@{}X@{}|}
  \hline
  \begin{tabular}[t]{l|l|} 
      1 & 2 \\ \hline
      3 & 4 \\ \hline
      5 & 6 
    \end{tabular}
    &
    \begin{tabular}[t]{l|l|} 
      7 & 8 \\ \hline
    \end{tabular}\\ \hline
\end{tabularx}
\end{document}

Finally, for the sake of completeness, here's the code that's needed if you wish to use minipage environments after all to typeset the preceding example. Note that it's necessary to use the [t] position specifier for both minipages and both tabulars in order to get the vertical alignment just right. (Not showing a separate screenshot since the result is identical to the one above.)

\documentclass{article}
\usepackage{tabularx}
\begin{document}
\noindent
\begin{tabularx}{\textwidth}{|@{}X|@{}X@{}|}
    \hline
    \begin{minipage}[t]{\linewidth}
    \begin{tabular}[t]{l|l|} 
        1 & 2 \\ \hline
        3 & 4 \\ \hline
        5 & 6 
    \end{tabular}
    \end{minipage}
    &
    \begin{minipage}[t]{\linewidth}
    \begin{tabular}[t]{l|l|} 
        7 & 8 \\ \hline
    \end{tabular} 
    \end{minipage}\\
    \hline
\end{tabularx}
\end{document}