我尝试生成带有头衔(如果有)、名字和姓名的姓名。但是称呼后面没有空格。
我的代码如下:
\documentclass[10pt]{article}
\usepackage[ngerman]{babel}
\usepackage{xifthen}
\def\cvSetName{nachname}
\newcommand{\cvAnrede}{Herr}
\newcommand{\cvTitel}{}
\newcommand{\cvVorname}{Max}
\newcommand{\cvNachname}{Mustermann}
\newcommand{\cvSetTitel}[1]{\ifthenelse{\isempty{#1}}{}{#1}%
}
\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}
\raggedright
Bereits während seines Studiums hat \cvName vielseitige Erfahrungen in der Softwareindustrie gesammelt.
\end{document}
答案1
这边走?
\documentclass[10pt]{article}
\usepackage[ngerman]{babel}
\usepackage{xifthen}
\usepackage{etoolbox}
\def\cvSetName{nachname}
\newcommand{\cvAnrede}{Herr}
\newcommand{\cvTitel}{}
\newcommand{\cvVorname}{Max}
\newcommand{\cvNachname}{Mustermann}
\newcommand{\cvSetTitel}[1]{\ifdefempty{#1}{}{#1\ }%
}
\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}
\raggedright
\section{Without title}
Bereits während seines Studiums hat \cvName vielseitige Erfahrungen in der Softwareindustrie gesammelt.
Full name: \cvFullName something after
\section{With title}
\renewcommand{\cvAnrede}{Herr}
\renewcommand{\cvTitel}{Dr}
\renewcommand{\cvVorname}{Max}
\renewcommand{\cvNachname}{Mustermann}
Bereits während seines Studiums hat \cvName vielseitige Erfahrungen in der Softwareindustrie gesammelt.
Full name: \cvFullName something after
\end{document}