如何自动将姓名的首字母与下方头衔的首字母对齐

如何自动将姓名的首字母与下方头衔的首字母对齐

考虑

\documentclass{letter}
\begin{document}
\thispagestyle{empty}

\begin{flushleft}
December 20, 1883
\end{flushleft}

\begin{flushright}
James Joseph Sylvester \\
Savilian Chair of Geometry, Oxford
\end{flushright}
\end{document}

这表明了一封信的开始和结束:

在此处输入图片描述

我希望能够自动(而不是通过反复试验)对齐,在本例中,J詹姆士年代萨维利安以便能够轻松适应未来所有此类目的。(我\flushright在这里使用该命令只是为了说明目的。)

备注:此请求的目的不是如何排版标准字母,而是如何正确格式化书籍中的简介、前言等作者姓名;因此,我不是在寻找标准模板。

答案1

将要对齐的内容设置为支持该结构的内容。这可以是minipage,也可以是tabular。我使用后者,l下面有一个单数左对齐列:

在此处输入图片描述

\documentclass{article}

\begin{document}

\thispagestyle{empty}

\begin{flushleft}
  December 20, 1883
\end{flushleft}

\begin{flushright}
  \begin{tabular}{@{} l @{}}
    James Joseph Sylvester \\
    Savilian Chair of Geometry, Oxford
  \end{tabular}
\end{flushright}

\end{document}

答案2

您可以使用堆栈。

\documentclass{letter}
\usepackage[usestackEOL]{stackengine}
\strutlongstacks{T}
\begin{document}
\thispagestyle{empty}

\begin{flushleft}
December 20, 1883
\end{flushleft}

\begin{flushright}
\Longstack[l]{James Joseph Sylvester \\
Savilian Chair of Geometry, Oxford}
\end{flushright}
\end{document}

在此处输入图片描述

相关内容