我正在使用 LaTeX 和 toptesi 包撰写论文。我大部分时间都在笔记本电脑上写作,但有时我需要切换到另一台电脑。我在生成 pdf 文档时遇到了一些问题。用于生成 pdf 文档的命令是
pdflatex -shell-escape tesi.tex
当显示错误时,编译就结束了:
!我找不到文件‘[’。
这对我来说毫无意义。似乎导致错误的行是此块的第一行,它使用 minted 包在文档中提供源代码。
\begin{listing}[!ht]
\begin{minted}[tabsize=4]{json}
{
"type": "Room",
"isPattern": "false",
"id": "Room1",
"attributes": [
{
"name": "temperature",
"type": "float",
"value": "23"
},
{
"name": "pressure",
"type": "integer",
"value": "720"
}
]
}
\end{minted}
\caption{JSON structure for entity}
\end{listing}
在我的笔记本电脑上,我的论文编译正确,安装的软件包是相同的,所以我真的不知道问题可能是什么。
编辑:
经过更多尝试后,我找到了一个可以重现错误的最小示例:
\documentclass[english,12pt]{toptesi}
\usepackage[utf8]{inputenc}
\usepackage{minted}
\begin{document}
\begin{listing}[!ht]
\begin{minted}[tabsize=4]{json}
{
"type": "Room"
}
\end{minted}
\caption{JSON structure for entity}
\end{listing}
\end{document}
问题似乎出在 toptesi 软件包的不同版本上。两台机器都运行 ubuntu 14.04,所有数据包都从官方存储库安装。如果我将 documentclass 更改为 article 之类的内容,pdf 就会成功创建,一切正常。
以下是请求的完整错误:
! I can't find file `['.
\listing ...\par \begingroup \programma \input #1
\endgroup
l.8 \begin{listing}[
!ht]
(Press Enter to retry, or Control-D to exit)
答案1
您的类listing
为不相关的目的而定义。如果您不需要,您可以重新声明版本minted
:
\documentclass[english,12pt]{toptesi}
\usepackage[utf8]{inputenc}
\usepackage{minted}
\let\IWANTTHISlisting=\listing
\begin{document}
\let\listing=\IWANTTHISlisting
\begin{listing}[!ht]
\begin{minted}[tabsize=4]{json}
{
"type": "Room"
}
\end{minted}
\caption{JSON structure for entity}
\end{listing}
\end{document}