이 코드는 lualatex, xelatex 및 pdflatex와 잘 컴파일됩니다.
\documentclass{article}
\usepackage{fancyvrb}
\begin{document}
\begin{VerbatimOut}{x.txt}
^^_
\end{VerbatimOut}
\end{document}
그러나 이것은 pdflatex로만 컴파일되고 lualatex 및 xelatex에서는 실패합니다.
\documentclass{article}
\usepackage{fancyvrb}
\begin{document}
\openin 15=x.txt
\ifeof 15
\begin{VerbatimOut}{x.txt}
^^_
\end{VerbatimOut}
\fi
\end{document}
이것이 내가 얻는 것입니다:
! Text line contains an invalid character.
l.7 ^^_
어떻게 컴파일하게 만들 수 있나요?모두라텍스?
답변1
그런데 여기에 약간의 문제가 있습니다. ^^_
luatex의 입력이 유효하지 않으며 이를 발견하면 불평할 것입니다. 문제는 가 아니지만 이미 존재하는 \VerbatimOut
경우 잘못된 분기에 있는 경우 x.txt
luatex는 내용을 건너뛰지만 그럼에도 불구하고 ^^_
.
예를 들어 여기서는 문제 없이 컴파일됩니다.
\documentclass{article}
\begin{document}
{
\iftrue
\catcode`\^=11
\catcode`\_=11
^^_
\fi
}
\end{document}
하지만 변경하면 \iffalse
오류가 발생합니다.
\documentclass{article}
\begin{document}
{
\iffalse
\catcode`\^=11
\catcode`\_=11
^^_
\fi
}
\end{document}
그리고 귀하의 예에서는 파일 쓰기와 확인이 모두 작동합니다.
\documentclass{article}
\usepackage{fancyvrb}
\begin{document}
\begin{VerbatimOut}{x.txt}
^^_
\end{VerbatimOut}
\openin 15=x.txt
\ifeof 15
aaa
\fi
\end{document}
aaa
그러나 그것을 교체하자마자 ^^_
오류가 발생합니다. 따라서 잘못된 분기에서 이러한 입력을 피해야 합니다.