
나는 여기를 읽었습니다 (질문에 대한 두 번째 의견)
언제 \input과 \include를 사용해야 합니까?
\@input
"파일이 존재하지 않아도 오류가 발생하지 않습니다" .
내가 시도하면
\documentclass{article}
\begin{document}
\@input{toBeIncluded.tex}
\end{document}
나는 정말로 아니오를 느낀다치명적인오류가 발생했지만 여전히 3개의 컴파일 오류가 발생하고 더 중요한 것은 내 PDF에 "inputtoBeIncluded.tex"라는 단어가 포함되어 있다는 것입니다.
간단한 방법이 있나요?완전히 무시하다입력 파일이 존재하지 않는 경우 입력 명령은 무엇입니까?
정말 감사합니다
답변1
매크로에서 \makeatletter
기호를 사용하려면 추가해야 합니다 .@
\documentclass{article}
\begin{document}
abc
\makeatletter
\@input{myfile.tex}
\makeatother
\end{document}
편집하다
myfile.tex
@Emil Jeřábek이 언급했듯이 이는 읽는 동안 @의 catcode를 변경하는 부작용이 있습니다 . 이는 부작용이 거의 발생하지 않지만 다음과 같이 방지할 수 있습니다.
\documentclass{article}
\makeatletter
\let\conditionalinput\@input
\makeatother
\begin{document}
abc
\conditionalinput{fred.tex}
\end{document}
즉, \InputIfFileExists{file}{}{}
@daleif가 제안한 대로 를 사용하는 것이 더 나을 것입니다.
답변2
더 나은 방법을 사용하는 대신 \@input
아마도
\InputIfFileExists{file}{then}{else}
존재하는 경우 실행된 다음 \input
에서 file
코드를 실행합니다 then
. 파일이 없으면 의 코드가 else
실행됩니다. 예를 들어 else
, 이 특정 파일을 찾을 수 없다는 것을 알리기 위해 부분 에 경고를 추가할 수 있습니다 .
파일이 존재하는 경우 깜박임 입력을 원하면 다음을 사용하십시오.
\InputIfFileExists{file}{}{}
이 매크로에 대한 자세한 내용은 섹션 19 texdoc source2e
에 설명되어 있습니다 .ltfiles.dtx
파일 처리