У меня есть список файлов (в файле с именем inputlist
), которые расположены в нескольких подкаталогах, подобно этому:
\input ./bak/dir1/file1
\input ./bak/dir1/file2
\input ./bak/dir2/file1
\input ./bak/dir2/file2
\input ./bak/dir3/file1
\input ./bak/dir3/file2
Перед каждым изменением каталога я хочу добавить строку с \addcontentsline
. Например, первая строка должна выглядеть следующим образом:
\addcontentsline{toc}{section}{\dir1}
Я пытался использовать sed
для извлечения имени подкаталога, см. Ниже. Но тогда я не могу собрать все воедино.
sed -e 's|.*./bak/\(.*\)/.*|\\\1|' inputlist
, который вернет список \dir1
и т. Д.
Поэтому я ищу решение makefile
, которое поможет перевести мой inputlist
в нечто вроде этого:
\addcontentsline{toc}{section}{\dir1}
\input ./bak/dir1/file1
\input ./bak/dir1/file2
\addcontentsline{toc}{section}{\dir2}
\input ./bak/dir2/file1
\input ./bak/dir2/file2
\addcontentsline{toc}{section}{\dir3}
\input ./bak/dir3/file1
\input ./bak/dir3/file2
У меня определены макросы, которые расширятся до разумной строки для оглавления.