\input{} をプレーンテキストに変換するにはどうすればいいですか?

\input{} をプレーンテキストに変換するにはどうすればいいですか?

私が持っているものは次のとおりです(a.txt含まれていますhttp://www.google.com):

\documentclass{article}
\newcommand\myurl{\input{a.txt}}
\usepackage{qrcode}
\begin{document}
\qrcode{\myurl}
\end{document}

動作しません。ただし、これは動作します:

\documentclass{article}
\newcommand\myurl{http://www.google.com}
\usepackage{qrcode}
\begin{document}
\qrcode{\myurl}
\end{document}

混乱しないように、そこから得られるものを\inputプレーンテキストに変換するにはどうすればよいでしょうかqrcode?

答え1

基本的な入力コマンドは拡張可能なので、おそらく次のように実行できます。

\documentclass{article}

\usepackage{qrcode}

\begin{document}
\makeatletter
\everyeof{\noexpand}
\edef\blah{\@@input a.txt }
\makeatother

\qrcode{\blah}

\end{document}

ここに画像の説明を入力してください

答え2

以下を使用できますcatchfile:

\begin{filecontents*}{\jobname.link}
http://www.google.com
\end{filecontents*}

\documentclass{article}
\usepackage{catchfile}
\usepackage{qrcode}

\CatchFileDef\myurl{\jobname.link}{\endlinechar=-1 }

\begin{document}

X\myurl X

\qrcode{\myurl}
\end{document}

ここに画像の説明を入力してください

QR コードを確認しましたが、目的のリンクが含まれています。 の使用は、filecontents例を自己完結型にし、ファイルを上書きしないようにするためだけです。

関連情報