\href 안에 \입력

\href 안에 \입력

논문 표지에 내 이메일이 포함된 논문이 여러 개 있는데 를 사용 \input하여 내 이메일 주소 에 대한 해결책을 찾아야 합니다 \href. 이렇게 하면 이메일을 한 번 편집한 다음 파일을 편집할 때마다 모든 논문에서 가장 최근에 업데이트된 이메일 주소를 얻을 수 있습니다.

이런 일이 가능합니까?

\href{mailto:{\input{/Path/to/my/file/with/my/email/address.txt}\unskip}}{{\input{/Path/to/my/file/with/my/email/address.txt}\unskip}}

고마워요.

답변1

이 솔루션은 일반 TeX I/O 명령을 사용합니다.

\begin{filecontents}{address.txt}
[email protected]
\end{filecontents}
%
\documentclass{article}
\usepackage{hyperref}

\newread\fid

\newcommand{\readfile}[1]% #1 = filename
{\bgroup
  \endlinechar=-1
  \openin\fid=#1
  \read\fid to\filetext
  \loop\ifx\empty\filetext\relax% skip over comments
    \read\fid to\filetext
  \repeat
  \closein\fid
  \global\let\filetext=\filetext
\egroup}

\begin{document}
\readfile{address.txt}
\href{mailto:\filetext}{\filetext}
\end{document}

답변2

패키지를 통해 파일에서 매크로로 메일 주소를 가져오는 솔루션 catchfile:

\begin{filecontents}{address.txt}
[email protected]
\end{filecontents}

\documentclass{article}
\usepackage{catchfile}
\usepackage[colorlinks]{hyperref}

\CatchFileDef\TheMailAddress{address.txt}{\endlinechar=-1}
% \endlinechar=-1 suppresses spaces by line ends

\begin{document}
\href{mailto:\TheMailAddress}{John Doe $\langle$\TheMailAddress$\rangle$}
\end{document}

결과

관련 정보