从 komavar 构建宏

从 komavar 构建宏

我想从 komavar 构造一个文件名。像这样

\begin{filecontents}{mylco.lco}
\usepackage{graphicx}
\usepackage{eso-pic}
\usepackage{ifthen}

\newkomavar{extfi}

\usepackage{etoolbox}
\AtEndPreamble{
       \setkomavar{extfi}{mas}%
      \def\logoname{uni_\usekomavar{extfi}}
      \setkomavar{fromlogo}{\parbox{\paperwidth}{\vspace*{27mm}\hspace*{17.3mm}\includegraphics{\logoname}}}%

}

\end{filecontents}
\documentclass
[
mylco
]
{scrlttr2}

\usepackage{lipsum}

\begin{document}
\begin{letter}{you there}
   \opening{Hey,}
   \lipsum[36]
   \closing{Cya}
\end{letter}
\end{document}

理想情况下,我可以使用多个 komavar 来构造文件名,但我对 1 也感到满意。有什么想法吗?

答案1

\usekomavar 不可扩展,因此不适合此任务。您可以尝试使用内部 csname:

\documentclass{scrlttr2}
\usepackage{graphicx}
\newkomavar{extfi}
\setkomavar{extfi}{image}%
\def\logoname{example-\csname scr@extfi@var\endcsname}
\begin{document}
\includegraphics{\logoname}
\end{document}

相关内容