Запись кириллического текста в файл

Запись кириллического текста в файл

Не могли бы вы объяснить, что происходит?

Я использую последнюю 64-битную версию MiKTeX 2.9.6960 (установлена ​​только вчера).

Я пытаюсь записать кириллический текст в отдельный файл без использования пакета 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}

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