我调用了\VerbatimInput
一个test.dat
文件,如下所示:
\documentclass[12pt]{article}
\usepackage[left=2.5cm,top=2.5cm,right=2.5cm,bottom=2.5cm]{geometry}
\usepackage[utf8]{inputenc}
\usepackage{enumitem}
\usepackage{fancyvrb}
\usepackage{color,soul}
\usepackage[dvipsnames]{xcolor}
\begin{document}
\RecustomVerbatimCommand{\VerbatimInput}{VerbatimInput}%
{fontsize=\footnotesize,
%
frame=lines, % top and bottom rule only
framesep=2em, % separation between frame and text
rulecolor=\color{Gray},
%
label=\fbox{\color{Black}test.dat},
labelposition=topline,
%
commandchars=\|\(\), % escape character and argument delimiters for
% commands within the verbatim
commentchar=* % comment character
}
\VerbatimInput{./test.dat}
\end{document}
该test.dat
文件内容如下:
#l.77:
TEST11
A3
(EL = 4) # this is compiled ok
mH/(C*K) # this is not compiled, giving that error
由于( * )
符号的原因,编译时出现以下错误:
Runaway definition?
-> mH/(C
! File ended within \read.
<read 1>
l.97 \VerbatimInput{./test.dat}
我该如何编译它?
答案1
首先,我必须说我实际上没有使用过\VerbatimInput
。但是,您发布的那段代码看起来与以下答案中发布的代码完全一样:逐字包含 .txt 文件中的数据
引用作者的话:
- 指定
|
和(
/)
作为转义字符和参数分隔符意味着这些符号不能作为逐字文本的一部分出现(或者在本例中,data.txt 的内容);*
通过指定注释字符(类似于%
LaTeX),删除了 data.txt 中的星号行;
换句话说,您复制的代码赋予了这四个字符特殊的含义,因此不能与包含它们的文件一起使用。
似乎正在执行此操作的行如下:
commandchars=\|\(\), % escape character and argument delimiters for
% commands within the verbatim
commentchar=* % comment character
因此,我建议从您的代码中删除这些字符,或者用一些未出现在您的文件中的字符替换这些字符。