Gosto de configurar e otimizar os comandos de forma que a mesma saída do MWE a seguir seja obtida sem usar comandos separados para inserir o nome e email do professor.
\documentclass{report}
\usepackage{xparse}
\usepackage{hyperref}
\newcommand{\profname}[1]{ \newcommand{\profnameloc}{#1} }
\newcommand{\profemail}[1]{ \newcommand{\profemailloc}{#1} }
\NewDocumentCommand\printprofemail{O{}O{}}{
\texttt{\href{mailto:\profemailloc}{\profemailloc}}
}
\NewDocumentCommand{\prof}{mO{}}{\newcommand\profloc{\textbf{\href{mailto:#2}{#1}}}}
\begin{document}
\title{Custom Command}
\prof{Dr. X}[[email protected]]
\profname{Dr. X}
\profemail{[email protected]}
\maketitle
The course is taught by \profloc. His name is \profnameloc and his email is \printprofemail.
\end{document}
Quero dizer, minha entrada desejada:
\documentclass{report}
% [necessary packages and commands]
\begin{document}
\title{Custom Command}
\prof{Dr. X}[[email protected]]
\maketitle
The course is taught by \profloc. His name is \profnameloc and his email is \profemailloc.
\end{document}
Minha saída desejada é como:
The course is taught by (Dr. X)[textbf and hyperlinked]. His name is Dr. X and his email is ([email protected])[texttt and hyperlinked].
Quero usar o e-mail do professor como um argumento opcional no comando, \prof
de forma que ele não gere um hiperlink em branco se eu apenas usar o comando \prof{Dr. X}
. Além disso, gosto de otimizar para \profmailloc
imprimir igual ao \printprofmail
meu MWE. Quer dizer, se o e-mail for inserido como , então deverá exibir o endereço de e-mail com hiperlink e se o e-mail não for fornecido, não deverá imprimir nada.\prof{Dr. X}[[email protected]]
\profemailloc
\profemailloc
Minha saída desejada if \prof{Dr. X}
é usada em vez de :\prof{Dr. X}[[email protected]]
The course is taught by (Dr. X)[textbf but not hyperlinked]. His name is Dr. X and his email is .
Deve-se notar também que meu MWE atual gera problemas de espaço em branco após os comandos, estes também devem ser corrigidos.