![读取包含#字符的文件](https://linux22.com/image/337646/%E8%AF%BB%E5%8F%96%E5%8C%85%E5%90%AB%23%E5%AD%97%E7%AC%A6%E7%9A%84%E6%96%87%E4%BB%B6.png)
使用此代码,我可以毫无问题地读取文件,除非它们包含字符“#”(数字符号、磅号或井号,无论您怎么称呼它)
\newread\file
\openin\file="C:/Some Directory/File.txt"
\loop\unless\ifeof\file
\read\file to\fileline
\fileline
\repeat
\closein\file
假设文件“File.txt”如下所示:
# This line is a comment
variable=value
# This line is also a comment
variable2=value2
当文件包含此字符时,出现以下错误:
垂直模式下不能使用宏参数字符‘#’
我的目标是获取此文件的内容并将其与用 LaTeX 编写的文本和公式一起添加到我的 PDF 文档中。关于如何读取包含此类字符的文件,您有什么想法吗?
谢谢!
答案1
根据文件的使用方式,有不同的加载方法。
\begin{filecontents*}{\jobname.txt}
# This line is a comment
variable=value
# This line is also a comment
variable2=value2
\end{filecontents*}
\documentclass{article}
\usepackage{fancyvrb}
\newread\caissyfile
\begin{document}
\begingroup\catcode`#=12
\openin\caissyfile=\jobname.txt
\loop\unless\ifeof\caissyfile
\read\caissyfile to\fileline
\fileline\endgraf
\repeat
\closein\caissyfile
\endgroup
\VerbatimInput{\jobname.txt}
\end{document}