从变量输入 tex

从变量输入 tex

PR0101_Enunciado.tex文件位于文件夹内Ejercicios,仅包含此行:

Un enunciado de pregunta

然后,在同一级别的另一个文件夹中somefolder,我有以下内容main.tex

\documentclass{article}

\newcommand{\n}{PR0101}
\edef\fullfilename{../Ejercicios/{\n}\_Enunciado.tex}
\begin{document}
    \input{\fullfilename}
\end{document}  

它不工作了,我该如何修复它?

答案1

如果我跑

\documentclass{article}
\begin{document}
\newcommand{\n}{PR0101}
\edef\fullfilename{../Ejercicios/{\n}\_Enunciado.tex}
\texttt{\meaning\fullfilename}
\end{document}

我明白了

在此处输入图片描述

的扩展\_比你想象的要复杂得多……让我们忘记这一点,简单地_\_

\documentclass{article}
\begin{document}
\newcommand{\n}{PR0101}
\edef\fullfilename{../Ejercicios/{\n}_Enunciado.tex}
\texttt{\meaning\fullfilename}
\end{document}

在此处输入图片描述

肯定更好,但是...当 TeX 抓取未限定的参数时,一对括号会被剥离,但是不是 在扩展过程中。

长话短说:你想要的只是

\newcommand{\n}{PR0101}
\newcommand{\fullfilename}{../Ejercicios/\n_Enunciado.tex}
\input{\fullfilename}

或者只是

\newcommand{\n}{PR0101}
\input{../Ejercicios/\n_Enunciado.tex}

相关内容