我想在我的论文中包含一个数据文件。我想逐字导入它。我已经习惯fancyvrb
在脚注中使用逐字,这就是我尝试使用该包的原因;fancyverb
这不是必需的。但是,仅仅添加"label=data:label"
似乎不起作用。我查看了文档但这fancyvrb
并没有回答我的问题。有没有办法逐字逐句地包含文件并能够引用它?
我在 Windows 8.1 上使用 TexStudio 2.6.6。
我的最低工作示例在这里:
文件.tex
\documentclass[a4paper,12pt]{article}
\usepackage{fancyvrb}
\begin{document}
A file and its content:
\VerbatimInput[label=data:label]{data.dat}
This should be a number: \ref{data:label}.\\
End of file.
\end{document}
数据文件
some data
on several lines.
输出
A file and its content:
some data
on several lines.
This should be a number: ??.
End of file.
构建的输出:
Process started: pdflatex.exe -synctex=1 -interaction=nonstopmode "file".tex
Process exited normally
日志/问题的输出:
line 7: Reference `data:label' on page 1 undefined
There were undefined references.
答案1
以下是我自己的做法;
使用该listings
包,只需使用然后包含带有正确选项\lstset{language={}}
的文本即可。\lstinputlisting
-文本不是典型的等宽字体,但足够接近。-
通过改变字体使其\lstset
为等宽字体。\lstset{basicstyle=\footnotesize\ttfamily,language={}}
新的文件.tex:
\documentclass[a4paper,12pt]{article}
\usepackage{listings}
\begin{document}
A file and its content:
%\lstset{language={}} % changed
\lstset{basicstyle=\footnotesize\ttfamily,language={}}
\lstinputlisting[caption=data.dat,label=data:label]{data.dat}
This is now a number: \ref{data:label}.\\
End of file.
\end{document}
新的输出:
A file and its content:
Listing 1: data.dat
some data
on several lines .
This should be a number: 1.
End of file.