В своем резюме я перечисляю свои прошлые (и недавние) места работы. Например:
\begin{tabular}{r@{\emph{ – }}l | p{11cm}}
\emph{Jun 2013} & \emph{Aug 2013} & Work position at Company\\
\end{tabular}
Однако в некоторых компаниях я проработал меньше месяца, например:
\begin{tabular}{r@{\emph{ – }}l | p{11cm}}
\emph{Aug 2012} \span & Other Work position at Firm\\
\end{tabular}
Проблема со вторым примером в том, что \span
не удаляет символ выравнивания (т.е. –
) из этой конкретной строки. Так что вопрос:как удалить его из выбранных строк?
решение1
\span — низкоуровневый примитив tex. В LaTeX для изменения стилей столбцов следует использовать \multicolumn:
\documentclass{book}
\begin{document}
\begin{tabular}{r@{\emph{ – }}l | p{11cm}}
\emph{Jun 2013} & \emph{Aug 2013} & Work position at Company\\
\multicolumn{2}{l|}{\emph{Aug 2012}}& Other Work position at Firm\\
\end{tabular}
\end{document}
Если вы хотите выровнять их по правому краю в первой ячейке, вы можете использовать \phantom для имитации тире:
\documentclass{book}
\usepackage{array}
\begin{document}
\begin{tabular}{r@{\emph{~–~}}l | p{11cm}}
\emph{Jun 2013}& \emph{Aug 2013} & Work position at Company\\
\multicolumn{1}{r@{\phantom{\emph{~–~}}}}{\emph{Jul 2013}}&
&
Other Work position at Firm\\
\end{tabular}
\end{document}
решение2
В то время как @
спецификация MWE OP, по-видимому, запечатлена в камне (ее нельзя изменить на лету), то же самое нельзя сказать о спецификации <
, которая переоценивается на лету.
\documentclass{article}
\usepackage{array}
\newcommand\mycolsep{\emph{ -- }}
\newcommand\myspan{\let\mycolsep\relax\span}
\begin{document}
\begin{tabular}{r<{\mycolsep}@{}l | p{11cm}}
\emph{Jun 2013} & \emph{Aug 2013} & Work position at Company\\
\emph{Aug 2012} \myspan & Other Work position at Firm\\
\emph{Jun 2011} & \emph{Aug 2011} & Work position at Company\\
\emph{Aug 2010} \myspan & Other Work position at Firm\\
\end{tabular}
\end{document}
Если вы хотите, чтобы результат был выровнен по левому краю, и в свете комментария автора поста, я немного изменю подход:
\documentclass{article}
\usepackage{array}
\newcommand\mycolsep{\emph{ -- }}
\newcommand\myspan{\def\mycolsep{\phantom{\emph{ -- }}}&}
\begin{document}
\begin{tabular}{r<{\mycolsep}@{}l | p{11cm}}
\emph{Jun 2013} & \emph{Aug 2013} & Work position at Company\\
\emph{Aug 2012} \myspan & Other Work position at Firm\\
\emph{Jun 2011} & \emph{Aug 2011} & Work position at Company\\
\emph{Jul 2010} \myspan & Other Work position at Firm\\
\end{tabular}
\end{document}
решение3
Я бы сделал это по-другому и с более простым синтаксисом на уровне пользователя:
\documentclass{article}
\usepackage[a4paper]{geometry}
\usepackage{xparse}
\ExplSyntaxOn
\NewDocumentEnvironment{cvpart}{}
{
\setlength{\tabcolsep}{0pt}
\par\noindent
\begin{tabular*}{\textwidth}{
r
l
@{\extracolsep{\fill}} p{11cm}
}
}
{
\end{tabular*}
}
\NewDocumentCommand{\cvrow}{>{\SplitArgument{1}{--}}m m}
{
\tukus_cvrow:nnn #1 { #2 }
}
\cs_new_protected:Nn \tukus_cvrow:nnn
{
\emph{ \tl_trim_spaces:n { #1 } }
\tl_if_novalue:nTF { #2 }
{
\hphantom{~--~} &
}
{
\mbox{~--~} & \emph{ \tl_trim_spaces:n { #2 } }
}
& #3 \\
}
\ExplSyntaxOff
\begin{document}
\begin{cvpart}
\cvrow{Jun 2013 -- Aug 2013}{
Work position at Company
Work position at Company
Work position at Company
Work position at Company
Work position at Company
}
\cvrow{Jul 2013}{Other Work position at Firm}
\end{cvpart}
\end{document}
Команда \cvrow
принимает два аргумента; если первый аргумент содержит --
, следует одна ветвь и печатается короткое тире. В противном случае выделяется только пространство.
Отрегулируйте 11 см в соответствии с шириной текста.