LaTeX:如何从 Fancyvrb 向 VerbatimInput 添加标签

LaTeX:如何从 Fancyvrb 向 VerbatimInput 添加标签

我想在我的论文中包含一个数据文件。我想逐字导入它。我已经习惯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.

相关内容