我编写了一个 LaTeX2e 和 expl3 的大杂烩来产生以下效果:
我所拥有的是丑陋的和意识形态不正确。我正在寻找一种更好的方法来做同样的事情。我认为棺材在这里会派上用场,但我不确定如何将它们组合在一起。
\documentclass{article}
\usepackage{xparse,xcolor}
\ExplSyntaxOn
\box_clear_new:N \g_jakecv_group_start_box
\hbox_set:Nn \g_jakecv_group_start_box
{
\makebox[0pt]{\rule[-40.5pt]{1mm}{\dimexpr40.5pt+1mm\relax}}
\makebox[0pt][l]{\rule{\dimexpr\textwidth+3mm\relax}{1mm}}
}
\NewDocumentCommand \Position { mmmm } {
\group_begin:
\color{black!20!white}
\smash{\raisebox{1ex}{
\hspace{\dimexpr -1ex - 1mm\relax}
\box_use:N \g_jakecv_group_start_box}}
\group_end:
\group_begin:
\par\noindent\large #1 \quad #2 \newline
\group_end:
#3 \newline #4
}
\ExplSyntaxOff
\begin{document}
\Position{2020--2025}{Some Position Title}{Some Super Long Organization Name}{Some City, BC}
\end{document}
答案1
棺材绝对是正确的答案!将这些东西按照相对位置组合在一起正是这个包的用途。
无需任意测量,无需猜测:
\documentclass{article}
\usepackage{xparse,xcolor}
\ExplSyntaxOn
\coffin_new:N \l_jakecv_position_info_coffin
\NewDocumentCommand \Position { mmmm } {
\group_begin:
\vcoffin_set:Nnn \l_jakecv_position_info_coffin {\textwidth} {
\group_begin:
\par\noindent\large #1 \quad #2 \newline
\group_end:
#3 \newline #4
}
\hcoffin_set:Nn \l_tmpa_coffin {
\color{black!20!white}
\rule{1mm} { \dim_eval:n { 4mm +
\coffin_ht:N \l_jakecv_position_info_coffin }}
}
\coffin_attach:NnnNnnnn
\l_jakecv_position_info_coffin {l}{B}
\l_tmpa_coffin {r}{b}
{-3mm}{0pt}
\hcoffin_set:Nn \l_tmpa_coffin {
\color{black!20!white}
\rule{\dim_eval:n { 4mm + \textwidth }}{1mm}
}
\coffin_attach:NnnNnnnn
\l_jakecv_position_info_coffin {l}{t}
\l_tmpa_coffin {l}{b}
{-4mm}{3mm}
\coffin_typeset:Nnnnn \l_jakecv_position_info_coffin {l}{t}{0pt}{0pt}
\group_end:
}
\ExplSyntaxOff
\begin{document}
\Position{2020--2025}{Some Position Title}{Some Super Long Organization Name}{Some City, BC}
\end{document}