对齐 \emailfrom 中的两行文本

对齐 \emailfrom 中的两行文本

我对 TeX 还很陌生,我正在尝试使用 LaTeX 制作一封简单的求职信。我下载了一个求职信模板,它有一个名为的组件(不知道你怎么称呼这些东西)\emailfrom。我的代码如下所示:

\emailfrom{ % Email address
[email protected] \\
[email protected] \\
[email protected]
}

这是我目前得到的:

对齐问题

我迄今为止唯一不优雅的解决方案是:

\emailfrom{ % Email address
[email protected] \\
[email protected] \\
[email protected]
}

我希望能够将第二封和第三封电子邮件与第一封电子邮件对齐。我该如何实现?

抱歉说得不清楚,但我对 TeX 一无所知。

答案1

在没有 MWE 的情况下未经测试。尝试以下操作:

\emailfrom{% Email address
\begin{tabular}[t]{l}
[email protected] \\
[email protected] \\
[email protected]
\end{tabular}
}

mailto: put在序言中获取超链接和 \usepackage{hyperref}`,并使用

\href{mailto:your name}{first.email}

答案2

这是另一个“有趣”的答案,但是不幸的是,由于 TeX 原语(这里使用)没有在 LaTeX 指南中解释,因此无法接受。

% in preamble:
\def\emails#1{\vtop\bgroup\emailsA #1,,}
\def\emailsA#1,{\ifx,#1,\egroup\else\hbox{\ignorespaces#1}\expandafter\emailsA\fi}

% in document:
Emails: \emails{[email protected], [email protected], [email protected]}

答案3

也许是这样的:

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{etoolbox,hyperref}

\newcounter{email}
\newcommand{\emailfrom}[1]{%
  \begingroup
  \parindent 0pt%
  \parbox{2cm}{Email:}%
  \setcounter{email}{0}%
  \renewcommand*{\do}[1]{%
    \stepcounter{email}%
    \ifnum\value{email}<2\relax%
    \emailformat{##1}\par
    \else
    \hspace{2cm}\emailformat{##1}\par
  \fi}%
  \docsvlist{#1}
  \endgroup}
\newcommand{\emailformat}[1]{\href{mailto:#1}{#1}}

\begin{document}

\emailfrom{% Email address
[email protected], [email protected], [email protected]}

\end{document}

它设置了一个名为“email”的计数器,这样您就可以使列表中的第一个项目的行为与后面的项目不同。使用该命令,您可以更轻松地设置电子邮件地址的样式。和\emailformat的参数应根据个人喜好进行更改。(如果您愿意,可以将它们合并到定义中,以便您可以在发出命令时更改它们。)\parindent\parindent\emailfrom

相关内容