我希望标题(执行者和监督者字段)中的文本向右对齐并左对齐。此外,我需要在其中添加换行符。目前,我使用 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
答案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
它来更清楚地区分这两个条目。
对于图片,我添加了框架以显示桌子确实是齐平的。