我在 Windows 7 Home Premium 64 位计算机上使用 MiKTeX 2.9。
我一直在尝试使用attachfile2
创建指向嵌入式 LaTeX 文件的链接。当我编译以下名为 的文档时test.tex
,
\documentclass{article}
\usepackage{xcolor}
\definecolor{myred}{rgb}{0.9,0.2,0.2}
\usepackage{attachfile2}
\attachfilesetup{color = myred}
\begin{document}
\jobname.tex \textattachfile{test.tex}{view source code}
\end{document}
它按预期工作,生成文件的名称和链接:
但是当我在命令中test.tex
替换时,出现以下错误(我使用的是 TeXstudio 2.6.2):\jobname.tex
\textattachfile
即使将其放在\expandafter
前面\textattachfile
,据我所知应该可以确保\textattachfile
永远不会看到命令\jobname
,也无济于事。
这是怎么回事?
进一步观察(不确定是否相关):
当我使用
attachfile
而不是 时attachfile2
,它可以很好地与\jobname
输入配合使用(当然,唯一的区别是我不能使用我的自定义颜色,这也是我attachfile2
首先想要使用的原因)。正如我所提到的,我正在使用 TeXstudio。这个编辑器有一个方便的功能,它(至少尝试)检测任何包含的包所定义的命令,然后突出显示它无法识别的任何命令。当我使用该
attachfile
包时,命令\attachfilesetup
和\textattachfile
会被识别;当我使用该attachfile2
包时,它们不会被识别。也许我的attachfile2
包副本不知何故坏了?MiKTeX 告诉我我已经oberdiek
安装了包,显然它就在那里attachfile2
。我也尝试使用
currfile
提供宏的包。当我用\currfilename
替换时,没有什么不同;在相同情况下,它可以工作,但不能工作。\jobname.tex
\currfilename
答案1
在 2011/03/27 v1.5b 版本之前,软件包已使用逐字 catcodeattachfile
读取了参数中的反斜杠。软件包是在那个时候编写的,并在此基础上进行了改进。\textattachfile
attachfile2
attachfile
现在(2011/03/27 v1.5b)包使用attachfile
通常的 catcode 读取反斜杠来\textattachfile
支持\jobname
(和其他宏)。
我已attachfile2
相应更新:2013/07/29 v2.10。该软件包可用这里直到我稍后(希望是今年)将更新的软件包发布到 CTAN。源文件attachfile2.dtx
作为文件附件嵌入。attachfile2.sty
通过在 上运行纯 TeX(或 iniTeX)可以解压包含驱动程序文件的软件包文件attachfile2.dtx
。