varsfromjobname 在测试中不起作用

varsfromjobname 在测试中不起作用

我试图根据文件名中的某些信息发出命令。因此,我在名为 test-a.tex 的文件中使用了gettwofromjobname-test etoolbox,但它没有给出正确的结果。知道为什么吗?我应该使用其他测试命令吗?

\documentclass{article}
\usepackage{varsfromjobname}
\usepackage{etoolbox}

\begin{document}

\gettwofromjobname \\
\ifdefstring{\gettwofromjobname}{a}{true}{false}

\end{document}

答案1

\gettwofromjobname不是直接扩展为作业名称第二部分的简单宏。相反,它包含可扩展的代码以提取作业名称的第二部分。以下示例\TwoFromJobName通过扩展来定义宏以包含作业名称的第二部分\gettwofromjobname

\documentclass{article}
\usepackage{varsfromjobname}
\usepackage{etoolbox}

\begin{document}

\noindent
\gettwofromjobname \\
\edef\TwoFromJobName{\gettwofromjobname}
\ifdefstring{\TwoFromJobName}{a}{true}{false}

\end{document}

结果

相关内容