我在表格的一列内使用了一些fontawsome
符号。当文本太长时,第二行文本与第一行不对齐,这看起来很糟糕。我想以某种方式修复这个问题,最好不要过多地更改表格的布局并保留我创建的宏。
我从 MWE 获得的益处:
我想要的是:
梅威瑟:
\documentclass{article}
\usepackage{fontawesome}
\usepackage{xcolor}
\usepackage{tabularray}
\definecolor{icons}{HTML}{46A247}
\newcommand{\locationsymbol}{\faMapMarker}
\newcommand{\calendarsymbol}{\faCalendar}
\newcommand{\CVdate}[1]{\textcolor{icons}{\calendarsymbol}\hspace{1em}#1}
\newcommand{\CVlocation}[1]{\textcolor{icons}{\locationsymbol}\hspace{1.4em}#1}
\newcommand{\CVevent}[2]{\CVdate{#1} \newline \CVlocation{#2}}
\newenvironment{CV_table}{%
\par\addvspace{\topsep}\noindent
\begin{tblr}{
width=\textwidth,
colspec={@{} X[l,2] X[l,4] X[l,3] @{}},
column{1} = {font=\bfseries},
rowsep=0.5\baselineskip
}%
}{\end{tblr}\par\addvspace{\topsep}}
\begin{document}
\begin{CV_table}
a & a & \CVevent{01.01.2019 - 01.02.2020}{Some long location name spanning multiple lines} \\
b & b & \CVevent{10.12.2013 - ongoing}{Location B}
\end{CV_table}
\end{document}
答案1
我将宏的定义更改为:
\newcommand{\CVdate}[1]{\begin{tblr}{c l}\textcolor{icons}{\calendarsymbol} & #1\end{tblr}}
\newcommand{\CVlocation}[1]{\begin{tblr}{c l}\textcolor{icons}{\locationsymbol} & #1\end{tblr}}
\newcommand{\CVevent}[2]{\begin{tblr}{c l}\textcolor{icons}{\calendarsymbol} & #1 \\
\textcolor{icons}{\locationsymbol} & #2\end{tblr}}
这似乎有效,但在CV_table
(|
)中放入一条垂直线,很明显这超出了 CV_table 的界限:
即使使用 更改了文本宽度,如何才能使其适合 CV_table 中的列minipage
?