在表格中对齐电子邮件

在表格中对齐电子邮件

我正在尝试将电子邮件地址垂直排列在表格中的符号下方@。我想避免使用两个单独的列。

我尝试使用该siunitx包,但尽管阅读了文档,却无法确定它是否可以正确应用于文本。当我尝试使用S类型列时,它可以完成工作,但由于值不是数字,它会抛出错误。如果我将所有内容都包装在其中,\text{}则不会再对齐任何内容。

目的是使有效的电子邮件超链接正确对齐,以便固定域名。

平均能量损失

\documentclass{article}
\usepackage{mwe}
\usepackage{siunitx}
\begin{document}
\begin{tabular}{ll}
  1 & a@tex \\
  2 & ab@tex
\end{tabular}
\end{document}

结果

  1. l 列:带长柱

  2. S 柱:带 S 柱

答案1

您的电子邮件地址有多少个?

如果数量很少,您可以使用以下解决方法:

\documentclass{article}
\usepackage{mwe}
\usepackage{array}
\usepackage{hyperref}
\begin{document}
    \begin{tabular}{l>{\ttfamily}l}
        1 & \phantom{xxx}\href{mailto:a@tex}{a@tex} \\
        2 & \phantom{xx}\href{mailto:[email protected]}{[email protected]}\\
        3 & \href{mailto:[email protected]}{[email protected]}\\
        4 & \phantom{x}\href{mailto:[email protected]}{[email protected]} \\
    \end{tabular}
\end{document}

在此处输入图片描述

如果它们很多,我认为可以计算之前的字符@并相应地构建\phantom(我给出了这个想法,我认为这里的一些 TeXpert 可以实现它)。

答案2

您可能不喜欢这个,因为这里确实需要两列,而且链接有效,但只能在符号之前的部分点击@。但至少它满足了您的要求:第一列@会抑制列间空间,第二列会用符号替换列分隔符@

\begin{tabular}{r@{@}l}
  a&tex\\
  ab&tex\\
  a&tx\\
  ab&tx\\
  \href{mailto:mynamedomain.com}{myname}&domain.com\\
\end{tabular}

产量

在此处输入图片描述

相关内容