双列、右对齐、左对齐的文本,带换行符

双列、右对齐、左对齐的文本,带换行符

我希望标题(执行者和监督者字段)中的文本向右对齐并左对齐。此外,我需要在其中添加换行符。目前,我使用 flushright、tabular 和 parbox 来实现

\documentclass{article}
\begin{document}    
\begin{flushright}
\begin{tabular}{ll}
    executor:     & \textit{\parbox[l]{6cm}{\vspace*{1em} Name  \\ some text} }\vspace{0.5em} \\
    supervisor :  & \textit{Name}       \\
\end{tabular}
\end{flushright}
\end{document}

现在看起来像这样: 所以现在看起来像这样

但也许有更优雅的解决方案。

答案1

您可以使用\parbox或更好的方法,就像 Dan 展示的p列一样,但是这需要您固定框的宽度,因此如果文本较短,则生成的块看起来不会右对齐。在某些情况下这是可以的,但是如果您希望块与最长行对齐到右边距,那么不使用 parbox 会更容易,就像这里的第二个示例一样。

在此处输入图片描述

\documentclass{article}
\begin{document}

\noindent X\dotfill filler text\dotfill X

\begin{flushright}
\begin{tabular}{lp{6cm}}
executor:    & \textit{Name\newline Some text}\\
supervisor : & \textit{Name}\\
\end{tabular}
\end{flushright}

\noindent X\dotfill filler text\dotfill X

\begin{flushright}
\begin{tabular}{ll@{}}
executor:    & \textit{Name}\\
             & \textit{Some text}\\
supervisor : & \textit{Name}\\
\end{tabular}
\end{flushright}

\noindent X\dotfill filler text\dotfill X
\end{document}

答案2

您可以使用p列选项,而\newline不是parbox\vspaces,我认为这稍微干净一些

\documentclass{article}
\begin{document}
\begin{flushright}
\begin{tabular}{lp{6cm}}
executor:    & \textit{Name\newline Some text}\\
supervisor : & \textit{Name}\\
\end{tabular}
\end{flushright}
\end{document}

在此处输入图片描述

答案3

对于这项工作来说,如果使用 添加行会更简单&,但您也可以使用不同的语法:

\documentclass{article}
\usepackage{array,booktabs}



\begin{document}    

\begin{flushright}
\newcommand{\splitcell}[1]{\begin{tabular}[t]{@{}l@{}}#1\end{tabular}}

\begin{tabular}{@{} l @{\hspace{1em}} >{\itshape}l @{}}
  executor:     & \splitcell{Name \\ some text} \\
  \addlinespace
  supervisor :  & Name
\end{tabular}
\end{flushright}

\end{document}

请注意@{}删除 周围的前导和尾随填充的命令tabular

我用\addlinespace它来更清楚地区分这两个条目。

对于图片,我添加了框架以显示桌子确实是齐平的。

在此处输入图片描述

相关内容