在 \embedfile 中使用 \StrSubstitute 不起作用

在 \embedfile 中使用 \StrSubstitute 不起作用

我正在使用以下代码:

\usepackage{xstring}
\usepackage{embedfile}

%\newcommand{\underscorefix}[1]{\StrSubstitute{#1}{_}{\_}} <-- not working
\newcommand{\underscorefix}[1]{#1}
\embedfile[filespec=name_1.dat,ucfilespec={\underscorefix{name_1.dat}},mimetype=application/octet-stream]{source_dir_1/name_1.dat}

我如何用反斜杠下划线替换选项的下划线ucfilespec

原因是我想要这样的命令:

\newcommand{\datafile}[2]{\embedfile[filespec={#2},ucfilespec={\underscorefix{#2}},mimetype=application/octet-stream]{#1#2}}

答案1

设置stringmethod=escape选项\embedfile解决了该问题。

完整代码:

\usepackage{embedfile}
\newcommand{\datafile}[2]{\embedfile[filespec={#2},ucfilespec={#2},mimetype=application/octet-stream,stringmethod=escape]{#1#2}}

现在filespecucfilespec包含下划线。之前只是filespec

相关内容