使用 \newcommand 在子文件夹中加载文本文件时会添加花括号。我在 bash 中创建了一些文件:
$ mkdir mydir
$ echo "This text is in mydir" > mydir/text.txt
$ echo "This text is outside mydir" > text.txt
$ tree
.
├── mydir
│ └── text.txt
├── test.tex
└── text.txt
2 directories, 3 files
$ cat -n test.tex
1 \documentclass[12pt]{article}
2
3 \newcommand\inputtexta[1]{\input{{#1}.txt}}
4 \newcommand\inputtextb[1]{\input{mydir/{#1}.txt}}
5
6 \begin{document}
7
8 \inputtexta{text} % okay
9
10 \inputtextb{text} % ! LaTeX Error: File `mydir/{text}.txt' not found.
11
12 \input{mydir/text.txt} % okay
13
14 \end{document}
当我跑步时
$ pdflatex test.tex
This is pdfTeX, Version 3.141592653-2.6-1.40.25 (TeX Live 2023/Debian) (preloaded format=pdflatex)
...
! LaTeX Error: File `mydir/{text}.txt' not found.
请注意 {text} 周围的花括号,“mydir/{text}.txt”不存在......
谢谢你的帮助!