如何将 Font Awesome 置于表格中央?

如何将 Font Awesome 置于表格中央?

有一些非常先进的 回答我不知道该如何适应这种情况。

当我执行以下操作时,第二列中的文本由于某种原因确实垂直居中。

问题

有人能弄清楚如何垂直居中两列吗?

在此处输入图片描述

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{fontawesome5}
\begin{document}

\begin{tabular}{cl}
{\huge \faIcon{envelope}} \hspace{0.5em}         & xxx\\\\
{\huge \faIcon{phone-square-alt}} \hspace{0.5em} & xxx\\\\
{\huge \faIcon{trophy}} \hspace{0.5em}           & xxx y.o.\\\\
{\huge \faIcon{map-marker-alt}} \hspace{0.5em}   & xxx
\end{tabular}

\end{document}

更新

该问题似乎与 Font awesome 有关?

在此处输入图片描述

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{fontawesome5}
\usepackage{tabularray}
\begin{document}

\begin{tblr}{Q[c,m]Q[l,m]]}
\hline
{\huge \faIcon{envelope}} \hspace{0.5em}         & xxx\\\\
\hline
{\huge \faIcon{phone-square-alt}} \hspace{0.5em} & xxx\\\\
{\huge \faIcon{trophy}} \hspace{0.5em}           & xxx y.o.\\\\
{\huge \faIcon{map-marker-alt}} \hspace{0.5em}   & xxx
\end{tblr}

\end{document}

答案1

当涉及单行文本时,垂直居中定义不明确:您如何看待垂直居中?对于小写字母?或者那些既没有上升部也没有下降部?或者那些两者都有?

另一方面,fontawesome符号对于其所在位置有不同的看法:

\_\faIcon{envelope}\_\faIcon{phone-square-alt}\_\faIcon{trophy}\_\faIcon{map-marker-alt}\_

在此处输入图片描述

为此,我重新定义了\_命令,以便在其顶部边缘精确显示基线。

一个答案可能是将数学轴作为垂直中心,分数线就位于其上。如图所示,数学轴位于大写 X 的中心。

\documentclass{article}
%\usepackage[utf8]{inputenc}
\usepackage{fontawesome5}

\newcommand{\myfa}[1]{%
  $\vcenter{\hbox{\huge\faIcon{#1}}}$%
}


\begin{document}

\begin{tabular}{c@{}cl}
$\frac{\quad}{}$&
\myfa{envelope}\hspace{0.5em}         & Xyz\\\\
$\frac{\quad}{}$&
\myfa{phone-square-alt}\hspace{0.5em} & Xyz\\\\
$\frac{\quad}{}$&
\myfa{trophy}\hspace{0.5em}           & Xyz y.o.\\\\
$\frac{\quad}{}$&
\myfa{map-marker-alt}\hspace{0.5em}   & Xyz
\end{tabular}

\end{document}

在此处输入图片描述

答案2

array.sty这可以通过使用和列格式来实现m。并且MWE是:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{fontawesome5}
\usepackage{array}
\begin{document}

\begin{tabular}{m{5pc}m{5pc}}%change the value as you like
{\huge \faIcon{envelope}} \hspace{0.5em}         & xxx\\\\
{\huge \faIcon{phone-square-alt}} \hspace{0.5em} & xxx\\\\
{\huge \faIcon{trophy}} \hspace{0.5em}           & xxx y.o.\\\\
{\huge \faIcon{map-marker-alt}} \hspace{0.5em}   & xxx
\end{tabular}

\end{document}

在此处输入图片描述

答案3

使用 TikZ 矩阵的可能解决方案:

\documentclass{article}
%\usepackage[utf8]{inputenc}%no more needed
\usepackage{fontawesome5}
\usepackage{tikz}
\usetikzlibrary{matrix}
\begin{document}
\begin{tikzpicture}
\matrix[
    matrix of nodes,
    column 1/.style={nodes={font=\huge, anchor=center}},
    column 2/.style={nodes={anchor=west}}
    ]
    {
    \faIcon{envelope} &[.5em] xxx\\
    \faIcon{phone-square-alt} & xxx\\
    \faIcon{trophy} & xxx y.o.\\
    \faIcon{map-marker-alt}  & xxx\\
    };
\end{tikzpicture}
\end{document}

在此处输入图片描述

答案4

这不是一个好的解决方案,但是您可以手动将第二列的文本稍微提高一点:

\documentclass{article}

\usepackage{fontawesome5}
\usepackage{xcolor}
\usepackage{tabularray}
\usepackage{graphicx}

\begin{document}

\begin{tblr}{
  colspec={c|[1cm,white]l},
  column{1}={font=\huge},
}
\faIcon{envelope}          & \raisebox{1.4ex}{xxx}\\
\faIcon{phone-square-alt}  & \raisebox{1.4ex}{xxx}\\
\faIcon{trophy}            & \raisebox{1.4ex}{xxx y.o.}\\
\faIcon{map-marker-alt}    & \raisebox{1.4ex}{xxx}\\
\end{tblr}

\end{document}

在此处输入图片描述

(红线只是为了直观)

相关内容