“Não há linha aqui para terminar” no comando personalizado

“Não há linha aqui para terminar” no comando personalizado

Estou trabalhando na criação de um currículo em LaTeX e defini um comando que me permite inserir minha experiência de trabalho. O único problema é que sempre que tento usar uma lista detalhada, como visto abaixo, recebo "! LaTeX Error: There's no line here to end.See the LaTeX manual or LaTeX Companion for explanation.Type H <return> for immediate help.... To Be Added}". Também tenho que adicionar quebras de linha manualmente \\por algum motivo.

Código do meu documento tex:

\section{Related Experience}

\begin{entrylist}
  \experience
    {Jan 2014 – Present}
    {IT Systems}
    {Chocolate Covered Alien Co.; Mars, PA}
    {\textbf{Responsibilities:}\\
    \begin{itemize}
        \item Cook aliens to a nice texture
        \item Chocolate cover said aliens
    \end{itemize}}
    {\textbf{Key Achievements:}\\
    \begin{itemize}
        \item Ate chocolate covered aliens without the boss finding out
    \end{itemize}}
    \end{entrylist}

Código do meu documento de aula:

\newenvironment{entrylist}{%
    \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}ll}
}{%
    \end{tabular*}
}

\newcommand{\experience}[5]{%
    \textbf{#1}&\parbox[t]{12cm}{%
        \textbf{#2}\\%
        \textit{#3}\\%
        #4\\%
        #5\vspace{\parsep}%
    }\\}

Responder1

O problema é que \begin{itemize} ... \end{itemize}não é uma linha de texto, então você não pode colocar \\depois dela. Os ambientes são autônomos, portanto serão sempre colocados depois de um parágrafo e antes de outro.

Isso significa que o que \\você usa depois #4está causando o erro. Além disso, você não precisa \\do final da sua macro, se estiver usando \vspace{\parsep}. Redefina sua macro para:

\newcommand{\experience}[5]{%
    \textbf{#1}&\parbox[t]{12cm}{%
        \textbf{#2}\newline%
        \textit{#3}\newline%
        #4%
        #5\vspace{\parsep}%
}}

EDITAR:No entanto, isso pode causar outro problema (aviso). Neste momento, a segunda coluna da tabela tem 12 cm de largura e a primeira coluna pode esticar-se até ao comprimento que desejar. Portanto, você obterá um hbox cheio demais toda vez que o texto da primeira coluna "empurrar" a segunda coluna para longe. Para se livrar do excesso de hbox, você também deve definir um comprimento fixo para a primeira coluna. Você deve fazer isso de forma que as duas colunas juntas não excedam a largura da linha. Você pode fazer isso como:

\newcommand{\experience}[5]{%
    \parbox[t]{0.3\linewidth}{\textbf{#1}}&\parbox[t]{0.63\linewidth}{%
        \textbf{#2}\newline%
        \textit{#3}\newline%
        #4%
        #5\vspace{\parsep}%
}}

Onde 0,3 + colsep + 0,63 tem aproximadamente 1 largura de linha.

informação relacionada