xelatex + tabular: Richten Sie eine Zelle am Zeichen aus und überspringen Sie die Eingabe dieses Zeichens in bestimmten Zeilen

xelatex + tabular: Richten Sie eine Zelle am Zeichen aus und überspringen Sie die Eingabe dieses Zeichens in bestimmten Zeilen

In meinem Lebenslauf liste ich meine vergangenen (und aktuellen) Jobs auf. Zum Beispiel:

\begin{tabular}{r@{\emph{ – }}l | p{11cm}}
  \emph{Jun 2013} & \emph{Aug 2013} & Work position at Company\\
\end{tabular}

Bei einigen Unternehmen habe ich jedoch weniger als einen Monat gearbeitet: zum Beispiel:

\begin{tabular}{r@{\emph{ – }}l | p{11cm}}
  \emph{Aug 2012} \span & Other Work position at Firm\\
\end{tabular}

Das Problem bei diesem zweiten Beispiel ist, dass \spandas Ausrichtungszeichen (dh ) aus dieser bestimmten Zeile nicht entfernt wird. Die Frage ist also:wie entferne ich es aus ausgewählten Zeilen?

Antwort1

\span ist ein Low-Level-Tex-Primitiv. In LaTeX sollten Sie \multicolumn verwenden, um Spaltenstile zu ändern:

\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}

Bildbeschreibung hier eingeben

Wenn Sie sie in der ersten Zelle rechtsbündig ausrichten möchten, können Sie den Bindestrich mit \phantom vortäuschen:

\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}

Bildbeschreibung hier eingeben

Antwort2

Während die @Spezifikation des MWE des OP in Stein gemeißelt zu sein scheint (kann nicht spontan geändert werden), gilt das Gleiche nicht für die <Spezifikation, die spontan neu ausgewertet wird.

\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}

Bildbeschreibung hier eingeben

Wenn Sie das Ergebnis linksbündig haben möchten und im Lichte eines Kommentars des OP, wähle ich einen leicht abgeänderten Ansatz:

\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}

Bildbeschreibung hier eingeben

Antwort3

Ich würde es anders und mit einer einfacheren Syntax auf Benutzerebene machen:

\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}

Der \cvrowBefehl akzeptiert zwei Argumente. Wenn das erste Argument enthält --, wird einem Zweig gefolgt und der Halbgeviertstrich gedruckt. Andernfalls wird nur das Leerzeichen zugewiesen.

Passen Sie die 11 cm an Ihre Textbreite an.

Bildbeschreibung hier eingeben

verwandte Informationen