論文の表紙に自分の電子メールが記載されている論文がいくつかあり、\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}