Catchfilebetweentags не работает

Catchfilebetweentags не работает

Согласно описанию catchfilebetweentagsпакета команда \ExecuteMetaData*[<file>]{tag}должна выполнять ту же работу, что и , \ExecuteMetaData[<file>]{tag}но также ,,раскомментировать'' строки комментариев с одиночным символом %в начале. Файл:

\documentclass{article}
\usepackage{catchfilebetweentags}
\begin{document}
\ExecuteMetaData*[example.tex]{tag}
\end{document}

со следующим файлом example.tex:

%<*tag>
some text 
%some more text
%</tag>

должен выдать результат:

какой-то текст еще какой-то текст

К сожалению, в Texmaker это дает:

[example.tex]тег

а в Overleaf компилируется 30 секунд и выскакивает ошибка таймаута. Как это исправить?

решение1

Извините, но решения нет. Рассмотрим пример

\begin{filecontents*}{\jobname-example}
%<*tag>
some text 
%some more text
%</tag>

\end{filecontents*}

\documentclass{article}
\usepackage{catchfilebetweentags}

\begin{document}

\tracingmacros=1 % for debugging

\CatchFileBetweenTags{\foo}{\jobname-example.tex}{tag}\show\foo

\CatchFileBetweenTags*{\foo}{\jobname-example.tex}{tag}

%\ExecuteMetaData[\jobname-example.tex]{tag}

\end{document}

Первый \CatchFileBetweenTagsначинается с

\CatchFileBetweenTags #1#2#3->\CatchFileBetweenDelims \CatchFBT@tok {#2}{%<*#3>}{%</#3>}[\CatchFBT@sanitize ]\CatchFBT@Final {#1}
#1<-\foo 
#2<-\jobname -example.tex
#3<-tag

тогда как у второго есть

\CatchFileBetweenTags #1#2#3->\CatchFileBetweenDelims \CatchFBT@tok {#2}{%<*#3>}{%</#3>}[\CatchFBT@sanitize ]\CatchFBT@Final {#1}
#1<-*
#2<-\foo 
#3<-\jobname -example.tex

и вы можете ясно увидеть, что что-то не так.

Хуже: определение \ExecuteMetaDataесть

% catchfilebetweentags.sty, line 53:
\newrobustcmd*\ExecuteMetaData[2][\jobname]{%
   \CatchFileBetweenTags\CatchFBT@tok{#1}{#2}%
   \global\expandafter\CatchFBT@tok\expandafter{%
            \expandafter}\the\CatchFBT@tok
}% \ExecuteMetaData

так что естьвообще не предусмотренодля различения \ExecuteMetaDataи \ExecuteMetaData*.

Видимо, автор задокументировал свои пожелания по упаковке, но забыл их реализовать.

Связанный контент