
então sou completamente novo no TeX e comecei a usar um modelo de currículo que encontrei no github. Dentro desse modelo, há um arquivo de classe com um ambiente “cventries” e um comando “cventry”:
\newcommand*{\cventry}[5]{
\setlength\tabcolsep{0pt}
\setlength{\extrarowheight}{0pt}
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} L{12.5cm} R{4.5cm}}
\ifempty{#2#3}
{\entrypositionstyle{#1} & \entrydatestyle{#4} \\}
{\entrytitlestyle{#2} & \entrylocationstyle{#3} \\
\entrypositionstyle{#1} & \entrydatestyle{#4} \\}
\multicolumn{2}{L{17cm}}{\descriptionstyle{#5}} \\
\end{tabular*}
}
Agora, isso essencialmente é renderizado na tela como esta
Title Location
Position Date
Description
mas quero que seja renderizado assim sempre que não preencher os campos de posição ou data:
Title Date
Description
Então, resumindo, estou me perguntando se preciso fazer outro comando ou usar alguma combinação de \ifempty para que isso aconteça. Agradecemos antecipadamente por qualquer ajuda.
Ah, e se você precisar de algum contexto adicional para responder à minha pergunta,aqui está o arquivo completo da classe
Responder1
Fornecer apenas um fragmento de código torna tudo mais difícil, porque temos que imaginar o que todos os comandos indefinidos podem significar.
Primeiro, presumi um erro de digitação na pergunta de que você queria o formato alternativo se posição ouLOCALIZAÇÃOestavam ausentes (por que você desejaria a data se a data estivesse ausente).
Então presumi que os \Xstyle
comandos eram apenas estilos de texto... essa é uma suposição bastante segura.
Também assumi uma definição razoável de \ifempty
, mas pode não ser o que sua classe assume.
Por fim, tive que modificar o formato da tabela, pois as colunas L
e R
não estavam definidas. Nesses casos, substituí esses tipos de colunas por p
. Ao realmente implementar sua correção, você deve alterá-la de volta ao que era.
O código já teve um teste if titleElocation estavam ausentes, então aninhei dois testes adicionais, se a posição estivesse vazia e, se não, se o local estivesse vazio. Eu fiz assim, pois a pergunta especificava umOUcondição nos campos ausentes, não umaEdoença.
Aqui está o MWE.
\documentclass{article}
\usepackage{array}
\def\entrypositionstyle#1{\textit{#1}}
\def\entrytitlestyle#1{\textbf{#1}}
\def\entrylocationstyle#1{\textit{\textbf{#1}}}
\def\entrydatestyle#1{\textsc{#1}}
\def\descriptionstyle#1{\textup{#1}}
\def\ifempty#1#2#3{\ifx\relax#1\relax#2\else#3\fi}
\newcommand*{\cventry}[5]{
\setlength\tabcolsep{0pt}
\setlength{\extrarowheight}{0pt}
% \begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} L{12.5cm} R{4.5cm}}
\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}} p{12.5cm} p{4.5cm}}
\ifempty{#2#3}
{\entrypositionstyle{#1} & \entrydatestyle{#4} \\}% WHEN TITLE & LOCATION EMPTY
{%
\ifempty{#1}{\entrytitlestyle{#2} & \entrydatestyle{#4} \\}% WHEN POSITION EMPTY
{%
\ifempty{#3}{\entrytitlestyle{#2} & \entrydatestyle{#4} \\}% WHEN LOC EMPTY
{%
\entrytitlestyle{#2} & \entrylocationstyle{#3} \\
\entrypositionstyle{#1} & \entrydatestyle{#4} \\%
}
}
}
% \multicolumn{2}{L{17cm}}{\descriptionstyle{#5}} \\
\multicolumn{2}{p{17cm}}{\descriptionstyle{#5}} \\
\end{tabular*}
}
\begin{document}
\cventry{position}{title}{location}{date}{description}
\par\hrulefill\par
\cventry{position}{}{}{date}{description}
\par\hrulefill\par
\cventry{}{title}{location}{date}{description}
\par\hrulefill\par
\cventry{position}{title}{}{date}{description}
\end{document}