我想在@pubreaderonename
定义时运行它。
在.cls
文件中:
\def\pubreaderone#1#2#3{\gdef\@pubreaderonename{#1}\gdef\@pubreaderonetitle{#2}\gdef\@pubreaderoneaffiliation{#3}}
\if@pubreaderonename
\par
\signature{Thesis Reader}{\@pubreaderonename \\ \@pubreaderonetitle \\ \@pubreaderoneaffiliation}
\fi
在乳胶文件中:
$if(
pubreaders-1-name)$
\pubreaderone{$pubreaders-1-name$}{$pubreaders-1-title$}{$pubreaders-1-affiliation$}
$endif$
我收到此错误:
! Undefined control sequence.
\readerpage ...affiliation } \if@pubreaderonename
\par \signature {Thesis Re...
l.106 \begin{readerpage}
pandoc: Error producing PDF
@pubreaderonename
所以我需要仅在设置时执行的代码。
答案1
错误消息表明\if@pubreaderonename
未定义。如果您想测试是否\@pubreaderisonename
已定义,可以这样做:
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname @pubreaderisonename\endcsname\relax
% \@pubreaderisonename is undefined or \relax
\else
% \@pubreaderisonename is set
\fi
此外,这应该评估后这个地方,或许\pubreaderone
可以被称为。