![包含文件名包含“#”的 EPS 文件时出现问题](https://linux22.com/image/245869/%E5%8C%85%E5%90%AB%E6%96%87%E4%BB%B6%E5%90%8D%E5%8C%85%E5%90%AB%E2%80%9C%23%E2%80%9D%E7%9A%84%20EPS%20%E6%96%87%E4%BB%B6%E6%97%B6%E5%87%BA%E7%8E%B0%E9%97%AE%E9%A2%98.png)
我在将 EPS 包含在 LaTeX 文档中时遇到问题。我正在使用latex
-> dvips
->ps2pdf
工作流来编译 LaTeX 文档文件。错误如下
定义中的参数数量非法
EPS文件是OriginPro7.5默认输出生成的,可以在Ubuntu的evince中查看,那么eps文件要成功导入到LaTeX中有什么要求吗?
编辑:更具体地说,下面是 LaTeX 代码片段,
\begin{figure}
\centering
\includegraphics[width=4.5cm]{figures/A.eps}
\end{figure}
引发以下错误,
! Illegal parameter number in definition of \@tempb.
<to be read again>
1.6 ...idth=4.5cm]{figures/A.eps}
但是当我A.eps
用替换时B.eps
,系统工作正常,这让我相信这是EPS文件的问题。
EDIT2:实际文件名包含特殊字符#
,这是导致此问题的原因。#
从文件名中删除后,问题解决。
答案1
当\includegraphics
它工作时,它将文件名存储在宏中,因此诸如rand_#_sample0.5_1.eps
将产生非法
\def\@tempb{rand_#_sample0.5_1.eps}
因此#
文件名中不允许有“no”。
答案2
可以说这是 latex 中的一个错误,请提交错误报告,latex latexbug 并按照说明在图形类别中提交错误
同时,如果重命名文件不方便,我相信这应该可行
\edef\f{rand_\string#_sample0.5_1.eps}
\includegraphics[...]{\f}