
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*
.
분명히 작성자는 패키지에 대한 자신의 바람을 문서화했지만 이를 구현하는 것을 잊어버렸습니다.