이름 및 이메일에 대한 사용자 정의 명령 구성

이름 및 이메일에 대한 사용자 정의 명령 구성

나는 교수의 이름과 이메일을 삽입하기 위해 별도의 명령을 사용하지 않고 다음 MWE의 동일한 출력을 얻도록 명령을 구성하고 최적화하는 것을 좋아합니다.

\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}

내가 원하는 입력은 다음과 같습니다.

\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}

내가 원하는 출력은 다음과 같습니다.

The course is taught by (Dr. X)[textbf and hyperlinked]. His name is Dr. X and his email is ([email protected])[texttt and hyperlinked].

\prof명령을 사용하면 빈 하이퍼링크가 생성되지 않도록 교수 이메일을 명령의 선택적 인수로 사용하고 싶습니다 \prof{Dr. X}. 또한 저는 MWE \profmailloc와 동일하게 인쇄하도록 최적화하고 싶습니다. 즉 , \printprofmail이메일이 처럼 삽입되면 하이퍼링크와 함께 이메일 주소가 표시되어야 하고, 이메일이 제공되지 않으면 아무것도 인쇄되지 않아야 한다는 뜻입니다.\prof{Dr. X}[[email protected]]\profemailloc\profemailloc

\prof{Dr. X}다음 대신에 내가 원하는 출력을 사용하면 :\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 .

또한 현재 MWE에서는 명령 뒤에 공백 문제가 발생하므로 이 문제도 수정해야 합니다.

관련 정보