对齐文本列

对齐文本列

我正在使用以下代码尝试获得以下效果

Author:                      Laboratory Partners:
Amos NG                      Rebecca ROYCROFT
                             Nora BRACKBILL
Professor:
Huan HUANG

代码:

\begin{minipage}{0.4\textwidth}
\begin{flushleft} \small
\emph{Author:}\\
Amos \textsc{Ng}\\[0.4cm]
\emph{Professor:} \\
Huan \textsc{Huang}
\end{flushleft}
\end{minipage}
\begin{minipage}{0.4\textwidth}
\begin{flushright} \small
\emph{Laboratory Partners:} \\
Rebecca \textsc{Roycroft}\\
Nora \textsc{Brackbill}
\end{flushright}
\end{minipage}

输出结果:

在此处输入图片描述

我怎样才能在这里实现我想要的布局?

答案1

我假设您想要获得右侧最长的线与右侧齐平的效果。

我倾向于minipage使用顶部对齐tabular,因为它们会自动调整其大小,并将\hfill它们与各自的边缘对齐。

编辑:在列规范中添加@{}以删除边缘处的空格。

像这样:

\begin{tabular}[t]{@{}l}
\emph{Author:}\\
Amos \textsc{Ng}\\
\rule{0.4cm}{0cm}\\% A strut for the extra line space
\emph{Professor:} \\
Huan \textsc{Huang}
\end{tabular}
\hfill
\begin{tabular}[t]{l@{}}
\small
\emph{Laboratory Partners:} \\
Rebecca \textsc{Roycroft}\\
Nora \textsc{Brackbill}
\end{tabular}

答案2

您可以使用以下两种方法:

  • minipage 有一个可选的 position 参数,你应该将其设置为 t 以实现顶部对齐
  • \hfill 命令将在两个 mimipage 之间创建一个空格,以填充所有可用位置。

    \begin{minipage}[t]{0.4\textwidth}
     .....
    \end{minipage}
    \hfill
    \begin{minipage}[t]{0.4\textwidth}
    .....
    \end{minipage}
    

相关内容