0
\documentclass[10pt]{article}
\usepackage[default]{opensans}
\usepackage[T1]{fontenc}
\usepackage{xifthen}


\newcommand{\cvAnrede}{Herr}
\newcommand{\cvTitel}{Dr.}
\newcommand{\cvVorname}{Max}
\newcommand{\cvNachname}{Mustermann}

\newcommand{\cvSetTitel}[1]
{
  \ifthenelse{\equal{#1}{}}{}{\cvTitel}
}

\newcommand{\setName}[1]
{
  \ifthenelse{\equal{#1}{nachname}}{\cvAnrede{} \cvSetTitel{\cvTitel} \cvNachname }{\cvVorname }
}

\newcommand{\setCompleteName}[1]
{
  \ifthenelse{\equal{#1}{nachname}}{\cvSetTitel{\cvTitel} \cvVorname \cvNachname }{\cvVorname}
}

\newcommand{\cvName}{\setName{\cvSetName}}
\newcommand{\cvFullName}{\setCompleteName{\cvSetName}}

\begin{document}

\ifdefined\cvSetName
\else 
  \def\cvSetName{nachname}
\fi


\cvName \\
Herr Dr. Mustermann


\end{document}

Output:

output

What is my mistake? I don't understand why 1. there are spacing and 2. there are different spacing.

1 Answers1

1

you have spurious spaces in your definitions--end of lines count. Hide them with %

\documentclass[10pt]{article}
\usepackage[default]{opensans}
\usepackage[T1]{fontenc}
\usepackage{xifthen}

\newcommand{\cvAnrede}{Herr} \newcommand{\cvTitel}{Dr.} \newcommand{\cvVorname}{Max} \newcommand{\cvNachname}{Mustermann}

\newcommand{\cvSetTitel}[1] {% \ifthenelse{\equal{#1}{}}{}{\cvTitel}% }

\newcommand{\setName}[1] {% \ifthenelse{\equal{#1}{nachname}}{\cvAnrede{} \cvSetTitel{\cvTitel} \cvNachname }{\cvVorname }% }

\newcommand{\setCompleteName}[1] {% \ifthenelse{\equal{#1}{nachname}}{\cvSetTitel{\cvTitel} \cvVorname \cvNachname }{\cvVorname}% }

\newcommand{\cvName}{\setName{\cvSetName}} \newcommand{\cvFullName}{\setCompleteName{\cvSetName}}

\begin{document}

\ifdefined\cvSetName \else \def\cvSetName{nachname} \fi

\cvName \ Herr Dr. Mustermann

\end{document}

enter image description here

Ulrike Fischer
  • 327,261