从带有空行的文本文件生成二维码

从带有空行的文本文件生成二维码

qrcode我正在尝试使用该包从文本文件生成二维码。

使用\qrcode{\input{file.txt}}失败并出现以下错误消息:

! Undefined control sequence.
\in@ #1#2->\begingroup \def \in@@
##1#1{}\toks@ \expandafter {\in@@ #2{}{}#1...
l.20 \qrcode{\input{file.txt}}

使用catchfile包:

\CatchFileDef\filecontent{file.txt}{}
\expandafter\qrcode\expandafter{\filecontent}

失败并出现以下错误:

! Paragraph ended before \qrcode@in was complete.

有没有办法从文本文件输入生成 LaTeX 中的可扩展二维码?

编辑:完整示例

主文本

\documentclass[10pt,a4paper]{letter}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage[T1]{fontenc}
\usepackage{qrcode}
\begin{document}
\qrcode{\input{file.txt}}
\end{document}

文件.txt

this file has
multiple lines

may even ^ contain an empty line
contains --- hyphens
and ends with a newline

答案1

如果不采取特殊预防措施,输入文件中不能有空行。以下方法应该有效:

\CatchFileDef\filecontent{file.txt}{\endlinechar=`\^^J \catcode32=12 }
\expandafter\qrcode\expandafter{\filecontent}

只要您没有诸如#或之类的特殊字符&(上述一些类似的技巧也可能适用于这些字符)。

这是我收到的(从我的手机扫描、复制并粘贴)

this file has
multiple lines

may even ^ contain an empty line
contains --- hyphens
and ends with a newline

相关内容