파일에 키릴 문자 쓰기

파일에 키릴 문자 쓰기

무슨 일인지 설명해 주실 수 있나요?

저는 최신 MiKTeX 2.9.6960 64비트 버전(어제 설치됨)을 사용하고 있습니다.

inputenc 패키지를 사용하지 않고 별도의 파일에 일부 키릴 문자를 쓰려고 합니다.

\documentclass{article}

\begin{document}

\newwrite\testwrite

\immediate\openout\testwrite=testwrite.txt

\immediate\write\testwrite{Ббббббббббббб}

\immediate\closeout\testwrite

\end{document}

그러나 LaTeX는 인코딩에 문제가 있다고 알려주지 않고 대신 일부 내부 명령이 정의되지 않았다고 알려줍니다. 다음은 해당 로그 파일의 일부입니다.

! Undefined control sequence.
\GenericError  ...                                
                                                    #4  \errhelp \@err@     ...
l.9 \immediate\write\testwrite{Ббббббббббббб}

? 
! Undefined control sequence.
\GenericError  ...                                
                                                  \let \@err@               ...
l.9 \immediate\write\testwrite{Ббббббббббббб}

? 
! Undefined control sequence.
\GenericError  ...                                
                                                  \@empty \def \MessageBreak...
l.9 \immediate\write\testwrite{Ббббббббббббб}

? 
! Undefined control sequence.
\GenericError  ...                                
                                                     \endgroup 
l.9 \immediate\write\testwrite{Ббббббббббббб}

? 
! Undefined control sequence.
\GenericError  ...                                
                                                    #4  \errhelp \@err@     ...
l.9 \immediate\write\testwrite{Ббббббббббббб}

? 
! Undefined control sequence.
\GenericError  ...                                
                                                  \let \@err@               ...
l.9 \immediate\write\testwrite{Ббббббббббббб}

? 
! Undefined control sequence.
\GenericError  ...                                
                                                  \@empty \def \MessageBreak...
l.9 \immediate\write\testwrite{Ббббббббббббб}

등등.

버그인가요 아니면 무슨 일이 일어나고 있나요?

답변해 주셔서 감사합니다.

답변1

활성 문자는 조판 지침(또는 문자가 설정되지 않았다는 오류 메시지)으로 확장되도록 설정되어 있습니다. 텍스트를 그대로 작성하려는 경우는 다음과 같습니다.

\documentclass{article}

\begin{document}

\newwrite\testwrite

\immediate\openout\testwrite=testwrite.txt

\immediate\write\testwrite{\detokenize{Ббббббббббббб}}

\immediate\closeout\testwrite

\end{document}

답변2

inputenc를 사용하지 않으려면 다음을 추가하세요.\UseRawInputEncoding

\UseRawInputEncoding
\documentclass{article}

\begin{document}

\newwrite\testwrite

\immediate\openout\testwrite=testwrite.txt

\immediate\write\testwrite{Ббббббббббббб}

\immediate\closeout\testwrite

\end{document}

관련 정보